วิธีเพิ่ม Field ใหม่ผ่าน Extension ให้กับ Business Central

Spread the love

การเพิ่ม Field ใหม่บน Extension ให้กับ Business Central มีวิธีการทำอย่างไรบ้าง

แน่นอนว่าทุกการทำ Customization ไม่ว่าจะเป็น Dynamics NAV หรือ Dynamics 365 Business Central ต้องมีการเพิ่ม field เข้ามาใหม่อย่างแน่นอน ซึ่งหากทำในเวอร์ชั่นของ Dynamics NAV ก็ไม่ใช่เรื่องยากอะไร แต่สำหรับการทำผ่าน Extension ให้กับเวอร์ชั่น Dynamics 365 Business Central นั้นก็จะมีขั้นตอนเพิ่มขึ้นมาบ้าง แต่ก็ไม่ยุ่งยากจนเกินไป ขั้นตอนมีอะไรบ้าง เรามาเริ่มดูกันเลย

Photo by Xue Guangjian from Pexels

บทความที่คุณอาจสนใจ

ขั้นตอนการติดตั้ง AL Language บน Visual Studio Code สำหรับ Microsoft Dynamics 365 Business Central
เริ่มต้นสร้าง Extension แรกบน MS Dynamics 365 BC ตอนที่ 1 – New Table

Create an extension

ก่อนที่จะเริ่มสร้าง extension เราจะเป็นต้อง ติดตั้งตัวโปรแกรม Business Central และ ติดตั้ง AL Language บน Visual Studio Code ก่อน

เมื่อติดตั้งทั้งสองโปรแกรมเรียบร้อยแล้ว หลังจากเปิด VS Code ขึ้นมาก็กด Crtl + Shift + P แล้วพิมพ AL: Go เพื่อสร้าง extension ใหม่

create-new-field-in-business-central-1

โดยผมจะขอตั้งชื่อว่า AddNewFieldExtension ละกันครับ

create-new-field-in-business-central-2

เมื่อจัดการ setup บนไฟล์ launch.json ให้เรียบร้อย ก็ให้กด Ctrl + Shift + P แล้วพิมพ์ว่า Download Symbol เมื่อเรียบร้อยแล้วก็เริ่มเขียน Code กันได้เลย

บทความที่คุณอาจสนใจ

Check List เมื่อไม่สามารถ Download Symbols ให้กับ AL Extension ได้
Could not download reference symbols: To view details about your permissions, see the Effective Permissions page.

Requirement

เพิ่มฟิลด์ใหม่เข้าไปที่ Customer โดยฟิลด์นี้มีชื่อว่า Customer Status เป็น Text ขนาด 100 ตัวอักษร และให้แสดงที่หน้าจอ Customer Card โดยให้อยู่ตำแหน่งต่อจาก Name

Create a table extension

อันดับแรกเราก็ต้องสร้าง Table Extension โดยจะทำการ Extend จาก Customer ซึ่งเป็น Base Table

โดยให้คลิกขวาที่กล่องด้านซ้ายเพื่อสร้างไฟล์ใหม่

create-new-field-in-business-central-3

ขอตั้งชื่อไฟล์ว่า Tab-Ext50010.Customer.al ครับ

create-new-field-in-business-central-4

ต่อไปให้ใช้ snippet เพื่อเตรียมโครงสร้างของ table extension

create-new-field-in-business-central-5

จะได้โครงสร้าง code ออกมาเป็นแบบนี้

create-new-field-in-business-central-6

จากนั้นแก้ไขให้เป็น Customer Table Extension ครับ

create-new-field-in-business-central-7

เท่านี้ก็ถือว่าเป็นอันเรียบร้อยสำหรับการสร้าง Table Extension ของ Business Central ครับ ต่อไปเราจะมาเพิ่มฟิลด์กัน

Add a table field

ต่อไปเราจะสร้างฟิลด์กันนะครับ โดยฟิลด์นี้มีชื่อว่า Customer Status เป็น Text ขนาด 100 ตัวอักษร

สามารถใช้ snippet เพื่อสร้างโครงสร้าง code ของฟิลด์เตรียมไว้ก่อน

create-new-field-in-business-central-8

ก็จะได้หน้าตา code ออกมาแบบนี้

create-new-field-in-business-central-9

จากนั้นก็แก้ไข Code ให้เป็นไปตามที่เราต้องการ

