Привет!
Можно такой запрос заделать - проблем нет. И ты все делаешь верно. Единственное, о чем ты забыл - это изменить FetchMode для дочерних источников.
Вот модернизированный Job:
PHP код:
static void Job8(Args _args)
{
Query query = new Query();
QueryBuildDataSource ds,ds1,ds2;
QueryBuildRange range;
;
ds = query.addDataSource(tableNum(LedgerTrans));
ds1 = ds.addDataSource(tableNum(Dimensions));
ds1.addLink(fieldId2Ext(fieldNum(LedgerTable, Dimension),1), fieldNum(Dimensions, Num));
range = ds1.addRange(fieldNum(Dimensions, DimensionCode));
range.value('1');
ds2 = ds.addDataSource(tableNum(Dimensions));
ds2.addLink(fieldId2Ext(fieldNum(LedgerTable, Dimension), 2), fieldNum(Dimensions, Num));
ds2.fetchMode(0); //Вот она - фишка! Отношение 1:1
range = ds2.addRange(fieldNum(Dimensions, DimensionCode));
range.value('2');
Info(query.dataSourceNo(1).toString()); //Доказательство верности
}