ในบรรดาการทำงานของ workflow ที่เราใช้ๆกัน มี ทริกนึงที่น่าสนใจคือการเอา WorkFlow มาช่วยในการ หาค่า จาก List อื่นๆ มาใส่ใน List ที่รัน workflow ดูตัวอย่างเลย
Product Price list มีหน้าตาแบบนี้
Sales Order List ก็มีหน้าตาแบบนี้ required Field แค่สอง fields
แล้วเราก็มาสร้าง Workflow กันครับ ทำตามภาพได้เลย
พอกด Allow รอหนึ่งอึดใจก็จะได้หน้าตาแบบนี้ครับ
ใน Action ให้เราเลือก Set Field in Current Item หรือจะพิมพ์เอาก็ได้คับ
Set Lookup Price เพื่อบอกกับ workflow ว่าให้ set ค่านี้
Data source ให้เลือก List ชื่อ ProductPriceList ที่เราเตรียมไว้ แล้วให้ return ค่า Price
เมื่อเลือกแล้ว หน้าตา Filter จะออกมาเป็นแบบนี้ ในส่วนของ Find the List item ให้เลือก filter Title (ของ ProductPriceList)
แล้ว Filter ด้วย Current item field ชื่อ Product
อันนี้ระบบจะเตือนเราในกรณีที่ ค่าที่ได้มีเกินหนึ่งค่า ระบบจะโยนค่าสุดท้ายมาให้แต่เรามั่นใจว่า ค่าที่ได้มีค่าเดียวแน่นอน
สุดท้าย workflow จะหน้าตาประมาณนี้ครับ
Save แล้วก็ Publish
อย่าลืมมาปรับค่าตรง Start Optionให้ workflow ทำงานตอนสร้าง (Created) และตอนเปลี่ยนแปลงด้วยคับ
ทดสอบ
ให้กลับมาที่ Sales order แล้ว new item กรอกข้อมูลแค่สอง fields พอ
แล้วกด Save ควรจะได้หน้าตาแบบนี้ครับ
รอแว๊บเดียว ก็จะได้ตามนี้ (ตรง Title สงสัยพิมพ์สูตรผิด แหะๆ) แต่เอาเป็นว่า ดึงราคามาถูก และ ฟังก์ชันการทำคำนวณถูก เป็นใช้ได้
ก็ประมาณนี้ครับ
สวัสดีครับ