ERPNext tiếng Việt
Quy trình phê duyệt

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. ![Liên kết đến Tác vụ Chuyển đổi Quy trình làm việc](/files/Screenshot 2025-07-20 at 2.06.27 PM.png)

![Một tập hợp tác vụ chuyển đổi điển hình](/files/Screenshot 2025-07-20 at 2.08.23 PM.png)

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:

  1. 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)
  2. Server Scripts
  3. Webhooks

![Một tác vụ chuyển đổi server script](/files/Screenshot 2025-07-20 at 2.38.43 PM.png)

Ngoài ra, mỗi tác vụ chuyển đổi có thể là:

  1. Đồ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.
  2. 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. ![các tác vụ do ứng dụng xác định](/files/Screenshot 2025-07-20 at 2.56.05 PM.png)

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'. ![các tác vụ server script](/files/Screenshot 2025-07-20 at 3.00.48 PM.png)

Sau đó, chúng phải được liên kết trong tác vụ chuyển đổi: ![Một tác vụ chuyển đổi server script](/files/Screenshot 2025-07-20 at 2.38.43 PM.png)

Webhooks

Chúng có thể được tạo bằng cách đặt trường 'Doc Event' của webhook thành 'workflow_transition': ![webhook workflow_transition](/files/Screenshot 2025-07-20 at 3.03.12 PM.png)

Sau đó, chúng phải được liên kết trong tác vụ chuyển đổi: ![liên kết đến webhook](/files/Screenshot 2025-07-20 at 3.13.25 PM.png)

Các chủ đề liên quan

Trong trang này