首页 > TAG信息列表 > D365

D365: Workflow避免同一审核人多次审批

D365中当一个员工身居多职或者承担多个角色时,针对这样的场景,我们在配置审批流过程当中,难免会遇到,在配置的审批节点时,同一个人会出现在多个审批节点中,用户就会出现,同一张单需要进行多次审批,为了避免这种情况,需要通过对标准的审批流进行二次开发,涉及的开发主要需要扩展两个关键的类

D365: 添加客制化表作为财务维度

1,创建表VyaFDCAPEX     注意事项 - 必须添加delete,renamePrimaryKey,writeCrossCompany方法 public void delete() { // Check to see if the associated dimension attribute value has been used // in a way that would prevent deletion. if (

D365: 邮件附件中文名乱码问题

在D365中,发送QQ,163,Foxmail邮箱如果附件名称中带中文名,收件箱的附件名称出现乱码解决方案 增加c# class library using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Mail; using System.

D365: Info添加超链接到主表

//D365 Info添加超链接到主表 public void showMessage(PurchTable _purchTable) { MenuItemMessageAction menuItemMessageAction = new MenuItemMessageAction(); menuItemMessageAction.MenuItemName(menuItemDisplayStr(PurchTable)); menuItemM

D365: 使用Pdfsharp合并多个pdf文件

Pdfsharp获取路径 https://sourceforge.net/projects/pdfsharp/ D365FO中,可以利用Pdfsharp来合并多个pdf文件 使用场景 D365FO可能有需要将不同的报表、不同的附件,或者报表和附件进行合并,存储在一个pdf文件中,这时我们可以利用Pdfsharp来实现我们的需求,具体代码如下 //Report生成P

D365: Web API测试工具(Postman)

在D365中,经常需要和第三方系统做数据交互,会经常写一些接口,提供给第三方系统进行调用,当我们写完接口后,需要做一些模拟测试,来验证接口是否可以被正常调用,数据是否可以正常传递,一般情况下,我们用的最多的方式是,在VS中写一个C#脚本工具来做认证并访问D365 API进行验证,这种方式也比较简

D365: 通过集成应用程序的财务维度配置导入财务维度

在D365FO中,集成应用程序的财务维度配置可以设置财务维度的格式,用来方便做数据导入,借助此功能,如果有需求导入带财务维度相关的数据时,我们可以在集成应用程序的财务维度配置界面,定义我们需要的格式,然后通过以下代码进行调用,就可以生成需要的财务维度的RecId。 [ExtensionOf(tableS

D365: New Grid Control Feature

D365新的Grid控件 新发布的Grid控件提供了非常丰富的功能,将excel很多功能都搬到了D365中,极大的方便了终端用户的操作,具体新增的功能测试如下 1,添加Grid的页脚功能     2,支持Grid控件中的列重新排列    3,支持Grid中对列进行分组,汇总已经冻结列    4,Grid列中可以输入数字公

D365: 笔记(VS无法打开表浏览器)

再VS中会经常遇到,无法在AOT打开表浏览器,报如下错误    解决办法 在VS中打开SQL Server Object Explorer,然后再尝试打开表浏览器,报错消失。  

Deploy D365 on Azure with PowerShell

The following walkthrough demonstrates how to use the Example-1VM.ps1 script of the Microsoft Dynamics NAV Provisioning Tools for Microsoft Azure to deploy Dynamics NAV on Microsoft Azure from a local computer. The walkthrough deploys the Dynamics NAV com

D365 FO无法命中断点

在代码中添加断点,在Debug中把IIS进程附加以后,一直不能命中断点,这是VS中D365 FO的配置导致的。    这个勾默认是勾选的,只会加载当前解决方案的代码,所以断点无法命中,建议第一次配置环境的时候就去掉,全部加载这个用不了多少时间。

D365-Apply multiple Retail discounts to a product

Apply multiple Retail discounts to a product   Overview This topic reviews all the factors considered when multiple discounts can be applied to a product. In this scenario, the commerce pricing engine applies as many discounts as it can, to maximize the t

D365 FO Json序列化和反序列化

在.NET里Json的序列化和反序列化通常使用NewtonSoft这个类库,但是这个类库只能序列化反序列化.NET的实体。在AX2012的时候,我的做法是在用.NET定义一系列实体,在AX2012里添加.NET的DLL,然后进行序列化和反序列化。在D365里也可以继续这样做,并且都在VS里,引用.NET的类库更加直接很简单,可

D365 FO操作Azure Blob

 在AZure里,一般用Azure Blob做数据传输的中间媒介,D365 FO的数据生成到Blob里,其他系统从Blob里获取,或者相反,这样就不用单独设置FTP服务器了,当然这个是要钱的。要想使用Blob,需要在AZure上创建存储账号,创建好存储账户以后,就可以设置访问密钥了。  .NET提供了读写Azure里的类库,读

D365 FO 使用.NET DLL

D365FO引用.NET DLL比AX2012更方便,自己用C#写一个功能,在X++中引用也非常简单,具体实现方式可以参照D365FO的开发文档。https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-tools/write-business-logic文档里已经说得非常清楚了,这里就不赘述了。整个model编

D365 FO第三方集成(三)---服务实现

D365 FO的Custom Service的实现比AX2012简单了很多。AX2012服务方法要用属性SysEntryPointAttribute标记,添加到Services以后,还要发布服务并在系统管理入站端口添加操作,服务运行在CIL下,所以每次改动服务方法的代码都要增量生成CIL。AX2012只支持SOAP,不支持Restful,个人偏爱Restful,

D365 FO第三方集成(二)---访问认证(获取访问令牌)

D365 FO 在github上发布了第三方访问D365 FO的示例代码,里面包含了各种调用示例,代码很清晰。https://github.com/microsoft/Dynamics-AX-Integration这篇blog简单分析一下代码中获取访问令牌的部分代码。与获取访问令牌相关的代码有两个类ClientConfiguration和OAuthHelper。Clien

D365 FO最佳实践BP(六)-Delete Actions缺失

在从表上可以创建与主表的Relation,如果没有定义Delete Actions,会报BP警告。BPCheckMissingDeleteActions: Delete actions missing in table subTable which is related to table parentTable with relation name  relationName。创建Delete Actions的目的是为了保持数据的一致性

D365 FO执行进度显示

对于长时间执行的任务,D365 FO为了通知用户处理的进度,新增了一个进度条显示,如下图所示:  这个功能在AX2012及之前的版本是没有的,之前的版本是通过SysOperationProgress类来实现进度的显示,这个进度条跟界面的在一个线程,所以用户点击界面是是没响应的。D365 FO对于长时间操作启用进度

D365 FO 枚举类型construct

在D365之前,一个枚举类型对应多个子类需要实例化,通常会在construct里用switch case语句根据不同的枚举值实例化不同的子类。这种做法的问题在于,对扩展不友好,如果枚举类型增加了新的值,想扩展,即便通过CoC扩展construct方法也是很困难的事情。D365为了实现扩展性,针对这种场景,用了Attri

D365 FO编译Model

开发环境突然遇到一个问题,打开任何窗体都报窗体打不开,接着报MenuItem defaultdashboard 打不开。通过如下方法解决了:编译自己项目客制化创建的整个Model,编译通过,不要让它出现任何错误。因为正常情况下,开发只编译自己的Project就可以了,从Devops上同步下来的其他开发人员开发的代码

记D365开发的最佳实践

前端JS 不同的需求应该划分模块,以便日后修改,也是为了职责分离,模块分离,日后如果想分离到单独的JS文件里面也是比较方便; 对于公共的查询函数,应该做缓存,优先使用sessionStorage。 多个查询可以并行的,就并行查询。 通常一个需求会同时在onload和onchange中同时调用,需要区分的不同点,不