Добавление пользовательских данных в форму в Axe 2012 - PullRequest
0 голосов
/ 27 июня 2018

Я хочу добавить пользовательское отношение к источнику данных в форму в AX 2012.

Когда я использую опцию для добавления источника данных в качестве ссылочного источника данных, система выполняет автоматическое объединение поля AutoReport с группой полей в таблице, но я хочу получить информацию, используя другое поле для объединения

Пример.

У меня есть таблица CustTrans, и я хочу указать имя учетной записи заказа, но при вводе справочного источника данных отображается только имя учетной записи, а не имя учетной записи заказа.

Я не знаю, работает ли опция с querybuilddatasource.

Спасибо за ваше время

1 Ответ

0 голосов
/ 27 июня 2018

Вы можете создать метод display для таблицы CustTrans вместо присоединения к новому источнику данных, например ::100100

//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));
}
...