
การพัฒนา AL Project ใน Microsoft Dynamics 365 Business Central อาจดูท้าทายสำหรับผู้เริ่มต้น แต่ด้วยคำแนะนำที่ถูกต้องและขั้นตอนที่ชัดเจน คุณจะพบว่ามันไม่ยากอย่างที่คิด บทความนี้จะแนะนำคุณตลอดกระบวนการสร้าง AL Project ตั้งแต่การติดตั้งเครื่องมือที่จำเป็นไปจนถึงการพัฒนาและทดสอบฟังก์ชันต่างๆ ที่คุณสร้างขึ้นได้ด้วยตัวเอง
1. การเตรียมความพร้อม ติดตั้งเครื่องมือที่จำเป็น
ก่อนที่จะเริ่มต้นสร้าง AL Project คุณจำเป็นต้องเตรียมเครื่องมือที่ใช้ในการพัฒนา ดังนี้:
1.1 การติดตั้ง Visual Studio Code (VS Code)
Visual Studio Code (VS Code) เป็นเครื่องมือที่นักพัฒนานิยมใช้สำหรับการเขียนโปรแกรม AL เนื่องจากมีความยืดหยุ่นและใช้งานง่าย คุณสามารถติดตั้งได้ดังนี้:

- เข้าไปที่เว็บไซต์ Visual Studio Code
- ดาวน์โหลดเวอร์ชันที่เหมาะกับระบบปฏิบัติการของคุณ (Windows, macOS, หรือ Linux)
- ติดตั้งโปรแกรมตามขั้นตอนที่แนะนำ
1.2 การติดตั้ง AL Language Extension
หลังจากติดตั้ง VS Code แล้ว คุณต้องติดตั้งส่วนขยายที่ทำให้ VS Code รองรับการเขียนโค้ด AL:
1. เปิด Visual Studio Code
2. ไปที่ Extensions โดยคลิกที่ไอคอนทางซ้ายหรือกด Ctrl + Shift + X

3. พิมพ์ “AL Language” ในช่องค้นหาและคลิกที่ปุ่ม Install

2. เริ่มต้นสร้าง AL Project ของคุณ
2.1 การสร้างโปรเจกต์ใหม่
เมื่อคุณติดตั้งเครื่องมือที่จำเป็นเสร็จแล้ว ก็สามารถเริ่มสร้าง AL Project ได้ โดยทำตามขั้นตอนดังนี้:
- เปิด Visual Studio Code
- ไปที่ View > Command Palette หรือกด
Ctrl + Shift + P

- พิมพ์ “AL: Go!” ในช่องค้นหาและกด Enter

- ระบุชื่อของโปรเจกต์และตำแหน่งที่ต้องการบันทึก

- เลือกเวอร์ชันของ Business Central ที่ต้องการใช้ (แนะนำให้เลือกเวอร์ชัน Sandbox)

- ระบบจะสร้างโครงสร้างโปรเจกต์พื้นฐานที่ประกอบด้วยไฟล์สำคัญ เช่น
app.json,HelloWorld.al, และlaunch.json

2.1.1 อธิบายไฟล์สำคัญในโปรเจกต์
เมื่อคุณสร้าง AL Project ใหม่ใน Microsoft Dynamics 365 Business Central คุณจะพบกับไฟล์สำคัญสามไฟล์หลัก:
1. app.json:
เป็นไฟล์กำหนดค่าพื้นฐานของแอปพลิเคชัน AL ที่คุณพัฒนา ประกอบด้วยข้อมูลเช่น ชื่อแอป, ผู้พัฒนา, เวอร์ชัน, และช่วง ID ของ Object ที่ใช้งานในโปรเจกต์
ตัวอย่าง:

