เป้าหมายและพื้นฐาน
เมื่อจบ: ติดตั้งแล็บ BC ตั้ง Developer Services และเชื่อมโปรเจกต์ AL
พื้นฐานที่ต้องรู้: 01–03; Windows แล็บและสิทธิ์ผู้ดูแล หรือ online Sandbox
แบบฝึกหลัก: ติดตั้ง Demo ตรวจ config ดาวน์โหลด Symbols และเผยแพร่ Extension แรก
ภาพรวมก่อนลงมือทำ
จากชุดติดตั้งสู่ Extension แรก
ลำดับเตรียมแล็บสำหรับเริ่มพัฒนา AL
- Setup / Demo
ดาวน์โหลด release ที่เลือก แล้วติดตั้ง BC, IIS และ SQL
- Developer Services
ตรวจ instance, port, authentication และบริษัทฝึก
- AL: Go! / Symbols
ตั้ง app.json และ launch.json ให้ตรงเป้าหมาย
- Package / Publish
ตรวจ compile แล้วทดลอง Extension บนแล็บ
สิ่งที่ควรจำผ่านเกณฑ์แต่ละขั้นก่อนเริ่มบท 13: เขียน AL และสร้าง object
01 · เลือกรูปแบบระบบสำหรับฝึก
เส้นทางหลักของบทนี้คือ on-premises แบบ Demo บน Windows เหมาะสำหรับเรียนทั้งการติดตั้งและการตั้งค่าบริการ เซิร์ฟเวอร์เก็บตรรกะและเชื่อมฐานข้อมูล ส่วน Web Client เป็นหน้าจอที่เปิดผ่านเบราว์เซอร์ การดาวน์โหลดแอปสำหรับผู้ใช้จึงไม่ใช่การติดตั้งเซิร์ฟเวอร์
| รูปแบบ | สิ่งที่ต้องเตรียม | เหมาะกับ |
|---|---|---|
| On-premises Demo | Windows ที่รุ่นนั้นรองรับ, installation media, SQL Server และ IIS | ฝึกติดตั้งและ config ตั้งแต่ต้น ตามบทนี้ |
| Windows container | Windows host, Docker แบบ Windows containers และ BC artifacts | ผู้ที่ต้องการแล็บแยกหลายรุ่น |
| Online Sandbox | บัญชีและสิทธิ์ Sandbox พร้อม VS Code | เริ่ม AL โดยไม่ติดตั้ง BC Server หรือ SQL เอง |
ถ้าใช้ Mac ให้เตรียม Windows host/VM ที่รองรับรุ่น BC หรือเชื่อม online Sandbox; ตัวติดตั้ง BC Server และ Windows container ในบทนี้ไม่ได้รันบน macOS โดยตรง
02 · ดาวน์โหลดและตรวจความพร้อม
- เปิด หน้าติดตั้งอย่างเป็นทางการ ↗ เลือก release ที่องค์กรหรือแล็บใช้ แล้วเข้า KB ของ cumulative update ที่ต้องการ
- ในหน้า KB ไปที่ Resolution / How to obtain files ดาวน์โหลดชุดประเทศหรือ localization ให้ตรงโจทย์ แตกไฟล์จนพบโฟลเดอร์ DVD และ
setup.exeจด release, build และประเทศของชุดที่เลือก - อ่าน System Requirements ของ รุ่นเดียวกัน ตรวจ Windows, SQL Server, .NET, PowerShell, CPU, RAM และพื้นที่ดิสก์ ตัวอย่าง ข้อกำหนดสำหรับ v27 ↗ ใช้กับ v27 เท่านั้น ไม่ใช่ข้อกำหนดตายตัวของทุกรุ่น
- ใช้เครื่อง/VM ฝึกที่มีสิทธิ์ผู้ดูแล เตรียมบัญชีเข้า Windows และตรวจว่าพอร์ตของบริการที่จะติดตั้งไม่ชนระบบเดิม
เกณฑ์ผ่าน: มีชุดติดตั้งครบ ทราบ build และ localization และยืนยัน prerequisites ก่อนเริ่ม Setup
03 · ติดตั้ง Demo และเปิด Web Client
- ใน Windows แล็บ เปิด
setup.exeด้วยสิทธิ์ที่เหมาะสม อ่านเงื่อนไขสิทธิ์ใช้งานก่อนยอมรับ - เลือก Advanced installation options → Install Demo ให้ Setup ติดตั้งส่วนประกอบหลักและฐานข้อมูลตัวอย่าง ตรวจผลแต่ละ component หากมี error ให้แก้จาก installation log ก่อน
- เปิด Business Central Web Client จาก Start menu จด URL ที่เปิดจริง ไม่เดาชื่อ instance จากบทความ
- ลงชื่อเข้าใช้ เปิดบริษัทตัวอย่าง และตรวจหน้าลูกค้าได้ก่อนเริ่มเขียนโค้ด
Demo ประกอบด้วย Web Server/IIS, BC Server และ SQL database พร้อมข้อมูล CRONUS ตัวอย่าง URL มีรูปแบบ http://localhost:8080/ชื่อ-instance แต่พอร์ตและชื่อจริงขึ้นกับการติดตั้ง ใช้ demo license ตามข้อจำกัดที่ Microsoft ระบุ และใช้เฉพาะทดลอง/พัฒนา
04 · เข้าใจส่วนประกอบและบันทึก config
เปิด Business Central Administration Shell ของรุ่นที่ติดตั้ง ด้วยสิทธิ์ผู้ดูแล ตรวจชื่อ instance ก่อนอ่าน config ตัวอย่างนี้เป็นคำสั่งตรวจสอบ:
Get-NAVServerInstance
# เปลี่ยน YOUR_INSTANCE ให้ตรงกับผลลัพธ์ด้านบน
Get-NAVServerConfiguration -ServerInstance 'YOUR_INSTANCE'บันทึก DatabaseServer, DatabaseInstance, DatabaseName, ClientServicesCredentialType, DeveloperServicesEnabled, DeveloperServicesPort และ DeveloperServicesSSLEnabled แยก Web Client URL ออกจาก Developer endpoint ให้ชัด ตั้งแต่ v21 ใช้ Administration Shell แทนเครื่องมือ Server Administration แบบเดิม
จุดตรวจ: บริการ BC และ SQL ทำงาน, BC เชื่อม database ถูกตัว, IIS เปิดเว็บได้ และบัญชีผู้ใช้เข้า company ฝึกได้ หากเปิดเว็บยังไม่ได้ให้แก้ฐานระบบก่อน Download Symbols
05 · เปิด Developer Services สำหรับแล็บ
Developer endpoint ใช้ Download Symbols และ publish จาก VS Code ตรวจ instance ให้เป็นแล็บก่อนเปลี่ยนค่า คำสั่งด้านล่างเปิดบริการพัฒนาและ restart เฉพาะ instance ที่ระบุ:
$trainingInstance = 'YOUR_INSTANCE'
Set-NAVServerConfiguration -ServerInstance $trainingInstance -KeyName DeveloperServicesEnabled -KeyValue true
Restart-NAVServerInstance -ServerInstance $trainingInstance
Get-NAVServerConfiguration -ServerInstance $trainingInstanceตรวจ DeveloperServicesPort (ค่าเริ่มต้นตามเอกสารคือ 7049) และ DeveloperServicesSSLEnabled เพื่อเลือก HTTP/HTTPS ให้ตรง ถ้าตั้ง TLS ให้ใช้ certificate ที่เครื่องพัฒนาเชื่อถือ การเชื่อมจากเครื่องอื่นต้องมี network/firewall rule ตามขอบเขตแล็บ ไม่ใช้วิธีปิด firewall ทั้งหมด
ตรวจบัญชีผู้ใช้และสิทธิ์ publish/debug แยกจากการเข้า Web Client และตรวจบริษัทกับ tenant เป้าหมาย หากเป็น single-tenant และใช้ tenant เริ่มต้นจึงใช้ default; อย่าคัดลอกค่าดังกล่าวไปทุกระบบ
06 · ติดตั้ง VS Code และสร้างโปรเจกต์
- ดาวน์โหลด Visual Studio Code ↗ แล้วติดตั้ง AL Language extension ของ Microsoft ที่เข้ากันกับรุ่นเป้าหมาย ตรวจ publisher ก่อนติดตั้ง
- เปิดโฟลเดอร์โปรเจกต์ว่าง เรียก Command Palette →
AL: Go!เลือก target version และ Your own server สำหรับเส้นทาง on-premises นี้ - เปิด
app.jsonซึ่งเป็น manifest ของ Extension และ.vscode/launch.jsonซึ่งบอกว่าจะเชื่อมระบบใด - บันทึกเวอร์ชัน AL Language และ BC build ที่ใช้ร่วมกัน เพื่อให้ทีมทำซ้ำได้
หากเลือก online ให้สร้างโปรเจกต์สำหรับ Microsoft cloud sandbox และตั้ง environmentName ตาม Sandbox จริง ไม่ใช้ config แบบ on-premises ปะปนกัน
07 · ตั้ง launch.json ให้ตรงเซิร์ฟเวอร์
ตัวอย่างนี้ใช้ Windows authentication และ HTTP ของ Demo ในเครื่องฝึกเดียวกัน ใช้ได้ต่อเมื่อ config จริงตรงเงื่อนไขนี้ เปลี่ยนชื่อ instance และ port ตามที่จดไว้; หากระบบใช้ HTTPS หรือ authentication แบบอื่น ให้สร้าง configuration ที่ตรงระบบนั้น
{
"version": "0.2.0",
"configurations": [
{
"name": "StartBC local training",
"type": "al",
"request": "launch",
"environmentType": "OnPrem",
"server": "http://localhost",
"serverInstance": "YOUR_INSTANCE",
"port": 7049,
"authentication": "Windows",
"tenant": "default",
"startupObjectType": "Page",
"startupObjectId": 22,
"breakOnError": "All",
"launchBrowser": true
}
]
}server คือ base URL ของบริการ ไม่ใช่ Web Client URL เต็ม; serverInstance และ port ระบุ developer endpoint ส่วน startupObjectId คือ object ที่จะเปิดหลัง publish ตัวอย่างใช้หน้า 22 ก่อน เมื่อทำบท 13 ให้เปลี่ยนเป็น 50102 สำหรับหน้ารายการฝึก
08 · ตั้ง app.json และ Download Symbols
เก็บ GUID ที่ AL: Go! สร้างไว้เป็น app identity ตั้ง name/publisher/version ของงานฝึก และตรวจ application/platform/runtime กับ BC เป้าหมาย ห้ามใช้เลขเวอร์ชันเดียวกับทุกเครื่อง
| ค่า | หน้าที่และจุดตรวจ |
|---|---|
| id / name / publisher / version | ตัวตนและเวอร์ชันของแอป ไม่สร้าง id ใหม่ทุกครั้งที่แก้โค้ด |
| application / platform / runtime | ข้อกำหนดที่ compiler และเซิร์ฟเวอร์ต้องรองรับ ใช้ตาม target ที่เลือก |
| idRanges | ชุดฝึกใช้ 50100–50102 ตรวจว่าช่วงว่างและได้รับอนุญาตก่อน |
| dependencies | แอปอื่นที่โค้ดอ้าง ใช้ ID/publisher/name/version ให้ตรง |
| target | Cloud หรือ OnPrem คือขอบเขต API ที่ใช้ได้ ไม่ใช่ชื่อ environment; ไม่จำเป็นต้องใช้ OnPrem เพียงเพราะติดตั้งเซิร์ฟเวอร์เอง |
เรียก AL: Download Symbols และตรวจ Output/Problems จะได้ข้อมูลอ้างอิง object ใน .alpackages ใช้ Go to Definition กับ Customer หรือ Customer Card เพื่อตรวจชื่อ field, procedure และ anchor ของรุ่นนั้น
เกณฑ์ผ่าน: ดาวน์โหลดสำเร็จและ resolve object มาตรฐานได้ ถ้าไม่ผ่านให้ตรวจ URL/port/TLS/authentication/สิทธิ์ และ manifest ตามข้อความ error
09 · Package → Publish → ตรวจ Extension แรก
- ใช้ HelloWorld ที่ AL: Go! สร้างไว้เป็น smoke test ก่อนนำชุดฝึกเพิ่มเข้าไป
- เรียก
AL: Packageแก้ Problems ให้ไม่มี error แล้วตรวจไฟล์.appที่สร้าง - ตรวจชื่อเซิร์ฟเวอร์/บริษัทอีกครั้ง จากนั้นใช้ Run Without Debugging เพื่อ publish ไปแล็บ เปิดหน้าตาม startupObject และทดลอง action ของตัวอย่าง
- ตรวจชื่อและ version ของแอปที่ติดตั้ง จด BC build, AL version และผลจริง
- ก่อนเริ่มบท 13 แยก source ของ HelloWorld ที่ชน ID ออกจากโปรเจกต์ active แล้วดาวน์โหลดชุดฝึก StartBC ห้ามเก็บไฟล์ .al ซ้ำทั้ง root และ src/
Package สำเร็จยืนยันการ compile เท่านั้น ส่วน publish และการทำงานจริงต้องตรวจอีกขั้นหนึ่ง เมื่อครบแล้วไป บท 13: object และภาษา AL
10 · เตรียมบริษัทฝึกและแก้ปัญหาเป็นลำดับ
ก่อนทดลองงานที่เกี่ยวกับข้อมูล ให้เลือกบริษัทฝึก จด Work Date และภาษา ตรวจผู้ใช้/สิทธิ์ ช่วง Object ID และข้อมูลลูกค้าสมมติ งาน implement ด้าน Number Series, Posting Groups และกระบวนการซื้อขายศึกษาเพิ่มเติมจากบท 04–11; ไม่ต้องตั้งบัญชีจริงเพื่อทดลองฟิลด์และหน้าฝึกนี้
- ติดตั้งไม่สำเร็จ
- ดู setup log และ prerequisite ที่ล้มเหลว ตรวจ requirements ของ release เดียวกัน
- เปิด Web Client ไม่ได้
- ตรวจ IIS, BC service, SQL connection และ authentication ก่อนตรวจ AL
- Download Symbols ไม่สำเร็จ
- ตรวจ DeveloperServicesEnabled, port, certificate, launch.json และสิทธิ์บัญชี
- Package ไม่ผ่าน
- อ่าน Problems ตรวจ syntax, runtime, dependency และ Object ID ที่ซ้ำ
- Publish ได้แต่ไม่เห็น object
- ตรวจ company, installed app version, startupObject และ permission set
ทางเลือก container ใช้ Windows containers ตาม คู่มือ Microsoft ↗ โดยแยก workflow จาก Setup และใช้ endpoint จาก log ของ container
เอกสารอ้างอิงทางการ
อ่านประกอบและตรวจชื่อเมนู/ข้อจำกัดของเวอร์ชันที่คุณใช้ เอกสารเดิมตรวจ 22 ตุลาคม 2569; เอกสารติดตั้งและพื้นฐาน Developer ที่เพิ่มตรวจ 4 พฤศจิกายน 2569