摘要:在从表上可以创建与主表的Relation,如果没有定义Delete Actions,会报BP警告。BPCheckMissingDeleteActions: Delete actions missing in table subTable which is related to table paren
阅读全文
摘要:同步数据库,报错 Microsoft.Dynamics.AX.Metadata.Storage.MetadataReadCorruptDataException: Microsoft.Dynamics.AX.Metadata.Storage.MetadataReadCorruptDataExcept
阅读全文
摘要:从AX2012开始,AX的View增加了Computed类型的字段,具体的操作步骤,参见下文。https://docs.microsoft.com/en-us/dynamicsax-2012/developer/walkthrough-add-a-computed-column-to-a-view#
阅读全文
摘要:为了提高效率AX表上的Display方法可以设置为缓存,在D365FO中如果display方法对应控件的Cache Data Method属性如果没有显式指定为Yes,就会报BP警告。BPCheckDisplayMethodCached: Display method methodNameon co
阅读全文
摘要:如果表的字段用到系统里已经存在的EDT类型,比如ItemId,检查BP的时候会报错。BPErrorEDTNotMigrated: The relation under the extended data type (EDT) 'ItemId' must be migrated to table re
阅读全文
摘要:当在循环中执行insert的时候,AX会给出BP提醒,比如运行下面的代码 1 public static void main(Args _args) 2 { 3 BulkInsertTest bulkInsertTest; 4 5 ttsbegin; 6 for (int i = 0 ; i < 1
阅读全文
摘要:BP只是给出一些建议,这些建议在通常情况下是成立的,但是在某些特殊的场景下,这些BP可能并不适合。同样一条BP,可能在其他场景下需要检查,这个时候就需要根据具体的代码去决定是否忽略BP,而不是整条BP规则全部忽略。在AX2012及以前版本是通过在代码里添加注释 //BP deviation docu
阅读全文
摘要:为了规范代码,AX从很早期的版本就加入了Best Practice。D365 FO的BP集成到了VS里,个人感觉D365 FO的BP检查比之前的版本更好用一些,另外由于D365 FO开发平台的快速迭代,会不断出现新的特性会导致一些写法迅速被淘汰,这些都会体现BP检查中,另外BP也会给出一些代码的建议
阅读全文
摘要:对于长时间执行的任务,D365 FO为了通知用户处理的进度,新增了一个进度条显示,如下图所示: 这个功能在AX2012及之前的版本是没有的,之前的版本是通过SysOperationProgress类来实现进度的显示,这个进度条跟界面的在一个线程,所以用户点击界面是是没响应的。D365 FO对于长时间
阅读全文
摘要:D365 FO提供了一系列的类用来做维度余额的计算。凭证的数据存在GeneralJournalAccountEntry和GeneralJournaEntry表里,维度值是表GeneralJournalAccountEntry的LedgerDimension.LedgerDimension对应的值在表
阅读全文
摘要:在D365之前,一个枚举类型对应多个子类需要实例化,通常会在construct里用switch case语句根据不同的枚举值实例化不同的子类。这种做法的问题在于,对扩展不友好,如果枚举类型增加了新的值,想扩展,即便通过CoC扩展construct方法也是很困难的事情。D365为了实现扩展性,针对这种
阅读全文
摘要:开发环境突然遇到一个问题,打开任何窗体都报窗体打不开,接着报MenuItem defaultdashboard 打不开。通过如下方法解决了:编译自己项目客制化创建的整个Model,编译通过,不要让它出现任何错误。因为正常情况下,开发只编译自己的Project就可以了,从Devops上同步下来的其他开
阅读全文
摘要:VS文本编辑器可以针对不同的语言设置,是否换行。当代码宽度很大,超过代码编辑器的宽度的时候,可以设置自动换行来显示代码。 在X++里启用了自动换行,如果方法名和签名过长,导致VS自动换行显示,再去编辑代码的时候,VS就死掉了。 方法体的代码换行没问题,方法名过长导致自动换行就会出现上述问题。所以还是
阅读全文
摘要:D365 FO与.NET的交互比起AX2012 提高不止一个层次,AX2012与.NET交互只能算半成品,有些时候需要各种稀奇古怪的转换才能用。D365 FO直接就编译成CIL了,使用.NET的类库也更加简洁。通过FTP与其他系统做交互,可以直接通过.NET的System.NET类库,简单封装一下就
阅读全文
摘要:需求:在普通日记账行上LedgerJournalTrans增加字段,将新增的字段信息写入凭证相关表中。从AX2012以后,凭证表的结构也发生了变化,AX2012之前的版本,凭证就一张表LedgerTrans,AX2012以后在,总账这边的表一分为二GeneralJournalEntry 用来存放凭证
阅读全文
摘要:AX2012与之前AX版本最大的改变是财务维度,AX2012之前的版本,财务维度通过数组实现,默认只支持3个财务维度,可以花钱增加,但总数量受限且就一个主表维护,来源固定,很不灵活。AX2012以后的财务维度不受限制,几乎所有的数据都可以拿来用做财务维度。为了实现这个需求AX2012设计了复杂的表结
阅读全文
摘要:D365 FO从10.0.0.9版本以后在Grid控件上加入了一些特别棒的特性,目前(10.0.0.10)还处在预览阶段,用户可以自行在功能管理里启用Grid的新特性,不过也要能容忍比较多的bug,毕竟还在预览阶段。这些新加的特性是D365之前版本千呼万唤始出来不出来的功能,还是非常让人觉得眼前一亮
阅读全文