Phê duyệt
Workflow: Phê duyệtProfessional Edition+Giới thiệu
Trong Workflow phê duyệt, cần sử dụng Node "Phê duyệt" chuyên dụng để cấu hình logic Action xử lý (thông qua, từ chối hoặc trả lại) phê duyệt được phát động cho người phê duyệt, Node "Phê duyệt" chỉ có thể được dùng trong quy trình phê duyệt.
Sự khác biệt với Node "Xử lý thủ công" thông thường: Node "Xử lý thủ công" thông thường nhằm vào tình huống chung hơn, có thể được dùng cho nhiều loại Workflow để nhập dữ liệu thủ công, ra quyết định thủ công cho việc tiếp tục quy trình... Còn "Node phê duyệt" là Node xử lý chuyên biệt cho quy trình phê duyệt, chỉ xử lý dữ liệu phát động phê duyệt, không thể dùng trong các Workflow khác.
Tạo Node
Bấm nút dấu cộng ("+") trong quy trình, thêm Node "Phê duyệt", sau đó chọn một trong các chế độ thông qua để tạo Node phê duyệt:

Cấu hình Node
Chế độ thông qua
Có hai chế độ thông qua:
-
Chế độ thông suốt: thường được dùng cho quy trình tương đối đơn giản, việc Node phê duyệt thông qua hay không chỉ quyết định quy trình có kết thúc hay không, trong trường hợp không thông qua sẽ trực tiếp thoát quy trình.

-
Chế độ nhánh: thường được dùng cho logic dữ liệu phức tạp hơn, sau khi Node phê duyệt sinh ra bất kỳ kết quả nào, có thể tiếp tục thực thi các Node khác trong nhánh kết quả của nó.

Sau khi Node được "Thông qua", ngoài việc thực thi nhánh thông qua, sẽ tiếp tục thực thi quy trình tiếp theo. Sau Action "Từ chối" mặc định cũng có thể tiếp tục thực thi quy trình tiếp theo, cũng có thể cấu hình kết thúc quy trình sau khi thực thi nhánh trong Node.
Chế độ thông qua không thể sửa sau khi Node được tạo.
Người phê duyệt
Người phê duyệt là tập hợp người dùng chịu trách nhiệm cho hành vi phê duyệt của Node, có thể là một hoặc nhiều người dùng, nguồn được chọn có thể là giá trị tĩnh được chọn từ danh sách người dùng, cũng có thể là giá trị động được chỉ định bởi biến:

Khi chọn biến, chỉ có thể chọn khóa chính hoặc khóa ngoại của dữ liệu người dùng trong ngữ cảnh và kết quả Node. Nếu biến được chọn khi thực thi là mảng (quan hệ một - nhiều), thì mỗi người dùng trong mảng sẽ được hợp vào tập hợp người phê duyệt.
Ngoài việc trực tiếp chọn người dùng hoặc biến, còn có thể dựa vào điều kiện truy vấn của bảng người dùng để lọc ra người dùng thỏa mãn điều kiện làm người phê duyệt một cách động:

Chế độ thương lượng
Nếu cuối cùng khi thực thi chỉ có một người phê duyệt (bao gồm trường hợp nhiều biến đã được loại trùng), thì bất kể chọn chế độ thương lượng nào, đều chỉ do người dùng đó thực hiện Action phê duyệt và kết quả cũng chỉ do người dùng đó quyết định.
Khi trong tập hợp người phê duyệt có nhiều người dùng, các chế độ thương lượng khác nhau biểu thị các cách xử lý khác nhau:
- Hoặc ký: chỉ cần một trong số họ thông qua là Node được thông qua, tất cả từ chối thì Node mới bị từ chối.
- Cùng ký: cần tất cả thông qua thì Node mới được thông qua, chỉ cần một trong số họ từ chối là Node bị từ chối.
- Bỏ phiếu: cần số người thông qua vượt quá tỉ lệ được đặt thì Node mới được thông qua, ngược lại Node bị từ chối.
Đối với Action trả lại, ở bất kỳ chế độ nào, nếu trong tập hợp người phê duyệt có người dùng xử lý là trả lại, thì Node sẽ trực tiếp thoát quy trình.
Thứ tự xử lý
Tương tự, khi trong tập hợp người phê duyệt có nhiều người dùng, các thứ tự xử lý khác nhau biểu thị các cách xử lý khác nhau:
- Song song: tất cả người phê duyệt có thể xử lý theo bất kỳ thứ tự nào, không liên quan đến thứ tự xử lý.
- Tuần tự: người phê duyệt xử lý theo thứ tự trong tập hợp người phê duyệt, người trước trong số người phê duyệt gửi xong rồi người tiếp theo mới có thể xử lý.
Bất kể có được đặt là xử lý "Tuần tự" hay không, kết quả sinh ra theo thứ tự xử lý thực tế cũng tuân theo quy tắc trong "Chế độ thương lượng" ở trên, sau khi đạt được điều kiện tương ứng thì Node hoàn tất thực thi.
Thoát Workflow sau khi nhánh từ chối kết thúc
Khi "Chế độ thông qua" được đặt là "Chế độ nhánh", có thể chọn thoát Workflow sau khi nhánh từ chối kết thúc. Sau khi chọn, cuối nhánh từ chối sẽ hiển thị một dấu "✗", biểu thị nhánh đó sau khi kết thúc sẽ không tiếp tục các Node tiếp theo:

