เวิร์กโฟลว์
ด้วยเวิร์กโฟลว์คุณสามารถเปลี่ยนวิธีที่กระบวนการ/เวิร์กโฟลว์เฉพาะถูกอนุมัติใน ERPNext
คุณสามารถตั้งระดับการอนุมัติหลายระดับสำหรับ Workflow ของ ERPNext เพื่ออนุญาตให้หลายคนส่งคำขอหลายรายการสำหรับการอนุมัติโดยผู้ใช้หลายคน ERPNext ต้องการให้คุณกรอกเงื่อนไข Workflow ERPNext ติดตามสิทธิ์หลายอย่างก่อนการส่ง
พิจารณาสถานการณ์ที่ต้องการระดับการอนุมัติหลายระดับสำหรับใบเสนอราคา พนักงานขาย (ผู้ใช้ที่มีบทบาท 'Sales User') จะสร้างใบเสนอราคา จากนั้นจะได้รับการอนุมัติหรือปฏิเสธโดยหัวหน้าการขาย (ผู้ใช้ที่มีบทบาท 'Sales Manager') หากได้รับการอนุมัติจากหัวหน้าการขาย จะได้รับการอนุมัติหรือปฏิเสธเพิ่มเติมโดยผู้จัดการภูมิภาค (ผู้ใช้ที่มีบทบาท 'Regional Manager')
หากต้องการสร้าง Workflow และกฎการเปลี่ยนสถานะ ให้ไปที่:
หน้าแรก > การตั้งค่า > Workflow
เมื่อสร้าง Workflow แล้ว คุณสามารถดำเนินการกับ Workflow ได้ผ่าน Workflow Actions
- ข้อกำหนดเบื้องต้น
ก่อนสร้าง Workflow แนะนำให้สร้างสิ่งเหล่านี้ก่อน:
- Workflow Actions
- Workflow States เช่น Approved, Canceled ฯลฯ
- วิธีสร้าง Workflow
- ไปที่รายการ Workflow คลิกที่ New
- ป้อนชื่อสำหรับ Workflow และเลือก DocType ที่จะใช้
- ป้อนสถานะต่างๆ ของ Workflow ป้อน Doc Status สำหรับสถานะเหล่านั้น เลือกฟิลด์ที่จะอัปเดตจากคอลัมน์ Update Field ป้อนค่าที่จะอัปเดตเป็นภายใต้ Update Value
Workflow States สามารถมีสีต่างๆ ตามสถานะ เช่น: สีเขียวสำหรับความสำเร็จ สถานะเอกสาร: Saved = 0, Submitted = 1, Cancelled = 2.
4. ป้อนกฎการเปลี่ยนสถานะ

