[轉載] Dynamics 365 Business Central開發初探:使用CSIDE

<< 以下為轉載文章。。。>>


2019/6/8
在上一篇中,我們在 Windows Server 2019 上面安裝了微軟的 ERP 系統:Dynamics 365 Business Central。至此,都屬於導入資訊系統的 “裝機” 階段。在最理想的狀態下,客戶的業務流程是微軟這個 ERP 系統提供的功能的子集,那很好,客戶只需要建立一個沒有測試資料的 DB,把正式資料如主檔 (Master data) 等等都建齊之後,就可以開始使用。但在大多數的情況,客戶的需求都無法百分之百的被系統標準的功能所滿足,所以需要客製系統。

Business Central 開發原則第一條:能不客製就不客製。即儘量使用標準的功能就去達成客戶要的目標。所以 “談需求” 和所謂的 “流程規劃” 非常的重要。一個好的顧問會非常熟悉系統的標準功能,理解客戶的需求,並將之轉換為系統功能可以達成的流程;我們可以說,這讓客戶的流程更接近微軟所認定的企業最佳實務 (Best Practice)。所以,ERP 系統的導入,常常也是檢視公司流程是否合理、順暢的好時機。




接下來,我們看到在 Business Central 的開發中,它是一個以 “物件” 為基礎的開發框架 (Framework)。而在這個框架內,我們可以用 C/AL 語言去新增我們要的邏輯,或是修改既有的程式碼。打開 CSIDE 開發環境,我們可以看到有 Table, Page, Report, Codeunit, Query, XMLport, MenuSuite 等七大類物件。在這邊,我認為最重要的三個物件為 Table, Page 及 Codeunit。Table 可以把它想像成一個二維的資料表,是存放客戶資料的地方。Page 用來呈現資料,是作為 Table 物件的 UI。Codeunit 是專門存放 Business logic codes 的地方。藉由在 Codeunit 定義一個又一個函數的方式,其它物件在需要用到該 Business logic codes 時可以直接呼叫裡頭的函數,以增加程式碼的重複使用性和可維護性。




Objects in CSIDE

以下我們看看 Table, Page, Codeunit 的開發簡介(若有基礎者或是 BC 的開發人員可以直接看下一篇文章了),之後在下一篇文章,我們會直接進入個案實戰。






Table 的開發非常簡單,在 Table Designer 中,加入欲增加的欄位,給予資料型態並存儲即可。
在 Table 的欄位定義完成後,如果要將它呈現在 Page 中,也一樣把它定義進去。
(以前的) Codeunit 客製方法,是找到適當的位置,直接加入你的程式碼並儲存

當然,在做物件的修改時,做好 Documentation,記錄版本號,良好且一致的 Coding style,都對後面的系統維護或後續開發非常重要。而這邊對於 Table, Page, Codeunit 的開發介紹也可以說是基礎中的基礎,閱讀者只要有個印象或是感覺即可。

**********************************************************************************
<< 以上文章,經作者 Ray 同意,轉載自 https://medium.com/@nturay0321 >>


留言