摘要: static void Job2(Args _args){ real num = 134.00; ; info(num2str(num,0,numofDec(num),1,0)); // print 134} 阅读全文
posted @ 2012-04-11 11:55 K小子 阅读(141) 评论(0) 推荐(0)
摘要: Object FormDataSource; FormRun m_form; Args m_args = new Args(); ; m_args.name(formstr(KY_PackageTable_fm)); m_form = classFactory.formRunClass(m_args); m_form.init();// m_form.run();// m_form.detach(); FormDataSource = m_form.dataSource(); if (FormDataSource && FormDataSourceHasMethod(FormD 阅读全文
posted @ 2012-04-11 10:36 K小子 阅读(186) 评论(0) 推荐(0)
摘要: 禁止同一用户多次登录void startupPost() { int counter; int maxUserSessions = 1; int maxAdminSessions = 4; int num = 0; int maxSessions = Info::licensedUsersTotal(); xSession session; UserInfo userInfo; UserId currentUserId; UserGroupList UserGroupList; FormRun formRun; ; currentUserId = curuserid(); if (curren 阅读全文
posted @ 2012-04-10 17:22 K小子 阅读(364) 评论(0) 推荐(0)
摘要: void CleanMap(map _map){ MapEnumerator mapEnumerator; ; mapEnumerator = _map.getEnumerator(); while (mapEnumerator.moveNext()) { if (_map.exists(mapEnumerator.currentKey())) _map.remove(mapEnumerator.currentKey()); } return; } 阅读全文
posted @ 2012-04-10 17:12 K小子 阅读(217) 评论(0) 推荐(0)
摘要: 【项目实施随笔】打扮一下生产订单前面提到给生产BOM增加一个状态,表示各个部门的修改状态,今天用户又提出,想看到五颜六色的生产订单,生产BOM在不同的修改阶段用不同的颜色表示,人还是对颜色这东西比较敏感。AX的优势在于快速开发,对于一些不用太多时间就可以搞定的东西,与其费力气去劝说用户,还不如花一两分钟时间实现他们的需求,然后让他们自己去衡量利弊,当他们自己意识到原来自己想象中的效果实现后还不如之前的时候,他们就会欣然接受你的主意。1.窗体ProdTable数据源ProdTable的displayOption方法: Codepublic void displayOptio... 阅读全文
posted @ 2012-04-10 12:08 K小子 阅读(158) 评论(0) 推荐(0)
摘要: 读取Info内容后记:最近发现其实AX里的类Info已经提供了相应的静态方法infoCon2Str来实现这个功能,所以可以直接调用这个方法去实现本文所说的功能,本文不看也罢。AX用Infolog去管理用户操作中的出错或者提示信息,最后用SysInfologBrowser这个窗体去展现,但如果通过.NET Business Connector之类的去调用AX的系统类就不可能用这种方法了,因为不可能将窗体通过.NET Business Connector去展现,如果想知道调用的系统类到底发生了什么事情,可以把Infolog的内容转换成字符串返回给调用者。窗体SysInfologBrowser的数据 阅读全文
posted @ 2012-04-10 12:03 K小子 阅读(331) 评论(0) 推荐(0)
摘要: 实现Pick和ReigisterAX有个问题是很多功能都跟表现层窗体绑定在一起,要用代码直接实现某个功能就需要看窗体中的代码是如何处理的并将其剥离出来。比如领料和登记功能,它都封装到了窗体InventTransPick和InventTransRegister中,虽然也是通过类InventTransWMS,InventTransWMS_Pick和InventTransWMS_Register实现相应的功能,但如果要通过代码直接实现Pick和Register功能就需要看一下它们的处理逻辑,并将其改造一下。1.给InventTransWMS_Pick和InventTransWMS_Register分 阅读全文
posted @ 2012-04-10 12:02 K小子 阅读(455) 评论(0) 推荐(0)
摘要: 修改Project中的表名及字段名 开发了大半,遇到这样一个需求:1.自己创建的表,要加上公司的简称做为前缀;2.自己创建的表的字段不需要添加公司的简称做为前缀;3.在系统原有的表上添加的字段要添加公司的简称做为前缀。创建的表太多了,一个个修改是重体力活,于是写了个Job来完成,在这里记录一下: static void ModifyTableAndFieldNameOfSomeProject(Args _args) { #TreeNodeSysNodeType #define.prefix('PF') #define.ProjectName('ProjectName&# 阅读全文
posted @ 2012-04-10 12:00 K小子 阅读(628) 评论(0) 推荐(0)
摘要: 用代码修改类名新创建一个类TestClass,用代码修改其类名为NewTestClass: static void ChangeClassName(Args _args) { #AOT TreeNode treeNode = TreeNode::findNode(#ClassesPath+'\\TestClass'); ; treeNode.AOTsetProperty("Name","NewTestClass"); treeNode.AOTcompile(1); treeNode.AOTsave(); }在运行到treeNode.AOT 阅读全文
posted @ 2012-04-10 11:58 K小子 阅读(228) 评论(0) 推荐(0)
摘要: 创建采购订单 经常要用代码创建采购和销售订单,需要弄清楚哪些字段是必输的,这段代码经常需要拷贝,放在这里做个备份。 static void CreatePurchDirectly(Args _args) { PurchTable purchTable; PurchLine purchLine; InventDim inventDim; ; ttsbegin; //PurchTable //PurchId purchTable.PurchId = NumberSeq::newGetNum(PurchParameters::numRefPurchId()).num();pur... 阅读全文
posted @ 2012-04-10 11:58 K小子 阅读(398) 评论(0) 推荐(0)