摘要:后记: 最近发现其实AX里的类Info已经提供了相应的静态方法infoCon2Str来实现这个功能,所以可以直接调用这个方法去实现本文所说的功能,本文不看也罢。 AX用Infolog去管理用户操作中的出错或者提示信息,最后用SysInfologBrowser这个窗体去展现,但如果通过.NET Business Connector之类的去调用AX的系统类就不可能用这种方法了,因为不可能将窗体通过.N...
阅读全文
摘要:正如前文所说的,AX的很多功能与窗体绑定了,需要剥离出来,有一些类提供了供其他代码直接调用的方法,比如PurchFormLetter及SalesFormLetter的Update方法,它们就帮忙处理了Parm*等一系列的表,并自动过账,于是客户段代码可以很方便地调用它们。但也有一些类没有提供类似的方法,就需要我们自己去处理Parm*表,比如转移单的装运和收货,本文仿照PurchFormLetter...
阅读全文
摘要:AX有个问题是很多功能都跟表现层窗体绑定在一起,要用代码直接实现某个功能就需要看窗体中的代码是如何处理的并将其剥离出来。 比如领料和登记功能,它都封装到了窗体InventTransPick和InventTransRegister中,虽然也是通过类InventTransWMS,InventTransWMS_Pick和InventTransWMS_Register实现相应的功能,但如果要通过代码直接实...
阅读全文
摘要:AX采用库存维度检查,在库存的各个环节都会检查库存维度,我们知道check的任务大部分都交给了InventMovent系列的类去完成了。 库存维度检查主要有两个层面的任务: 1.用户指定的维度在相关主表中是否存在; 比如InventSize,InventColor,InventBatch,WMSLocation中是否存在相应的记录。 2.不允许为空的维度用户是否已经指定。 比如如果库房维度处在激活...
阅读全文
摘要:开发了大半,遇到这样一个需求: 1.自己创建的表,要加上公司的简称做为前缀; 2.自己创建的表的字段不需要添加公司的简称做为前缀; 3.在系统原有的表上添加的字段要添加公司的简称做为前缀。 创建的表太多了,一个个修改是重体力活,于是写了个Job来完成,在这里记录一下: static void ModifyTableAndFieldNameOfSomeProject(Args _args) { ...
阅读全文
摘要:新创建一个类TestClass,用代码修改其类名为NewTestClass: static void ChangeClassName(Args _args) { #AOT TreeNode treeNode = TreeNode::findNode(#ClassesPath+'\\TestClass'); ; treeNode.AOTsetProperty("...
阅读全文
摘要:这两天折腾在Windows2008装AX2009,MOSS2007,Project Server 2007,打了N个补丁后终于全部装上了,角色中心,EP,WorkFlow也配好了,可AX2009的速度无比慢,点类边上的+都要半天才能列举出方法列表,或许是我可怜的HP本本配置太低,运行这个虚拟机太费力。。。但AX4.0+Windows2003在虚拟机上运行,消耗的资源差不多,运行得蛮好。搞不清楚是A...
阅读全文
摘要:经常要用代码创建采购和销售订单,需要弄清楚哪些字段是必输的,这段代码经常需要拷贝,放在这里做个备份。 static void CreatePurchDirectly(Args _args) { PurchTable purchTable; PurchLine purchLine; InventDim inventDim; ; ttsbegin; ...
阅读全文