ax 2012 表单添加自定义数据源

Add custom datasouce to form in ax 2012

我想在 AX 2012 中将数据源的自定义关系添加到表单中。

当我使用选项将数据源添加为引用数据源时,系统会自动将 AutoReport 字段加入到字段组中 table,但我想使用另一个字段获取信息以加入 [=10] =]

示例。

我有 CustTrans Table 并且我想要订单账户名,但是当我放置参考数据源时只出现账户名而不是订单账户名。

我不知道带有 querybuilddatasource 的选项是否有效。

感谢您的宝贵时间

您可以在 CustTrans table 上创建一个 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 字段添加新数据源并 link 它,您可以像往常一样添加 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));
}