18.12.2003, 10:37 | #1 |
Участник
|
Получение больше одного значения из Lookup
Доброе время суток.
Хочется получить > одного значения (полей) из Lookup формы (таблица EmplTable) (или доступ к ним, ведь где-то после выбора в лукап-форме спозиционировалась запись в EmplTable) имея такой код. Не хочется потом по выбранному первичнику делать довыборку для получения остальных полей. Query query = new Query(); QueryBuildDataSource ds; SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(Empltable), this); FormRun fr; ; sysTableLookup.parmTableId(tablenum(EmplTable)); sysTableLookup.addLookupfield(fieldnum(EmplTable, EmplId)); sysTableLookup.addLookupfield(fieldnum(EmplTable, Name)); ds = query.addDataSource(tablenum(EmplTable)); ds.addSortField(fieldnum(EmplTable, EmplId)); if (CS_OfficialsSetup.InputType == CS_OfficialsInputType::Storekeeper && element.getCurrentStore()) { ds.joinMode(Joinmode::InnerJoin); ds = ds.addDataSource(tablenum(CS_InventStorekeeper)); ds.addRange(fieldnum(CS_InventStorekeeper, inventlocationid)).value(element.getCurrentStore()); ds.addLink(fieldnum(EmplTable, EmplId), fieldnum(CS_InventStorekeeper, Emplid)); } sysTableLookup.parmQuery(query); fr = sysTableLookup.formRun(); this.performFormLookup(fr); |
|