按字段分组表并在Dynamics NAV 2018中找到总和

时间:2019-12-23 19:43:16

标签: microsoft-dynamics microsoft-dynamics-nav

我想按现场用人单位代码对表进行分组,然后从C / AL代码中计算出该组中十进制字段的总和。这是我的表结构

Employer No_    Total Contribution
PRTEMP005022    1817.64
PRTEMP005022    1782
PRTEMP005022    2049.3
PRTEMP005022    1568.16
PR0000247148    47750.62
PR0000247148    47532.81
PU0000400011    5314.52
PU0000400011    5314.52
PU0000400011    17225.83
PU0000400011    4509.61
STRV00000000    6088.72
STRV00000000    4065.36
STRV00000000    2191.18
STRV00000000    3485.42
STRV00000000    4709.77

如何为C / AL代码中的变量分配雇主代码和该雇主的总供款额

1 个答案:

答案 0 :(得分:0)

我假设您在一个名为“雇主”的单独表中拥有雇主。否则,您将不得不在临时表中创建要分组的值(表名称/值缓冲区在其中很有用)。

Employer.RESET();
//Employer.SETRANGE(...  filtering if needed
IF Employer.FINDSET() THEN BEGIN
  REPEAT
    YourTable.RESET();
    YourTable.SETRANGE("Employer No.", Employer."No.");
    YourTable.CALCSUMS("Total Contribution");
    TotalContribution := YourTable."Total Contribution";
    EmployerNo := YourTable."Employer No.";
  UNTIL Employer.NEXT() = 0;
END;

请注意,变量TotalContribution和EmployerNo在循环的每次迭代中都会被覆盖,因此您必须对其进行处理。