Tài liệu này được dịch bởi AI. Đối với bất kỳ thông tin không chính xác nào, vui lòng tham khảo phiên bản tiếng Anh
NocoBase tích hợp sẵn các thao tác dữ liệu phổ biến (như thêm, xóa, sửa, xem, v.v.). Khi các thao tác này không đáp ứng được nhu cầu nghiệp vụ phức tạp, bạn có thể sử dụng các sự kiện thao tác tùy chỉnh trong một luồng công việc. Bằng cách liên kết sự kiện này với nút "Kích hoạt luồng công việc" trên một khối trang, một luồng công việc thao tác tùy chỉnh sẽ được kích hoạt khi người dùng nhấp vào.
Khi tạo một luồng công việc, hãy chọn "Sự kiện Thao tác Tùy chỉnh":

v.1.6.0+
Loại ngữ cảnh khác nhau sẽ quyết định luồng công việc này có thể được liên kết với các nút trên những khối nào:

Khi loại ngữ cảnh là dữ liệu một hàng hoặc dữ liệu nhiều hàng, bạn cần chọn bộ sưu tập để liên kết mô hình dữ liệu:

Nếu bạn cần sử dụng dữ liệu liên kết của hàng dữ liệu kích hoạt trong luồng công việc, bạn có thể chọn các trường liên kết sâu tại đây:

Các trường này sẽ tự động được tải trước vào ngữ cảnh của luồng công việc sau khi sự kiện được kích hoạt, để có thể sử dụng trong luồng công việc.
Tùy thuộc vào loại ngữ cảnh được cấu hình trong luồng công việc, cấu hình nút thao tác trong các khối khác nhau cũng sẽ có sự khác biệt.
v.1.6.0+
Trong thanh thao tác và các khối dữ liệu khác, bạn đều có thể thêm nút "Kích hoạt luồng công việc":



Sau khi thêm nút, hãy liên kết luồng công việc không có ngữ cảnh đã tạo trước đó. Lấy nút trong thanh thao tác làm ví dụ:


Trong bất kỳ khối dữ liệu nào, bạn có thể thêm nút "Kích hoạt luồng công việc" vào thanh thao tác cho một bản ghi đơn lẻ, ví dụ như trong biểu mẫu, hàng dữ liệu của bảng, chi tiết, v.v.:



Sau khi thêm nút, hãy liên kết luồng công việc đã tạo trước đó:


Sau đó, nhấp vào nút này sẽ kích hoạt sự kiện thao tác tùy chỉnh đó:

v.1.6.0+
Trong thanh thao tác của khối bảng, khi thêm nút "Kích hoạt luồng công việc", sẽ có một tùy chọn bổ sung để chọn loại ngữ cảnh là "Không có ngữ cảnh" hoặc "Dữ liệu nhiều hàng":

Khi chọn "Không có ngữ cảnh", đây là sự kiện toàn cục và chỉ có thể liên kết với các luồng công việc không có ngữ cảnh.
Khi chọn "Dữ liệu nhiều hàng", bạn có thể liên kết một luồng công việc loại dữ liệu nhiều hàng, có thể được sử dụng cho các thao tác hàng loạt sau khi chọn nhiều dữ liệu (hiện tại chỉ bảng hỗ trợ). Lúc này, phạm vi các luồng công việc có thể chọn chỉ giới hạn ở những luồng công việc đã được cấu hình để khớp với bộ sưu tập của khối dữ liệu hiện tại:

Khi nhấp vào nút để kích hoạt, phải có một số hàng dữ liệu trong bảng đã được chọn, nếu không luồng công việc sẽ không được kích hoạt:

Ví dụ, chúng ta có một bộ sưu tập "Mẫu". Đối với các mẫu có trạng thái "Đã thu thập", chúng ta cần cung cấp một thao tác "Gửi kiểm tra". Thao tác này sẽ kiểm tra thông tin cơ bản của mẫu, sau đó tạo một bản ghi "Hồ sơ kiểm tra", và cuối cùng thay đổi trạng thái của mẫu thành "Đã gửi kiểm tra". Vì chuỗi quy trình này không thể hoàn thành chỉ bằng cách nhấp vào các nút "thêm, xóa, sửa, xem" đơn giản, nên chúng ta có thể sử dụng sự kiện thao tác tùy chỉnh để thực hiện.
Trước tiên, hãy tạo một bộ sưu tập "Mẫu" và một bộ sưu tập "Hồ sơ kiểm tra", sau đó nhập dữ liệu thử nghiệm cơ bản vào bộ sưu tập Mẫu:

Sau đó, tạo một luồng công việc "Sự kiện Thao tác Tùy chỉnh". Nếu bạn cần phản hồi kịp thời từ quy trình thao tác, bạn có thể chọn chế độ đồng bộ (trong chế độ đồng bộ, bạn không thể sử dụng các nút loại bất đồng bộ như xử lý thủ công):

Trong cấu hình bộ kích hoạt, chọn "Mẫu" cho bộ sưu tập:

Dựa trên yêu cầu nghiệp vụ, sắp xếp logic trong quy trình, ví dụ: chỉ cho phép gửi kiểm tra khi tham số chỉ số lớn hơn 90, nếu không sẽ hiển thị thông báo về vấn đề liên quan:

