Получение больше одного значения из 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);
|