0

誰かが私を助けてくれるかどうか疑問に思っています。Axapta 3.0 でレポートを設計していて、問題に直面しています。手持ちの在庫数量を返す InventTable に表示メソッドがあります。これをレポートで使用して、アイテムの数量が販売されていないことを示しています。今、私はこの方法を範囲として追加したいので、数量が5を超えるアイテムのみが表示されます。

これに関して何か助けていただければ幸いです。

よろしく、

4

2 に答える 2

1

私が知っているように、メソッドを範囲として使用することはできません。

範囲はデータベース側のロジックです。Axapta コアはすべての範囲を有効な SQL に変換し、データベース サーバーに転送します。

テーブル メソッドは AOS (またはクライアント) ロジックです。AOS またはクライアントで動作します。SQL に変換してデータベース サーバーに転送することはできません。

ただし、データベース サーバーからすべてのレコードを取得し、レポート コードで AOS (またはクライアント) でそれらをフィルター処理することができます。レポートで fetch() または send() メソッドをオーバーライドするだけです。

ここで例を見つけることができます。

于 2011-06-03T17:55:05.817 に答える
0

fetchメソッドを上書きする必要のない別の回避策。executeSection次の方法でメソッド (例: \Reports\YourReport\Designs\ReportDesign1\AutoDesignSpecs\Body:YourReportBody\Methods\executeSection) を上書きしてみることができます。

public void executeSection()
{
    InventQty qty = yourMethodToCalculateQty();
    ;

    if (qty > 5)
    {
        super();
    }
}

数量が 5 以下の場合、その行はスキップされます。

于 2011-06-07T12:59:09.270 に答える