ServerUpdated

Phạm vi áp dụng

✅ Bravo 8 · ✅ Bravo 10

Ý nghĩa

Khai báo các tác động khi đã lưu xong dữ liệu.

Thường dùng để:

  • Tải lại dữ liệu một số trường không có sẵn giá trị (như Stt, RowId — chỉ được cấp sau khi lưu)
  • Thực thi việc lưu dữ liệu vào một bảng khác

Cú pháp

<root>
  <Tables>          <!-- B10: <TableCollection> -->
    <Ten_bang>
      <ServerUpdated>
        <!-- Danh sách các Evaluator -->
      </ServerUpdated>
    </Ten_bang>
  </Tables>
</root>

Ví dụ

Trên Editor Báo Nợ, <ChildTable_Detail> — sau khi lưu bảng con xong thì lưu tiếp vào bảng AtchDocE3:

<ServerUpdated>
  <Eval_AtchDocE3_AddChildRow>
    <ClassName>BravoAddRowEvaluator</ClassName>
    <DataMember>AtchDocE3</DataMember>
    <Expr>(!Empty(TaxCode) OR !Empty(DueDate)) AND Empty(AttachedRowId)
          AND !Exists(Child(AtchDocE3))</Expr>
    <DefaultValues>
      <DocCode>DocCode</DocCode>
      <Stt>Stt</Stt>
      <RowId_SourceDoc>RowId</RowId_SourceDoc>
      <DocDate>DocDate</DocDate>
      <AtchDocDate>ISNULL(AttachedDocDate, DocDate)</AtchDocDate>
      <AtchDocNo>AttachedDocNo</AtchDocNo>
    </DefaultValues>
  </Eval_AtchDocE3_AddChildRow>
</ServerUpdated>

Ghi chú

  • Khi dữ liệu đã tải xong thì ServerUpdated chỉ thực hiện 1 lần và thực hiện đồng loạt cho tất cả các dòng trong bảng đó

Thuộc tính nRepeatTableUpdated

Chỉ định số lần lặp lại gọi ServerUpdated khi lưu dữ liệu.

Cơ chế: khi phát lệnh INSERT/UPDATE/DELETE lưu xong tất cả các bảng, trước khi commit transaction, ServerUpdated sẽ được thực hiện cho tất cả các dòng trong các bảng. Sau đó nếu dữ liệu có thay đổi (so với khi đã lưu) thì sẽ lưu các dòng thay đổi. nRepeatTableUpdated chỉ định số lần lặp lại quy trình này.

Ngầm định0
Hỗ trợ từv4.1.5.0 (Bravo 8)

Liên quan

ServerUpdating · BeforeTransaction · ServerCommand · RefreshColumnList · BravoAddRowEvaluator