Farseer

导航

09 2006 档案

又是一年国庆日
摘要:祝伟大祖国繁荣昌盛! 愿伟大祖国的人民幸福安康! 阅读全文

posted @ 2006-09-30 14:14 佛西亚 阅读(209) 评论(1) 推荐(0) 编辑

Inside Dynamics Axapta源代码赏析(六)
摘要:第十三章:Advanced MorphX Forms讲了自定义Form的示例,包括ActiveX控件和Html代码的生成,一时理不出头绪......第十四章:Reflection 本章的示例代码主要介绍了一些操作AOT的类的用法,包括TableAPI,Dictionary和TreeNode等,用代码操作AOT里的元素,比较好玩,呵呵.第十五章:System Classes本章的示例代码主要介绍了一... 阅读全文

posted @ 2006-09-29 22:35 佛西亚 阅读(403) 评论(0) 推荐(0) 编辑

用代码创建扩展数据类型EDT
摘要:在Axapta中有两个类UtilElements和UtilIdElements,从Inside Microsoft Axapta4.0中的示例代码中,可以看到两者的应用.帮助文档一点记载都没有......我们知道Axapta把AOT的信息以*.aod后缀文件方式存放在物理磁盘中.这两个类的功能就是可以让用户用SQL的方式查询AOT中的元素,UtilElementType这个枚举类型有很多AOT中结... 阅读全文

posted @ 2006-09-29 21:46 佛西亚 阅读(450) 评论(0) 推荐(0) 编辑

