BravoTableAggregator
Phạm vi áp dụng
✅ Bravo 8 · ✅ Bravo 10
Ý nghĩa
Dùng để tập hợp (gộp nhóm) các dòng dữ liệu trước khi thực thi việc lưu dữ liệu.
Lợi ích
Việc sử dụng Evaluator này sẽ làm giảm dung lượng lưu trữ một cách đáng kể — nhiều dòng chi tiết được gộp thành ít dòng khi ghi vào bảng đích.
Cú pháp
<Eval_X>
<ClassName>BravoTableAggregator</ClassName>
<DataMember>Ten_bang</DataMember>
<zScopeExpr>Bieu_Thuc</zScopeExpr>
<Groups>
<Ten_Cot_Dich>Ten_Cot_Nguon</Ten_Cot_Dich>
</Groups>
<SumValues>
<Ten_Cot_Dich>Ten_Cot_Nguon</Ten_Cot_Dich>
</SumValues>
</Eval_X>Thuộc tính
| Thẻ | Nội dung |
|---|---|
| DataMember | Cột đích tác động dữ liệu — chính là bảng sẽ insert dữ liệu vào |
| Expr | Điều kiện các dòng thỏa mãn để thực thi |
Groups | Giá trị tương ứng các cột khi nhóm dữ liệu |
SumValues | Giá trị tương ứng các cột khi Insert (cột được cộng tổng) |
Values | (từ v4.5.8.0) Hỗ trợ khai báo các biểu thức chỉ thực hiện trong phạm vi nhóm |
bAutoResetDataMemberData | (ngầm định True) Có xóa các dòng trong bảng DataMember trước khi thực hiện không |
zDataSourceName | Chỉ định tên nguồn dữ liệu được tính tổng: bảng, bảng temp, hoặc view |
Thẻ <Values> (v4.5.8.0+)
<Values>
<Col1>SUM(…)</Col1>
<Col2>AVG(…)+MAX(…)</Col2>
</Values>Cách đọc Groups / SumValues
| Vế | Ý nghĩa |
|---|---|
<Ten_Cot1> (tên thẻ) | Tên cột của bảng khai báo trong DataMember (bảng đích) |
Ten_Cot2 (giá trị) | Cột ở bảng mà Evaluator được khai báo (bảng nguồn) |
Ví dụ
Editor Hóa đơn GTGT — gộp các dòng tiền thuế Tiêu thụ đặc biệt trước khi lưu vào B30AccDocAtchEntry:
<Eval_AtchEntry_SumGroupByFromDetail>
<ClassName>BravoTableAggregator</ClassName>
<DataMember>vB30AccDocAtchEntry_Edit</DataMember>
<zScopeExpr>!Empty(Amount6)</zScopeExpr>
<Groups>
<DebitAccount>CreditAccount2</DebitAccount>
<CustomerCode>CustomerCode</CustomerCode>
<ProductCostId>ProductCostId</ProductCostId>
</Groups>
<SumValues>
<OriginalAmount>OriginalAmount6</OriginalAmount>
<Amount>Amount6</Amount>
</SumValues>
</Eval_AtchEntry_SumGroupByFromDetail>Ghi chú
scopeTypeđặc biệtĐây là dạng Evaluator đặc biệt — phạm vi scopeType luôn là
Table(toàn bộ bảng).Từ v4.1.4.0 có hỗ trợ khai báo
scopeType:
scopeType = CurrentView→ lấy thứ tự các dòng theo thứ tự hiển thị trên Grid nhập liệu- ⚠️ Nhưng không có tác dụng khi import
Liên quan
BravoTableOrderer · BravoAllocationEvaluator · zScopeExpr · ServerUpdating · scopeType