Imagineer ERPNext
Workflows

Workflow Transition Tasks

Workflow Transition Tasks

หมายเหตุ: จะถูกเพิ่มใน Version 16

บทนำ

Workflow Transition Tasks คือการกระทำที่สามารถทำงานได้ระหว่างการเปลี่ยนสถานะในเวิร์กโฟลว์ แต่ละ Workflow Transition สามารถเชื่อมโยงไปยังชุดของงานการเปลี่ยนสถานะ

แต่ละ Workflow Transition Task สามารถมีงานประเภทต่อไปนี้:

  1. App-Defined Actions (ระบุโดยแต่ละ Frappe app ผ่าน hooks.py)
  2. Server Scripts
  3. Webhooks

นอกจากนี้ แต่ละงานการเปลี่ยนสถานะสามารถเป็น:

  1. Synchronous : นี่คือโหมดเริ่มต้นของงานการเปลี่ยนสถานะ งานการเปลี่ยนสถานะทั้งหมดทำงานทีละรายการเมื่อเริ่มต้นการเปลี่ยนสถานะ แม้ว่างานหนึ่งจะล้มเหลว การเปลี่ยนสถานะจะถูกย้อนกลับ
  2. Asynchronous : โหมดนี้สามารถเปิดใช้งานได้โดยใช้ช่องทำเครื่องหมาย 'Asynchronous' แต่ละงานการเปลี่ยนสถานะแบบไม่พร้อมกันทำงานหลังจากการเปลี่ยนสถานะเสร็จสมบูรณ์ ซึ่งหมายความว่าไม่มีผลต่อการเสร็จสมบูรณ์ของสถานะ และทำงานในงานพื้นหลังแยกต่างหาก

App-Defined Actions

แต่ละแอป Frappe กำหนดโดยใช้ 'workflow_methods' hook

เมธอดเส้นทางจุดใดๆ ที่กำหนดผ่าน workflow_methods hook ต้องยอมรับ doc: Document เป็นพารามิเตอร์ ซึ่งคือเอกสารที่ใช้การเปลี่ยนสถานะ

ตัวอย่างของงานที่กำหนดโดยแอปคือ:

# 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()

สิ่งเหล่านี้จะพร้อมใช้งานในเมนูแบบเลื่อนลง 'Tasks' หากแอปใดๆ ให้มา

หากคุณเป็นผู้ใช้ปลายทาง คุณไม่สามารถสร้างการกระทำที่กำหนดโดยแอปด้วยตัวเองและต้องใช้ Server Scripts ตามที่กล่าวมา

Server Scripts

สิ่งเหล่านี้ยังรับพารามิเตอร์ doc: Document และสามารถตั้งค่าโดยใช้ Script Type 'Workflow Task'

แล้วต้องเชื่อมโยงในงานการเปลี่ยนสถานะ:

Webhooks

สิ่งเหล่านี้สามารถสร้างได้โดยการตั้งค่าฟิลด์ 'Doc Event' ของ webhook เป็น 'workflow_transition' แล้วต้องเชื่อมโยงในงานการเปลี่ยนสถานะ

หัวข้อที่เกี่ยวข้อง

Copyright © 2026