Страница 1 из 1
В источнике данных на основе источника данных невозможно использовать колонку из связи
Добавлено: 20 сен 2021, 15:49
Quirco
Добрый день,
В источнике данных DataSource2 (созданном на основе источника данных Лист1), невозможно использовать колонки из связи источника данных Лист1:
- Добавляем в источник данных Лист1 связь (Screenshot_1.jpg)
- Создаем источнике данных DataSource2 на основе Лист1 (Screenshot_2.jpg)
- В результаты добавляем сумму по колонке Name.price.Sum из связи родительского источника (Screenshot_3.jpg). Но проблема в том, что эта колонка не работает (в ней всегда 0 Screenshot_2.jpg)
Все файлы прикладываю во вложении.
Пожалуйста подскажите в чем дело. Спасибо.
Re: В источнике данных на основе источника данных невозможно использовать колонку из связи
Добавлено: 21 сен 2021, 21:32
Ivan
Здравствуйте.
Вы столкнулись с одной из особенностей нашего движка.
При построении отчёта подключение данных происходит в таком порядке:
- получаются данные из внешних источников (таблицы со связями между ними) и помещаются в один общий dataSet;
- рассчитываются виртуальные источники данных, и помещаются в этот же dataSet;
- в dataSet добавляются связи, которые были созданы в словаре вручную.
Связи добавляются в самом конце, когда уже созданы все таблицы. Это ограничение самого dataSet - связь можно добавить только между уже существующими таблицами.
В данном случае у вас задана связь между источником Excel и виртуальным источником DataSource1.
На момент расчёта виртуальных источников связи ещё не заданы, поэтому данные через связь получить невозможно, и DataSource2, который использует эту связь, рассчитывается некорректно.
Для решения данной проблемы можно поступить так: в событии BeginRender первой страницы отчёта можно написать такой скрипт:
Данный скрипт вызовет повторный перерасчёт виртуальных источников.
Т.к. на момент его работы все связи уже будут добавлены, то и DataSource2 рассчитается корректно.
Спасибо.
Re: В источнике данных на основе источника данных невозможно использовать колонку из связи
Добавлено: 22 сен 2021, 12:42
Quirco
Добрый день.
Добавил в BeginRender как Вы и написали, ничего не поменялось, подскажите пожалуйста в чем проблема. Не могли бы Вы показать это на моем примере (mrt в первом сообщении).
Re: В источнике данных на основе источника данных невозможно использовать колонку из связи
Добавлено: 22 сен 2021, 13:33
Aleksey
Здравствуйте,
Пожалуйста, уточните версию. Также, проверьте последний билд.
Спасибо.
Re: В источнике данных на основе источника данных невозможно использовать колонку из связи
Добавлено: 22 сен 2021, 14:48
Quirco
Добрый день. Спасибо большое, на новой версии все отработало.
Re: В источнике данных на основе источника данных невозможно использовать колонку из связи
Добавлено: 22 сен 2021, 15:45
Aleksey
Здравствуйте,
Отлично! Пожалуйста.