AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.11.2006, 10:04   #1  
matew is offline
matew
Участник
 
37 / 10 (1) +
Регистрация: 10.07.2006
Адрес: Москва
Лукап, содержащий поля нескольких таблиц
Всем привет! Можно ли сформировать программно лукап (из метода поля датасорса формы), отображающий поля нескольких таблиц?

Использую класс SysTableLookup.

X++:
public void lookup(FormControl _formControl, str _filterStr)
{
    SysTableLookup        sysTableLookup;
    Query                 query          = new Query();
    QueryBuildDataSource  qbds, qbds1, qbds2;
    ;

    qbds = query.addDataSource(tablenum(CustTable));
    qbds.orderMode(orderMODE::GroupBy);
    qbds.addSortField(fieldNum(CustTable, AccountNum));
    qbds.addSortField(fieldNum(CustTable, Name));
    qbds.addSortField(fieldNum(CustTable, RWStationId));

    // Привязываем вторую таблицу к первой
    qbds1 = qbds.addDataSource(tablenum(RContractTypes));
    qbds1.orderMode( OrderMode::GroupBy );
    qbds1.joinMode(joinMode::InnerJoin);
    qbds1.addLink(fieldnum(CustTable, AccountNum), fieldnum(RContractTypes, RContractPartnerCode));
    qbds1.addSortField(fieldnum(RContractTypes, RContractPartnerCode));
    qbds1.addSortField(fieldnum(RContractTypes, RContractUserGroupId));
    qbds1.addRange(fieldNum(RContractTypes, RContractUserGroupId)).value(RWParameters::find().RContractUserGroupId);

    // Поля для вывода в лукап
    sysTableLookup = SysTableLookup::newParameters(tableNum(CustTable), _formControl);
    sysTableLookup.addLookupfield(fieldNum(CustTable, AccountNum));
    sysTableLookup.addLookupfield(fieldNum(CustTable, Name));
    sysTableLookup.addLookupfield(fieldNum(CustTable, RWStationId));
    
    /*
    Теперь нужно вывести в лукап поля из второй таблицы

    Если делать так как ниже, то по всей видимости выводятся поля из первой таблицы с указанными идентификаторами. Понятно, что это не верно, так как вначале мы указали при инициализации класса CustTable. Можно ли как-то решить этот вопрос?

    sysTableLookup.addLookupfield(fieldNum(RContractTypes, RContractPartnerCode));
    sysTableLookup.addLookupfield(fieldNum(RContractTypes, RContractUserGroupId));
    */

    sysTableLookup.parmQuery(query);
    sysTableLookup.performFormLookup();
Старый 30.11.2006, 10:08   #2  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
LookUp из двух таблиц ...

PS Поиск - великая вещь!
Старый 30.11.2006, 13:46   #3  
matew is offline
matew
Участник
 
37 / 10 (1) +
Регистрация: 10.07.2006
Адрес: Москва
Спасибо, с классом TableLookup_RU разобрался. Но по display-полю поиск нельзя осуществлять, а хотелось бы. )
Старый 30.11.2006, 14:19   #4  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от matew Посмотреть сообщение
Но по display-полю поиск нельзя осуществлять, а хотелось бы.
Тогда рисуйте форму.
__________________
Андрей.
Старый 30.11.2006, 16:02   #5  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
А я бы view создал.

У вас есть виртуальные компании?
__________________
С уважением,
glibs®
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Нужно сделать выборку из нескольких таблиц (в данном случае из четырех). niktata DAX: Программирование 10 30.09.2008 09:42
Ограничения на таблицы и поля таблиц akvi DAX: Администрирование 3 28.04.2007 15:03
Опять про OuterJoin нескольких таблиц murad DAX: Программирование 1 15.05.2006 10:26
автоотчёт - поля из других таблиц somebody DAX: Программирование 4 17.11.2005 15:24
Связывание нескольких таблиц jan_psn DAX: Программирование 11 18.11.2003 05:23

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:51.