Здравствуйте.
Вы столкнулись с одной из особенностей нашего движка.
При построении отчёта подключение данных происходит в таком порядке:
- получаются данные из внешних источников (таблицы со связями между ними) и помещаются в один общий dataSet;
- рассчитываются виртуальные источники данных, и помещаются в этот же dataSet;
- в dataSet добавляются связи, которые были созданы в словаре вручную.
Связи добавляются в самом конце, когда уже созданы все таблицы. Это ограничение самого dataSet - связь можно добавить только между уже существующими таблицами.
В данном случае у вас задана связь между источником Excel и виртуальным источником DataSource1.
На момент расчёта виртуальных источников связи ещё не заданы, поэтому данные через связь получить невозможно, и DataSource2, который использует эту связь, рассчитывается некорректно.
Для решения данной проблемы можно поступить так: в событии BeginRender первой страницы отчёта можно написать такой скрипт:
Данный скрипт вызовет повторный перерасчёт виртуальных источников.
Т.к. на момент его работы все связи уже будут добавлены, то и DataSource2 рассчитается корректно.
Спасибо.