d365
目标: 熟悉D365开发环境, 进行简单的二次开发, 建新表, 建新FORM, 完成CRUD操作.
D365开发环境已设好, 开发硬件是一台12核服务器, 但硬件要求还是远远不够, 没听错, 是远远不够的.
远程登入,打开vs2015, 里面已经安装了d365的开发插件, 按Ctrl-E调出APPlication管理器:
首先, new project新建一个project dgmislrh2,项目类型选择Unified Operations.
生成project后, 再右键此project,选择properties,修改下列两处, 一个是Model, 将其改为公司应用层面的Model, 将Synchronize Databases on build设为true (这个非常必要).
再用New item -> Table来创建table ta_user:
再打开ta_user这个表, 为fields增加字段, 增加字段有多种方式, 可以手动增加然后每个字段设定宽度label这些, 也可以从预先定义好的DataType里面选中datatype,再拖到Fields里面,再改字段的名称. 又或者自已新建一个datatype ,再拖进来 .
如何字段定义为下拉框选择,该如何做? 比如fa_role。先定义一个Base Enum:
为这个enum增加三个item
完毕后,将其拖到ta_user的fields里面,并改名为fa_role.
再增加一个字段fa_country,下拉框选择,来自另一个table。首先,先增加这个Fa_country,string(20)。然后增加relate table:
然后选了另一个table AEL_parameterTable,并将此relation改名为AEL_ParameterTable. 完毕后,再选中AEL_ParameterTable 右键选择New->Normal以增加一个关联条件:
在属性里面改为如下,也就是ta_user.fa_country=AEL_ParameterTable.Code了,意思是说,fa_country下拉的数据来自AEL_ParameterTable.Code
又因为AEL_ParameterTable不止是Country的数据,还有其他杂儿杂八的记录, 所以还需要增加一个固定参数的过滤,只显示country的记录:
在上图中选择new->Field fixed, 然后属性改为如下, 也就是增加一个filter:Type必须为Country:
再增加一个unique index,再将ta_user的primary index设为这个:
至此, Ta_table已定义完毕。
接下来, 需要新建FORM ,
打开此form,然后apply pattern为simple list,然后依次:
- 将ta_user拖到此form的datasource里面
- 选中Design ...建立action pane
- 新建Group
- 新建Grid,将datasource里面的字段拖到grid里面
5.点击第2点的Group,再new QuickFilter,再点击QuickFilterControl1,将属性里面这几个item设置好。
IDE的下面区域有preview:
至此, FORM也设计完毕。
接着需要为这个FORM增加一个启动菜单:
然后修改Label和Object, Label很多地方都需要设置,因为篇幅原因就没细说,而且正规来说, 不应该直接输入内容,而是将其放在resource file里面,在这里引用label key的。
启动菜单定义好,我们需要将其加到主菜单里面,比如想加到这个菜单组里
那么,需要在aot里面搜索, 找到ProductInformationManagent,再右键选择create extension建立一个新的扩展ProductInformationManagement.dgmislrh_Extension:
打开新扩展,新建一个sub menu ael_modification, 然后将project里面的mn_dgmislrh_ta拖至此sub menu里面即可:
完毕后, 点选project,右键点击Build,然后耐心等吧,2分钟后编译完毕。
然后打开浏览器,发现菜单已成功安装,点击进入:
========
完毕。