ServerCommit

Phạm vi áp dụng

✅ Bravo 8 · ❌ Bravo 10 — thẻ chỉ có ở Bravo 8

Ý nghĩa

Khai báo cho các bảng, gồm tên cột trong bảng và giá trị sẽ cập nhật trong lệnh INSERT/UPDATE thay cho giá trị ngầm định.

Cú pháp

<ServerCommit>
  <Ten_Cot>Bieu_thuc_SQL</Ten_Cot>
</ServerCommit>

Ví dụ

<ServerCommit>
  <DocNo>dbo.ufn_AutoCalcDocNo({=CONFIG('M_UsingSomething')},
    @_BranchCode,@_DocCode,@_DocDate)</DocNo>
</ServerCommit>

Cơ chế hoạt động

  1. Trước khi bắt đầu lưu dữ liệu, phần biểu thức nhúng CONFIG('M_UsingSomething') sẽ được evaluate giá trị với dòng dữ liệu đầu tiên tại bảng khai báo ServerCommit
  2. Nội dung trong <DocNo> sẽ được thay thế vào lệnh INSERT/UPDATE để cập nhật giá trị cho cột DocNo
  3. Các tham số @_<tên cột> sẽ được tự động điền giá trị hiện thời của cột tại từng dòng dữ liệu thay đổi

Kết quả:

-- Bình thường
UPDATE B30AccDoc SET DocNo = @_DocNo ...
 
-- Khi có ServerCommit
UPDATE B30AccDoc SET DocNo = dbo.ufn_AutoCalcDocNo(1,@_BranchCode,@_DocCode,@_DocDate) ...

Vì sao hữu ích?

Cho phép sinh giá trị ngay tại server trong lúc lưu — quan trọng với số chứng từ tự động tăng, tránh trùng số khi nhiều người cùng lưu.

Liên quan

AssignmentUpdateList · ServerCommand · ServerUpdated · Quy ước cú pháp XML