Показать сообщение отдельно
Старый 18.10.2005, 15:27   #1  
sergy is offline
sergy
Участник
 
62 / 10 (1) +
Регистрация: 12.02.2004
Адрес: Воронеж
Ошибка в запросе
Обычный запрос, с одной особенностью ( выделено красным ). Выдается сообщение об ошибке. Точно такой же запрос построенный на форме через источники данных работает прекрасно. Почему?

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.