随笔分类 -  AX 2009

摘要:在09中有时需要与公司现有的其他系统做集成,其他的系统可能使用Orcal,sql server等数据库。 在实际应用中,操作这两个DB的写法都类似,只是有些细节上的地方需要注意 1,在与Orcal做连接时需要注意两点,首先AX2009默认没有引用关于Orcal的一些dll引用,我们需要手工去增加这些 阅读全文
posted @ 2013-11-25 11:51 adingkui 编辑
摘要:1,将DLL拷贝到C:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin2,在AOT添加引用,在选择你拷贝的DLL,确定。//Accessibility3,调用JOB如下static void Job79(Args _args){ InteropPermission permission; ClassLibrary1.Class1 c = new ClassLibrary1.Class1(); ; try { permission = ne... 阅读全文
posted @ 2013-08-13 19:18 adingkui 阅读(932) 评论(0) 推荐(0) 编辑
摘要:在自己新建的Query中,想添加自己提供的函数,我们可以在系统的标准类SysQueryRangeUtil中添加自己写的函数然后在Query的Range中按照格式(method())进行调用 阅读全文
posted @ 2013-08-08 14:22 adingkui 阅读(612) 评论(0) 推荐(0) 编辑
摘要:void createLedgerJournal(IWS_PurchSettlementDetailsTable _detailsTable){ LedgerJournalName ledgerJournalName; LedgerJournalTable ledgerJournalTable; LedgerJournalTrans ledgerJournalTrans; LedgerJournalCheckPost ledgerJournalCheckPost; NumberSeq numberseq... 阅读全文
posted @ 2013-03-22 14:25 adingkui 阅读(719) 评论(0) 推荐(0) 编辑
摘要:static server void KimCreateProcedure(){ LogInProperty m_loginProperty; OdbcConnection m_connection; Statement m_stmt; ResultSet m_sqlres; Str m_strSQL; SqlStatementExecutePermission m_permission... 阅读全文
posted @ 2013-03-22 14:20 adingkui 阅读(571) 评论(0) 推荐(0) 编辑
摘要:经常遇到AX与其他系统进行集成,我们通常会在AX中连接到对方数据库,进行查询,更新,插入,或删除动作,通常会遇到一个问题,需要判断对方的数据库的表数据是否存在有NULL的数据,在AX中NULL好像只能表示字符串,其他类型无法判断。AX好像也没办法处理这种情况,我们可以借助.NET当中的COVERNT的这个类型转换类当中的IsDBNull这个方法进行处理,Systm.Convert::IsDBNull(Object _object); 阅读全文
posted @ 2012-11-28 16:28 adingkui 阅读(398) 评论(0) 推荐(0) 编辑
摘要://根据物料得到默认的仓库display InventLocationId IWS_locationId(){ InventDim inventDim; ; inventDim.initFromInventTable(this, InventItemOrderSetupType::Invent, inventDim); return inventDim.InventLocationId;//return inventDim.InventSiteId;}//得到系统当前的创建时间DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::getSystemDa 阅读全文
posted @ 2012-11-06 10:12 adingkui 阅读(379) 评论(0) 推荐(0) 编辑
摘要:根据不同的条件,分别用不同的颜色来标记行。1,创建一个表来维护不同条件对应的颜色,如图:通过下拉对照颜色来选择需要的颜色实现代码View Code //init refresh datasourcepublic void init(){ super(); IWS_ColourSetup_ds.research();}//override grid displayOption methodpublic void displayOption(IWS_ColourSetup _table, FormRowDisplayOption _options){ _options.back... 阅读全文
posted @ 2012-11-06 10:02 adingkui 阅读(549) 评论(0) 推荐(0) 编辑
摘要:1,打开AOT,新建一个Query,如图2,打开vs2008,新建一个Dynamics AX Reporting Project3,在项目中添加一个Dynamics model file4,新增一个report5,设计报表,添加在AX中新增的Query,设置参数,设计报表样式,和显示数据6,设计完成后,Sava to AOD7,回到AX系统,打开AOT,展开Report Libraries,找到在vs中设计的报表库,然后右键,部署该报表库8,部署完成后,添加到菜单上,并通过菜单打开报表,查看效果 阅读全文
posted @ 2012-10-23 12:23 adingkui 阅读(866) 评论(2) 推荐(2) 编辑
摘要:根据站点汇总库存现有量inventDimCurrent.InventSiteId = soline.inventDim().InventSiteId;//InventDim::find(soline.InventDimId);inventDimParm.initFromInventDim(inventDimCurrent);inventOnhand = InventOnhand::newParameters(soline.ItemId,inventDimCurrent,inventDimParm);//inventSum = InventSum::findSum(soline.ItemId,i 阅读全文
posted @ 2012-10-23 11:11 adingkui 阅读(650) 评论(0) 推荐(1) 编辑
摘要:有时想通过AX直接传入参数给SRS报表获取数据,可以使用如下方式void run(){ MenuFunction VendRptMI; Args Args; ; VendRptMI = new MenuFunction(menuItemOutputStr(IWS_PurchOrderSRS),MenuItemType::Output); Args = new Args(); Args.parm("PurchOrder_PurchId=00000043_062");//传递单个参数 Args.parm(”PurchOrder_PurchId=00000043_062“+ &q 阅读全文
posted @ 2012-10-23 11:02 adingkui 阅读(625) 评论(0) 推荐(0) 编辑
摘要:X++按照如图的文本文件,取出对应的每个字段值,分配给相关的表字段。View Code class ReadTxt {}void ReadTxt(){ System.IO.StreamReader m_streader; InteropPermission m_Perm = new InteropPermission(InteropKind::ClrInterop); Notes m_Notes; str s; int i=0; container c; ; m_Perm.assert(); m... 阅读全文
posted @ 2012-09-02 02:06 adingkui 阅读(415) 评论(0) 推荐(0) 编辑
摘要:想直接通过AX 进行加密,恐怕没有那么容易处理,但是我们可以通过.net提供一些类库,实现该功能,就很容易,虽然X++和c#写法有些不同,但我们稍微的做一点变化,实现这一的功能也是一件很容易的事,下面我将给出实现代码 class MD5 { } public str IWS_MD5Encoding( 阅读全文
posted @ 2012-08-26 20:38 adingkui 阅读(528) 评论(0) 推荐(0) 编辑
摘要:void init(){ FormDataSource m_formDS; ; super(); m_formDS = element.args().record().dataSource(); //多选行记录获取 if(m_formDS.mark()) //是否多行记录 { g_InventTJL = m_formDS.getFirst(1); //第一条记录 while(g_InventTJL) { this.doSomeThing(); g_InventTJL = m_formDS.getNext(); //下一条记录 } } else { g_InventTJL = element.a 阅读全文
posted @ 2012-08-26 17:21 adingkui 阅读(552) 评论(0) 推荐(0) 编辑
摘要:View Code class FormRun extends ObjectRun{RGD_SalesorderSourse SalesorderSourse ;} 有很多客户习惯了EXCEL,在他们使用AX的时候,习惯的先在EXCEL将销售,采购订单创建好,然后直接导入到AX系统中,客户有时想区分系统中地销售,采购订单是在标准系统创建的还是通过导入生成的,这样也有利于当某些订单发生某些错误的时候,可以区分是否是导入的订单的时候出现问题。 这里我以销售订单为例,记录当时我们处理的方式和逻辑。 1,订单的编码规则是根据根据订单的来源分配,如果是导入生成,则编码规则是“... 阅读全文
posted @ 2012-08-26 16:30 adingkui 阅读(907) 评论(0) 推荐(0) 编辑
摘要:今天安装分析扩展,死活都安装不上去,提示如下错误在网上找了半天If you have SQL Server 2008 Analysis Services installed and you are installing the analysis extensions, you might receive an error that says you must install SQL Server 2005 Analysis Services with Service Pack 2. This error message indicates that there is an Analysis S 阅读全文
posted @ 2012-08-23 11:48 adingkui 阅读(244) 评论(0) 推荐(0) 编辑
摘要:通过点击一个FORM的新建按钮,弹出另外一个FORM,相互传值//点击FORM的新建按钮,触发CREATE方法public void create(boolean _append = false, boolean bl = false ,boolean CreateNewItemYN=false){ Args args; FormRun formCreate; RGD_PublicationTable newPublicationTable ; MenuFunction ... 阅读全文
posted @ 2012-08-18 21:24 adingkui 阅读(622) 评论(0) 推荐(0) 编辑
摘要:系统提供了用文档处理为系统中记录添加文档,这样每条记录可以附加一份说明文档,这个功能用起来比较方便,可是有时候遇到的用户比较不够勤劳,他于是希望不点那个工具栏上的图标,直接就可以看到一些东西,比如产品的图片说明。这个时候就需要添加图片。系统是通过window控件来添加图片的,我们有几种方式可以为Widow控件来指定数据来源。 1.直接指定ImageName或者ImageResource属性,其中ImageName只能指定一个物理路径上的文件,ImageResource只能指定AOT上Resource某个节点的ID,其中第一个属性缺乏灵活性,第二个还真没找到办法得到Resources节点下图片的 阅读全文
posted @ 2012-08-11 18:16 adingkui 阅读(479) 评论(0) 推荐(0) 编辑
摘要:给多个表的Dimension字段赋初值[需求]最近遇到这样一个需求,在实施的时候把系统现有的三个纬度前两个分别用于记录分公司和部门,在做财务凭证或者销售采购订单的时候,需要给这些表相应的Dimension字段的前两个纬度赋值,用户要求根据当前用户所属的分公司和部门直接赋值,而不想自己去选择。[分析]最直观的想法就是修改各个表的InitValue()方法,给相应的表赋初值,不过这样的工作量有些大,要修改多个表,并且当需要赋初值的表增加时还需要继续修改相应的表。AX中用Map实现表方法的共享,于是考虑用Map来实现这个功能。只有Map还是不行的因为InitValue()这个方法还是在各个表上的,好 阅读全文
posted @ 2012-08-11 17:05 adingkui 阅读(369) 评论(0) 推荐(0) 编辑
摘要:经常要用代码创建采购和销售订单,需要弄清楚哪些字段是必输的,这段代码经常需要拷贝,放在这里做个备份。staticvoidCreatePurchDirectly(Args_args){PurchTablepurchTable;PurchLinepurchLine;InventDiminventDim;;ttsbegin;//PurchTable//PurchIdpurchTable.PurchId=NumberSeq::newGetNum(PurchParameters::numRefPurchId()).num(); purchTble.PurchaseType = PurchaseType: 阅读全文
posted @ 2012-08-09 22:06 adingkui 阅读(806) 评论(1) 推荐(0) 编辑

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