Nút "Thông báo phản hồi" có thể được sử dụng trong các sự kiện thao tác tùy chỉnh đồng bộ, dùng để trả về thông báo gợi ý cho client. Không thể sử dụng trong chế độ bất đồng bộ.
Sau khi cấu hình và kích hoạt luồng công việc, hãy quay lại giao diện bảng, và thêm nút "Kích hoạt luồng công việc" vào cột thao tác của bảng:

Sau đó, trong menu cấu hình của nút, chọn liên kết luồng công việc và mở cửa sổ cấu hình bật lên:

Thêm luồng công việc đã được kích hoạt trước đó:

Sau khi gửi, hãy thay đổi văn bản nút thành tên thao tác, ví dụ như "Gửi kiểm tra". Quá trình cấu hình đã hoàn tất.
Khi sử dụng, hãy chọn bất kỳ dữ liệu mẫu nào trong bảng và nhấp vào nút "Gửi kiểm tra" để kích hoạt sự kiện thao tác tùy chỉnh. Đúng như logic đã sắp xếp trước đó, nếu tham số chỉ số của mẫu nhỏ hơn 90, sau khi nhấp sẽ hiển thị thông báo như sau:

Nếu tham số chỉ số lớn hơn 90, quy trình sẽ thực hiện bình thường, tạo dữ liệu "Hồ sơ kiểm tra" và thay đổi trạng thái của mẫu thành "Đã gửi kiểm tra":

Đến đây, một sự kiện thao tác tùy chỉnh đơn giản đã hoàn tất. Tương tự, đối với các nghiệp vụ có thao tác phức tạp như xử lý đơn hàng, gửi báo cáo, v.v., đều có thể được thực hiện thông qua sự kiện thao tác tùy chỉnh.
Việc kích hoạt các sự kiện thao tác tùy chỉnh không chỉ giới hạn ở các thao tác trên giao diện người dùng mà còn có thể được kích hoạt thông qua các lệnh gọi HTTP API. Đặc biệt, sự kiện thao tác tùy chỉnh cung cấp một loại thao tác mới để kích hoạt luồng công việc cho tất cả các thao tác trên bộ sưu tập: trigger, có thể được gọi bằng cách sử dụng API thao tác tiêu chuẩn của NocoBase.
Một luồng công việc được kích hoạt bởi nút, như trong ví dụ, có thể được gọi như sau:
Vì thao tác này dành cho một bản ghi đơn lẻ, nên khi gọi trên dữ liệu đã có, bạn cần chỉ định ID của hàng dữ liệu, thay thế phần <:id> trong URL.
Nếu gọi cho một biểu mẫu (như thêm mới hoặc cập nhật), đối với biểu mẫu thêm dữ liệu mới có thể không cần truyền ID, nhưng cần truyền dữ liệu đã gửi, làm dữ liệu ngữ cảnh thực thi:
Đối với biểu mẫu cập nhật, bạn cần truyền cả ID của hàng dữ liệu và dữ liệu cập nhật:
Nếu cả ID và dữ liệu được truyền cùng lúc, hàng dữ liệu tương ứng với ID sẽ được tải trước, sau đó các thuộc tính từ đối tượng dữ liệu được truyền sẽ được sử dụng để ghi đè lên hàng dữ liệu gốc nhằm có được ngữ cảnh dữ liệu kích hoạt cuối cùng.
Nếu dữ liệu liên kết được truyền vào, nó cũng sẽ bị ghi đè. Đặc biệt, khi đã cấu hình tải trước các mục dữ liệu liên kết, cần xử lý cẩn thận dữ liệu truyền vào để tránh dữ liệu liên kết bị ghi đè không như mong đợi.
Ngoài ra, tham số URL triggerWorkflows là khóa của luồng công việc; nhiều khóa luồng công việc được phân tách bằng dấu phẩy. Khóa này có thể được lấy bằng cách di chuột qua tên luồng công việc ở đầu canvas luồng công việc:

Sau khi gọi thành công, sự kiện thao tác tùy chỉnh cho bộ sưu tập samples tương ứng sẽ được kích hoạt.
Vì các lệnh gọi từ bên ngoài cũng cần dựa trên danh tính người dùng, nên khi gọi qua HTTP API, tương tự như các yêu cầu gửi từ giao diện thông thường, đều cần cung cấp thông tin xác thực, bao gồm tiêu đề yêu cầu Authorization hoặc tham số token (token nhận được khi đăng nhập), và tiêu đề yêu cầu X-Role (tên vai trò hiện tại của người dùng).
Nếu bạn cần kích hoạt một sự kiện cho dữ liệu liên kết một-đối-một (một-đối-nhiều hiện chưa được hỗ trợ) trong thao tác này, bạn có thể sử dụng ! trong tham số để chỉ định dữ liệu kích hoạt của trường liên kết:
Sau khi gọi thành công, sự kiện thao tác tùy chỉnh cho bộ sưu tập categories tương ứng sẽ được kích hoạt.
Khi gọi HTTP API để kích hoạt sự kiện sau thao tác, bạn cũng cần chú ý đến trạng thái kích hoạt của luồng công việc và liệu cấu hình bộ sưu tập có khớp hay không, nếu không, lệnh gọi có thể không thành công hoặc xảy ra lỗi.