![]() |
#3 |
Участник
|
я пишу так:
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. Как по-другому сделать не знаю. |
|