[AX]AX2012 使用视图

AX的视图和表类似,可以作为数据源在form、报表和X++中使用,视图在同步AOT时在数据库中创建相应的数据库视图定义,在访问时根据指定的查询读取数据保存在数据库视图,我们常常使用一些复杂多表查询,返回的结果中只需要一些字段,这种情况就可以使用视图保存查询结果,提高查询的性能。AX视图是只读的,对于的表字段是不能修改的。从AX视图可以跨公司读取数据,select语句使用crossCompany关键字。

AX视图可以从Query创建,metadata节点下只能包含一个Query,拖拉第二个Query到视图会自动替换旧的Query,视图的Query属性指定为这个Query的名称。视图在使用Query之后就不能再往其Datasource表下添加表了。对于Join类型的Query,如果使用了一个通过configuration禁止的表,视图是不会返回任何数据的,union类型的Query如果使用了被禁止的表,则仍会返回有效表的纪录。要创建跨公司的视图,相应的Query的AllowCrossCompany属性需要设置为true。

也可以直接在视图的datasource节点下添加表、其他视图来创建视图,但是不建议用这种方式关联多个表的视图,如果要使用多个表,最好使用Query的方式,将来版本中直接使用data source创建视图的方式可能会被取消。

AX2012视图还可以添加计算字段,它的使用见http://www.cnblogs.com/duanshuiliu/archive/2012/08/14/2637847.html

原文地址:https://www.cnblogs.com/duanshuiliu/p/2690538.html