Tác vụ Chuyển đổi Quy trình làm việc
Tài liệu ERPNext tiếng Việt: Tác vụ Chuyển đổi Quy trình làm việc
Bản dịch máy từ tài liệu ERPNext chính thức. Chưa được rà soát toàn văn về thuật ngữ chuyên ngành. Cần đối chiếu bản gốc khi áp dụng nghiệp vụ.
Lưu ý: Sẽ được thêm vào phiên bản 16
Giới thiệu
Tác vụ Chuyển đổi quy trình làm việc (Workflow Transition Tasks) là các hành động có thể được thực hiện trong quá trình chuyển đổi trạng thái trong quy trình làm việc. Mỗi Chuyển đổi quy trình làm việc có thể liên kết với một tập hợp các tác vụ chuyển đổi. 

Mỗi Tác vụ Chuyển đổi quy trình làm việc có thể bao gồm các loại tác vụ sau:
- Hành động do Ứng dụng xác định (được chỉ định bởi từng ứng dụng Frappe thông qua hooks.py)
- Server Scripts
- Webhooks

Ngoài ra, mỗi tác vụ chuyển đổi có thể là:
- Đồng bộ (Synchronous): Đây là chế độ mặc định của các tác vụ chuyển đổi. Tất cả các tác vụ chuyển đổi được chạy lần lượt khi quá trình chuyển đổi trạng thái bắt đầu. Ngay cả khi một trong số chúng thất bại, quá trình chuyển đổi sẽ bị đảo ngược.
- Bất đồng bộ (Asynchronous): Chế độ này có thể được bật bằng cách sử dụng hộp kiểm 'Asynchronous'. Mỗi tác vụ chuyển đổi bất đồng bộ chạy sau khi quá trình chuyển đổi trạng thái hoàn tất, nghĩa là nó không ảnh hưởng đến việc hoàn thành trạng thái và được chạy trong một tác vụ nền riêng biệt.
Hành động do ứng dụng xác định
Mỗi ứng dụng Frappe xác định chúng bằng cách sử dụng hook 'workflow_methods'.
Bất kỳ phương thức đường dẫn chấm (dotted path) nào được xác định thông qua hook workflow_methods đều phải chấp nhận doc: Document làm tham số, đây chính là tài liệu đang được áp dụng chuyển đổi.
Ví dụ về một tác vụ do ứng dụng xác định:
# hooks.py
workflow_methods = [{"name": "Create a customer", "method":
"myapp.shop.doctype.kirana.create_customer"}]
# myapp/shop/doctype/kirana.py
def create_customer(doc):
customer = frappe.new_doc("Customer")
customer.customer_name = "Customer " + doc.name
customer.customer_type = "Individual"
customer.save()Chúng sẽ có sẵn trong trình đơn thả xuống 'Tác vụ' nếu bất kỳ ứng dụng nào đã cung cấp chúng. 
Nếu bạn là người dùng cuối, bạn không thể tự tạo các hành động do ứng dụng xác định và sẽ phải sử dụng các server script như được đề cập bên dưới.
Server Scripts
Các tác vụ này cũng nhận tham số doc: Document và có thể được thiết lập bằng Loại kịch bản 'Workflow Task'.

Sau đó, chúng phải được liên kết trong tác vụ chuyển đổi: 
Webhooks
Chúng có thể được tạo bằng cách đặt trường 'Doc Event' của webhook thành 'workflow_transition': 
Sau đó, chúng phải được liên kết trong tác vụ chuyển đổi: 