8. Trigger

Navigation:  Các công cụ phát triển phần mềm > Nhập liệu (Data Entry) > Biểu mẫu tính năng (Function Form) > Các thiết lập cho form >

8. Trigger

Previous pageReturn to chapter overviewNext page

Quy tắc Trigger là gì?

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ới, Sửa đổi, Xóa mẫu tin.

Ví dụ:

Khi tạo mới một sự kiện tăng nhân viên, thì hệ thống sẽ đồng thời tạo một mẫu tin Nhân viên mới

Tạo sự kiện nghỉ thai sản, thì hệ thống sẽ tự động cập nhật vào trạng thái của nhân viên được nghỉ

Xóa mẫu tin Tên và địa chỉ, thì hệ thống sẽ tự động xóa các mã phân tích liên kết đến mẫu tin đó

...

 

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

formcn_setup_009_zoom40

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 On Creation/Update/Deletion Condition

Đ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 On Creation/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

formcn_setup_009_zoom20

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

form_setup_trigger_001_zoom20

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

form_setup_trigger_002_zoom20

 

 

________________________

Updated date: 21/07/2016