รายละเอียดของแต่ละฟิลด์:
id:- รหัส UUID ที่ไม่ซ้ำกันสำหรับแอปพลิเคชันนี้ ใช้ในการระบุแอปพลิเคชันในระบบอย่างเฉพาะเจาะจง
name:- ชื่อของแอปพลิเคชัน เช่น “My AL Project”
publisher:- ชื่อผู้พัฒนาแอปพลิเคชันหรือบริษัทที่พัฒนา เช่น “Default Publisher”
version:- หมายเลขเวอร์ชันของแอปพลิเคชันในรูปแบบ
major.minor.build.revisionเช่น “1.0.0.0”
- หมายเลขเวอร์ชันของแอปพลิเคชันในรูปแบบ
brief,description,privacyStatement,EULA,help,url,logo:- ฟิลด์เหล่านี้ใช้สำหรับการให้ข้อมูลเพิ่มเติมเกี่ยวกับแอปพลิเคชัน เช่น คำอธิบายสั้นๆ (brief), คำอธิบายแบบละเอียด (description), ลิงก์ไปยังนโยบายความเป็นส่วนตัว (privacyStatement), ข้อตกลงการใช้งาน (EULA), ลิงก์ไปยังหน้าเว็บช่วยเหลือ (help), URL ของเว็บไซต์ (url), และโลโก้ของแอปพลิเคชัน (logo) ฟิลด์เหล่านี้จะถูกแสดงให้ผู้ใช้เห็นเมื่อพวกเขาดาวน์โหลดหรือใช้งานแอปพลิเคชัน
dependencies:- ระบุแอปพลิเคชันหรือแพคเกจที่โปรเจกต์นี้พึ่งพา เช่น “System Application” และ “Base Application” ที่มาจาก Microsoft พร้อมกับระบุเวอร์ชันที่ต้องการ
screenshots:- เป็นอาร์เรย์ที่ใช้ระบุภาพหน้าจอ (screenshots) ของแอปพลิเคชัน ซึ่งสามารถแสดงใน AppSource หรือ Business Central แต่ในที่นี้ยังไม่ได้กำหนดค่า
platform:- เวอร์ชันของแพลตฟอร์ม Business Central ที่แอปพลิเคชันนี้รองรับ
application:- เวอร์ชันของแอปพลิเคชัน Business Central ที่ AL Project นี้ทำงานร่วมกับ
idRanges:- ช่วงของ ID ที่กำหนดให้ Object ต่างๆ ในโปรเจกต์นี้ใช้ เช่น ตั้งแต่ 50100 ถึง 50149
resourceExposurePolicy:- นโยบายการเปิดเผยทรัพยากร เช่น การอนุญาตให้ดีบัก (
allowDebugging), การดาวน์โหลดซอร์สโค้ด (allowDownloadingSource), และการรวมซอร์สโค้ดในไฟล์สัญลักษณ์ (includeSourceInSymbolFile)
- นโยบายการเปิดเผยทรัพยากร เช่น การอนุญาตให้ดีบัก (
runtime:- เวอร์ชันของ AL runtime ที่โปรเจกต์นี้ใช้ เช่น “13.1”
features:- ฟีเจอร์พิเศษที่เปิดใช้งานในโปรเจกต์ เช่น
"NoImplicitWith"ซึ่งเป็นฟีเจอร์ที่ช่วยป้องกันการใช้งานWITHโดยไม่เจตนาในโค้ด AL
- ฟีเจอร์พิเศษที่เปิดใช้งานในโปรเจกต์ เช่น
2. launch.json:
ใช้สำหรับตั้งค่าการดีบักใน Visual Studio Code กำหนด environment, URL เซิร์ฟเวอร์, tenant, และการตั้งค่าต่างๆ เพื่อเชื่อมต่อกับ Business Central
ตัวอย่าง:

รายละเอียดแต่ละฟิลด์:
name:- ชื่อของการตั้งค่าการ Publish ซึ่งสามารถปรับเปลี่ยนได้ตามต้องการ (เช่น “sandbox”)
request:- ประเภทของคำสั่ง deploy ใช้
"launch"ซึ่งหมายถึงการเริ่มต้นการ deploy
- ประเภทของคำสั่ง deploy ใช้
type:- ประเภทของการ deploy ใช้
"al"ซึ่งหมายถึงการ deploy โค้ด AL (Application Language) ใน Business Central
- ประเภทของการ deploy ใช้
server:- URL ของเซิร์ฟเวอร์ Business Central ในที่นี้เป็น
"https://businesscentral.dynamics.com/"ซึ่งเป็น URL หลักของ Business Central บนคลาวด์
- URL ของเซิร์ฟเวอร์ Business Central ในที่นี้เป็น
tenant:- ชื่อ Tenant ที่คุณกำลังเชื่อมต่อ คุณต้องใส่ชื่อ Tenant ของคุณแทน
"your tenant"
- ชื่อ Tenant ที่คุณกำลังเชื่อมต่อ คุณต้องใส่ชื่อ Tenant ของคุณแทน
environmentType:- ประเภทของ Environment ในที่นี้คือ
"Sandbox"หมายถึง Environment ที่ใช้สำหรับการทดสอบ ไม่ใช่ production
- ประเภทของ Environment ในที่นี้คือ
breakOnError:- ตั้งค่าเป็น
trueหมายถึงการดีบักจะหยุดเมื่อมีข้อผิดพลาดเกิดขึ้นในโค้ด
- ตั้งค่าเป็น
launchBrowser:- ตั้งค่าเป็น
trueหมายความว่าเบราว์เซอร์จะเปิดขึ้นโดยอัตโนมัติเมื่อเริ่มการดีบัก
- ตั้งค่าเป็น
schemaUpdateMode:- ตั้งค่าเป็น
"Synchronize"หมายถึงการอัปเดต schema ของฐานข้อมูลให้ตรงกับการเปลี่ยนแปลงในโค้ด AL โดยอัตโนมัติ
- ตั้งค่าเป็น
3. ไฟล์ .al (เช่น HelloWorld.al):
เป็นไฟล์ที่ใช้ในการเขียนโค้ด AL ของคุณ ทุกครั้งที่คุณสร้าง Object ใหม่ใน Business Central เช่น Table, Page, Codeunit จะถูกกำหนดในไฟล์ .al เหล่านี้
ตัวอย่าง:

ไฟล์เหล่านี้ทำหน้าที่เป็นพื้นฐานในการกำหนดค่าและพัฒนา AL Project ของคุณใน Microsoft Dynamics 365 Business Central ช่วยให้คุณสามารถจัดการแอปพลิเคชันได้อย่างเป็นระบบและมีประสิทธิภาพ.
3. ทำความเข้าใจ Object ใน AL
ในการพัฒนา AL Project คุณจะต้องทำงานกับ Object หลายประเภท ซึ่งแต่ละประเภทมีหน้าที่และฟังก์ชันเฉพาะ ดังนี้
3.1 Table
Table ใช้สำหรับการเก็บข้อมูลในระบบ Business Central ตัวอย่างโค้ดสำหรับการสร้าง Table คือ:

- DataClassification: กำหนดระดับการปกป้องข้อมูล
- field: ใช้กำหนดฟิลด์ต่างๆ ในตาราง
- key: ใช้กำหนดคีย์สำหรับตาราง เช่น Primary Key
3.2 Page
Page ใช้ในการสร้างหน้าจออินเทอร์เฟซที่ผู้ใช้สามารถโต้ตอบได้ ตัวอย่างโค้ดสำหรับการสร้าง Page คือ:

3.3 Codeunit
Codeunit เป็นโมดูลของโค้ดที่ใช้เก็บฟังก์ชันหรือกระบวนการทางธุรกิจ ตัวอย่างโค้ดสำหรับการสร้าง Codeunit คือ:

- trigger OnRun: เป็นตัวที่เรียกใช้เมื่อ Codeunit ถูกเรียกใช้งาน
4. การ Deploy Project
หลังจากที่คุณพัฒนา AL Project เสร็จสิ้นแล้ว ขั้นตอนต่อไปคือการ Deploy Project เพื่อให้แอปพลิเคชันพร้อมใช้งานใน environment ต่างๆ ของ Microsoft Dynamics 365 Business Central โดยมีขั้นตอนดังนี้:
4.1 การ Build และ Publish โปรเจกต์
1. Build Project: ก่อนที่จะทำการ Deploy คุณต้อง Build โปรเจกต์ใน Visual Studio Code เพื่อให้แน่ใจว่าไม่มีข้อผิดพลาดใดๆ ในโค้ด:
– เปิดโปรเจกต์ใน Visual Studio Code
– กด Ctrl + Shift + B หรือไปที่เมนู Terminal > Run Build Task แล้วเลือก Build
– ตรวจสอบว่าไม่มีข้อผิดพลาดปรากฏขึ้นในหน้าต่าง Output ของ Visual Studio Code

2. Publish ไปยัง Sandbox Environment:
– การ Publish ไปยัง Sandbox Environment ใช้สำหรับการทดสอบแอปพลิเคชันใน environment ที่ปลอดภัยก่อนที่จะทำการเผยแพร่ไปยัง Production
– กด F5 หรือไปที่เมนู Run > Start Debugging ระบบจะทำการ Build และ Publish แอปพลิเคชันไปยัง Sandbox Environment ที่คุณตั้งค่าไว้ในไฟล์ launch.json
– เมื่อกระบวนการเสร็จสิ้น Visual Studio Code จะเปิดเบราว์เซอร์และนำคุณไปยังหน้าแอปพลิเคชันที่ถูก Deploy ใน Business Central

4.2 การตรวจสอบผลลัพธ์หลังการ Deploy
1. หลังจาก Publish เสร็จสิ้นแล้ว ให้ตรวจสอบว่าแอปพลิเคชันทำงานตามที่คาดหวังหรือไม่
– ทดสอบฟังก์ชันต่างๆ ของแอปพลิเคชันภายใน Sandbox Environment เพื่อให้แน่ใจว่าทุกอย่างทำงานถูกต้อง
– หากพบข้อผิดพลาด ให้ทำการแก้ไขใน Visual Studio Code แล้วทำการ Build และ Publish ใหม่
5. สรุป
การสร้าง AL Project ใน Microsoft Dynamics 365 Business Central อาจดูซับซ้อนในตอนแรก แต่เมื่อคุณทำตามขั้นตอนที่ได้แนะนำในบทความนี้ คุณจะพบว่ามันไม่ยากเลย บทความนี้ครอบคลุมตั้งแต่การติดตั้งเครื่องมือ, การสร้างโปรเจกต์, การเข้าใจ Object ต่างๆ, ไปจนถึงการดีบักและทดสอบ หวังว่าบทความนี้จะช่วยให้คุณสามารถเริ่มต้นพัฒนา AL Project ได้อย่างมั่นใจ
