POC: แทนที่ D365 WMS ด้วย Power Apps!
วันนี้ผมจะมาแบ่งปันเรื่องราวเกี่ยวกับโปรเจกต์ล่าสุดที่ทีมของผมได้รับมอบหมายให้ Customize Dynamics 365 Finance & Operations เพื่อทำงานร่วมกับ Automated Storage & Retrieval System (ASRS) ซึ่งเป็นระบบใหม่ของลูกค้าเรา รวมไปถึงการการปรับเปลี่ยนกระบวนการในคลังสินค้าด้วย นอกจากนี้เรายังได้รับคำขอให้พัฒนาแอปเพื่อนำมาใช้งานแทน D365 WMS ของ Microsoft อีกด้วย
โปรเจกต์นี้ค่อนข้างท้าทายผมมาก ผมอดใจที่จะให้คุณได้เห็นภาพรวมของโปรเจกต์เราไม่ไหวแล้ว ไปดูกันเลยดีกว่าครับ
ก่อนที่จะพูดถึงเกี่ยวกับโปรเจกต์ล่าสุดที่ผมได้ทำ ผมขอชี้แจงก่อนว่าบางส่วนของโพสต์อาจมีถ้อยคำเชิงโฆษณาอยู่ด้วย
โปรเจกต์นี้เกี่ยวข้องกับทรัพย์สินทางปัญญาของลูกค้าและบริษัทของเรา ทำให้ผมไม่สามารถเปิดเผยข้อมูลหรือรายละเอียดทั้งหมดให้ทุกคนได้ แต่อย่างไรก็ตามผมจะให้ข้อมูลมากที่สุดเท่าที่จะสามารถทำได้ แต่ยังคงรักษาความลับ และนี่คือสาเหตุที่ผมตั้งชื่อโพสต์นี้ว่า POC: How we replace D365 WMS app with Power Apps (Proof of Concept หรือหลักฐานแสดงความเป็นไปได้)
Quick Suggest
หากสนใจเรียนรู้เพิ่มเติม ขอแนะนำบทความ
ทำไมต้อง Power Apps?
อย่างที่ทุกคนทราบดี Microsoft มีแอปการจัดการคลังสินค้าที่ทำงานร่วมกับ Dynamics 365 Finance & Operations ได้อย่างมีประสิทธิภาพ อย่างไรก็ตามลูกค้าของเรามีเหตุผลหลายประการที่ต้องการเปลี่ยนแอปใหม่ ดังนี้
1. ไม่สามารถปรับแต่งได้
ตาม Standard ของแอปไม่สามารถปรับแต่งให้ตอบสนองความต้องการของลูกค้าได้ เช่น ไม่สามารถ Request ให้มีการทำงานของ Batch F&O ได้ ซึ่งเป็น Requirement สำคัญ
2. ไม่สามารถร่วมกับ ASRS ได้
แอปนี้ของ Microsoft ไม่ได้ถูกออกแบบมาเพื่อใช้งานร่วมกับระบบ Automated Storage & Retrieval System (ASRS) โดยลูกค้าของเราต้องการส่งคำขอออกไปยัง ASRS เพื่อสั่งให้ระบบคืนพาเลทจากที่เก็บสินค้าและนำมาส่งที่ประตูที่ต้องการ และกระบวนการมีการปรับแต่งจำนวนมาก แต่แอปนี้ของ Microsoft ไม่สามารถทำได้
สรุปได้ว่าข้อจำกัดของแอปจัดการคลังสินค้าของ Microsoft นั้นไม่สามารถตอบสนองความต้องการ (Requirements) ทางธุรกิจที่เฉพาะเจาะจงของลูกค้าเราได้ ดังนั้นลูกค้าจึงมองว่าจำเป็นต้องมี Solution ที่ปรับแต่งเฉพาะ
มีการทำงานอย่างไร?
มาดูกันชัด ๆ ว่าหากนำไปใช้งานจะมีวิธีการทำงานอย่างไร และภาพต่อไปนี้ที่ผมนำมาจะแสดงถึงกระบวนการทำงานของแอป
Power Apps
Power Apps จัดหา User Interface ให้พนักงานคลังสินค้า โดยแอปจะแจ้งเตือน Tasks ที่ต้องทำและเก็บเก็บรวบรวมข้อมูลที่เกี่ยวข้องทั้งหมด เช่น รายการสินค้า Batch และป้ายทะเบียนรถ
Power Automate
Power Automate มีหน้าที่จัดการคำขอ HTTP เนื่องจาก Power Apps ไม่สามารถส่งคำขอเหล่านั้นผ่าน Custom Connector โดย Power Automate จะรับคำขอจาก Power Apps และส่งต่อไปยัง Dynamics 365 Finance & Operations
Quick Suggest
ถ้าสนใจอยากรู้เพิ่มเติม ขอแนะนำบทความ
Dynamics 365 Finance & Operations
Dynamics 365 Finance & Operations เป็นศูนย์กลาง Solution ของเรา โดยมีหน้าที่จัดการและประมวลผลข้อมูลทั้งหมดตาม Logic ทางธุรกิจที่เราได้ตั้งค่าไว้
Quick Suggest
ถ้าสนใจอยากรู้เพิ่มเติม ขอแนะนำบทความ
Warehouse Automation System
Warehouse Automation System หรือระบบอัตโนมัติในคลังสินค้า ใน Case นี้หมายถึง ASRS เป็นหุ่นยนต์ที่สามารถจัดการพาเลทหลายพันตันได้ เรียกได้ว่าเป็นอีกส่วนหนึ่งที่สำคัญสำหรับ Solution
ความท้าทายคืออะไร?
ผมยอมรับเลยว่าในตอนแรกที่เห็น Solution นี้ ผมรู้สึกว่ามันง่ายมาก แต่พอลองดูดี ๆ ความท้าทายอยู่ที่รายละเอียดของการนำไปใช้งานจริง จะเห็นได้ว่าแต่ละ Component จำเป็นที่จะต้องวางแผนเป็นอย่างดีและใช้ความเชี่ยวชาญ เพื่อให้แน่ใจว่ามีการกำหนดค่าการทำงานให้สามารถทำงานร่วมกันได้อย่างมีประสิทธิภาพ
แม้ว่าทุกโปรเจกต์จะมีความท้าทายอยู่ในตัว แต่ผมอยากให้ทุกคนโฟกัสไปที่ความท้าทายที่ผมพบเจอในฐานะนักพัฒนาบน Power Platform
การสร้าง Power Apps ที่มีความยืดหยุ่น
Power Apps เป็นเครื่องมือที่ใช้พัฒนาแอปในรูปแบบ Low-Code ซึ่งเหมาะสำหรับหน้าจอและตัวควบคุมที่สร้างไว้ล่วงหน้า จึงทำให้การเปลี่ยนแปลงโครงสร้างของแอปไม่ใช่เรื่องง่าย Users จำเป็นจะต้องใช้งานระบบผ่านทางหน้าจอตามลำดับที่กำหนดไว้ล่วงหน้า โดยข้อมูลที่แสดงผลบนหน้าจอแต่ละจอจะมีตำแหน่งที่แน่นอน
วิธีการนี้ไม่เหมาะสำหรับแอป Warehouse Management System (WMS) ซึ่งเป็นระบบที่มีความสามารถในการปรับเปลี่ยนหรือกำหนดค่าต่าง ๆ ภายในระบบได้ตามต้องการ รวมถึงการแสดงผลข้อมูลที่มีการใช้งานได้อย่างยืดหยุ่น ดังนั้นเราจึงไม่สามารถใช้กฎเกณฑ์ที่ตายตัวในการพัฒนา Power Apps ของเราได้
ดังนั้นแทนที่จะทำวิธีเดิม เราจึงให้ Dynamics 365 Finance & Operations กำหนด Logic ทั้งหมด เช่น กำหนดหน้าจอถัดไปที่ Users ต้องไป Users ต้องกรอกข้อมูลอะไรบ้าง และให้ Power Apps ทำหน้าที่เป็นเพียงตัวแสดงผลให้กับ Users เท่านั้น
เป็นเรื่องที่ดีที่ตอนนี้ Power Apps มีฟังก์ชันรองรับความต้องการเหล่านี้แล้ว อีกทั้งยังได้รับการสนับสนุนจากฟังก์ชันของ Power Automate e.g. xml() json() ParseJSON() รวมถึงการใช้ Gallery และ Collection
Quick Suggest
ถ้าสนใจอยากรู้เพิ่มเติม ขอแนะนำบทความ
ผลลัพธ์
หลังจากที่ทีมภายในและลูกค้าของเราได้พัฒนา Solution นี้มาเป็นเวลานาน ตอนนี้เราได้พัฒนา Power Apps ที่มีความเป็น Dynamic และเหมาะสำหรับการทำงานของพนักงานคลังสินค้า ซึ่งก็ยังคงง่ายต่อการปรับแต่ง โดย IT Admin สามารถกำหนดค่าเมนูงานและขั้นตอนการยืนยันงานจาก Dynamics 365 Finance & Operations ซึ่งการเปลี่ยนแปลงเหล่านี้จะแสดงผลให้หน้าใช้งาน Power Apps ของ Users ทันที
นอกจากนี้ Solution ใหม่นี้ยังช่วยให้พนักงานสามารถใช้ Power Apps บนอุปกรณ์พกพาของตัวเอง เพื่อส่งสินค้าเข้าไปเก็บที่ ASRS หรือขอสินค้าจาก ASRS ได้อย่างง่ายดาย ด้วยคุณสมบัตินี้ช่วยเพิ่มประสิทธิภาพการทำงานของพนักงานได้มากขึ้นอีกด้วย
App Screenshot
สามารถอ่านบทความภาษาอังกฤษได้ที่นี่ POC: How we replace D365 WMS app with Power Apps
สุดท้ายนี้ความสำเร็จของโปรเจกต์นี้จะเป็นไปไม่ได้เลยหากขาดการสนับสนุนจาก…
- ลูกค้า ผู้สนับสนุนหลักที่ทำงานร่วมกับเราอย่างใกล้ชิดตลอดทั้งโปรเจกต์
- ทีมวิศวกร ASRS ที่ทำงานอย่างหนักเพื่อให้การสนับสนุนให้เครื่องจักรสามารถทำงานตามที่ตั้งใจไว้
- Quick ERP ทีมให้คำปรึกษาและพัฒนา Dynamics 365 ที่ทำงานอย่างหนักในการกำหนดค่าและเขียน Code ให้สำเร็จไปได้ด้วยดี
แหล่งที่มา: PAWIT.PW
ก้าวเข้าสู่ Digital Business
ดูผลิตภัณฑ์ที่เกี่ยวข้องได้ที่นี่