BravoAllocationEvaluator
Phạm vi áp dụng
✅ Bravo 8 · ✅ Bravo 10
Ý nghĩa
Dùng để phân bổ một giá trị tổng cho các dòng chi tiết theo một hệ số.
Cú pháp
<Eval_X>
<ClassName>BravoAllocationEvaluator</ClassName>
<DataMember>Ten_Cot</DataMember>
<Expr>Dieu_Kien</Expr>
<zAllocationBaseMember>Ten_Cot</zAllocationBaseMember>
<Value>Ten_cot</Value>
<allocationRemainTarget>Gia_tri</allocationRemainTarget>
<zResultDecimalRound>Gia_tri</zResultDecimalRound>
</Eval_X>Thuộc tính
| Thẻ | Nội dung |
|---|---|
| DataMember | Trường nhận giá trị phân bổ |
zAllocationBaseMember | Cơ sở để phân bổ — chỉ định cột làm hệ số phân bổ |
| Value | Giá trị cần đi phân bổ |
| zResultDecimalRound | Số thập phân cần làm tròn khi phân bổ |
allocationRemainTarget | Quy định việc số dư sau phép chia sẽ được xử lý như nào |
| zScopeExpr | Điều kiện giới hạn các dòng phân bổ |
allocationRemainTarget
| Giá trị | Nội dung |
|---|---|
Auto | (mặc định) Tự động lấy dòng bất kỳ |
Min | Phần dư > 0 được cộng vào dòng có tiền phân bổ nhỏ nhất |
Max | Phần dư > 0 được cộng vào dòng có tiền phân bổ lớn nhất |
Vì sao cần
allocationRemainTarget?Phân bổ số tiền cho nhiều dòng luôn có sai số làm tròn. Thẻ này quyết định “đồng lẻ” rơi vào dòng nào để tổng phân bổ khớp tuyệt đối với số cần phân bổ.
Ví dụ
Chức năng phân bổ tổng tiền ở Summary — Editor chứng từ Chi phí mua hàng:
<Eval_Ct0_OriginalAmount9_AllocFromParent>
<ClassName>BravoAllocationEvaluator</ClassName>
<DataMember>OriginalAmount9,OriginalAmount</DataMember>
<zAllocationBaseMember>AllocationRate</zAllocationBaseMember>
<Value>IIF(Empty(AllocationRate),0,Parent.TotalCostAllocOriginalAmount)</Value>
<zResultDecimalRound>Parent.DecimalRound</zResultDecimalRound>
<zScopeExpr>!Empty(AllocationRate)</zScopeExpr>
</Eval_Ct0_OriginalAmount9_AllocFromParent>→ Phân bổ số tiền gõ ở Summary theo phương thức lựa chọn cho các dòng chi tiết, chỉ với các dòng có hệ số phân bổ.
Liên quan
BravoMoneyEvaluator · zScopeExpr · zResultDecimalRound · BravoTableAggregator