Показать сообщение отдельно
Старый 02.12.2008, 03:47   #1  
nebraska is offline
nebraska
Участник
 
25 / 12 (1) ++
Регистрация: 07.11.2006
Фильтр для lookup
Добрый день,

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

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

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();


Заранее спасибо за ответы!