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

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from