a中的this和element
摘要:在qiuhao上我回复一个网友的贴子,但觉的这里可以展开的点很多。在窗体编程中,element 通常就是指formrun 也就是我们看到的form你在为哪个对象编写代码,this就是哪个对象,比方说你为formbuttoncontrol写click方法,则this就是指这个按钮,如果我们覆盖form的init方法,那么里面的this其实就是element深入探讨这个就是ax的代码生成机制有关了,a...
阅读全文
posted @
2009-05-02 11:04
jjxstudio
阅读(387)
推荐(0)
xrecord.orig()
摘要:由于所有的表都是从xrecord继承下来的,所以每个表都有orig方法,该方法返回一个common. 文档没说. 但顾名思义,是返回记录的原始值 在某些场景下,比方说出入库日志中,当修改出入库日志需要修改实际的库存,在更新记录的情况下. 像一个入库日志原来的数量是9,意味着库存中增加了9,如果将其修改为8,则意味着库存中需要减去 9-8 通常这在update 中处理, 放在super()之...
阅读全文
posted @
2008-07-30 09:24
jjxstudio
阅读(237)
推荐(0)
strFind/strNFind/strScan
摘要:axapta 提供了这些字符串搜索函数,有必要提醒一下 strFind 返回 要查找的字符串中的其中一个字符的首次出现位置 如 str s="我是一个兵"; ; print strFind(s,"一个",strLen(s)); //返回的是3,一出现的位置 print strFind(s,"个一",strLen(s)); //返回的是3,还是一首次出现的位置 这个函数的原理就是一个...
阅读全文
posted @
2008-07-28 09:45
jjxstudio
阅读(748)
推荐(0)
dynamics ax与数据冗余
摘要:通常,数据库范式会要求我们减少数据冗余,但实际上现在的应用会越来越多的采用数据冗余的方式来改善性能. 在实际应用中,数据冗余通常可分为以下几种情况 1. 必要的数据冗余 必须认识到,很多数据冗余是必要,类似产品的单价,或者是汇率,有必要记录到每次交易中,这些这些数据是经常变化的,如果不记录,将来对该交易就不能还原到当时的情况 2. 可选的数据冗余 比方说金额,它通常是单价*数量(有时它还需要...
阅读全文
posted @
2008-07-23 13:22
jjxstudio
阅读(244)
推荐(0)
ax 默认控件排列规则
摘要:1. 容器根据内部控件数和columns数计算出行数 2. 从上到下,从左到右添加控件 如果columns为1并且width mode设置为column width,则该控件缩放时占据整个容器宽度 如果columns大于1,则最后一个列的控件占据剩余宽度,其他列仅相当于auto,不会变,这是我们要写代码避免的,比方说我们需要均匀分割各列 细节上还有几点要注意的 1. 将自己的resiz...
阅读全文
posted @
2008-07-20 10:49
jjxstudio
阅读(360)
推荐(0)
正式使用dynamics ax 10天纪念
摘要:使用ax,从头至尾,都只有一个原因,就是因为喜欢ax内置的开发环境 morphX. 这里贴一个我在论坛中回复关于erp不是开发工具的贴子,这样大家可能会对ax/morphX有个基本的了解 erp当然不是开发工具.但有些erp ,可以当作开发工具来用.因为它本来的模式就是先建立一个开发工具,然后再再上面展开应用的,只要你付的起许可费用 .sap 不熟悉不说,就拿 axapta而言 1. 首先他有...
阅读全文
posted @
2008-07-17 11:24
jjxstudio
阅读(1006)
推荐(0)
避免一个用户多次登录修改版
摘要:原来的代码参见这里 http://www.qiuhao.com//dispbbs.asp?boardID=2&ID=6228&page=1 今天仔细看了这段代码,发现这段代码大有优化的余地 因为maxSessions 这个值可能会很大,我这里测试环境有3万多个,启动时要浪费半分钟左右 另外sessionId是个随机数,用1到maxSessions其实是很少有命中的(sessionId大家可以在标...
阅读全文
posted @
2008-07-17 10:54
jjxstudio
阅读(275)
推荐(0)
备忘:axapta view
摘要:axapta view 原来是生成sql 的视图 但有个问题折腾了n久,就是我有几个条件是不等于0(因为ax的real字段默认是插入0值的) 写了 !0 '(startCartonNo0)' '!0' 期间还忘了写成什么,导致aos 崩溃:) 后来,很简单,原来是!=0 这样,生成的sql是 not ((startCartonNo=0)) 补充几点 1. view 是只读的 sql ser...
阅读全文
posted @
2008-07-15 10:36
jjxstudio
阅读(252)
推荐(0)
备忘: 一个简单任务的解决
摘要:简而言之,就是将二个表分组统计后,显示在一个grid中,为了简单起见,这里做简单的描述,两张表,一张是合同明细,一张是出货记录表,对应每一个合同明细的记录,出货表可能有一条或多条记录,要求是显示当前已出货的总数和产品的一些细节(这些细节是在合同明细表中的). 这个任务如果用sql 来表达的话,很简单 select contractLine.productId,contractLine.produ...
阅读全文
posted @
2008-07-13 22:37
jjxstudio
阅读(278)
推荐(0)
Form DataSource AutoQuery
摘要:Form DataSource的autoQuery意思是是否自动为该datasource构造一个Query对象,如果选择no,则该datasource的query()为null,你可以在datasource的init去验证 其实这个query是非常简单的,你也可以自己来构造,设置autoQuery为no,然后在datasource init中加入以下代码 Query query; ; if(...
阅读全文
posted @
2008-07-13 12:14
jjxstudio
阅读(312)
推荐(0)
Misusing string concatenations
摘要:http://blogs.msdn.com/x/archive/2007/08/07/do-not-misuse-string-concatenations.aspx x++团队的这个blog ,提示字符串操作应该同c#一样,用TextBuffer或是strfmt 代替+操作,类似c#使用StringBuilder 和string.format. 实际测试性能得确差异巨大
阅读全文
posted @
2008-07-12 21:21
jjxstudio
阅读(230)
推荐(0)
ax的连同id导出和导入时具有id
摘要:理解还不深,想得到的有以下几点 一 ax的每个层都有约定的id范围,比方说var层是多少到多少 如果var层导出,在usr层导入,东西应该不到var层,而是在usr层.但如果选择了导入,导出时保持id,这就会造成在usr层使用var层的id,这个破坏了ax的约定 二 在导入时,同名可选择覆盖或跳过,不同名呢 这说明了一个问题,今天我创建了一个表,名字为PackingBoxTable ,明天我...
阅读全文
posted @
2008-07-11 20:06
jjxstudio
阅读(224)
推荐(0)
我的第一个有一点点意义的x++ 类的贴子
摘要:发在秋毫上了,复制一下吧 x++中的窗体不能继承,也没有所谓的自定义usercontrol/control之类的概念. 所以昨天一直在考虑才能如何达到ui元素的重用,一个主要的困惑是x++没有事件机制(它通过继承,这是由于它的分层机制造成的),不过后来查看formrun的下面两个方法可以达到我的要求 controlMethodOverload controlMethodOverloadObject...
阅读全文
posted @
2008-07-11 10:20
jjxstudio
阅读(440)
推荐(0)
my ax 4 faq
摘要:q. 不能同时使用group by 和order by 当使用group by时,会自动生成order by字句,其中的排序按group by中的字段顺序排列,只需调整group by 中的字段顺序即可, 另外group by 也支持asc/desc q. 如何获取活动控件,获取活动的datasource element.selectedControl (formrun.selectedCon...
阅读全文
posted @
2008-07-05 14:37
jjxstudio
阅读(424)
推荐(0)
x++中的System.String::Format
摘要:测试了一个 System.String::Format('{0:00}',1); 应该返回01,但 实际返回的是是1
阅读全文
posted @
2008-07-03 15:21
jjxstudio
阅读(284)
推荐(0)