Дело в том что я использую стандартный класс унаследованный от RunBaseReport.
И в методе InitQuery я ставлю Range'и выглядит это так :
X++:
public Query initQuery()
{
Query query;
QueryBuildDataSource qbds,qbds1;
;
query = super();
query.dataSourceTable(TableNum(LedgerJournalTrans)).findRange(fieldNum(LedgerJournalTrans,AccountType)).value(QueryValue(2));
qbds = query.adddataSource (tablenum(LedgerJournalTrans));
qbds.addrange (fieldId2Ext(fieldNum(LedgerJournalTrans,Dimension),3)).value("ОТВ*");
qbds1 = qbds.addDataSource(tablenum(LedgerJournalTrans));
qbds1.relations(true);
qbds1.joinMode(JoinMode::NoExistsJoin);
qbds1.addrange (fieldId2Ext(fieldNum(LedgerJournalTrans,Dimension),3)).value("ОТВ-00");
я стал пробовать и он мне выдал кучу строк на 100 листов (кстати фильтр не сработал) т.е.
}
qbds.addDataSource -- добавляет мне лишние Датасоурсы. У меня ДатаСоурс определен в отчете.
Сработал такой вариант :
X++:
public Query initQuery()
{
Query query;
QueryBuildDataSource qbds,qbds1;
;
query = super();
query.dataSourceTable(TableNum(LedgerJournalTrans)).findRange(fieldNum(LedgerJournalTrans,AccountType)).value(QueryValue(2));
qbds = query.dataSourceTable(tablenum(LedgerJournalTrans));
qbds.addrange (fieldId2Ext(fieldNum(LedgerJournalTrans,Dimension),3)).value("ОТВ*");
qbds1 = qbds;
qbds1.relations(true);
qbds1.joinMode(JoinMode::NoExistsJoin);
qbds1.addrange (fieldId2Ext(fieldNum(LedgerJournalTrans,Dimension),3)).value("ОТВ-00");
}
В этом случае он формирует правильное количество трок с фрагментом "ОТВ" но и с "ОТВ-00"