Template

Phạm vi áp dụng

✅ Bravo 8 · ✅ Bravo 10

Ý nghĩa

Template lưu các thiết lập chung cho nhiều form — khai báo một lần, có hiệu lực với mọi màn hình dùng template đó.

Những gì có thể khai báo trong Template

Nội dungGhi chú
CommandValidatorsCó hiệu lực với tất cả màn hình cùng Template
Validators⚠️ Các cột tham chiếu phải tồn tại ở tất cả các form dùng template
Thuộc tính controlÁp dụng cho nhiều control ở nhiều loại màn hình, hoặc tất cả màn hình theo từng ClassName
ExecuteLệnh in dùng chung
zCustomConnectionNameKết nối mặc định

Ví dụ — CommandValidators dùng chung

<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>

Thứ tự ưu tiên

Important

Với lookup control, evaluator, validator: nếu không có khai báo zCustomConnectionName trong Template và trong layout thì sẽ dùng giá trị của form.

Khác biệt B8 / B10

Bravo 10 bổ sung khái niệm GlobalTemplate — khai báo lấy dữ liệu dùng chung cho DataSource, gọi bằng attribute template="Tên Global".

TemplateGlobalTemplate (B10)
Nội dungThiết lập chung (gồm cả Eval, Validator, control)Chỉ khai báo lấy dữ liệu
Cách gọiGán Template cho formAttribute template="..." trên từng bảng

Liên quan

GlobalTemplate · Cơ chế lưu trữ B00Layout · CommandValidators · Validator Overview · Layout - Tổng quan