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
CommandNameKhai báo list các lệnh thực hiện với form, được khai báo trong B00Command
ExprBiể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
TextCâu thông báo lỗi khi CommandValidator nhận giá trị False
bIgnoreIfNoRowCá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ú

  • CommandValidators khai 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ợ ở Explorer
    • Save, Edit — lệnh hỗ trợ ở Editor

Phân biệt với Validator

CommandValidatorsValidators
Kiểm tra khiNgười dùng chạy một lệnhLưu dữ liệu
Đối tượngBản ghi đang chọnTừng cột / dòng

Liên quan

Validator Overview · Template · B00 - Bảng hệ thống · Text