я пишу так:
public void lookup(FormControl _formControl, str _filterStr)
{
SysTableLookup sysTableLookup =
SysTableLookup::newParameters(tableNum(Table1), _formControl);
Query q = new Query();
QueryBuildDataSource qbds ;
QueryBuildRange qbr;
;
qbds = q.addDataSource(tableNum(Table1));
qbds = qbds.addDataSource(tablenum(Table2));
qbds.addLink(fieldNum(Table1, Field1ID),fieldNum(Table3, Field1ID));
qbds.joinMode(JoinMode::InnerJoin);
qbds = qbds.addDataSource(tablenum(Table2));
qbds.addLink(fieldNum(Table3, Field2ID),fieldNum(Table2, Field2ID));
qbds.joinMode(JoinMode::InnerJoin);
qbr = qbds.addRange(fieldNum(Table2, Field2ID));
qbr.value(‘06’); // условие
qbds = qbds.addDataSource(tablenum(Table4));
qbds.addLink(fieldNum(Table4, Field4ID), fieldNum(Table1, Field4ID));
qbds.addLink(fieldNum(Table4, Field2ID),fieldNum(Table3, Field2ID));
qbds.addLink(fieldNum(Table1, Field3ID), fieldNum(Table4, Field3ID));
qbds.joinMode(JoinMode::NoExistsJoin);
sysTableLookup.parmQuery(q);
sysTableLookup.performFormLookup();
}
но выдается сообщение "Недопустимая комбинация поля / поля ссылки". Подозреваю, что аксапте не нравиться блок с NoExistsJoin. Как по-другому сделать не знаю.
|