ข้อดี/ข้อเสีย การดึงข้อมูล D365 FO ไปใช้ใน Power Apps
มีหลายวิธีในการดึงข้อมูลจาก D365 F&O ไปใช้ใน Power Apps หรือเครื่องมืออื่น ๆ ใน Power Platform แต่…แต่ละวิธีก็มีทั้งข้อดีข้อเสียอย่างไร มาดูกันครับ
Quick Suggest
หากสนใจเรียนรู้เพิ่มเติม ขอแนะนำบทความ
1. ดึงข้อมูลจาก Data entity ด้วย Finance & Operations
ข้อดี
- ใช้งานง่าย เพียงแค่เลือก Connector และเข้าสู่ระบบก็สามารถใช้งานได้แล้ว
- สามารถเรียกใช้ Method ใน Entities (ผ่าน Power Automate) ได้โดยตรง ทำให้สามารถจัดการข้อมูลหรือกระบวนการทำงานต่าง ๆ ได้อย่างสะดวก
Quick Suggest
หากสนใจเรียนรู้เพิ่มเติม ขอแนะนำบทความ
ข้อเสีย
- ประสิทธิภาพในการทำงานไม่ดีเท่าที่ควร เช่น ความล่าช้าในการโหลดข้อมูล
- ไม่เหมาะสำหรับ ALM เมื่อต้องการย้ายแอปไปที่ Environment อื่น
2. Dual Write
ข้อดี
- ทำงานได้อย่างมีประสิทธิภาพและรวดเร็ว เพราะข้อมูลถูกจัดเก็บใน Dataverse และมีการอัปเดตข้อมูลกับ D365FO ได้แบบเรียลไทม์
ข้อเสีย
- มีข้อมูลซ้ำซ้อนกันระหว่าง Dataverse และ D365 Finance & Operations อีกทั้ง Entities ที่ใช้ร่วมกับ Dual Write จะต้องเขียนมาอย่างลงตัวเพื่อใช้งานร่วมกับ Dual Write ได้อย่างมีประสิทธิภาพ
3. Dataverse Dataflow
ข้อดี
- การใช้งานคล้ายกับการใช้ Power Query ใน Power BI ซึ่งทำให้มีการใช้งานที่สะดวกและสามารถดึงข้อมูลได้อย่างง่ายดาย
Quick Suggest
หากสนใจเรียนรู้เพิ่มเติม ขอแนะนำบทความ
ข้อเสีย
- ข้อมูลซ้ำซ้อนกันระหว่าง Dataverse และ D365FO
- มีการซิงค์ข้อมูลแบบ One-way คือ สามารถซิงค์ข้อมูลจาก D365 FO ไปยัง Dataverse ได้เพียงอย่างเดียว แต่ไม่สามารถซิงค์ข้อมูลจาก Dataverse ไปยัง D365 FO ได้
Quick Suggest
หากสนใจเรียนรู้เพิ่มเติม ขอแนะนำบทความ
Virtual Entities
หากคุณใช้ Power Apps เพื่อแค่จัดการข้อมูลใน D365 (Create Read Update หรือ Delete) และไม่ต้องการเก็บข้อมูลเหล่านั้นไว้ใน Dataverse ก็สามารถใช้ Virtual Entities ได้
*วิธีนี้ไม่ใช่วิธีใหม่ แต่ไม่ค่อยมีคนรู้จักสักเท่าไหร่*
การใช้ Virtual Entities มีข้อดี ดังนี้
- เพิ่มประสิทธิภาพในการทำงาน สามารถดึงข้อมูลไปใช้ได้อย่างรวดเร็ว
- ไม่มีข้อมูลซ้ำซ้อน เพราะข้อมูลจะไม่ถูกนำไปจัดเก็บที่ Dataverse
- ตั้งค่าไม่ยุ่งยาก ถึงแม้การตั้งค่าจะไม่ง่ายเท่า Fin & Ops connector แต่ง่ายกว่าเมื่อเทียบกับ Dual-Write
- ดีต่อการ ALM สามารถย้ายไป Environment อื่นได้อย่างง่ายดาย
Let’s Start
1. ลงทะเบียนแอปใน Azure AD
สามารถดูวิธีการลงทะเบียนอย่างละเอียดได้ ที่นี่
- เข้าไปที่ Azure AD
- ไปที่ Azure Active Directory > App Registration
- ลงทะเบียนแอป
- สร้าง Certificates และ Secret
- จดบันทึกข้อมูล ดังนี้ (เพราะคุณต้องใช้หลังจากนี้)
- Application (client) ID
- Object ID
- Directory (tenant) ID
- Secret’s Value (เก็บไว้เป็นความลับ!)
2. เพิ่ม Integration User ใน D365FO
- ขั้นตอนนี้จะทำให้ Power Platform สามารถเข้าถึง List ของ Data Entities ที่มีอยู่ใน D365 Finance & Operations
- Log in เข้าสู่ Power Platform ด้วยบัญชี Admin
- จากนั้นไปที่ Users page
- คลิก + New เพื่อเพิ่ม User ใหม่
ต่อไปจะเป็นการตั้งค่าข้อมูล User ซึ่งบางข้อมูลคุณสามารถใช้ข้อมูลเดียวกันกับที่ผมใช้ได้เลยครับ
- User ID: ตั้งชื่อใดก็ได
- User name: ตั้งชื่อใดก็ได้
- Provider: เลือก NonAAD
- Email: ใส่อีเมลอะไรก็ได้ ไม่จำเป็นต้องเป็นอีเมลจริง
- User’s roles: ตั้ง role ของ User เป็น Dataverse Virtual entity integration app
ลบ Role อื่น ๆ ทั้งหมดออก (รวมถึง Role ของ System user) เพื่อให้ User นี้ไม่ใช้สิทธิ์ License ของคุณ
3. Assign AAD app เป็น Integration User
ตอนนี้เรามี User สำหรับ Dataverse Integration แต่ยังไม่ใช่ User ที่ถูกต้อง และ D365 FO ยังไม่รู้จัก AAD App ดังนั้นเราต้องบอกให้ D365 FO รู้ว่า AAD app เป็น User ที่เราเพิ่งสร้างขึ้น
- ไปที่หน้า Azure Active Directory applications
- คลิก + New เพื่อเพิ่ม AAD app ไปยัง D365FO
- Client ID: ใส่ Application ID ที่คุณจดไว้
- Name: ใช้ชื่ออะไรก็ได้
- User ID: เลือก User ที่สร้างขึ้นในขั้นตอนที่ 2
- บันทึก
ตอนนี้ D365FO รู้จัก ADD app และพร้อมที่จะเชื่อมต่อข้อมูลแล้ว ต่อไปเราต้องไปตั้งค่าในฝั่ง Power Platform กันครับ
4. ติดตั้ง Finance and Operations Virtual Entity (ไม่จำเป็น)
ปกติ Environment ของ Power Platform ไม่รู้จักกับ D365 FO ดังนั้นจะต้องติดตั้ง Package จาก Microsoft ลงใน Environment ของ Power Platform แต่ถ้า Power Platform environment ของคุณสร้างมาพร้อมกับ D365 FO ขั้นตอนนี้ก็ไม่จำเป็นที่จะต้องทำ
สามารถติดตั้งได้ ที่นี่
5. เชื่อมต่อ Power Platform กับ D365FO
ขั้นตอนนี้เราต้องตั้งค่าใน Environment ของ Power Platform เกี่ยวกับ Dynamics 365 Finance & Operations ที่ต้องการจะเชื่อมต่อ
เข้าไปที่ Power Apps Maker Portal > คลิก Gears icon (ฟันเฟือง) ที่มุมขวา > เลือก “Advanced settings”
หลังจากนั้นระบบจะเปิดหน้าต่างที่เป็น Old-school version ของหน้า Dynamics 365 จากนั้นคลิกที่ “Settings” > “Administration”
คลิกที่ Virtual Entity Data Sources
คลิกที่ Finance and Operations
(ถ้าคุณไม่เห็นตัวเลือกนี้ ตรวจสอบอีกครั้งว่าคุณได้ทำขั้นตอนที่ 4 เรียบร้อยแล้ว)
จากนั้นใส่ข้อมูล ดังนี้
- Target URL: URL ของ D365 FO ที่คุณต้องการเชื่อมต่อ
- OAuth URL: https://login.windows.net/
- Tenant ID: Tenant ID จากขั้นตอนที่ 1
- AAD Application ID: App ID จากขั้นตอนที่ 1
- AAD Application Secret: Application Secret จากขั้นตอนที่ 1
- AAD Resource: 00000015-0000-0000-c000-000000000000
อย่าลืม! กดบันทึก (ไอคอนเล็กมาก ๆ ) เพื่อบันทึกการเปลี่ยนแปลง
6. เลือก Entities ที่จะใช้กับ Power Platform ของเรา
ตอนนี้ Environment ของ Power Platform และ D365 FO รู้จักกันแล้ว ดังนั้นเราสามารถเชื่อมต่อข้อมูลได้แล้ว แต่เราต้องเลือก Entities ที่ต้องการใช้จริง ๆ จากหลายพัน Entities เสียก่อน
คลิกที่ไอคอน Filter ที่มุมขวา
(Microsoft เรียกสิ่งนี้ว่า “Advanced Find Button”)
เลือก Available Finance and Operations Entities ในเมนู Drop-down และเพิ่ม Filter เลือกเฉพาะ Entity ที่ต้องการ เช่นในตัวอย่างนี้ใช้ LogisticsAddress
คุณจะเห็น List ของ Entities ตาม Filter ที่คุณตั้งไว้
คลิกชื่อ Entities ที่ต้องการใช้
Check เครื่องหมายถูกที่ “Visible” แล้วกดบันทึก เพื่อทำให้ Entities สามารถมองเห็นใน Power Apps Maker Portal
ทำขั้นตอนนี้ซ้ำไปเรื่อย ๆ จนกว่าจะเพิ่ม Entities ที่คุณต้องการใช้ทั้งหมดแล้ว
7. ผลลัพธ์
Entities ที่คุณเลือกจะแสดงใน Power Apps Maker Portals นั่นหมายความว่าคุณสามารถทำการเชื่อมต่อ Entities เหล่านี้กับ Power Apps หรือ Power Automate ได้ตามปกติ เหมือนกันกับการใช้งานใน Dataverse table
แหล่งที่มา: PAWIT.PW
ก้าวเข้าสู่ Digital Business
ดูผลิตภัณฑ์ที่เกี่ยวข้องได้ที่นี่