Hướng dẫn AgentFlow

Hành động & Hoạt động

Thiết kế nút hành động khởi chạy quy trình trên bản ghi (tab Hành động) và đọc nhật ký sự kiện thay đổi bản ghi cùng kết quả kích hoạt trigger (tab Hoạt động).

Tab Hành động và tab Hoạt động nằm cạnh nhau trên trang chi tiết Thực thể, nhưng phục vụ hai việc khác hẳn nhau:

  • Hành động — nơi bạn THIẾT KẾ các nút khởi chạy quy trình sẽ hiển thị trên bản ghi của thực thể này.
  • Hoạt động — một nhật ký CHỈ ĐỌC, ghi lại những gì đã thật sự xảy ra mỗi khi một bản ghi được tạo, sửa, hoặc xóa.

Cấu hình QUY TRÌNH NÀO sẽ tự động chạy khi bản ghi thay đổi (entity-record trigger) không nằm ở đây. Trigger được gắn trên chính Nút bắt đầu (Start) của quy trình đó — xem Cách quy trình bắt đầu. Tab Hoạt động bên dưới chỉ hiển thị KẾT QUẢ của những trigger đã cấu hình ở nơi khác; nó không phải chỗ tạo hay sửa trigger.


Tab Hành động

Mỗi thực thể có một danh sách hành động dùng chung, định nghĩa một lần duy nhất ở đây rồi hiển thị lại ở ba nơi: từng dòng trong Trình duyệt bản ghi, trên thanh hành động khi chọn nhiều bản ghi (hàng loạt), và trên thanh hành động của trang Chi tiết bản ghi mà người dùng cuối nhìn thấy.

Hành động nào có nút trên hàng của một view Lưới do mục Nút hành động trên hàng của view đó quyết định. Thanh chọn bản ghi thì không theo view: nó luôn đưa ra mọi hành động có phạm vi Hàng loạt hoặc Cả hai của thực thể.

Thêm một hành động

Ở tab Hành động, nhấn Thêm hành động. Mỗi hành động đã lưu hiện dưới dạng dòng tóm tắt (nhãn · quy trình · ánh xạ đầu vào); nhấn Sửa để mở form đầy đủ. Mỗi hành động được lưu riêng: nút Lưu trong form chỉ lưu hành động đó (Hủy bỏ các thay đổi chưa lưu), và lỗi ở một hành động không bao giờ chặn việc lưu hành động khác hay bất kỳ thiết lập nào khác của thực thể. Xóa một hành động (nút ×) có hiệu lực ngay.

TrườngMô tả
NhãnChữ hiển thị trên nút, ví dụ Phân công người duyệt.
Biểu tượngHình vẽ trên nút, chọn từ bộ 64 biểu tượng có sẵn, phủ các động từ thường gặp trên bản ghi — duyệt/từ chối, chuyển tiếp và gửi lại, tài liệu và chữ ký, nhập/xuất, con người và thông báo, ngày và hạn, tiền và giao nhận, khoá và quyền. Gõ vào ô trên đầu bảng chọn để lọc theo tên (archi → archive, archive-restore). Thuần hiển thị. Để trống — ô không, nằm đầu bảng chọn — thì nút vẫn giữ nguyên biểu tượng play mặc định như trước nay.
MàuMột trong năm sắc thái — trung tính, chính, thành công, nguy hiểm, cảnh báo — vẽ thành viền màu và nền nhạt, để nút Lưu trữ không nhìn giống hệt nút Gửi ký. Thuần hiển thị: không đổi hành động chạy gì, ai thấy được, hay chạy lúc nào. Để trung tính thì nút hiện đúng như trước. Chọn màu sẽ gợi ý sẵn một biểu tượng phù hợp, bạn vẫn đổi hoặc xoá được.
Quy trình gắn kèmQuy trình đã xuất bản sẽ chạy khi bấm nút. Danh sách chọn chỉ hiện quy trình có hợp đồng đầu vào phù hợp với thực thể này ở đúng phạm vi đã chọn — quy trình chưa xuất bản, hoặc khai báo chủ thể là thực thể khác/không khai báo chủ thể bản ghi, không xuất hiện trong danh sách.
Phạm viTừng dòng, Hàng loạt, hoặc Cả hai. Từng dòng/Cả hai chỉ nhận quy trình khai báo chủ thể một bản ghi; Hàng loạt còn nhận thêm quy trình khai báo chủ thể tập bản ghi (nhiều) — một lần chạy xử lý trọn vùng chọn.
Chạy đồng bộChỉ bật được khi phạm vi là Từng dòng. Bật lên: chờ quy trình chạy xong trong một ngân sách thời gian giới hạn rồi hiển thị kết quả ngay tại chỗ — kể cả khi kết quả ấy là phiên Bị chặn do phân quyền, tức một phiên sẽ không tự đi tiếp — thay vì mở một phiên chạy nền và thoát ra ngay. Vì vậy đây cũng chính là lựa chọn quyết định người bấm nút có bao giờ thấy kết quả đó hay không: tắt đi thì họ chỉ nhận "đã bắt đầu" rồi hộp thoại đóng lại, và trên trang bản ghi không chỗ nào nói có một phiên vừa bị chặn cho tới khi họ mở khối Quy trình. Riêng lời từ chối ngay lúc khởi chạy — chẳng hạn quy trình chưa có chủ thể thực thi — vẫn được nêu rõ ở cả hai chế độ. Xem Chi tiết bản ghi.
Hiển thị khiĐiều kiện ẩn/hiện nút — xem mục riêng ngay dưới đây.
Ánh xạ đầu vàoChỉ hiện khi quy trình đã chọn còn khai báo tham số khởi chạy — xem mục riêng bên dưới.

