随笔分类 -  AX 2009

摘要:本文描述库存模块中最重要的两个类InventMovement和InventUpdate,当然这两个类还有相应的子类.毋庸置疑,AX中库存模块至关重要,我的理解是与财务模块并列两大基础模块,其他模块都依赖于这两个模块,当然从独立性的角度来看,库存模块也依赖于财务模块,因为库存的变动要在财务上有所体现,其他模块只要涉及到库存的变动都由库存模块去实现,具体的实现就是由InventMovement和InventUpdate去做的.一.类设计首先按照我的理解分析一下AX为什么要用InventMovement和InventUpdate两个类来做处理库存的变动.先来看一下InventMovement和Inv 阅读全文
posted @ 2012-08-09 17:01 adingkui 阅读(2072) 评论(0) 推荐(1) 编辑
摘要:上一篇说了资金流,这一篇就扯一下信息流,在软件设计的时候信息流可能有很多想法,每个人对信息流的理解也不一样,所以也没有统一的标准。我这里所分成的信息流,现金流和物流仅仅是为了分析销售开票这个过程,人为地按照我自己的理解把代码分割了一下,便于整理,如此而已。我这里提到的信息流是指在销售开票的过程中用哪些表和代码记录了与客户相关的信息。企业折腾的过程最终是为了赚钱,所以最后总会落脚到Money,也就是上文提到的那些财务凭证。在从物料转化成Money的过程中,需要记录一系列的信息,要不然将来客户说凭啥给你钱?当然这只是一方面了,还有很多情况,比如一个销售订单可能要多次发货和开票,需要记录每次开票的信 阅读全文
posted @ 2012-08-09 16:51 adingkui 阅读(652) 评论(0) 推荐(0) 编辑
摘要:一直在想怎么才能更清晰地描述一个过程的代码,如果采用类似时序图的方式描述,看到的只是这个方法调用了另一个方法,然后一次调用下去,这样写了感觉用处不大,下次要做客制化还是要重新去跟踪一遍,没有起到梳理代码的目的。细细想想,不管代码怎么编排,它的目的都是要实现业务的需求,而代码用各种模式去设计,无非也就是为了便于修改,更加有效地从数据库里读取和写入数据。于是可以把整个过程分解为三个阶段,就像把大象关到冰箱里拢共分几步一样。前段是业务,后端是表结构,中间是代码。变化最大的是中间的代码,如果一头钻进代码里,后果很有可能是云深不知处。于是我想可能更好的分析代码方式是抓住两头,梳理中间。首先要搞清楚这段代 阅读全文
posted @ 2012-08-09 16:49 adingkui 阅读(1269) 评论(0) 推荐(2) 编辑
摘要:响应键盘事件为了响应键盘事件,AX增加了一个系统方法task,在用户点击某些键时会调用Form的task方法,如果想对这些键实现自己的响应,可以重载task方法,在其中判断当前的_taskId为哪个值,再写自己的响应code.比如用户选中ALT时,如下代码所示:publicinttask(int_taskId){intret;#Taskif(_taskId==#taskAlt)info("Iam'Alt'");returntrue;}由于Task方法的调用是由平台实现的,没找到它实现的代码,并不是所有的按键都会调用task方法,只有在宏Macro->T 阅读全文
posted @ 2012-08-09 11:25 adingkui 阅读(347) 评论(0) 推荐(0) 编辑
摘要:AX通过菜单可以多次打开同一个窗体,有些客户想同一个窗体只打开一次,如果第二次点击就把原来已经窗体显示在最上面。AX提供了一些API用来做这事,并且有合适的入口用来增加一些处理代码。1.修改类工厂ClassFactory的FormRunClass方法FormRunformRunClass(Argsargs){#FormCacheMarkHwndhwnd;;if(infolog.globalCache().isSet(#FormCacheMark,args.name())){hwnd=infolog.globalCache().get(#FormCacheMark,args.name());Wi 阅读全文
posted @ 2012-08-09 11:19 adingkui 阅读(303) 评论(0) 推荐(0) 编辑
摘要:public class ROG_Document{ Object obj; FormDataSource FDS; Common common; QueryRun qr; Str parmStr; Int hwnd; ROG_DocumentTable documentTable; HRMApplicantTable appli... 阅读全文
posted @ 2012-07-19 17:01 adingkui 阅读(325) 评论(0) 推荐(0) 编辑
摘要:在AX 2009 中EXCEL的导入导出是经常会做的事情,很多客户用习惯了EXCEL,都喜欢直接在EXCEL里面去添加数据,不习惯在AX系统里去录数据,这样的话,我们就需要将EXCEL录入的数据导入到AX系统。 要想没有任何问题的将EXCEL里的数据,准备的录入到AX中,我们需要得先在AX中生成EXCEL的模版,用户将根据AX系统提供的模版进行录入数据。这样达到准确无误的将数据添加到AX系统中,具体的实现代码如下。1,类,全局变量定义public class RGD_SalesOrderLead extends runBaseBatch{ #Excel dialogfield... 阅读全文
posted @ 2012-07-19 15:36 adingkui 阅读(1339) 评论(0) 推荐(0) 编辑
摘要:做过AX的人,对outlook发送邮件都应该非常熟悉,但是,要将AX中的附加图片和文档,一起附加到outlook并发送。我觉得还是值得一说的。 我还是以拿出代码和大家分享吧。 void sendEmail() { COM outLook; COM item; COM attach; COM cc; System.Net.Mail.MailAddress adrSend; str subPath; str strSubject; str userid; int i; System.Text.RegularE... 阅读全文
posted @ 2012-06-28 14:14 adingkui 阅读(1129) 评论(2) 推荐(1) 编辑
摘要:AX 2009中不能直接像.net用正则表达式,要想实现验证,还需要自己写逻辑,这样既耗时间,又容易出错。如果我们能借助.net的类库。我们同样可以像在.net那样使用正则表达式。那就很容易实现验证。具体的做法: 我已邮箱的验证方式来进行讲解。 首先,在逻辑方法中定义System.Text.RegularExpressions.Regex reg,然后实例化reg = new System.Text.RegularExpressions.Regex("^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$"); 实例化后,进行判断 if(reg.IsMa 阅读全文
posted @ 2012-06-28 14:03 adingkui 阅读(409) 评论(0) 推荐(1) 编辑
摘要:AX2009生成WCF服务实现步骤一,准备AIF环境1,Rerun the setup.exe that installs Microsoft Dynamics AX.2,Click the Add or modify components option.3,Select AIF Web services. This install cannot succeed unless .NET Business Connector is already installed.4,As you click Next to continue through the forms of the setup wi 阅读全文
posted @ 2012-06-28 13:21 adingkui 阅读(900) 评论(1) 推荐(0) 编辑
摘要:在ax2009中,只能对表字段进行筛选过滤。如果在窗体上显示的不是表字段而是一个display 方法。是不可能像字段一样过滤。如图要想对display进行筛选过滤,必须在对应的窗体下面的grid里找到对应的display方法字段。然后重载context方法,并添加如下代码public void context(){ int selectedMenu; formrun fr; Args ag; Name strtext; querybuilddataSource qb1; queryrun qr; query q; PopupMenu menu = new PopupM... 阅读全文
posted @ 2012-06-28 13:01 adingkui 阅读(904) 评论(0) 推荐(1) 编辑
摘要:在x++中,我想导出到excel时,感觉在excel每一列都让用户来输入,感觉很不方便,并且有的列是固定的某个值,比如说导出的某一个字段它只能输入"是"或者"否",如果每次要用户输,既是浪费时间,也容易输错,再做导入的时候就很麻烦!所以我想在导出模版的时候,希望在某些列有下拉框,这样的话,就用起来要方便一些,昨天想了一天,感觉没有什么头绪!!!郁闷!!!! 阅读全文
posted @ 2011-05-25 09:26 adingkui 阅读(470) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示