Cấu hình giao diện người phê duyệt
Cấu hình giao diện người phê duyệt được dùng để cung cấp giao diện thao tác cho người phê duyệt khi Workflow phê duyệt thực thi đến Node đó, bấm nút cấu hình để mở popup:

Trong popup cấu hình có thể thêm các Block như nội dung gửi gốc, thông tin phê duyệt, form xử lý và văn bản nhắc tùy chỉnh...:

Nội dung gửi gốc
Trong đó Block chi tiết nội dung phê duyệt là Block dữ liệu được người phát động gửi, tương tự Block dữ liệu thông thường, có thể thêm các Component trường của bảng dữ liệu tùy ý và sắp xếp tùy ý để tổ chức nội dung mà người phê duyệt cần xem:

Form xử lý
Trong Block form thao tác có thể thêm các nút Action mà Node hỗ trợ, bao gồm "Thông qua", "Phủ quyết", "Trả lại", "Chuyển tiếp ký" và "Thêm ký":

Ngoài ra, trong form thao tác cũng có thể thêm các trường có thể được người phê duyệt sửa. Các trường này khi người phê duyệt xử lý phê duyệt sẽ hiển thị trong form thao tác, người phê duyệt có thể sửa giá trị các trường này, sau khi gửi sẽ đồng thời cập nhật dữ liệu được dùng cho phê duyệt và snapshot dữ liệu tương ứng trong quy trình phê duyệt.

"Thông qua" và "Phủ quyết"
Trong các nút Action phê duyệt, "Thông qua" và "Phủ quyết" là các Action quyết định, sau khi gửi thì việc xử lý của người phê duyệt tương ứng tại Node đó hoàn tất, các trường bổ sung cần điền khi gửi có thể được thêm trong popup "Cấu hình xử lý" của nút Action, như "Bình luận"...

"Trả lại"
"Trả lại" cũng là Action quyết định, ngoài việc có thể cấu hình bình luận, còn có thể cấu hình các Node có thể trả lại:

"Chuyển tiếp ký" và "Thêm ký"
"Chuyển tiếp ký" và "Thêm ký" là các Action không quyết định, được dùng để điều chỉnh động người phê duyệt trong quy trình phê duyệt, "Chuyển tiếp ký" là giao Task phê duyệt của người dùng hiện tại cho người dùng khác xử lý thay, "Thêm ký" là thêm một người phê duyệt trước hoặc sau người phê duyệt hiện tại, cùng người phê duyệt mới được thêm tiếp tục phê duyệt.
Sau khi bật nút Action "Chuyển tiếp ký" hoặc "Thêm ký", cần chọn "Phạm vi người được chỉ định" trong menu cấu hình của nút để thiết lập phạm vi người phê duyệt mới có thể chỉ định:

Giống như cấu hình người phê duyệt gốc của Node, phạm vi người được chỉ định cũng có thể là người phê duyệt được chọn trực tiếp hoặc dựa vào điều kiện truy vấn của bảng người dùng, cuối cùng sẽ được hợp thành một tập hợp và không bao gồm những người dùng đã có trong tập hợp người phê duyệt.
Nếu đã bật hoặc tắt một nút Action nào đó, hoặc đã sửa phạm vi người được chỉ định, cần lưu cấu hình Node đó sau khi đóng popup cấu hình giao diện thao tác, nếu không thay đổi của nút Action đó sẽ không có hiệu lực.
Thẻ "Phê duyệt của tôi" 2.0+
Có thể được dùng để cấu hình thẻ Task trong danh sách "Phê duyệt của tôi" ở trung tâm Task.

Trong thẻ có thể tự do cấu hình các trường nghiệp vụ muốn hiển thị (trừ trường quan hệ) hoặc thông tin liên quan đến phê duyệt.
Sau khi phê duyệt vào Node đó, trong danh sách trung tâm Task có thể thấy thẻ Task tùy chỉnh:

Kết quả Node
Sau khi phê duyệt hoàn tất, các trạng thái và dữ liệu liên quan sẽ được ghi trong kết quả Node, có thể được dùng làm biến cho các Node tiếp theo sử dụng.

Trạng thái phê duyệt Node
Đại diện cho trạng thái xử lý của Node phê duyệt hiện tại, kết quả là giá trị enum.
Dữ liệu sau khi phê duyệt
Nếu người phê duyệt đã sửa nội dung phê duyệt trong form thao tác, dữ liệu được sửa sẽ được ghi trong kết quả Node để các Node tiếp theo sử dụng. Nếu cần sử dụng trường quan hệ, cần cấu hình preload cho trường quan hệ trong Trigger.
Bản ghi phê duyệt
v1.8.0+
Bản ghi xử lý phê duyệt là một mảng, chứa các bản ghi xử lý của tất cả người phê duyệt trong Node đó, mỗi dòng bản ghi xử lý chứa các trường sau:
Có thể sử dụng các trường trong đó làm biến trong các Node tiếp theo theo nhu cầu.

