logologo
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
logologo
เวิร์กโฟลว์
ภาพรวม
เริ่มต้นใช้งาน

ทริกเกอร์

ภาพรวม
เหตุการณ์ตารางข้อมูล
งานที่กำหนดเวลา
เหตุการณ์ก่อนการดำเนินการ
เหตุการณ์หลังการดำเนินการ
เหตุการณ์การดำเนินการที่กำหนดเอง
การอนุมัติ
Webhook

โหนด

ภาพรวม

AI

LLM

การควบคุมโฟลว์

เงื่อนไข
แยกสาขาหลายเงื่อนไข
วนซ้ำ
ตัวแปร
แยกสาขาแบบขนาน
เรียกใช้เวิร์กโฟลว์
ผลลัพธ์ของโฟลว์
การแมปตัวแปร JSON
การหน่วงเวลา
สิ้นสุด

การคำนวณ

การคำนวณ
การคำนวณวันที่
การคำนวณ JSON

การดำเนินการข้อมูล

เพิ่มข้อมูล
อัปเดตข้อมูล
ค้นหาข้อมูล
ลบข้อมูล
การดำเนินการ SQL

การดำเนินการด้วยตนเอง

การดำเนินการด้วยตนเอง
การอนุมัติ
ส่งสำเนา (CC)

ขยายประเภท

คำขอ HTTP
สคริปต์ JavaScript
การแจ้งเตือน
ส่งอีเมล
การตอบกลับ
ข้อความตอบกลับ
ตัวแปร
บันทึกการดำเนินการ
การจัดการเวอร์ชัน
ตัวเลือกขั้นสูง

การพัฒนาส่วนขยาย

ภาพรวม
ขยายประเภททริกเกอร์
ขยายประเภทโหนด
การอ้างอิง API
Previous Pageภาพรวม
Next Pageงานที่กำหนดเวลา
TIP

เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ

#เหตุการณ์คอลเลกชัน

#บทนำ

ทริกเกอร์ประเภทเหตุการณ์คอลเลกชันจะคอยตรวจสอบเหตุการณ์การสร้าง, อัปเดต, และลบข้อมูลบนคอลเลกชัน เมื่อมีการดำเนินการกับข้อมูลในคอลเลกชันนั้น และตรงตามเงื่อนไขที่กำหนดไว้ ระบบจะทริกเกอร์เวิร์กโฟลว์ที่เกี่ยวข้องครับ/ค่ะ ตัวอย่างเช่น สถานการณ์ที่ต้องการหักสต็อกสินค้าหลังจากมีการสร้างคำสั่งซื้อใหม่ หรือรอการตรวจสอบด้วยตนเองหลังจากมีการเพิ่มความคิดเห็นใหม่ เป็นต้น ครับ/ค่ะ

#การใช้งานเบื้องต้น

การเปลี่ยนแปลงข้อมูลในคอลเลกชันมีหลายกรณี ดังนี้ครับ/ค่ะ:

  1. หลังจากสร้างข้อมูลใหม่
  2. หลังจากอัปเดตข้อมูล
  3. หลังจากสร้างหรืออัปเดตข้อมูล
  4. หลังจากลบข้อมูล

เหตุการณ์คอลเลกชัน_การเลือกช่วงเวลาทริกเกอร์

คุณสามารถเลือกช่วงเวลาที่จะให้ทริกเกอร์ทำงานได้ตามความต้องการทางธุรกิจที่แตกต่างกันครับ/ค่ะ เมื่อเลือกกรณีการเปลี่ยนแปลงที่รวมถึงการอัปเดตคอลเลกชัน คุณยังสามารถระบุฟิลด์ที่มีการเปลี่ยนแปลงได้ด้วย โดยเงื่อนไขการทริกเกอร์จะถือว่าตรงตามที่กำหนดก็ต่อเมื่อฟิลด์ที่เลือกมีการเปลี่ยนแปลงเท่านั้น หากไม่ได้เลือกฟิลด์ใดๆ ไว้ หมายความว่าการเปลี่ยนแปลงในฟิลด์ใดๆ ก็สามารถทริกเกอร์ได้ครับ/ค่ะ

เหตุการณ์คอลเลกชัน_การเลือกฟิลด์ที่มีการเปลี่ยนแปลง

