เริ่มต้นสร้าง Extension แรกบน MS Dynamics 365 BC ตอนที่ 1 – New Table

Spread the love

สวัสดีครับ ใน blog นี้ผมจะมาพาคุณสร้าง Extension แบบง่าย ๆ บนโปรแกรม Microsoft Dynamics 365 Business Central กัน ซึ่งจะเป็นการใช้งานแบบ On-Prem ครับ

สำหรับใครที่ยังไม่มีตัวโปรแกรม สามารถ Download ได้ที่ link นี้และหากคุณไม่รู้จักตัวโปรแกรมมาก่อน แนะนำให้อ่านบทความนี้ก่อนเลย ส่วนประกอบต่าง ๆ ของโปรแกรม Microsoft Dynamics 365 Business Central (BC)

เมื่อคุณติดตั้งเจ้าตัวโปรแกรมเสร็จเรียบร้อยแล้ว คุณจำเป็นต้องลงโปรแกรม Visual Studio Code พร้อมกับ AL Language Extension สามารถดูวิธีได้จาก link นี้เลย

เอาละ เมื่อติดตั้งโปรแกรมครบหมดแล้วก็มาเริ่มกันเลยกับ..

เริ่มต้นสร้าง Extension แรกบน MS Dynamics 365 BC ตอนที่ 1 – New Table

สมมติเหตุการณ์ว่าคุณกำลัง implement โปรแกรมให้กับบริษัทที่เป็นตัวแทนจำหน่ายเบียร์ และลูกค้าของคุณมี requirement ว่าต้องการเก็บข้อมูลแหล่งกำเนิดของเบียร์นั้นในระบบ ซึ่งคุณจำเป็นจะต้องสร้าง Table เพื่อเป็น Master สำหรับเก็บแหล่งกำเนิดของเบียร์

อันดับแรกให้คุณเปิดโปรแกรม Visual Studio Code ขึ้นมาแล้วทำการ New Project ด้วยการกด Ctrl+Shift+P แล้วเลือก AL: Go! (หากคุณงงให้ ขั้นตอนการติดตั้ง AL Language บน Visual Studio Code สำหรับ Microsoft Dynamics 365 Business Central) โดยผมขอสร้างชื่อ project ว่า FirstExtension แล้วกันครับ

Create Extension in MS Dynamics 365 Business Central 1

เมื่อสร้าง New Project เสร็จเรียบร้อยแล้วให้เพิ่ม port ที่ไฟล์ launch.json จากนั้นลอง Download Symbol เพื่อทดสอบว่า Extension ที่คุณเพิ่งสร้างมาสามารถทำงานได้ปกติหรือไม่

Create Extension in MS Dynamics 365 Business Central 2

ตอนไปให้เริ่มสร้าง Object ได้เลยโดยให้คลิกขวาแล้วเลือก New File เลยครับ

Create Extension in MS Dynamics 365 Business Central 3

ผมขอตั้งชื่อไฟล์ว่า Tab50101.BeerOrigin.al

Create Extension in MS Dynamics 365 Business Central 4

ในตัว AL Language ได้เตรียม template สำหรับการเขียนโค้ดที่เรียกว่า Snippet เพื่อขั้นตอนความยุ่งยากในการเขียนโครงสร้างของโค้ด ถ้าคุณต้องการสร้าง object อะไรก็ให้กดตัว t ขึ้นมาก่อน แล้วพิมพ์ object ที่คุณต้องการสร้างตาม

ในกรณีนี้เราต้องการสร้าง new table ดังนั้นให้คุณพิมพ์ว่า ttable แล้วให้ Snippet โชว์ขึ้นมาตามรูปด้านล่างแล้วคลิกเลยครับ

Create Extension in MS Dynamics 365 Business Central 5

คุณก็จะได้โครงสร้าง Table Object ที่เตรียมไว้เรียบร้อยแล้วโดย Snippet (หมายเหตุ: โดยส่วนตัวผมจะใช้ Extension ที่ชื่อว่า CRS สำหรับทำ Snippet)

Create Extension in MS Dynamics 365 Business Central 6

โดยส่วนต่าง ๆ นั้นยังคงมีความคล้ายคลึงกับ C/SIDE แต่ต่างกันตรงที่จะอยู่ในรูปแบบของ Code มากขึ้น โดยคุณต้องเพิ่ม Section ต่าง ๆ ขึ้นมาเองหากต้องการให้ส่วนนั้นทำงาน

โดยในไฟล์ table object นั้นจะแบ่งออกเป็นส่วนต่าง ๆ ดังนี้

  • Object Name: ตรงนี้สำหรับใส่ object, ID และ Name
  • Field Section: ในส่วนนี้คือ field ที่คุณต้องการสร้างขึ้นมาให้กับ Table
  • Key Section: เป็นส่วนของ Primary Key และ Secondary Key สามารถเพิ่มได้ในส่วนนี้
  • Global Variable Section: ตัวแปรที่เป็น Global Variable ทุกตัวให้ประกาศที่ส่วนนี้
  • Table Trigger Section: Trigger ทั้งหมดของ Table นั้นสามารถใช้งานได้ในส่วนนี้ ไม่ว่าจะเป็น OnInsert, OnModify, OnDelete, หรือ OnRename หากมี Trigger ไหนที่คุณไม่ได้ใช้ ก็สามารถลบ code ออกได้

เมื่อรู้จักส่วนต่าง ๆ แล้วก็มาเพิ่ม field กันเลย โดยคุณสามารถใช้ Snippet ในการช่วยสร้างโครงสร้าง code ของ field object ได้โดยพิมพ์ tfield

Create Extension in MS Dynamics 365 Business Central 7

หากคุณอยากรู้ว่าภายใน field นั้นมี property อะไรให้ใช้งานบ้างก็ให้กด Ctrl + Space bar ก็จะมี list ของ property แสดงขึ้นมา

Create Extension in MS Dynamics 365 Business Central 8

ตอนนี้ผมจะเพิ่มเข้ามา 3 fields ประกอบไปด้วย Code, Description, และ Last Modified Date Time และตั้งให้ Code เป็น Primary Key ดังรูปด้านล่าง

Create Extension in MS Dynamics 365 Business Central 9

ต่อไปผมจะพาสร้าง function สำหรับอัพเดรตค่า Last Modified Date Time เหมือนเดิมก็คือให้พิม tprocedure เพื่อให้ snappet เตรียมโครงให้

Create Extension in MS Dynamics 365 Business Central 10

จากนั้นก็เรียกใช้ function นี้ใน trigger

Create Extension in MS Dynamics 365 Business Central 11

ตอนนี้ผมก็ขอจบ ตอนที่ 1 สำหรับการเริ่มต้นสร้าง Extension แรกบน Microsoft Dynamics 365 Business Central ไว้เท่านี้ก่อน และในตอนถัดไปเราจะมาคุยเรื่องการสร้าง Page กันต่อ หากมีคำถามหรือสงสัยตรงไหนก็ comment ที่ด้านล่างได้เลยครับ แล้วเจอกันใหม่ใน blog หน้า สวัสดีครับ

Avatar

ERP Consultant ที่อยากแชร์ความรู้เกี่ยวกับการพัฒนาโปรแกรม Microsoft Dynamics NAV / 365 Business Central ทั้งทางด้าน Business และ Technical ให้กับเหล่านักศึกษา, ผู้ที่เริ่มต้นอาชีพนี้ หรือต้องการที่จะเพิ่มเติมความรู้ด้าน ERP ในรูปแบบ blog ที่เป็นภาษาไทย Contact: amaddev90@gmail.com

Leave a Reply

Your email address will not be published. Required fields are marked *