zScopeExpr

Phạm vi áp dụng

✅ Bravo 8 · ✅ Bravo 10

Ý nghĩa

Khai báo biểu thức điều kiện để tìm các dòng thỏa mãn khi thực thi Evaluator.

Important

Khi sử dụng thẻ này có thể sẽ làm thay đổi phạm vi hoạt động của Evaluator đã khai báo trong scopeType — nó lọc tiếp các dòng trong phạm vi scopeType.

Cú pháp

<Evaluators>
  <Eval_X>
    <zScopeExpr>Bieu_thuc_dieu_kien</zScopeExpr>
  </Eval_X>
</Evaluators>

Ví dụ

Editor Hóa đơn dịch vụ — Evaluator xử lý tiền chiết khấu:

<Eval_Ct0_OriginalDiscountAmount_Default0>
  <DataMember>OriginalDiscountAmount</DataMember>
  <Value>0</Value>
  <zScopeExpr>!Empty(OriginalAmount9)</zScopeExpr>
</Eval_Ct0_OriginalDiscountAmount_Default0>

→ Evaluator này chỉ chạy với các dòng có tiền hàng.

zScopeExpr vs Expr

Thứ tự thực thi

Khi Evaluator khai báo đồng thời cả zScopeExpr và Expr:

  1. zScopeExpr chạy trước → tìm dòng thỏa mãn điều kiện
  2. Sau khi tìm được dòng → thực hiện Expr để kiểm tra tiếp
  3. Rồi mới chạy Evaluator
ThẻVai trò
zScopeExprXác định tập dòng nào nằm trong phạm vi
ExprĐiều kiện cuối cùng để chạy trên từng dòng đã lọc

Ghi chú

Ảnh hưởng tới scopeType

Nếu scopeType đang nhận giá trị Relation (hoặc không khai báo gì) và Evaluator được khai báo ở bảng con, thì bất kể Evaluator đó được gọi từ đâu, tất cả các dòng thỏa mãn điều kiện trong zScopeExpr đều thuộc phạm vi tác động.

zScopeExpr sẽ luôn là bảng mẹ nếu Eval đặt trong sự kiện RowDeleted.

Liên quan

scopeType · Expr · allowRunning · BravoAllocationEvaluator · BravoTableAggregator