用代码创建工程并添加内容
摘要:最近在做一个Wizard,需要操作AOT,用代码创建project,Table,Form,EDT等,刚试了一下用代码添加project,并在project中添加内容,唉,再次谴责Axapta的文档,一些系统类的说明居然什么都没有! static void CrateProjectAndAddNodes(Args _args){ TreeNode TNode; ProjectNode P... 阅读全文

posted @ 2006-09-29 21:08 佛西亚 阅读(312) 评论(2) 推荐(0) 编辑

Go To The Main Table
摘要:设定Go To The Main Table设定表的FormRef属性,将该属性设置为display类型的menuItem,该menuItem指向某个form就OK了,如果不设置,那么axapta会以表名为名称查找相应的menuItem,如果找不到,它就要报错说该menuItem没有对应对象了.禁用Go To Main Table找到想禁用某个Form某个字段的Go To The Main Tab... 阅读全文

posted @ 2006-09-29 20:47 佛西亚 阅读(513) 评论(2) 推荐(0) 编辑

Inside Dynamics Axapta源代码赏析(四)
摘要:第八章:Developing Applications Using Business Connector 这一章的代码主要演示如何通过Business Connector与Axapta交互在Dynamics Axapta的客户端安装目录中找到Microsoft.Dynamics.BusinessConnectorNet.dll这个文件,添加到VS.NET的工程中.1.HelloWorldBC.cs... 阅读全文

posted @ 2006-09-26 21:44 佛西亚 阅读(865) 评论(0) 推荐(0) 编辑

Inside Dynamics Axapta源代码赏析(三)
摘要:第七章:Extending Dynamics Ax 使用该章的某些工程前需要在 系统管理->设置->电子邮件参数处 设置好相关的参数,当然如果不想用示例代码中的发邮件功能,可以将其注释掉,后面结合具体代码解释.A.InventItemCreateWizard功能:一个添加料品的向导,从技术面上来说的话,介绍了如果制作一个Wizard,步骤如下:1.实现一个继承自SysWizard的类,重载其中的... 阅读全文

posted @ 2006-09-26 21:44 佛西亚 阅读(680) 评论(0) 推荐(0) 编辑

Inside Dynamics Axapta源代码赏析(五)
摘要:第十二章 The Database layer 1.更改RecVersion AX4.0使用了乐观并发控制,RecVersion是用来标识记录版本的。 static void RecVersionChange(Args _args) { CustTable custTableSelected; CustTable custTableSelectedForUpdate; Cu... 阅读全文

posted @ 2006-09-26 21:44 佛西亚 阅读(596) 评论(0) 推荐(0) 编辑

Inside Dynamics Axapta源代码赏析(二)
摘要:C.NumberSequence作用:如何给特定模块的某个类型增加编码规则,该工程示例了给销售模块的服务订单增加编码规则.步骤:1.创建BikeServiceOrderId扩展数据类型,当然如果要给已经存在的扩展数据类型增加序列号分配的话,就不必增加了.2.修改NumberSeqReference_SalesOrder类,当然如果要给其他模块的类型增加编码规则的话,就选名为_**的类.修改Load... 阅读全文

posted @ 2006-09-26 21:43 佛西亚 阅读(522) 评论(0) 推荐(0) 编辑

Inside Dynamics Axapta源代码赏析(一)
摘要:看不到书,就读代码解解馋吧,呵呵.感谢Ivan Gao提供源代码.4.:MorphX Development Tools 代码修改了SysBPCheckMemberFunction这个类,增加了checkUseOfNames()方法,并在check()方法中调用,搞不清楚这个类是干什么用的.增加的这方法的作用是检查scanner中的每一行是否包含devNames中定义的姓名,为了说明宏的定义和使用... 阅读全文

posted @ 2006-09-25 22:09 佛西亚 阅读(914) 评论(1) 推荐(0) 编辑

Axapta财务过账分析(二)
摘要:点击窗体上的OK后,就会调用salesFormLetter(其子类SalesFormLetter_invoice没有重载Run())Run()方法了.Run()方法做了如下几件事情:1.构造QueryRun(),该QueryRun对象执行的SQL如下所示:select * from salesParmUpdate ainner join salesParmTable b on a.parmid =... 阅读全文

posted @ 2006-09-21 19:30 佛西亚 阅读(690) 评论(0) 推荐(1) 编辑

Map的使用
摘要:这里的Map指的是AOT->Data Dictionary->Maps里的map.干吗要弄个Map出来??因为Table不能继承.如果两个表的内容的逻辑基本上是一样的,有必要分别写一套方法吗?显然没必要,这时需要Map,Map说白了就是在一些表中共享的方法库.那么怎么玩那?如何调用某个map中的方法?Common.map::Method();Common是某个表变量,Map是某个map的名称,Me... 阅读全文

posted @ 2006-09-21 19:02 佛西亚 阅读(566) 评论(6) 推荐(0) 编辑

利用表之间的关系创建Query
摘要:我们经常需要根据表之间的关系用代码创建query,SysQuery这个类提供了一个方法queryFromTableRelation,当然这个方法的代码跟我们平常根据表之间的关系构造query的过程是完全一样的,不过它做成了通用的方法,直接调用它就不用自己每次都重复劳动了,另外SysQuery里还有几个不错的方法,值得看一下source.public static Query queryFromTa... 阅读全文

posted @ 2006-09-21 18:47 佛西亚 阅读(475) 评论(0) 推荐(0) 编辑

QueryRun的Reset()方法解释
摘要:今天写代码的时候遇到一个问题,在一个过程中用户需要多次输入查询条件,这样同一个QueryRun对象qr需要用到多次,但在第一次prompt后,后面的qr.Next()死活都不执行查询,qr的结果也就不会更新了,翻阅QueryRun的帮助文档,想找到个方法用一下,QueryRun所有的方法中reset方法比较接近俺的想像,鼠标点了下去,鼻子差点气歪,这个函数的解释空空如也,服了.不过试了一下,结果正... 阅读全文

posted @ 2006-09-20 20:38 佛西亚 阅读(652) 评论(1) 推荐(1) 编辑

在Axapta中使用Direct SQL
摘要:有时候需要操作Axapta数据库以外的数据库里的信息,这个时候无论用X++里的select还是Query都没办法做到,只能采用Direct SQL.Axapta提供了Connection,UserConnection和ODBCConnection三个对象用于执行Direct SQL.下面是帮助文档中对这三个对象的描述:1.ConnectionA Connection represents the ... 阅读全文

posted @ 2006-09-20 19:47 佛西亚 阅读(1228) 评论(10) 推荐(0) 编辑

Dynamics Axapta的B/S解决之道(一)
摘要:这个名字比那个深度历险还酷一些,道可道非常道,呵呵.Dynamics Axapta把B/S架到了Sharepoint框架之上,这也是MS一再鼓吹的亮点.本系列文章试图从原理到实现剖析一下Dynamics Axapta的B/S解决之道.既然架在了SharePoint上,那需要先对Sharepoint有个大概的了解.MSDN上的这两篇文章把Sharepoint的基本原理和WebPart的原理介绍了一下... 阅读全文

posted @ 2006-09-19 21:29 佛西亚 阅读(554) 评论(1) 推荐(0) 编辑

map的使用
摘要:本文中提到的map不是在AOT->Data Dicitionary->Maps中的Map,而是Axapta中的五个基础类Sets, maps, lists, arrays 和structs中的一个,为了保证效率这五个基础类是用C++写的,暴露出接口供X++调用.map是键值对,类似于C#里的HashTable.在看财务过账的代码时,发现了一段使用Map比较典型的代码,摘录在这里,免得以后找起来麻烦... 阅读全文

posted @ 2006-09-19 18:59 佛西亚 阅读(530) 评论(0) 推荐(0) 编辑

获取Range并添加到QueryRun
摘要:系统的Query可能没办法做到这样的需求:根据不同的情况用不同的表进行关联,形成DataSource比如要做一张杂项收费的报表,需要查看销售订单的杂项收费情况以及对应的订单号.杂项收费可能关联到客户发票的主表CustInvoiceJour,也可能关联到明细表CustInvoceTrans.这种情况下就必须分别构造两个不同的Query1.如果杂项收费是关联到主表的,则只需要将MarkUpTrans和... 阅读全文

posted @ 2006-09-18 18:54 佛西亚 阅读(548) 评论(0) 推荐(0) 编辑

Axapta财务过账分析(一)
摘要:本文试图详细介绍Axapta中的财务过账,从战略,战术和代码实现等三个不同的层面看财务过账的实现.战略层面:毫无疑问财务是ERP的核心,所有的业务数据最终会在财务管理的某个科目中体现,公司从财务数据分析的情况可以了解到公司的运营状况,做出相应的业务分析和决策.Axapta的财务过账操作是联系业务和财务的纽带.对于销售,采购,生产,库存管理以及项目管理等模块都有具体的过账动作.销售和采购模块通过销售... 阅读全文

posted @ 2006-09-16 21:49 佛西亚 阅读(1282) 评论(0) 推荐(0) 编辑

在Axapta中实现trim函数
摘要:在Axapta中找了半天都没找到字符串的trim函数,用strFind和subStr写了一个,应该有更好的实现方式,先凑合着用吧. static void strTrim(args a){ int position; str srcStr; ; srcStr = " aaa aaa "; position = 1; //left trim ... 阅读全文

posted @ 2006-09-15 20:00 佛西亚 阅读(500) 评论(0) 推荐(0) 编辑

在Axapta中实现split函数
摘要:在Axapta中没有找到类似于C#中的split函数,在SQL Server中也没有类似的函数,当初写SQL函数的时候用了SQL Server中的系统函数charindex和substr来实现这样的功能,于是首先想到了用函数strFind和subStr来实现split函数.下列代码可以分解一个字符串并打印: static void split(Args _args){ int positio... 阅读全文

posted @ 2006-09-12 20:41 佛西亚 阅读(564) 评论(5) 推荐(0) 编辑

Axapta3.0库存盘点的问题
摘要:Axapta3.0中的库存盘点存在如下三个问题,按严重性从重到轻依次如下:1.在同一个Counting Journal中如果对同一个料品的不同Location或pallet或配置(总之让一个料品在一个Journal中出现两次或两次以上就好了),进行盘点,过账后该料品的盘点状态始终为started(过账后应该不是Started状态了.可以通过Inventory Management->item->s... 阅读全文

posted @ 2006-09-11 18:30 佛西亚 阅读(589) 评论(0) 推荐(0) 编辑

报表Query中的DataSource间的关系
摘要:在报表中,用Query做报表的数据源,如果有多个数据源,并且数据源之间要通过一定的字段关联起来,有两种方式1.将子数据源的Relations属性设为Yes,这样子数据源和父数据源之间的关系会根据物理表的关系自动建立2.手动在Relations节点下添加关系.这两种方式都没办法解决一个问题,父子数据源之间存在两种关联,一种是Nomal的,一种是Field Fixed.比如InventTrans和In... 阅读全文

posted @ 2006-09-07 20:23 佛西亚 阅读(523) 评论(0) 推荐(0) 编辑