[Trigger Rules]

Edited: 2018-01-01

Introduction

Thiết lập Trigger được cập nhật từ phiên bản Phoebus4.5.4.851

Trigger là cơ chế được thiết lập để chạy một lệnh ngay sau khi thao tác viên kết thúc một trong các hành động sau: Tạo mớiSửa đổiXóa mẫu tin.

Ví dụ:

 

Các điểm cần lưu ý khi sử dụng quy tắc Trigger

 

  1. Khi thiết lập Trigger có thể đặt thêm điều kiện để lệnh được thực hiện tùy theo dữ liệu đầu vào là mẫu tin đang được tạo mới/sửa/xóa.
  2. Các lệnh Trigger chạy có thể là một lệnh đơn lẻ hoặc tập hợp nhiều lệnh. Để chạy một tập hợp nhiều lệnh thì người thiết kế sử dụng tính năng Gộp nhiều lệnh để chạy (Phoebus Subroutines - pbs.BO.PSR).
  3. Các lệnh để chạy Trigger thường là lệnh Non-UI, chạy ngầm và không tương tác với người dùng cuối, ví dụ: pbs.BO.xx.xxx?$action=Insert/InsertUpdate/UpdateAll/Delete
  4. Sự khác nhau giữa sử dụng Trigger và tính năng Process Event

Cơ chế hoạt động của quy tắc Trigger tương tự như tính năng Process Event, nhưng có sự khác biệt là:

Process Event

Trigger

Giúp cho việc ghi lại toàn bộ những lịch sử thay đổi liên quan đến đối tượng được cập nhật bằng Event.

Thiên về quy trình tự động của hệ thống, đảm bảo sự nhất quán của dữ liệu.

Đảm bảo quy trình xử lý, hướng đến sự phê duyệt.

Xử lý dữ liệu trực tiếp, không thông qua quy trình.

 

Cách thiết lập Trigger

Trigger sẽ được thiết lập riêng cho từng Kiểu dữ liệu, khi người dùng xử lý các mẫu tin thì các lệnh Trigger được thiết lập sẽ hoạt động.

Quy tắc thiết lập Trigger tại DataType(/SubForm) > Setup > 8.Trigger

Data Type

Khi xử lý kiểu dữ liệu này thì Trigger sẽ được thực hiện.

Trigger Rule Code

Mã Trigger theo Sub Form.

Trigger Command

Trigger OnCreation/Update/DeletionCondition

Điều kiện của mẫu tin thuộc Kiểu dữ liệu đang xử lý (Data Type), nếu thỏa điều kiện này thì lệnh Trigger mới được thực hiện.

 

Ví dụ: Lệnh Trigger chỉ được thực hiện khi Thao tác viên là ADM, ...

Trigger OnCreation/Update/Deletion

Lệnh sẽ được chạy khi người dùng thực hiện thao tác Tạo mới/Cập nhật/Xóa mẫu tin tại Kiểu dữ liệu đang xử lý.

 

Ví dụ: Khi tạo sự kiện cập nhật hợp đồng lao động, thì hệ thống sẽ tự động cập nhật thông tin thay đổi tương ứng vào mẫu tin HĐLĐ.

 

Trong trường hợp mẫu tin cần xử lý có nhiều thông tin cần được điền vào, người thiết kế có thể dùng quy tắc Chuyển đổi dữ liệu (Transfer Rule - pbs.BO.Rules.Transform) để làm gọn câu lệnh.

 

Ví dụ: Ở Kiểu dữ liệu Events (pbs.BO.HR.EEV), khi người dùng thao tác tạo mới hoặc sửa sự kiện thêm mới HĐLĐ, thì hệ thống sẽ đồng thời tự động cập nhật thông tin này vào tính năng Hợp đồng lao động (Labor Contract - pbs.BO.HR.ELC).

1.Mở thiết lập Trigger: pbs.BO.HR.EEV/HDLD > Setup > 8.Trigger

 

 

2.Khai báo câu lệnh cập nhật các thông tin vào Trigger On Creation/Update/Deletion

Trong ví dụ này, các trường dữ liệu được mapping như sau:

Events (pbs.BO.HR.EEV)

Labor Contract (pbs.BO.HR.ELC)

EmplCode

EmplCode

DocNo

CtrNo

IssuedDate

IssuedDate

EffectiveDate

EffectiveDate

pbs.BO.HR.ELC?$action=InsertUpdate&EmplCode=[EmplCode]&CtrNo=[DocNo]&IssuedDate=[IssuedDate]&EffectiveDate=[EffectiveDate]

3.Khi người dùng làm thao tác tạo mới/chỉnh sửa sự kiện thêm mới HĐLĐ và bấm nút Save để ghi nhận dữ liệu vào Events

4.Hệ thống ngay lập tức chạy ngầm lệnh Trigger đã được thiết lập để cập nhật dữ liệu vào Labor Contract