Một hành động đã lưu nhưng trỏ tới quy trình không còn phù hợp nữa (đổi phạm vi sau khi lưu, hoặc quy trình được xuất bản lại với hợp đồng khác) hiện huy hiệu không hợp lệ trên dòng tóm tắt — sửa lại phạm vi hoặc đổi quy trình khác để hết cảnh báo.

Hành động có quy trình gắn kèm đã bị xóa hiện huy hiệu chưa gắn quy trình và không còn hiển thị trên bản ghi — hãy sửa để chọn quy trình khác, hoặc xóa hành động. Một quy trình đang được hành động gọi thì không xóa được nữa: thao tác xóa bị từ chối và nêu tên các hành động cần gắn lại hoặc xóa trước.

Hiển thị khi (điều kiện gate)

Một nút hành động có thể được ẩn theo điều kiện, để chỉ hiện đúng lúc, đúng người. Nhấn + để thêm điều kiện; mỗi điều kiện là một trong hai loại:

  • Trường — so sánh một trường của thực thể với một giá trị, dùng đúng bộ toán tử theo kiểu trường đó (ví dụ: = / ≠ cho danh sách chọn, > / < / ≥ / ≤ cho số và ngày, chứa / bắt đầu bằng cho văn bản).
  • Quyền hạn — kiểm tra người xem hiện tại có nắm một quyền hạn (permission slug) cụ thể hay không, chọn từ danh sách quyền hạn của tổ chức (ví dụ entity.write).

Khi có từ hai điều kiện trở lên, một nút AND/OR xuất hiện để đổi cách kết hợp — toàn bộ điều kiện trong danh sách dùng chung MỘT phép kết hợp (không lồng được nhóm con bên trong nhóm con). Cả nhóm điều kiện được biên dịch thành một biểu thức JSONLogic duy nhất, đánh giá ở phía server dựa trên chính bản ghi cộng ngữ cảnh quyền hạn của người xem.

Đánh giá theo hướng an toàn-khi-lỗi: nút chỉ hiện khi biểu thức trả về đúng true. Bất kỳ lỗi đánh giá nào — trường tham chiếu trong điều kiện đã bị xóa, kiểu giá trị không khớp, v.v. — đều khiến nút ẩn đi, không phải hiện ra theo mặc định.

Trên thanh chọn bản ghi

Hành động có phạm vi Hàng loạt hoặc Cả hai được kiểm tra điều kiện theo từng bản ghi bạn tick:

  • Hành động chạy một lần cho mỗi bản ghi (quy trình nhận một bản ghi) bỏ qua những bản ghi không thỏa điều kiện và chạy trên phần còn lại. Khi có bản ghi không thỏa, rê chuột vào hành động sẽ thấy Chạy trên N/M đã chọn; khi không bản ghi nào thỏa, hành động bị vô hiệu hóa.
  • Hành động đưa cả lựa chọn vào một lần chạy (lựa chọn điền vào một tham số) cần mọi bản ghi đã chọn đều thỏa điều kiện, nên bị vô hiệu hóa cho tới khi đó.
  • Khi bạn bấm Chọn tất cả bản ghi trong danh sách này, thanh chọn không có từng hàng để xem trước, nên điều kiện được kiểm tra khi bắt đầu chạy, theo từng bản ghi.