2.2 สิ่งที่ต้องทราบเมื่อสร้าง Workflow
- การสร้าง Workflow ใน ERPNext โดยพื้นฐานจะแทนที่เวิร์กโฟลว์ Save และ Submit ปกติ ดังนั้นเอกสารจะทำงานตาม Workflow ของคุณและไม่ใช่ตามเวิร์กโฟลว์โค้ดที่ตั้งไว้ล่วงหน้า ดังนั้นอาจไม่มีปุ่ม/ตัวเลือก Submit หากคุณไม่ได้ระบุไว้ใน Workflow ที่คุณสร้าง
หากคุณไม่ได้ใช้ Workflow กับเอกสาร และเอกสารนั้นสามารถส่งได้ จะมีเวิร์กโฟลว์เริ่มต้นพร้อมสถานะ: Draft - Submitted - Cancelled หากคุณใช้ Workflow กับเอกสารที่สามารถส่งได้ สถานะเริ่มต้นเหล่านั้นควรได้รับการจัดการโดยผู้ใช้
- เอกสารไม่สามารถยกเลิกได้เว้นแต่จะถูกส่งแล้ว
- หากคุณต้องการให้ตัวเลือกยกเลิก คุณต้องเขียนขั้นตอนการเปลี่ยนสถานะเวิร์กโฟลว์ที่ระบุว่าจากสถานะ submitted คุณสามารถยกเลิกได้
- หากฟิลด์ใต้คอลัมน์ Update Field ไม่ได้รับการอัปเดต ฟิลด์กำหนดเองใหม่จะถูกสร้างขึ้นด้วยชื่อที่คุณตั้งไว้ในฟิลด์ 'Workflow State Field'
2.3 ตัวเลือกอื่นๆ สำหรับ Workflow
- Is Active: เมื่อทำเครื่องหมายนี้ Workflow อื่นๆ ทั้งหมดสำหรับ DocType ที่เลือกจะไม่ทำงาน
- Don't Override Status: สถานะของ Workflow นี้จะไม่แทนที่สถานะของเอกสาร (Quotation) ในมุมมองรายการ
- Send Email Alerts: อีเมลจะถูกส่งไปยังผู้ใช้พร้อมด้วยการกระทำเวิร์กโฟลว์ที่เป็นไปได้ถัดไป
- คุณสมบัติ
3.1 เปิด/ปิด Workflow State เป็นทางเลือก
เปิดตัวใน Version 12
ในสถานะ Workflow State ที่เป็นทางเลือกหมายความว่าสถานะอาจไม่ใช่ส่วนหนึ่งของการอนุมัติสุดท้าย
เช่น สถานะเช่น Canceled หรือ Rejected สามารถเป็นทางเลือกได้ 
หมายเหตุ: Workflow Actions จะไม่ถูกสร้างสำหรับสถานะที่เป็นทางเลือก
3.2 เงื่อนไข
คุณยังสามารถเพิ่มเงื่อนไขสำหรับการเปลี่ยนสถานะที่จะใช้ได้ ตัวอย่างเช่น ในกรณีนี้ หากผู้บริหารการขายสร้างใบเสนอราคาที่มียอดรวม $100,000 ขึ้นไป บทบาทเฉพาะต้องอนุมัติ เพื่อให้เกิดขึ้นในการเปลี่ยนสถานะเฉพาะนี้ คุณสามารถตั้งค่าคุณสมบัติสำหรับ Condition :
doc.grand_total <= 100000
ที่นี่ grand_total คือชื่อฟิลด์ของฟิลด์ 'Grand Total' ของ Quotation หากต้องการดูชื่อฟิลด์ของฟิลด์ ให้ไปที่ Menu > Customize
สิ่งนี้สามารถขยายไปยังคุณสมบัติใดๆ ของเอกสาร
เปิดตัวใน Version 13
ใน Version 13 คุณสามารถใช้ฟังก์ชัน date/time, session, get_value และ get_list ในนิพจน์เงื่อนไขของคุณ
ฟังก์ชันที่อนุญาต:
- frappe.db.get_value
- frappe.db.get_list
- frappe.session
- frappe.utils.now_datetime
- frappe.utils.get_datetime
- frappe.utils.add to date
- frappe.utils.now
ตัวอย่าง:
doc.creation > frappe.utils.add_to_date(frappe.utils.now_datetime(), days=-5, as_string=True, as_datetime=True)
4. ตัวอย่างขั้นตอนการอนุมัติใบเสนอราคา
เมื่อใบเสนอราคาถูกบันทึกโดยผู้ใช้การขาย สถานะของเอกสารจะเปลี่ยนเป็น "Draft" และเมื่อคลิกที่ submit สถานะจะเปลี่ยนเป็น 'Approval Pending By Sales Manager':

เมื่อ Sales Manager เข้าสู่ระบบ เขาสามารถ Approve หรือ Reject ได้ หากได้รับการอนุมัติ สถานะของเอกสารจะเปลี่ยนเป็น "Approval Pending By Regional Manager"

เมื่อ Regional Manager เปิดใบเสนอราคา เขาสามารถ "Approve" หรือ "Reject" ได้ในท้ายสุด

- วิดีโอ