0

我正在使用带有语言 X++ 的 Axapta 3.0。

我正在根据可用的报告进行报告。新报表仅按组 CG Group 显示总行,而不是将所有明细行显示为旧报表。

考试:可用报告

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 的 2table(Custtransopen,Custtable)获取数据,然后我还将 SQL 编写为 CG Group 组:

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

我也尝试使用“Section Group”来计算每个CG Group的总金额,但报告仍然显示详细记录,并且Section Group的末尾显示总金额。

在我看来,我想按组 CG Group 显示一行总金额,上面的相同示例新报告。

有什么方法可以只显示每个 CG 的一个记录总和吗?

请帮我。我是做这份报告的新官员,所以我对 Axapta 没有太多经验。谢谢。

4

1 回答 1

0

尝试覆盖报告的 send() 和 fetch() 方法。Axapta 调用 fetch() 来获取将被打印的记录,并且 Axapta 为每一行调用 send() 方法,打印在报告中。Axapta 开发人员指南包含此方法的详细信息。

  1. 覆盖 fetch() 方法并在其上选择所有必要的数据
  2. 使用 Map 类的实例对数据进行分组
  3. 调用 send() 方法打印数据。

通过单词“send”和“fetch”查找 AOT 以获取更多示例。

于 2009-12-08T07:36:26.460 回答