Посоветуйте - проблемма с отчетом
Посоветуйте - проблемма с отчетом
Тестируем ваш отчетник - пытаемся перенести один из уже готовых отчетов.
В отчете есть три страницы, одна из которых альбомной ориентации. На каждой из страниц отображается свой блок статистики, который может не влезать в отведенную ему длинну (высоту страницы). Первые две страницы должны просто динамически изменять свой размер в зависимости от объема содержимого, а вот третья страница, помимо изменения своей высоты, должна при определенных условиях (начало новой группы данных) формировать новую страницу.
Как я понимаю, для этих целей существует EndlessHeight и ExcelSheet. Для первой и второй страницы задаются EndlessHeight и уникальное наименование в ExcelSheet. Для третьей так же задается EndlessHeight, а в ExcelSheet пишется выражение, аналогичное задаваемому в групповом банде.
В итоге, при предпросмотре и последующем экспорте, все страницы сливаются в одну и на закладки при экспорте в Excel не делятся. Если же снять EndlessHeight, то при экспорте страницы корректно разбиваются на закладки в соответствии со значениями, формируемыми в ExcelSheet, но динамически свой размер не меняют, а формируют новые страницы.
Помогите решить проблемму, пожалуйста!
В отчете есть три страницы, одна из которых альбомной ориентации. На каждой из страниц отображается свой блок статистики, который может не влезать в отведенную ему длинну (высоту страницы). Первые две страницы должны просто динамически изменять свой размер в зависимости от объема содержимого, а вот третья страница, помимо изменения своей высоты, должна при определенных условиях (начало новой группы данных) формировать новую страницу.
Как я понимаю, для этих целей существует EndlessHeight и ExcelSheet. Для первой и второй страницы задаются EndlessHeight и уникальное наименование в ExcelSheet. Для третьей так же задается EndlessHeight, а в ExcelSheet пишется выражение, аналогичное задаваемому в групповом банде.
В итоге, при предпросмотре и последующем экспорте, все страницы сливаются в одну и на закладки при экспорте в Excel не делятся. Если же снять EndlessHeight, то при экспорте страницы корректно разбиваются на закладки в соответствии со значениями, формируемыми в ExcelSheet, но динамически свой размер не меняют, а формируют новые страницы.
Помогите решить проблемму, пожалуйста!
Посоветуйте - проблемма с отчетом
Здравствуйте.
С проблемой разобрались.
Патч будет включен в следующий предрелизный билд.
Спасибо.
С проблемой разобрались.
Патч будет включен в следующий предрелизный билд.
Спасибо.
Посоветуйте - проблемма с отчетом
Вот еще заметил:
Допустим в исходной таблице есть три поля. Отчет содержит три страницы, в каждой данные из этой таблицы группируются по первому, второму и третьему полю соответственно. На третьей странице в заголовке группы стоит New Page Before и Skip First, в поле ExcelSheet стоит то же выражение, что и в условии группировки заголовка группы (допустим, группировка по третьему полю).
При экспорте в Excel, первые две страницы располагаются именно на тех закладках, наименования которых были заданы статически в свойствах ExcelSheet, а вот заголовок третьей закладки содержит значение поля последней записи в группировке второй страницы, хотя в содержимом третьей закладки все отображается корректно - значения первой записи группировки третьей страницы. Все остальные закладки именуются корректно, хотя не поручусь - проверяющие говорили, что иногда в заголовке закладки содержится не та информация, которая должна была бы там быть по условиям группировки.
Рискну предположить, что если данные из источника были сгруппированы и выведены в одной странице, то при переключении на другую страницу, где используется группировка по другим условиям, указатель на строку в таблице не сбрасывается на новые условия группировки на странице, что логично.
Вопрос - как сделать так, что бы наименование закладки (свойство ExcelSheet) всегда соответствовало, допустим, условию группировки заголовка группы (на странице всего одна группировка и более ничего, каждое новое значение по условию группировки должно выводиться на новой странице)?
Допустим в исходной таблице есть три поля. Отчет содержит три страницы, в каждой данные из этой таблицы группируются по первому, второму и третьему полю соответственно. На третьей странице в заголовке группы стоит New Page Before и Skip First, в поле ExcelSheet стоит то же выражение, что и в условии группировки заголовка группы (допустим, группировка по третьему полю).
При экспорте в Excel, первые две страницы располагаются именно на тех закладках, наименования которых были заданы статически в свойствах ExcelSheet, а вот заголовок третьей закладки содержит значение поля последней записи в группировке второй страницы, хотя в содержимом третьей закладки все отображается корректно - значения первой записи группировки третьей страницы. Все остальные закладки именуются корректно, хотя не поручусь - проверяющие говорили, что иногда в заголовке закладки содержится не та информация, которая должна была бы там быть по условиям группировки.
Рискну предположить, что если данные из источника были сгруппированы и выведены в одной странице, то при переключении на другую страницу, где используется группировка по другим условиям, указатель на строку в таблице не сбрасывается на новые условия группировки на странице, что логично.
Вопрос - как сделать так, что бы наименование закладки (свойство ExcelSheet) всегда соответствовало, допустим, условию группировки заголовка группы (на странице всего одна группировка и более ничего, каждое новое значение по условию группировки должно выводиться на новой странице)?
Посоветуйте - проблемма с отчетом
Здравствуйте.
Пока не смогли воспроизвести проблему, наверно не учитываем какой-то фактор.
Вышлите пожалуйста образец вашего отчета с данными, на которых стабильно воспроизводится проблема, для анализа.
Спасибо.
Пока не смогли воспроизвести проблему, наверно не учитываем какой-то фактор.
Вышлите пожалуйста образец вашего отчета с данными, на которых стабильно воспроизводится проблема, для анализа.
Спасибо.
Посоветуйте - проблемма с отчетом
Образец очета это вы имеете ввиду файл *.mdc или исходник *.mrt?
Объясните, пожалуйста, как подготовить вам данные, необходимые для анализа.
Объясните, пожалуйста, как подготовить вам данные, необходимые для анализа.
Посоветуйте - проблемма с отчетом
Здравствуйте.
Пришлите пожалуйста ваш шаблон отчета (MRT-файл) и базу данных, которая необходима для построения этого отчета.
Ошибку построения отчета надо отлавливать в момент построения отчета, по готовому файлу отчета (MDC) причину ошибки чаще всего не понять.
Спасибо.
Пришлите пожалуйста ваш шаблон отчета (MRT-файл) и базу данных, которая необходима для построения этого отчета.
Ошибку построения отчета надо отлавливать в момент построения отчета, по готовому файлу отчета (MDC) причину ошибки чаще всего не понять.
Спасибо.
Посоветуйте - проблемма с отчетом
Гм, ладно, попробую сымитировать на тестовой базе т тестовом отчете...
Посоветуйте - проблемма с отчетом
Вот тестовый отчет.
Отчет
В соединении просто укажите любой SQL Server.
Скорее всего я что-то не так реализовал. По задумке, первые два листа должны иметь фиксированное имя в закладке в Excel, а вот третий лист должен создавать новую закладку для каждой новой группы данных с наименованием, равным значению группировки.
После экспорта в Excel видно, что две страницы имеют корректные закладки, а вот третья закдалка имеет в наименовании значение поля из группировки второй страницы...
Отчет
В соединении просто укажите любой SQL Server.
Скорее всего я что-то не так реализовал. По задумке, первые два листа должны иметь фиксированное имя в закладке в Excel, а вот третий лист должен создавать новую закладку для каждой новой группы данных с наименованием, равным значению группировки.
После экспорта в Excel видно, что две страницы имеют корректные закладки, а вот третья закдалка имеет в наименовании значение поля из группировки второй страницы...
Посоветуйте - проблемма с отчетом
Здравствуйте.
Процесс построения отчета такой: сначала создается новая страница, а уже после на неё начинают рендериться компоненты.
Соответственно на момент создания страницы Page3 текущей записью в DataSource является последняя запись, использованная на предыдущей странице (или первая запись, если это рендерится первая страница отчета). Позиция DataSource изменяется, только когда рендеринг доходит до датабэнда. Поэтому у первой страницы из группы может быть неправильное имя.
Эта проблема решается использованием переменной и двух событий. Первое событие вешается на страницу и сохраняет в переменной ссылку на эту текущую страницу. Второе событие на GroupHeader берет ссылку из переменной и заполняет поле ExcelSheet страницы. Пример отчета прикреплен.
Спасибо.
Процесс построения отчета такой: сначала создается новая страница, а уже после на неё начинают рендериться компоненты.
Соответственно на момент создания страницы Page3 текущей записью в DataSource является последняя запись, использованная на предыдущей странице (или первая запись, если это рендерится первая страница отчета). Позиция DataSource изменяется, только когда рендеринг доходит до датабэнда. Поэтому у первой страницы из группы может быть неправильное имя.
Эта проблема решается использованием переменной и двух событий. Первое событие вешается на страницу и сохраняет в переменной ссылку на эту текущую страницу. Второе событие на GroupHeader берет ссылку из переменной и заполняет поле ExcelSheet страницы. Пример отчета прикреплен.
Спасибо.
- Вложения
-
- Отчет 2.zip
- (2.52 КБ) 194 скачивания