Показать сообщение отдельно
Старый 02.12.2008, 10:52   #4  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Цитата:
Сообщение от nebraska Посмотреть сообщение
Добрый день,

коллеги, может кто-нибудь знает простой способ делать фильтры для лукапов. Я знаю способ как сделать свой лукап программно с нуля, но это получается долго, так как приходится все полностью прописывать, а нужно всего добавить одно условие. Может есть способ просто "подпихнуть" это условие в стандартный лукап.

На всякий случай - я пользуюсь примерно такими конструкциями:

SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(InventTable), _ctrl);
Query query = new Query();
QueryBuildDataSource queryBuildDataSource;
QueryBuildDataSource queryBuildDataSource1;
QueryBuildRange queryBuildRange;
;
sysTableLookup.addLookupfield(fieldnum(InventTable, ItemId));
sysTableLookup.addLookupfield(fieldnum(InventTable, ItemName));
sysTableLookup.addLookupfield(fieldnum(InventTable, ItemType));
sysTableLookup.addLookupfield(fieldnum(InventTable, ItemGroupId));
queryBuildDataSource = query.addDataSource(tablenum(InventTable));
queryBuildDataSource1 = queryBuildDataSource.addDataSource(tablenum(InventItemGroup));
queryBuildDataSource1.joinMode(JoinMode::InnerJoin);
queryBuildDataSource1.relations(false);
queryBuildDataSource1.addLink(fieldnum(InventTable, ItemGroupId),fieldnum(InventItemGroup,ItemGroupId));
queryBuildRange = queryBuildDataSource1.addRange(fieldnum(InventItemGroup, IsCommodity));
queryBuildRange.value(queryValue(NoYes::Yes));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();


Заранее спасибо за ответы!
Так пойдет?
queryBuildRangeExt = queryBuildDataSource1.addRange(fieldnum(InventItemGroup, <еще одно поле>));
queryBuildRange.value(queryValue(<ваше значение>));
__________________
Axapta book for developer