Обычный запрос, с одной особенностью ( выделено красным ). Выдается сообщение об ошибке. Точно такой же запрос построенный на форме через источники данных работает прекрасно. Почему?
QueryRun queryRun;
QueryBuildDataSource dsCT;
QueryBuildDataSource dsID;
QueryBuildDataSource dsIS;
;
queryRun = new QueryRun( '' );
dsCT = queryRun.query().addDataSource( TableNum( ConfigTable ) );
dsIS = dsCT.addDataSource( TableNum( InventSum ) );
dsID = dsIS.addDataSource( TableNum( InventDim ) );
dsIS.joinMode( JoinMode::InnerJoin );
dsIS.addLink( FieldNum( ConfigTable, ItemId ), FieldNum( InventSum, ItemId ) );
dsID.joinMode( JoinMode::InnerJoin );
dsID.addLink( FieldNum( InventSum, InventDimId ), FieldNum( InventDim, InventDimId ) );
dsIS.addRange( FieldNum( InventDim, RecId ) ).value( '( ( ConfigTable.ConfigId = InventSum.ConfigId ) )' );
box::info( dsCT.toString() );
while ( queryRun.next() ) {}
Текст ошибки
Ошибка расширенного диапазона запроса: ConfigTable.ConfigId не является корректной парой datasource.field рядом с 28.