0

我想按字段雇主代码对表进行分组,然后根据 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 代码中的变量

4

1 回答 1

0

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

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 将在循环的每次迭代中被覆盖,因此您必须对它们做一些事情。

于 2020-01-16T11:27:48.640 回答