我想在AX 2012中将与数据源的自定义关系添加到表单中。
当我使用该选项将数据源添加为“引用的数据源”时,系统会使用AutoReport字段自动将字段加入表中的字段组中,但是我想使用另一个字段来获取信息
示例。
我有CustTrans表,我想要订单帐户名称,但是当我放置参考数据源时,仅显示帐户名称而不是订单帐户名称。
我不知道带有querybuilddatasource的选项是否有效。
感谢您的时间
答案 0 :(得分:2)
您可以在CustTrans
表上创建display方法,而不必加入新的数据源,例如:
//BP Deviation Documented
display CustName orderAccountName()
{
CustTable custTable;
DirPartyTable partyTable;
select firstonly Party from custTable
where custTable.AccountNum == this.OrderAccount
join Name from partyTable
where partyTable.RecId == custTable.Party;
return partyTable.Name;
}
然后,您只需使用此显示方法即可在表单上显示要订购的帐户名。
如果您确实想添加新的数据源并使用OrderAccount
字段进行链接,则可以照常添加CustTable
数据源(JoinSource = CustTrans,LinkType = InnerJoin或OuterJoin等) )并覆盖其init
方法,例如:
void init()
{
QueryBuildDataSource qbds;
super();
qbds = this.queryBuildDataSource();
qbds.clearLinks();
qbds.addLink(fieldNum(CustTrans, OrderAccount), fieldNum(CustTable, AccountNum));
}