CommandValidators
Phạm vi áp dụng
✅ Bravo 8 · ✅ Bravo 10
Ý nghĩa
Chứa toàn bộ các khai báo kiểm tra sự hợp lệ khi thực hiện các lệnh command (các lệnh được khai báo trong B00Command).
Cú pháp
<root>
<Tables>
<Ten_bang>
<CommandValidators>
<Ten_CommandValidator>
<CommandName>Cac_lenh</CommandName>
<Expr>Bieu_thuc</Expr>
<Text>
<Vietnamese>Câu thông báo</Vietnamese>
</Text>
</Ten_CommandValidator>
</CommandValidators>
</Ten_bang>
</Tables>
</root>Các thẻ con
| Thẻ | Nội dung |
|---|---|
CommandName | Khai báo list các lệnh thực hiện với form, được khai báo trong B00Command |
Expr | Biểu thức điều kiện kiểm tra tính đúng sai. Nếu biểu thức trả về False → CommandValidator lỗi và ngăn không cho thực hiện lệnh Command cho bản ghi đang chọn |
Text | Câu thông báo lỗi khi CommandValidator nhận giá trị False |
bIgnoreIfNoRow | Cách thức thực hiện khi không có dòng dữ liệu nào: • True — Bỏ qua, không thực thi• False — Vẫn thực hiện |
Ví dụ
Cấm người dùng nhập mới / sửa chứng từ khi đứng ở đơn vị tổng hợp:
<CommandValidators>
<CreateData>
<CommandName>New,NewAsCopy,Edit</CommandName>
<Expr>BRANCH('IsGroup')=0</Expr>
<Text>
<Vietnamese>Đơn vị cơ sở tổng hợp không được cập nhập dữ liệu.</Vietnamese>
</Text>
</CreateData>
</CommandValidators>Khai báo ở Template
Có hỗ trợ khai báo ở Template để có hiệu lực với tất cả các màn hình cùng Template:
<DataSource>
<Tables>
<ParentTable>
<FetchingColumnList>BranchCode</FetchingColumnList>
<CommandValidators>
<Delete>
<CommandName>Delete</CommandName>
<Expr>BranchCode=BRANCH() AND ISFISCALDATE(DocDate)</Expr>
<Text>
<Vietnamese>Không được đình chỉ dữ liệu không thỏa mãn.</Vietnamese>
</Text>
</Delete>
<Recall>
<CommandName>Recall</CommandName>
<Expr>BranchCode=BRANCH() AND ISFISCALDATE(DocDate)</Expr>
<Text>
<Vietnamese>Không được khôi phục dữ liệu không thỏa mãn.</Vietnamese>
</Text>
</Recall>
</CommandValidators>
</ParentTable>
</Tables>
</DataSource>Ghi chú
CommandValidatorskhai báo ở bảng nào thì dòng hiện thời của bảng đó sẽ được evaluate với biểu thức- Chú ý việc khai báo từng lệnh Command trên từng màn hình:
Delete,Recall— lệnh hỗ trợ ở ExplorerSave,Edit— lệnh hỗ trợ ở Editor
Phân biệt với Validator
| CommandValidators | Validators | |
|---|---|---|
| Kiểm tra khi | Người dùng chạy một lệnh | Lưu dữ liệu |
| Đối tượng | Bản ghi đang chọn | Từng cột / dòng |