摘要:在项目初始化的时候,可能需要修改某些字段的长度,这样就需要知道该字段对应的EDT类型,由于字符的长度只能从最上层的EDT类型修改,所以需要找到这个类型,如果EDT类型的继承层次很多的话,一个个找下去是一件很累的事情,如果能根据表名和字段名找到对应的EDT类型列表可能会减轻一些工作,写这段代码也很简单,类似于如下代码:[代码]
阅读全文
摘要:在AX中数量和金额的EDT类型的基类型都是Real,虽然创建EDT类型的时候,选择的是real,其实叫做Decimal更符合实际情况,因为这种类型的EDT类型在SQL Server里都翻译成numbric类型,因为处理数量和金额的时候要使用精确的计算方式,而不能采用float和real之类的近似数据类型。MSDN关于这些类型的可以参照如下链接:http://msdn.microsoft.com/z...
阅读全文
摘要:AX从4.0开始增加了一个我的收藏夹的功能,这个功能跟IE的收藏夹功能类似,可以把自己喜欢的东西拖到收藏夹里,IE的收藏夹可以通过拷贝My Favorite文件夹的方式实现,AX的收藏夹想转移怎么办那?AX收藏夹的数据都序列化到了表SysPersonalization的字段Buffer里,可以通过这个表的字段实现备份恢复收藏夹的目的:[代码]在这里记录一下,免得以后想用的时候忘记了。
阅读全文
摘要:文件传输设计成在后台执行的Windows Services,在配置文件中定义执行数据上传下载的时间,这样就需要定义个Timer来检查指定的时间是否到达,以便执行相应的操作,在.NET中有几个类库中有Timer的定义,具体的内容可以查看MSDN。我使用了空间System.Timers里的Timer,Timer可以设置时间间隔,每隔一定的时间执行由ElapsedEventHandler定义的事件,由于...
阅读全文
摘要:.NET的类库中有一些操作FTP的类,不过用起来都没不是很直观,需要一些封装才比较好用,在sourceforge上找到一个人写的FTPClient,这个类对.NET的类库System.Net.Sockets进行了一定的封装,主要是使用了其中的类TcpClient,通过这个类发送一些FTP协议定义的命令,比如LIST,RETR等,从FTP服务器上获取相应的信息,该类在http://sourcefor...
阅读全文
摘要:异构系统之间的交互有很多种方式,AX的AIF框架通过文件,Web Services和MSMQ等提供了实现各种交互方式的可能性,井底之蛙的缘故,总觉得这些方式有些隔靴搔痒的感觉,做为AX来说,它不可能针对其他的非主流异构系统提供相应的接口,它只能定一个接口标准,让其他的异构系统去按照它的格式准备数据,为了通用,它尽量采用XML等标准的格式文件,其它异构系统必须按照它的格式去准备接口数据,写这个接口这...
阅读全文
摘要:客户销售订单的数据量比较大,一个销售订单有3000多行的样子,用代码插入后,查看增值税没动静了,以为死机了强行关掉,如此往返几遍问题依然。于是在TradeTotals的calc方法里加一段代码写日志文件的代码,记录处理时间和条数。发现日志文件还是在不断增加的,于是知道它没死循环或者死锁,应该是速度慢,于是放之让其自己跑,大约过了2个小时,终于跑完了,分析日志文件,前1000条记录还凑合,运行时间不...
阅读全文
摘要:在写代码的时候遇到一个非常奇怪的问题,感觉是AX类Application的setDefaultCompany和ChangeCompany方法冲突了。我要实现的功能很简单,从外部数据中读取数据,然后写到相关表中,因为外部数据表中包含多个公司的数据所以我要用到ChangeCompany,根据情况把数据插入到不同的公司中,如下所示:[代码]其中调用的方法insert_AXSalesLine如下所示:[代...
阅读全文
摘要:在AX2009里新增了一个关键字CrossCompany,这个关键字让查询多个公司的数据的语法变得简洁,如下所示:[代码]查看执行的SQL语句如下所示:[代码]可以看出在增加了关键字CrossCompany之后执行的SQL语句已经没有DataAreaId的限定了。如何限定选择某几个公司那?比如只选择"001"和"002"公司。需要在关键字CrossCompany后面加一个Container变量限定...
阅读全文
摘要:AX支持多公司帐套,如果一个集团公司有多个分公司,可以通过创建多个公司帐套的方式来实现,在写代码的时候会遇到需要切换公司的时候,AX2009提供了两种方式来实现多公司数据的查询,内置方法ChangeCompany和关键字CrossCompany,学习笔记在这里记录一下,这篇文章先说一下ChangeCompany.比如有两个公司"001"和"002",如果当前公司是"001",想切换到002公司进行...
阅读全文