摘要:通过AX2012的WCF服务调用AX2012的方法时,如果方法里调用了QueryRun对象时,会报错,报错信息如下:System.ServiceModel.FaultException: 无法将类型为“Dynamics.Ax.Application.QueryRun”的对象强制转换为类型“Dynam
阅读全文
摘要:尝试运行报表的时候出现Error while setting server report parameters.Error message:报表参数"AX_CompanyName"的DefaultValue表达式包含错误:文件存在。(rsRuntimeErrorInExpression)这个错误的确...
阅读全文
摘要:尝试在SQL Server2014上安装AX2012 R2的Reporting Services扩展失败,出现如下错误:"Could not load file or assembly 'Microsoft.SqlServer.BatchParser, Version=10.0.0.0, Cultu...
阅读全文
摘要:由于AX2012的数据结构比较复杂,通过Excel直接导入表的方式很多数据已经难以导入,比如物料信息,2009只需要导入InventTable,InventTableModule和InventItemLocaiton三张表就可以了,但是到了2012就需要导入很多表。AX2012 DMF导入工具整体来...
阅读全文
摘要:今天在Win 8的IIS上部署WCF Services,访问SVC文件时出现找不到处理程序的错误,以前遇到这个问题时都是尝试通过注册asp.net的方式处理一下,但是在Win8下这招不灵了,出现如下提示:在Windows功能中已经安装了asp.net4.5要想正确使用WCF 服务,还需要启用.NET...
阅读全文
摘要:安装程序跟DAX2009大同小异,不过这验证需要的组件也太多了,简直是.NET Framework大阅兵啊,各种版本都需要安装,特别是VC++从2008一直装到2012,有点崩溃。。。DEMO数据的安装跟DAX2009通过DAT文件导入和还原数据库的方式不同,它使用一个Test Data Trans...
阅读全文
摘要:AX2009的预留不支持根据库位类型预留(至少我没发现),这样可能预留到收货,发货库位,感觉不太合理的,好处是AX可以方便地修改来满足要求,加几行代码就行了,在这里Mark一下。类InventUpd_Reservation的updateReserveMore方法
阅读全文
摘要:在窗体记录信息窗体上有个重命名的功能,可以把用到某个表主键的从表信息统一进行更新,常用的可能是更新物料编码,会计科目代码等。有时候需要统一按照某个规则批量更新物料编码和会计科目代码等,一个个通过窗体的重命名操作会有些麻烦,可以使用主表的renamePrimaryKey写一段代码来批量更新,不过如果遇到数据量很大,并且这个字段没建索引的话,就有的等了,可能N个小时都没反映。renamePrimaryKey这个方法是内置的,并没有公开它的代码,不过推测的话,它应该是通过反射数据字典找到哪些表用到了表的主键,比如哪些表用到了LedgerAccount,哪些表用到了ItemId之类,通过AX提供的反射
阅读全文
摘要:遇到一个需求,需要将多个文件拷贝到同一个Excel的不同Sheet中,每个文本文件一个Sheet,Sheet的名字用文本文件的名字,使用VBA可以很方便地实现这个功能,不过一直对于VB的语法有些生疏,放在这里做备份。Sub importTextFiles()'' Import Text Files to a Excel File.''Dim FilePath, FileNameFilePath = "D:\Items\"FileName = Dir(FilePath + "*.txt")Do While FileName
阅读全文
摘要:写了一个WCF Serivces供外部程序通过.NET Businesss Connector调用AX的代码,第一次调用的时候总是很慢,有时候甚至超过1分钟,访问地址改成http://localhost的时候第一次调用又很快,改成IP地址后第一次就非常慢。之所以这样是因为通过添加服务引用的方式生成的配置文件里,默认把useDefaultWebProxy设置为true了,这种情况下在连接WCF Serives的时候客户端总是尝试查找代理,找不到后再直接连,这个时间很长,所以会出现超时,解决办法是把这个属性改成false,不让它找代理。<?xml version="1.0"
阅读全文
摘要:今天遇到一个奇怪的问题,在这里登记一下,备查。版本Dynamics AX2009 RU7为了限定用户多次登录系统,在info类的startupPost方法里写了一段代码:voidrestrictLoginTwice(){//TorestrictuserloginformsecondloginxSessionsession;SysClientSessionsSysClientSessions;UserIdcurrentUserId;intcounter;;currentUserId=curUserId();if(currentUserId!="Admin")//AllowAd
阅读全文
摘要:本文讨论Dynamics AX2009的版本为RU7,Application版本号为5.0.1500.4570.由于对财务知识的匮乏,本文权当抛砖引玉,期望得到精通财务的AX专业人士的指点,共同找出应用Dynamics AX2009的加权平均算法的合理方式。本文分为两个部分第一部分是测试用例,使用Dynamics AX2009 RU7进行加权平均算法的测试。第二部分为代码分析。测试用例由于国内一般都会包含已收货或者已发货但是未开票的物料成本,所以本文的测试用例使用的物料包含物理库存,使用加权平均法进行库存关帐。库存成本的计价方法以及是否包含实际成本,是在库存模型组设置的,且AX的逻辑是月中使.
阅读全文
摘要:以前安装SQL Server 2008都没啥问题,今天安装在自检的时候突然出现如下错误:查看详细信息,提示The performance counter registry hive is corrupted. To continue, you must repair the performance counter registry hive. For more information, see http://support.microsoft.com/kb/300956看了一眼这个300956,算了,折腾死人了。这个操作系统是新装的,搞不清楚为什么会出这样的问题,在网上找了半天,找到了一个方.
阅读全文
摘要:对于数字类型,WPF里的DataGrid不像AX那样可以自动格式化,需要写代码自己处理,AX这样的小众平台都能做到,WPF为啥要每个程序员自己折腾,可能是要考虑每个人的喜好吧。<DataGridTextColumnBinding="{BindingPath=OrderQty,Mode=TwoWay,UpdateSourceTrigger=LostFocus,StringFormat='n2'}"Header="叫货数量"><DataGridTextColumn.CellStyle><Style><
阅读全文
摘要:很多时候需要追踪记录的变更情况,AX里有数据库日志来完成这件事情,操作路径为:系统管理->设置->数据库日志.如果按照向导添加后没看到相应的记录,可以尝试如下方法,选中生命科学电子签名。系统管理->设置->系统->配置->生产系列1->生命科学电子签名--
阅读全文
摘要:最近遇到一个直接交运过账的问题,应该是AX2009系统的bug。背景:如果需要把采购的物料直接由供应商交付给客户,需要用到直接交运功能,AX2009的实现方式是采购订单收货的地址直接写客户的地址,在采购订单过账装箱单时自动过账销售订单的装箱单。问题重现:环境:操作系统:Windows 2003AX2009: SP1+RU7 5.0.1500.4570数据:使用AX2009的DEMO数据库的CEU公司1.创建一个销售订单2.创建销售订单行选择1000和5008两个物料3.设置销售订单为直接交运4.创建直接交运的采购订单,功能->创建直接交运5.自动产生两个采购订单,分别对应销售订单的一行6
阅读全文
摘要:出差费用管理模块主要分为两个部分 支出和预付,一般公司称之为报销和请款,也就是出差之类费用的报销和出差前向公司预支一部分现金。AX的出差费用管理模块基本能满足一般公司的请款和报销需求。一般业务上需要满足如下功能:1.提供界面让用户可以输入请款和报销2.提供审批功能涉及到公司钱的问题,一般需要审批3.请款和报销需要在总帐上有所体现,也就是生成相应的日记帐和凭证4.请款和报销需要核销,正如预收和应收需要核销一样。第1点和第2点介绍跟其他模块没啥大的区别,这里就不赘述了,唯一的区别可能就是出差费用管理模块的输入只能在EP上做。对于第3点,与其它模块一样,生成的日记帐的借贷科目需要提前设好,不可能要.
阅读全文
摘要:在前面介绍的一篇文章中介绍了用代码启动SSIS包的方法,http://www.cnblogs.com/Farseer1215/archive/2010/11/08/1871464.html,其中第二种方法必须在安装了SSIS组件的服务器上运行.如果这样处理的实用性不是很强,不可能在每一台客户机上都装一个SSIS组件,所以最好的办法是在安装了SSIS组件的服务器上安装一个服务,其他客户端调用即可,于是可以考虑用WCF写一个小程序来运行SSIS包,其他的客户端直接调用服务。1.创建WCF服务在VS2010中选择创建WCF服务库,这时VS会用WCF库的模板创建一个项目,配置文件,接口和类实现都已经.
阅读全文
摘要:从Partersource上当了AX2012的Beta版,安装了一下,顺便记录一下安装过程。由于AX2012的的结构有了比较大的变化,比如把Application files移到了SQL Server中,不再支持Oracles数据库,Workflow的运行时直接集成到AOS中,而不再需要放到IIS站点中,安装程序也有了相应的变化,安装手册里列举了几个安装程序的几个改进。比如提供了一个一次性校验安装AX2012组件所需要提前安装的程序。选择想安装的组件,点击验证按钮:会出现很多个组件让你安装:1.安装数据库正如前面提到的AX2012把AOD之类的源文件放到了数据库中保存,并且使用了Module.
阅读全文
摘要:这是个很有趣的更新,虽然不是必需的,但确实会给开发带来一定的便利,统一代码的书写方式。在ERP中很多数据是时间相关的,比如贸易协定,汇率,利息等,都有一个有效期的概念。一般我们的处理方式是增加两个字段FromDate和ToDate,用来表示这个当前记录的有效期间,然后在ValidateWrite或者insert方法中通过代码防止多条记录间日期重叠和间隔的问题。AX2012在系统层面增加了对这个功能的支持,在表的属性中增加了ValidTimeStateFieldType,有些类似于现有的CreatedBy之类的属性,选择了之后会自动创建ValidFrom和ValidTo两个字段,结合索引的使用.
阅读全文