หลังจากใน ตอนที่แล้ว เราได้สร้าง Table และ Page กันเสร็จเรียบร้อยแล้ว ในตอนนี้เราก็จะมาลองสร้าง Table Extension ซึ่งเป็น object ใหม่ของ Microsoft Dynamics 365 Business Central กัน
โดยเจ้าตัว Table Extension นี้จะถูกใช้งานสำหรับเพิ่ม field หรือ สร้าง function ที่ based-on กับ standard table โดยที่เราไม่จำเป็นต้องไปเขียน code บน C/SIDE แล้ว
เริ่มโดยการ New File เหมือนเดิมครับ โดยผมจะตั้งชื่อไฟล์ว่า Tab-Ext50101.Item.al โดยผมจะให้ Table Extension นี้ทำการ extend จาก Table Item ซึ่งเป็น Standard Table ของ dynamics 365 bc ครับ
จากนั้นให้เพิ่ม code ของ tabble extension โดยใช้ Snippet โดยพิมพ์ว่า ttableext
จะได้โครงสร้างของ table extension ออกมาดังรูปด้านล่าง ซึ่งผมได้แก้ไขให้ Table Extension นี้ Extend จาก Table Item
ขออธิบายคร่าว ๆ ดังนี้ครับ
- ID: คือ object ID ของ new object ที่เราสร้างขึ้นมา
- My Extension: คือ object name ของ new object ที่เราสร้างขึ้นมา
- MyTargetTable: คือ standard table ของโปรแกรม D365BC
โดยทั่วไปแล้ว Table Extension จะมี Default Section มาให้สองส่วนคือ fields section และ global variable Section
แต่คุณสามารถเพิ่ม Key Section และ Trigger Section ได้
แล้วถ้าจะเขียน code ให้ทำตอนที่บันทึก field ที่เป็น Stadard สามารถทำได้ไหม?
คำตอบคือ: ได้
หากผมต้องการเขียน code ให้ทำงานหลังที่คีย์ข้อมูลที่ฟิลด์ No. ที่หน้าจอ Item Card มีวิธีการดังนี้
ในส่วนของ Field Section ให้ คุณเพิ่ม code ในส่วน modify ดังรูปด้านล่าง
เอาละ อธิบายไปไกล งั้นเรามาแก้โปรแกรมตาม requirement กันดีกว่า โดยเราจะเพิ่ม field ใหม่เข้าไปใน Standard Table ผ่าน Table Extension และกำหนด Table Relation ไปหา Table ที่เราได้สร้างไว้ใน ตอนที่ 1 กัน
เพียงเท่านี้การเพิ่มฟิลด์ใหม่บน Standard Table ก็เป็นอันเสร็จเรียบร้อย เห็นไหมละครับว่าการเพิ่มฟิดล์ใน dynamics 365 bc ผ่าน extension นั้นไม่ใช่เรื่องยากเลย และในตอนต่อไปเราจะมาต่อกันที่ Page Extension ครับ รอติดตามได้เลย ขอบคุณครับ