Показать сообщение отдельно
Старый 13.07.2006, 16:24   #11  
Hidden is offline
Hidden
Участник
 
199 / 15 (1) ++
Регистрация: 25.03.2004
Адрес: Moscow
public void lookup()
{

SysTableLookup sysTableLookup = sysTableLookup::newParameters(tableNum(RpayHRMOrganization), this);
query _query = new query();
queryBuildDatasource qbds;
QueryRun qr;
str val;
RContractTable rct;
ZoneBrigade zb;
RpayHRMOrganization rphrm;
;

sysTableLookup.addLookupfield(fieldNum(RpayHRMOrganization, hrmOrganizationId),true);
sysTableLookup.addLookupfield(fieldNum(RpayHRMOrganization, description),false);

qbds = _query.addDataSource(tablenum(RContractTable));
qbds.addRange(fieldNum(RContractTable,RContractAccount)).value(rContractTable.RContractAccount);
qbds = qbds.addDataSource(tablenum(ZoneBrigade));
qbds.joinMode(JoinMode::InnerJoin);
qbds.addLink(fieldNum(ZoneBrigade,ZoneId),fieldNum(RContractTable,Zone));

qbds = qbds.addDataSource(tablenum(RpayHRMOrganization));
qbds.addRange(fieldNum(RpayHRMOrganization,hrmOrganizationId)).value("БР*");
qbds.addRange(fieldNum(RpayHRMOrganization,active)).value(enum2value(NoYes::Yes));
qbds.joinMode(JoinMode::InnerJoin);
qbds.addLink(fieldNum(ZoneBrigade,Brigade),fieldNum(RpayHRMOrganization,hrmOrganizationId));
qbds.addSortField(fieldNum(RpayHRMOrganization,hrmOrganizationId));
/* qr = new QueryRun(_query);
while (qr.next())
{
rct = qr.get(tableNum(RContractTable));
zb = qr.get(tableNum(ZoneBrigade));
rphrm = qr.get(tableNum(RpayHRMOrganization));
} */
// sysTableLookup.parmTableId(tableNum(RpayHRMOrganization));

sysTableLookup.parmQuery(_query);
sysTableLookup.performFormLookup();
}

Вот весь код lookup.