D365入门: 一行代码不用建一个用户维护模块 ...

2023-10-11 18:18

本文主要是介绍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,然后依次:

  1. 将ta_user拖到此form的datasource里面
  2. 选中Design ...建立action pane
  3. 新建Group
  4. 新建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分钟后编译完毕。

然后打开浏览器,发现菜单已成功安装,点击进入:

 

 

========

完毕。

这篇关于D365入门: 一行代码不用建一个用户维护模块 ...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/189935

相关文章

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(