Вложенный отчет: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| (не показано 15 промежуточных версий этого же участника) | |||
| Строка 5: | Строка 5: | ||
Однако в некоторых случаях предпочтительнее использовать '''объект <code>Вложенный отчет</code>'''. | Однако в некоторых случаях предпочтительнее использовать '''объект <code>Вложенный отчет</code>'''. | ||
===Основные характеристики== | ===Основные характеристики=== | ||
Объект <code>Вложенный отчет</code>: | Объект <code>Вложенный отчет</code>: | ||
*представляет собой обычный объект отчета, который можно положить на один из бэндов; | *представляет собой обычный объект отчета, который можно положить на один из бэндов; | ||
*при этом дизайнер добавит в отчет дополнительную страницу и свяжет ее с объектом вложенного отчета; | *при этом дизайнер добавит в отчет дополнительную страницу и свяжет ее с объектом вложенного отчета; | ||
*на этой дополнительной странице можно создать дополнительный отчет, имеющий любую структуру. | *на этой дополнительной странице можно создать дополнительный отчет, имеющий любую структуру. | ||
'''''Примечание:''' поскольку вложенный отчет формируется на листе основного отчета, он не может содержать следующих бэндов'' | |||
*''<code>Заголовок отчета</code> / <code>Подвал отчета</code>,'' | |||
*''<code>Заголовок страницы</code> / <code>Подвал страницы</code> / <code>Фон страницы</code>,'' | |||
*''<code>Заголовок колонки</code> / <code>Подвал колонки</code>.'' | |||
==Печать== | |||
При печати отчета, в котором имеется объект <code>Вложенный отчет</code>, будет сделано следующее: | |||
*будет печататься главный отчет, пока не встретится объект <code>Вложенный отчет</code>; | |||
*будут печататься бэнды вложенного отчета; | |||
*будет продолжена печать основного отчета. | |||
Вложенный отчет может печататься в двух режимах. | |||
===Основной режим печати=== | |||
В этом режиме бэнды и объекты вложенного отчета печатаются на странице основного отчета. | |||
Имеются ограничения на размещение объектов на бэнде, который содержит вложенный отчет: | |||
*объект "Вложенный отчет" должен находиться у нижней границы бэнда; | |||
*нельзя размещать другие объекты ниже объекта "Вложенный отчет". | |||
При работе отчета такие объекты будут перекрыты объектами вложенного отчета: | |||
[[Файл: subreport_obj_1.png|center|border]] | |||
Для размещения других объектов ниже вложенного отчета используйте бэнд "Дочерний". Его можно прикрепить к основному бэнду и разместить объекты следующим образом: | |||
== | [[Файл: subreport_obj_2.png|center|border]] | ||
===Режим печати "Печатать на родителе"=== | |||
Второй режим печати отличается тем, что вложенный отчет печатается на бэнде, который содержит объект "Вложенный отчет". | |||
Включить этот режим можно из контекстного меню объекта "Вложенный отчет", выбрав пункт "Печатать на родителе". | |||
'''Преимущества:''' | |||
*этот режим не накладывает ограничений на размещение объектов; | |||
*родительский бэнд может расти и сжиматься в зависимости от того, сколько данных напечатано во вложенном отчете. | |||
'''Недостаток:''' | |||
*данных во вложенном отчете может быть много <code>>>></code> | |||
*при его печати получится большая высота у родительского бэнда <code>>>></code> | |||
*чтобы корректно напечатать такой бэнд, придется применить разрыв его содержимого (свойство <code>Может разрываться</code>") <code>>>></code> | |||
*алгоритм разрыва не обеспечивает 100% качества и в некоторых случаях может привести к смещению объектов. | |||
==Печать нескольких отчетов рядом (side-by-side)== | ==Печать нескольких отчетов рядом (side-by-side)== | ||
Расположив рядом два объекта <code>Вложенный отчет</code>, можно напечатать два независимых списка данных, которые будут располагаться рядом. | |||
При печати такого отчета генератор отчета действует следующим образом: | |||
*печатается основной отчет до тех пор, пока не встретится объект <code>Вложенный отчет</code>; | |||
*печатается первый вложенный отчет; | |||
*происходит переход на страницу, где начиналась печать вложенного отчета, и печатается следующий вложенный отчет; | |||
*после того как напечатаны все вложенные отчеты, продолжается печать основного отчета с того места, где закончилась печать самого длинного вложенного отчета. | |||
==Несколько уровней вложенности== | ==Несколько уровней вложенности== | ||
Основные тезисы: | |||
#На страницу вложенного отчета можно поместить объект <code>Вложенный отчет</code>, увеличив тем самым уровень вложенности. | |||
#Количество уровней вложенности формально ничем не ограничивается, однако не следует этим увлекаться - многократно вложенные отчеты довольно сложны для понимания. | |||
#Если у вас есть возможность, используйте для печати вложенных данных стандартные бэнды. Бэнд <code>Данные</code> может иметь один или несколько вложенных бэндов <code>Данные</code>, и так далее. Таким образом, для печати отчетов типа <code>master-detail</code> или <code>master-detail-subdetail</code> нет необходимости использовать вложенные отчеты. | |||
Текущая версия от 04:25, 15 октября 2026
Общие сведения
Иногда в определенном месте основного отчета требуется вывести дополнительные данные, которые могут представлять собой отдельный отчет с довольно сложной структурой. Можно попробовать решить эту задачу, используя богатый набор бэндов дизайнера.
Однако в некоторых случаях предпочтительнее использовать объект Вложенный отчет.
Основные характеристики
Объект Вложенный отчет:
- представляет собой обычный объект отчета, который можно положить на один из бэндов;
- при этом дизайнер добавит в отчет дополнительную страницу и свяжет ее с объектом вложенного отчета;
- на этой дополнительной странице можно создать дополнительный отчет, имеющий любую структуру.
Примечание: поскольку вложенный отчет формируется на листе основного отчета, он не может содержать следующих бэндов
Заголовок отчета/Подвал отчета,Заголовок страницы/Подвал страницы/Фон страницы,Заголовок колонки/Подвал колонки.
Печать
При печати отчета, в котором имеется объект Вложенный отчет, будет сделано следующее:
- будет печататься главный отчет, пока не встретится объект
Вложенный отчет; - будут печататься бэнды вложенного отчета;
- будет продолжена печать основного отчета.
Вложенный отчет может печататься в двух режимах.
Основной режим печати
В этом режиме бэнды и объекты вложенного отчета печатаются на странице основного отчета.
Имеются ограничения на размещение объектов на бэнде, который содержит вложенный отчет:
- объект "Вложенный отчет" должен находиться у нижней границы бэнда;
- нельзя размещать другие объекты ниже объекта "Вложенный отчет".
При работе отчета такие объекты будут перекрыты объектами вложенного отчета:

Для размещения других объектов ниже вложенного отчета используйте бэнд "Дочерний". Его можно прикрепить к основному бэнду и разместить объекты следующим образом:

Режим печати "Печатать на родителе"
Второй режим печати отличается тем, что вложенный отчет печатается на бэнде, который содержит объект "Вложенный отчет".
Включить этот режим можно из контекстного меню объекта "Вложенный отчет", выбрав пункт "Печатать на родителе".
Преимущества:
- этот режим не накладывает ограничений на размещение объектов;
- родительский бэнд может расти и сжиматься в зависимости от того, сколько данных напечатано во вложенном отчете.
Недостаток:
- данных во вложенном отчете может быть много
>>> - при его печати получится большая высота у родительского бэнда
>>> - чтобы корректно напечатать такой бэнд, придется применить разрыв его содержимого (свойство
Может разрываться")>>> - алгоритм разрыва не обеспечивает 100% качества и в некоторых случаях может привести к смещению объектов.
Печать нескольких отчетов рядом (side-by-side)
Расположив рядом два объекта Вложенный отчет, можно напечатать два независимых списка данных, которые будут располагаться рядом.
При печати такого отчета генератор отчета действует следующим образом:
- печатается основной отчет до тех пор, пока не встретится объект
Вложенный отчет; - печатается первый вложенный отчет;
- происходит переход на страницу, где начиналась печать вложенного отчета, и печатается следующий вложенный отчет;
- после того как напечатаны все вложенные отчеты, продолжается печать основного отчета с того места, где закончилась печать самого длинного вложенного отчета.
Несколько уровней вложенности
Основные тезисы:
- На страницу вложенного отчета можно поместить объект
Вложенный отчет, увеличив тем самым уровень вложенности. - Количество уровней вложенности формально ничем не ограничивается, однако не следует этим увлекаться - многократно вложенные отчеты довольно сложны для понимания.
- Если у вас есть возможность, используйте для печати вложенных данных стандартные бэнды. Бэнд
Данныеможет иметь один или несколько вложенных бэндовДанные, и так далее. Таким образом, для печати отчетов типаmaster-detailилиmaster-detail-subdetailнет необходимости использовать вложенные отчеты.