摘要: 在AX中可以不局限于当前的会话公司而跨公司查询数据,使用跨公司查询有几种方式:在x++ select语句中使用crossCompany关键字Query class的实例使用true调用allowCrossCompany。QueryRun也有个属性allowCrossComany,它总是读写操作其下Query的allowCrossCompany属性,两者是等价的。AOT中的Query对象AllowCrossCompany设为trueForm Data souce的节点CrossCompanyAutoQuery设为true,或者使用数据源的方法FormDataSource.crossCompany 阅读全文
posted @ 2012-09-18 15:54 断水流 阅读(1305) 评论(0) 推荐(0) 编辑
摘要: AX的视图和表类似,可以作为数据源在form、报表和X++中使用,视图在同步AOT时在数据库中创建相应的数据库视图定义,在访问时根据指定的查询读取数据保存在数据库视图,我们常常使用一些复杂多表查询,返回的结果中只需要一些字段,这种情况就可以使用视图保存查询结果,提高查询的性能。AX视图是只读的,对于的表字段是不能修改的。从AX视图可以跨公司读取数据,select语句使用crossCompany关键字。AX视图可以从Query创建,metadata节点下只能包含一个Query,拖拉第二个Query到视图会自动替换旧的Query,视图的Query属性指定为这个Query的名称。视图在使用Query 阅读全文
posted @ 2012-09-18 14:45 断水流 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 为了加快对AX表纪录的访问,可以把从数据库读取的纪录缓存在内存中,以减少对数据库的频繁读取提高性能。纪录缓存有两种,一是单条纪录缓存,二是集合缓存。集合缓存可以在设计时将表的的CacheLookup属性设为EntireTable来实现,全表缓存在服务器端,为所有连接共享,客户端在访问表时先查找自己的缓存,再到服务器上查找全表缓存。全表缓冲是分公司创建的,如果SELECT操作来自于不同公司,服务器会为每个公司创建一个单独的缓冲。对表做insert、update和delete操作时,会自动清理表的全表缓存,也会自动通知其他服务器端清理相应表的缓存,对表重新读取时生成新的全表缓存,因此不要对太多纪录 阅读全文
posted @ 2012-09-18 14:07 断水流 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: AX2012的workflow不再需要IIS在web上宿主runtime,而是随AOS一起安装,也在AOS宿主运行态组件,总体上分为x++ workflow runtime和managed workflow runtime两块,通过workflow request及事件、回调在两者间交互,用到.net interop from x++及.net interop to x++等技术,所以如果用X++编写了workflow的实现,别忘了做一次incremental CIL编译。更详细的workflow体系结构参见http://technet.microsoft.com/en-us/library/ 阅读全文
posted @ 2012-09-18 11:15 断水流 阅读(1786) 评论(0) 推荐(0) 编辑