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.
|