0

X++ 言語で Axapta 3.0 を使用しています。

利用可能なレポートに基づいてレポートを作成しています。新しいレポートは、古いレポートのようにすべての詳細行を表示するのではなく、グループ CG グループごとの合計行のみを表示します。

試験:利用可能なレポート

CG Code Amount  Current     1-30days    31-60days   61-180days  >180days
1.1 50  10  100 30  10             5
----------
1.1 30  20  60  35  20             20
----------
1.1 20  30  80  7   80             60
----------
1.2 30  50  50  1   100            80
----------
1.2 40  70  90  5   75             15
----------
2.3 100 20  20  150 20             30
----------
3.1 60  10  10  80  10             4
----------
3.1 30  60  5   100 5              60

サンプルとしての新しいレポート:

CG Code    Amount   Current  1-30days  31-60days  61-180days >180days
1.1Total     100      60        240       92         110         85
----------
1.2Total      70     120        140        6          175         95
----------
2.3Total     100     20          20        150         0          30
----------
3.1Total      90     70           15      180          15         64

利用可能なレポートのコードには、次のような SQL 文があります。

select AmountMST from CustTransOpen where
custTransOpen.AccountNum == CustTable.AccountNum
&& custTransOpen.TransDate <= balanceAs
&& CustTransOpen.TransDate >= compareDate1
&& CustTransOpen.TransDate <= compareDate2

SKV_CustAgỉng3 という名前の 2 テーブル (Custtransopen、Custtable) からデータを取得するビューを作成し、次のように CG グループをグループ化する SQL も記述します。

select sum(AmountMST),StatisticsGroup from SKV_CustAging3
group by StatisticsGroup
where SKV_CustAging3.TransDate <= balanceAs
&& SKV_CustAging3.TransDate < compareDate1;

また、すべての CG グループの合計金額に「セクション グループ」を使用しようとしましたが、レポートにはまだ詳細レコードが表示され、セクション グループの最後に合計金額が表示されます。

私の意見では、上記の新しいレポートの例と同じグループ CG グループ別の行の合計金額を示したいと思います。

すべての CG のレコードの合計を 1 つだけ表示する方法はありますか?

私を助けてください。私はこのレポートを作成する新しい役員であるため、Axapta の経験はあまりありません。

4

1 に答える 1

0

レポートのsend()メソッドとfetch()メソッドをオーバーライドしてみてください。Axaptaはfetch()を呼び出して印刷されるレコードをフェッチし、Axaptaはレポートに印刷される各行に対してsend()メソッドを呼び出します。Axapta開発者ガイドには、このメソッドの詳細情報が含まれています。

  1. fetch()メソッドをオーバーライドし、必要なすべてのデータを選択します
  2. Mapクラスのインスタンスを使用してデータをグループ化します
  3. send()メソッドを呼び出して、データを出力します。

より多くの例を取得するには、「送信」および「フェッチ」という単語でAOTを検索します。

于 2009-12-08T07:36:26.460 に答える