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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.03.2007, 11:45   #1  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
Фильтр в Lookup по полю другой таблицы
Есть такая проблема: необходимо в Lookup выводить только те записи, у который доп. поле справочника имеет определенное значение.
Например - показать все переносы, у складов назначения которых не стоит флаг "обязательное пополнение". (Разумеется, в реале имеется в виду новое добавленное поле "временный склад", поле склад назначения в заголовке перемещения - так же доработка, используемая в определенных ситуациях).
Формирую в соответствующем методе прицепление дополнительного источника данных, ставлю фильтр по полю, и... он выводит на форму поле, по которому осуществляется прицепление нового источника данных, а при попытке наложить фильтр - не показывает вообще ничего
Может, кто подскажет?
Старый 12.03.2007, 12:05   #2  
pdojn is offline
pdojn
Участник
 
50 / 12 (1) ++
Регистрация: 24.06.2004
Адрес: Москва
Смотрите метод lookupTransIdReturn на таблице InventTrans.
Старый 12.03.2007, 12:27   #3  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
согласен, красивое решение. в след раз понадобится. проблема в том, что это поле - не часть InventDim, а прямо поле на таблице. Согласен, неправильно и криво. Просто так было сделано по изначальной постановке, а я сейчас разгребаю.
Старый 12.03.2007, 12:33   #4  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Не совсем понял, в чем проблема, но на всякий случай приведу код - лукап номенклатур, которые не заблокированы по соответствующему модулю

X++:
client static void LookupItemIdOnType(FormStringControl _fc, ModuleInventPurchSales _module = ModuleInventPurchSales::Invent)
{
    sysTableLookup          sysTableLookup;
    Query                   query;
    QueryBuildDataSource    queryBuildDataSource;
    QueryBuildDataSource    queryBuildDataSourceModule;
    ;

    sysTableLookup = sysTableLookup::newParameters(tableNum(InventTable), _fc);
    sysTableLookup.addLookupfield(fieldNum(InventTable, itemId));
    sysTableLookup.addLookupfield(fieldNum(InventTable, itemName));

    query = new Query();
    queryBuildDataSource = query.addDataSource(tableNum(InventTable));
    queryBuildDataSourceModule = queryBuildDataSource.addDataSource(tableNum(InventTableModule));
    queryBuildDataSourceModule.addLink(fieldNum(InventTable, ItemId), fieldNum(InventTableModule, ItemId));
    queryBuildDataSourceModule.addRange(fieldNum(InventTableModule, ModuleType)).value(queryValue(_module));
    queryBuildDataSourceModule.addRange(fieldNum(InventTableModule, Blocked)).value(queryValue(NoYes::No));

    sysTableLookup.parmQuery(query);
    sysTableLookup.performFormLookup();
}
На самом деле код сложнее, здесь упрощен под Вашу конкретную задачу.
Как видите, фильтр накладывается на доп. таблицу, при этом поле не выводится в лукапе.
Старый 12.03.2007, 12:54   #5  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
Спасибо.
Действительно, фильтр работает, хотя на форму из второй таблицы белиберда выводится. вывел просто display-metod туда, и все стало ок.
Старый 12.03.2007, 12:55   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от george040875 Посмотреть сообщение
Например - показать все переносы, у складов назначения которых не стоит флаг "обязательное пополнение".
Унаследовать EDT от существующего, Добавить дополнительный rwlation "Поле ссылки фиксировано" 0==<поле обязательное пополнение>
Старый 12.03.2007, 13:06   #7  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
В принципе, тоже рабочий вариант. Просто у меня там других условий и фильтров немеряно кроме этого. поэтому и кодом делал.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Lookup form, OuterJoin и фильтр Russland DAX: Программирование 45 26.10.2007 15:45
Можно ли к полю в диалоге прикрутить фильтр? KiselevSA DAX: Программирование 3 29.05.2007 09:51
Фильтр в lookup Azat DAX: Программирование 7 08.11.2005 11:40
lookup фильтр в произвольной lookup форме 111andrei DAX: Программирование 4 05.10.2005 11:28
Поиск в Grid по полю из другой таблицы Dron AKA andy DAX: Программирование 9 01.08.2002 16:36

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

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

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