摘要:为了响应键盘事件,AX增加了一个系统方法task,在用户点击某些键时会调用Form的task方法,如果想对这些键实现自己的响应,可以重载task方法,在其中判断当前的_taskId为哪个值,再写自己的响应code.比如用户选中ALT时,如下代码所示: public int task(int _taskId) { int ret; #Task if( _taskId...
阅读全文
摘要:在X++中调用.NET的Assembly写文件的代码如下: static void WriteFile(Args _args) { System.IO.FileMode fileMode; System.IO.FileStream fs; System.IO.StreamWriter sw; ; try { ...
阅读全文
摘要:列举出某个目录下所有的文件,C#代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace CLRIntegration { class Program { static void Ma...
阅读全文
摘要:AX4.0SP1本地化有一个金税系统,据说国内基本上没人用,今天客户要修改一下这个东东,对金税系统不是很熟,据说金税要求客户银行的名称. AX中能与金税系统进行字段映射的表是写死的,并没有客户银行CustBankAccount这个表,这也可以理解啦,金税接口毕竟是个相对比较死的东西,所以写死也无所谓.但这样如果要增加字段映射的表,比如要增加CustBankAccount这个表,就需要修改代码,修改...
阅读全文
摘要:在AX中有两种发送邮件的方式,一种是使用类SysMailer通过CDO.Message组件发送,另一种是通过SysINetMail这个类使用AX封装的MAPI这个类去发送邮件,其中后者实际上是调用Outlook的COM组件实现的,当然会把已经发送的邮件保存在客户端的Outlook中,本文主要讨论使用后者所遇到的问题. 我们在使用批处理发送邮件的功能时会出现一个对话框让点击确定,批处理发送邮件的功能...
阅读全文
摘要:从接触AX以来就对View讳莫如深,因为一直觉得视图并不能很好地解决效率问题,或许是在用C#写代码的时候写了太多复杂SQL语句,效率极其低下,后来就非常不喜欢写复杂的SQL语句,宁可多在数据库和服务器之间多走几个来回. 其实在AX中View还是蛮有用的,AX将View当作一张表使用,可以用tableNum等之类的内置函数,View可以用作Form的DataSource,当创建View的时候也可以通...
阅读全文
摘要:本文内容来自>,仅供AX爱好者学习交流之用,因原文版权问题,请勿转载,谢谢. RecordViewCache允许通过X++代码建立成批记录(译注:原文是set-based,意思就是一批记录而不是一条记录的意思,翻译起来还很真别扭)的缓存.通过如下代码初始化缓存: select nofetch custTrans where custTrans .accountNum == '4000'; reco...
阅读全文
摘要:光阴似箭,日月如梭(唉,文笔匮乏至此,从小学老师学到的词一直用到现在,虽感忒俗,却想不到其他词来代替),不知不觉,接触AX马上就满两年了,写点东西算是对这两年的总结。 接触AX实属偶然,也是无奈之举。在接触AX的前两年多时间里一直在用ASP.NET跟一群同事在做分销的解决方案,当时大家怀揣梦想,要做中国第一分销解决方案,虽然现在想想有些夜郎,不过那时候的日子简单而快乐,每天研究一些C#的技术细节...
阅读全文
摘要:AX提供了一些内置函数用来获取数据的类型,比如Typeof(),比如ClassIdGet(),TypeId(). 这里只讨论一下TypeId(),查了半天都没找到关于这个函数的描述,倒是Inside AX这本书对TypeOf()有所描述: Typeof()这个系统函数以变量实例为入参,返回入参对应的基本类型,比如下面的例子: int i = 123; str s = "Hello world"; ...
阅读全文