ในรายละเอียดเพิ่มเติม คุณสามารถกำหนดกฎเงื่อนไขสำหรับแต่ละฟิลด์ของแถวข้อมูลที่ทริกเกอร์ได้ครับ/ค่ะ โดยทริกเกอร์จะทำงานก็ต่อเมื่อฟิลด์เหล่านั้นตรงตามเงื่อนไขที่กำหนดเท่านั้น

เหตุการณ์คอลเลกชัน_การกำหนดเงื่อนไขข้อมูล

หลังจากเหตุการณ์คอลเลกชันถูกทริกเกอร์ แถวข้อมูลที่สร้างเหตุการณ์จะถูกแทรกเข้าไปในแผนการทำงานในฐานะข้อมูลบริบทของทริกเกอร์ เพื่อให้โหนดในขั้นตอนถัดไปสามารถเรียกใช้เป็นตัวแปรได้ครับ/ค่ะ อย่างไรก็ตาม เมื่อโหนดถัดไปต้องการใช้ฟิลด์ความสัมพันธ์ของข้อมูลนี้ คุณจะต้องกำหนดค่าการโหลดล่วงหน้าสำหรับข้อมูลความสัมพันธ์ก่อน ข้อมูลความสัมพันธ์ที่เลือกจะถูกแทรกเข้าไปในบริบทพร้อมกับการทริกเกอร์ และสามารถเลือกใช้งานได้ตามลำดับชั้นครับ/ค่ะ

#เคล็ดลับที่เกี่ยวข้อง

#ยังไม่รองรับการทริกเกอร์ด้วยการดำเนินการข้อมูลแบบกลุ่ม

เหตุการณ์คอลเลกชันยังไม่รองรับการทริกเกอร์ด้วยการดำเนินการข้อมูลแบบกลุ่มครับ/ค่ะ ตัวอย่างเช่น เมื่อสร้างบทความและเพิ่มข้อมูลแท็กหลายรายการสำหรับบทความนั้นพร้อมกัน (ข้อมูลความสัมพันธ์แบบหนึ่งต่อหลาย) จะทริกเกอร์เฉพาะเวิร์กโฟลว์สำหรับการสร้างบทความเท่านั้น ส่วนแท็กหลายรายการที่เพิ่มพร้อมกันจะไม่ทริกเกอร์เวิร์กโฟลว์สำหรับการสร้างแท็กครับ/ค่ะ และเมื่อมีการเชื่อมโยงหรือเพิ่มข้อมูลความสัมพันธ์แบบหลายต่อหลาย ก็จะไม่ทริกเกอร์เวิร์กโฟลว์ของคอลเลกชันกลางด้วยเช่นกันครับ/ค่ะ

#การดำเนินการข้อมูลที่อยู่นอกแอปพลิเคชันจะไม่ทริกเกอร์เหตุการณ์

การดำเนินการกับคอลเลกชันผ่านการเรียกใช้ HTTP API ไปยังอินเทอร์เฟซของแอปพลิเคชันก็สามารถทริกเกอร์เหตุการณ์ที่เกี่ยวข้องได้ครับ/ค่ะ อย่างไรก็ตาม หากมีการเปลี่ยนแปลงข้อมูลโดยตรงผ่านการดำเนินการกับฐานข้อมูล แทนที่จะผ่านแอปพลิเคชัน NocoBase เหตุการณ์ที่เกี่ยวข้องจะไม่ถูกทริกเกอร์ครับ/ค่ะ ตัวอย่างเช่น ทริกเกอร์ในฐานข้อมูลโดยตรงจะไม่เชื่อมโยงกับเวิร์กโฟลว์ในแอปพลิเคชัน

นอกจากนี้ การใช้โหนดการดำเนินการ SQL เพื่อดำเนินการกับฐานข้อมูลก็เทียบเท่ากับการดำเนินการกับฐานข้อมูลโดยตรง และจะไม่ทริกเกอร์เหตุการณ์คอลเลกชันครับ/ค่ะ

#แหล่งข้อมูลภายนอก

