23.06.2011, 13:49 | #1 |
Участник
|
Ограничение выпадающего списка
Всем Добрый день!
Подскажите как реализовать следующее. Есть две формы: Номенклатуры и Работы. Нужно чтобы в форме работ в поле Код номенклатуры отображались только те номенклатуры, которые не привязаны к работам. Пишу след. код в методе lookup() контрола: X++: public void lookup() { Query query = new Query(); QueryBuildDataSource qbds; QueryBuildRange queryBuildRange; SysTableLookup lookup = SysTableLookup::newParameters(tablenum(InventTable), this); InventTable invent; HCSJobTable jobTable; ; lookup.addLookupfield(fieldnum(InventTable, ItemId)); lookup.addLookupfield(fieldnum(InventTable, ItemName)); lookup.addLookupfield(fieldnum(InventTable, ItemGroupId)); lookup.addLookupfield(fieldnum(InventTable, NameAlias)); lookup.addLookupfield(fieldnum(InventTable, ItemType)); lookup.addLookupfield(fieldnum(InventTable, DimGroupId)); qbds = query.addDataSource(tablenum(InventTable)); select itemId from jobTable where jobTable.itemId != ''; //или следующий запрос //select itemId from invent notexists join itemId from jobTable; findOrCreateRange_W(qbds, fieldnum(InventTable, ItemType), enum2str(ItemType::BOM)); queryBuildRange = qbds.addRange(fieldnum(InventTable, ItemId)); queryBuildRange.value(???????); lookup.parmQuery(query); lookup.performFormLookup(); //super(); } |
|
23.06.2011, 13:53 | #2 |
Участник
|
X++: QueryBuildDataSource qbdsHCSJobTable; ... // queryBuildRange = qbds.addRange(fieldnum(InventTable, ItemId)); // queryBuildRange.value(???????); qbdsHCSJobTable = qbds.addDataSource(tableNum(HCSJobTable)); qbdsHCSJobTable.joinMode(joinMode::NoExistsJoin); |
|
23.06.2011, 14:04 | #3 |
Участник
|
Написала так, но все-равно не работает. Выпадает пустой список, хотя список номенклатур большой и они почти все не привязаны.
|
|
23.06.2011, 14:18 | #4 |
Участник
|
|
|
23.06.2011, 14:27 | #5 |
Участник
|
Связь указана в Relations в таблице HCSJobTable.
|
|
23.06.2011, 14:32 | #6 |
Участник
|
Нужно ещё одну строку добавить в код. Вот так:
X++: qbdsHCSJobTable = qbds.addDataSource(tableNum(HCSJobTable)); qbdsHCSJobTable.joinMode(joinMode::NoExistsJoin); qbdsHCSJobTable.relation(true); // !!! |
|
23.06.2011, 14:40 | #7 |
Участник
|
|
|