天天看點

D365入門: 一行代碼不用建一個使用者維護子產品 ...

目标: 熟悉D365開發環境, 進行簡單的二次開發, 建新表, 建新FORM, 完成CRUD操作.

D365開發環境已設好, 開發硬體是一台12核伺服器, 但硬體要求還是遠遠不夠, 沒聽錯, 是遠遠不夠的.

遠端登入,打開vs2015, 裡面已經安裝了d365的開發插件, 按Ctrl-E調出Application管理器:

D365入門: 一行代碼不用建一個使用者維護子產品 ...

首先, new project建立一個project dgmislrh2,項目類型選擇Unified Operations.

D365入門: 一行代碼不用建一個使用者維護子產品 ...

生成project後, 再右鍵此project,選擇properties,修改下列兩處, 一個是Model, 将其改為公司應用層面的Model, 将Synchronize Databases on Build設為true (這個非常必要).

D365入門: 一行代碼不用建一個使用者維護子產品 ...

再用New item -> Table來建立table ta_user:

D365入門: 一行代碼不用建一個使用者維護子產品 ...

再打開ta_user這個表, 為Fields增加字段, 增加字段有多種方式, 可以手動增加然後每個字段設定寬度label這些, 也可以從預先定義好的DataType裡面選中datatype,再拖到Fields裡面,再改字段的名稱. 又或者自已建立一個datatype ,再拖進來 .

D365入門: 一行代碼不用建一個使用者維護子產品 ...

如何字段定義為下拉框選擇,該如何做? 比如fa_role。先定義一個Base Enum:

D365入門: 一行代碼不用建一個使用者維護子產品 ...

為這個enum增加三個item

D365入門: 一行代碼不用建一個使用者維護子產品 ...

完畢後,将其拖到ta_user的fields裡面,并改名為fa_role.

再增加一個字段fa_country,下拉框選擇,來自另一個table。首先,先增加這個Fa_country,string(20)。然後增加relate table:

D365入門: 一行代碼不用建一個使用者維護子產品 ...

然後選了另一個table AEL_ParameterTable,并将此relation改名為AEL_ParameterTable. 完畢後,再選中AEL_ParameterTable 右鍵選擇New->Normal以增加一個關聯條件:

D365入門: 一行代碼不用建一個使用者維護子產品 ...

在屬性裡面改為如下,也就是ta_user.fa_country=AEL_ParameterTable.Code了,意思是說,fa_country下拉的資料來自AEL_ParameterTable.Code

D365入門: 一行代碼不用建一個使用者維護子產品 ...
D365入門: 一行代碼不用建一個使用者維護子產品 ...

又因為AEL_ParameterTable不止是Country的資料,還有其他雜兒雜八的記錄, 是以還需要增加一個固定參數的過濾,隻顯示country的記錄:

   在上圖中選擇new->Field fixed, 然後屬性改為如下, 也就是增加一個filter:Type必須為Country:

D365入門: 一行代碼不用建一個使用者維護子產品 ...
D365入門: 一行代碼不用建一個使用者維護子產品 ...

再增加一個unique index,再将ta_user的primary index設為這個:

D365入門: 一行代碼不用建一個使用者維護子產品 ...
D365入門: 一行代碼不用建一個使用者維護子產品 ...

至此, Ta_table已定義完畢。

接下來, 需要建立FORM , 

D365入門: 一行代碼不用建一個使用者維護子產品 ...

打開此form,然後apply pattern為simple list,然後依次:

  1. 将ta_user拖到此form的datasource裡面
  2. 選中Design ...建立action pane
  3. 建立Group
  4. 建立Grid,将datasource裡面的字段拖到grid裡面
D365入門: 一行代碼不用建一個使用者維護子產品 ...

    5.點選第2點的Group,再new QuickFilter,再點選QuickFilterControl1,将屬性裡面這幾個item設定好。

D365入門: 一行代碼不用建一個使用者維護子產品 ...
D365入門: 一行代碼不用建一個使用者維護子產品 ...

IDE的下面區域有preview:

D365入門: 一行代碼不用建一個使用者維護子產品 ...

至此, FORM也設計完畢。

接着需要為這個FORM增加一個啟動菜單:

D365入門: 一行代碼不用建一個使用者維護子產品 ...

然後修改Label和Object, Label很多地方都需要設定,因為篇幅原因就沒細說,而且正規來說, 不應該直接輸入内容,而是将其放在resource file裡面,在這裡引用label key的。

D365入門: 一行代碼不用建一個使用者維護子產品 ...

啟動菜單定義好,我們需要将其加到主菜單裡面,比如想加到這個菜單組裡

D365入門: 一行代碼不用建一個使用者維護子產品 ...

那麼,需要在aot裡面搜尋, 找到ProductInformationManagent,再右鍵選擇create extension建立一個新的擴充ProductInformationManagement.dgmislrh_Extension:

D365入門: 一行代碼不用建一個使用者維護子產品 ...
D365入門: 一行代碼不用建一個使用者維護子產品 ...

打開新擴充,建立一個sub menu  ael_modification, 然後将project裡面的mn_dgmislrh_ta拖至此sub menu裡面即可:

D365入門: 一行代碼不用建一個使用者維護子產品 ...
D365入門: 一行代碼不用建一個使用者維護子產品 ...

完畢後, 點選project,右鍵點選Build,然後耐心等吧,2分鐘後編譯完畢。

然後打開浏覽器,發現菜單已成功安裝,點選進入:

D365入門: 一行代碼不用建一個使用者維護子產品 ...
D365入門: 一行代碼不用建一個使用者維護子產品 ...

========

完畢。

繼續閱讀