Thanh chọn chỉ báo trước được kết quả khi view Lưới đang Hiện nút hành động trên hàng. Nếu không, các quy tắc trên vẫn áp dụng, chỉ là bạn biết kết quả khi bắt đầu chạy.

Ánh xạ đầu vào

Khi quy trình gắn kèm còn tham số khởi chạy chưa được điền sẵn, phần Ánh xạ đầu vào cho biết trang lấy giá trị từ đâu để nạp vào hợp đồng của quy trình:

  • Chủ thể luôn được gán tự động, không sửa được — record.id của dòng đang thao tác (phạm vi Từng dòng/Cả hai) hoặc toàn bộ vùng chọn (phạm vi Hàng loạt).
  • Mỗi tham số còn lại chọn một trong ba nguồn:
    • Ngữ cảnh — lấy thẳng từ dữ liệu trang: record.id, record.<trường> (dòng/cả hai) hoặc selection, parent.id (hàng loạt). Danh sách nguồn được lọc theo kiểu — một tham số kiểu tham chiếu chỉ nhận nguồn trỏ đúng thực thể đích, một tham số kiểu số/ngày/văn bản chỉ nhận trường cùng kiểu.
    • Thủ công — người dùng tự nhập khi bấm nút, trong biểu mẫu khởi chạy hiện ra ngay sau đó.
    • Mặc định — dùng giá trị mặc định đã khai báo sẵn trên chính tham số của quy trình, không hỏi lại lúc khởi chạy (chỉ chọn được khi tham số có khai báo mặc định).

Tham số nào không được ánh xạ (giữ ở chế độ Thủ công) sẽ rơi vào biểu mẫu khởi chạy của quy trình — người dùng điền nốt ngay khi bấm nút.


Tab Hoạt động

Tab Hoạt động liệt kê các sự kiện thay đổi bản ghi (tạo mới/cập nhật/xóa) đã ghi nhận trên thực thể này, mới nhất trước, cùng kết quả xử lý trigger của từng sự kiện. Đây là bảng CHỈ ĐỌC — không có bất kỳ nút cấu hình nào ở tab này.

Mỗi dòng gồm:

CộtMô tả
Thời điểmThời gian tương đối kể từ khi sự kiện xảy ra (di chuột vào để xem giờ đầy đủ).
Thay đổiLoại thay đổi — Tạo mới, Cập nhật, hoặc Xóa — cùng id bản ghi đã rút gọn.
Trạng tháiKết quả xử lý trigger của sự kiện — xem bảng bên dưới.
Quy trình đã chạyLiên kết mở thẳng từng phiên chạy mà sự kiện này đã khởi động, nếu có.

Dùng bộ lọc Lọc theo trạng thái ở góc trên bên phải để thu hẹp danh sách, và nút Tải cũ hơn ở cuối bảng để xem thêm sự kiện trước đó.

Trạng thái xử lý

Trạng tháiÝ nghĩa
Đã nhậnSự kiện đã được ghi nhận, đang chờ xử lý.
Đã khởi độngCó ít nhất một trigger đủ điều kiện được đánh giá và khớp — sự kiện đã khởi động một hoặc nhiều phiên chạy (xem cột Quy trình đã chạy).
Không khớp trigger nàoKhông có trigger nào đủ điều kiện khớp với sự kiện — bình thường nếu thực thể chưa gắn trigger nào, hoặc bộ lọc của trigger không khớp thay đổi này.
Bị chặn (dead-letter)Sự kiện bị từ chối xử lý — lý do cụ thể hiện ngay dưới dòng trạng thái (ví dụ: vượt độ sâu vòng lặp cho phép giữa các trigger gọi lẫn nhau).

Tab này chỉ hiển thị SIÊU DỮ LIỆU của sự kiện — loại thay đổi, trạng thái xử lý, và các phiên chạy đã khởi động. Giá trị các trường của bản ghi tại thời điểm xảy ra thay đổi không bao giờ xuất hiện ở đây.


Bước tiếp theo

  • View — nơi dựng các View mà từng dòng của Trình duyệt bản ghi dùng để hiển thị nút hành động.
  • Quyền truy cập — kiểm soát ai được xem/sửa bản ghi, độc lập với việc ai thấy nút hành động nào.
  • Cách quy trình bắt đầu — nơi thật sự cấu hình trigger tự động chạy quy trình khi bản ghi thay đổi.
  • Chi tiết bản ghi — trải nghiệm người dùng cuối của thanh hành động bạn vừa thiết kế ở trên.

On this page