create-new-field-in-business-central-10

เราก็ได้สร้างฟิดล์ใหม่ให้กับ Customer โดยใช้ Table Extension เรียบร้อยแล้ว ต่อไปเราจะทำให้ฟิลด์ใหม่นี้แสดงในหน้าจอผ่าน Page Extension กันครับ

Create a page extension

ก็เหมือนกัน Table Extension เราจะสร้างไฟล์ใหม่ขึ้นมาอีกตัวหนึ่ง ขอตั้งชื่อว่า Pag-Ext50010.Customer.al ครับ

create-new-field-in-business-central-11

และใช้ snippet เพื่อเตรียมโครงสร้างโค้ดเหมือนเดิม

create-new-field-in-business-central-12

หน้าตาของโค้ดที่ถูกสร้างผ่าน snippet

create-new-field-in-business-central-13

ปรับแก้ไขให้ได้ตามที่เราต้องการ

create-new-field-in-business-central-14

เสร็จแล้วกับการสร้าง Page Extension ต่อไปเราจะมาจัด Layout กันว่าจะให้ฟิลด์ใหม่หรือก็คือ Customer Status แสดงที่ตำแหน่งไหนในหน้าจอ Customer Card ครับ

Place the field in the page

เราสามารถใช้ addafter ตามด้วย ชื่อฟิลด์ เพื่อเป็นการระบุว่าจะเพิ่มอะไรต่อจาก ฟิลด์นี้ ครับ โดยเราจะเพิ่มต่อข้างหลังฟิลด์ Name

create-new-field-in-business-central-15

เหมือนเดิมเราจะใช้ snippet เพื่อเตรียมโครงสร้างโค้ดให้ ก็มีเจ้าตัว snippet ที่คอยช่วยเตรียมโครงสร้างโค้ดให้ ดังนั้นไม่ต้องกลัวว่าลืมว่าเขียนอย่างไรครับ

create-new-field-in-business-central-16

โครงสร้าง Code ที่ถูกเตรียมผ่าน Snippet

create-new-field-in-business-central-17

แก้ไขโค้ดให้ได้ตามที่ต้องการ

create-new-field-in-business-central-18

เท่านี้ก็เป็นอันเรียบร้อยแล้วสำหรับการเพิ่มฟิลด์ใหม่ให้กับ Business Central ครับ

Compile

เมื่อเราเขียนโค้ดเสร็จเรียบร้อยแล้ว เราก็ต้อง Compile โค้ดขึ้นระบบ วิธีการก็คือให้กดปุ่ม Ctrl + Shift + B เพื่อทำการ Build ตัว Runtime Package หรือไฟล์ .app นั่นเอง แล้วใช้ powershell ในการติดตั้ง

หรือจะใช้วิธี Compile ขึ้นระบบไปตรง ๆ เลยก็ได้ โดยกดปุ่ม Ctrl + F5 ครับ

บทความที่คุณอาจสนใจ

Publish และ Install Extension แล้ว Web Client ไม่ Start up
วิธีป้องกันการ Download Source Code ผ่าน Extension บน Business Central On-Premises

Testing

เมื่อติดตั้ง AddNewFieldExtension บนระบบ Business Central เรียบร้อยแล้ว ต่อไปเราก็จะมาทดสอบดูนะครับ ว่าได้ผลลัพธ์ตามที่เราต้องการหรือเปล่า

เปิดตัว Business Central ขึ้นมา

create-new-field-in-business-central-19

จากนั้น Search หา Customers

create-new-field-in-business-central-20

เลือก Customer ซักคนจากใน List แล้วกด Edit เพื่อเข้าไปดูหน้า Customer Card

create-new-field-in-business-central-21

ก็จะเห็นฟิลด์ใหม่ หรือ Customer Status ที่เราสร้างขึ้นมา ปรากฎที่หน้าจอ Customer Card เป็นที่เรียบร้อยแล้ว

create-new-field-in-business-central-22

วิธีสร้างฟิลด์ใหม่ให้กับ Dynamics 365 Business Central ไม่อยากเลยใช่ไหมครับ อาจจะมีขั้นตอนเพิ่มขึ้นมาจาก Dynamics NAV ขึ้นหน่อย เพราะต้องสร้างผ่าน Extension แต่ก็ไม่มีอะไรซับซ้อนมาก

แล้วเจอกันใหม่ในบทความหน้า สวัสดีครับ

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 *