我想按现场用人单位代码对表进行分组,然后从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代码中的变量分配雇主代码和该雇主的总供款额
答案 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在循环的每次迭代中都会被覆盖,因此您必须对其进行处理。