เวิร์กโฟลว์รองรับแหล่งข้อมูลภายนอกตั้งแต่เวอร์ชัน 0.20 เป็นต้นไปครับ/ค่ะ หากคุณใช้ปลั๊กอินแหล่งข้อมูลภายนอก และเหตุการณ์คอลเลกชันถูกกำหนดค่าสำหรับแหล่งข้อมูลภายนอก ตราบใดที่การดำเนินการกับข้อมูลในแหล่งข้อมูลนั้นเสร็จสมบูรณ์ภายในแอปพลิเคชัน (เช่น การสร้าง, อัปเดตข้อมูลโดยผู้ใช้ และการดำเนินการข้อมูลผ่านเวิร์กโฟลว์) เหตุการณ์คอลเลกชันที่เกี่ยวข้องก็จะถูกทริกเกอร์ได้ครับ/ค่ะ แต่หากการเปลี่ยนแปลงข้อมูลเกิดขึ้นผ่านระบบอื่น หรือเปลี่ยนแปลงโดยตรงในฐานข้อมูลภายนอก เหตุการณ์คอลเลกชันจะไม่ถูกทริกเกอร์ครับ/ค่ะ

#ตัวอย่าง

เรามาดูตัวอย่างสถานการณ์ที่ต้องการคำนวณราคารวมและหักสต็อกสินค้าหลังจากมีการสร้างคำสั่งซื้อใหม่ครับ/ค่ะ

อันดับแรก เราจะสร้างคอลเลกชันสินค้าและคอลเลกชันคำสั่งซื้อ โดยมีโมเดลข้อมูลดังนี้ครับ/ค่ะ:

ชื่อฟิลด์ประเภทฟิลด์
ชื่อสินค้าข้อความบรรทัดเดียว
ราคาตัวเลข
สต็อกจำนวนเต็ม
ชื่อฟิลด์ประเภทฟิลด์
รหัสคำสั่งซื้อลำดับอัตโนมัติ
สินค้าในคำสั่งซื้อหลายต่อหนึ่ง (สินค้า)
ราคารวมคำสั่งซื้อตัวเลข

และเพิ่มข้อมูลสินค้าพื้นฐานดังนี้ครับ/ค่ะ:

ชื่อสินค้าราคาสต็อก
iPhone 14 Pro799910
iPhone 13 Pro59990

จากนั้น สร้างเวิร์กโฟลว์ที่อิงตามเหตุการณ์คอลเลกชันคำสั่งซื้อครับ/ค่ะ:

เหตุการณ์คอลเลกชัน_ตัวอย่าง_ทริกเกอร์คำสั่งซื้อใหม่

นี่คือตัวเลือกการกำหนดค่าบางส่วนครับ/ค่ะ:

  • คอลเลกชัน: เลือกคอลเลกชัน "คำสั่งซื้อ"
  • ช่วงเวลาทริกเกอร์: เลือก "หลังจากสร้างข้อมูลใหม่" เพื่อทริกเกอร์
  • เงื่อนไขการทริกเกอร์: เว้นว่างไว้
  • โหลดข้อมูลความสัมพันธ์ล่วงหน้า: เลือก "สินค้า"

จากนั้น กำหนดค่าโหนดอื่นๆ ตามตรรกะของเวิร์กโฟลว์ครับ/ค่ะ โดยจะตรวจสอบว่าสต็อกสินค้ามากกว่า 0 หรือไม่ หากมากกว่า 0 ให้หักสต็อกสินค้า มิฉะนั้น คำสั่งซื้อจะถือเป็นโมฆะและควรถูกลบออกครับ/ค่ะ:

เหตุการณ์คอลเลกชัน_ตัวอย่าง_การจัดลำดับเวิร์กโฟลว์คำสั่งซื้อใหม่

การกำหนดค่าของโหนดจะมีการอธิบายโดยละเอียดในเอกสารแนะนำสำหรับโหนดประเภทเฉพาะครับ/ค่ะ

เปิดใช้งานเวิร์กโฟลว์นี้ และทดสอบโดยการสร้างคำสั่งซื้อใหม่ผ่านอินเทอร์เฟซครับ/ค่ะ หลังจากสั่งซื้อ "iPhone 14 Pro" สต็อกสินค้าที่เกี่ยวข้องจะถูกหักเหลือ 9 แต่หากสั่งซื้อ "iPhone 13 Pro" คำสั่งซื้อจะถูกลบเนื่องจากสต็อกไม่เพียงพอครับ/ค่ะ

เหตุการณ์คอลเลกชัน_ตัวอย่าง_ผลลัพธ์การทำงานของคำสั่งซื้อใหม่