Повторение шапки отчета в начале каждого листа при печати (СКД) + вывод колонтитулов.
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Основная сложность при решении задачи состоит в определении области шапки отчета, которую нужно затем указать в свойстве табличного документа "ПовторятьПриПечатиСтроки".
Повторение шапки получается по следующему алгоритму:
1. Когда программно формируем отчетик по СКД имеем в своем распоряжении "Макет компоновки", определяем в его теле "Макет области макета" (когда платформописатели придумывали имена объектам КД, они наверно хотели окончательно запутать программеров 1С и в без того запутанной компоновке), итак, определяем "Макет области макета", из которого будет формироваться шапка отчета, путем его нехитрого анализа (это лучше один раз поглядеть в функции "ПолучитьМакетШапки", чем писать много слов).
2. При выводе отчета "по элементно" анализируем "Элементы вывода компоновки" и высоту табличного документа (Результата), откуда определяем первую и последнюю строчку "Шапки отчета".
3. ОбластьШапки = ТабличныйДокумент.Область(НачальнаяСтрокаШапки, , КонечнаяСтрокаШапки).
4. ТабличныйДокумент.ПовторятьПриПечатиСтроки = ОбластьШапки.
Ну, вот и все. Дело в шляпе!!!
Колонтитулы это просто.
Примерный код:
// Верхний колонтитул ТабДок.ВерхнийКолонтитул.Выводить = Истина; ТабДок.ВерхнийКолонтитул.НачальнаяСтраница = 2; ТабДок.ВерхнийКолонтитул.Шрифт = Новый Шрифт(Результат.ВерхнийКолонтитул.Шрифт, , , , Истина); ТабДок.ВерхнийКолонтитул.ТекстСлева = "Заголовок отчета"; ТабДок.ВерхнийКолонтитул.ТекстВЦентре = "Стр. [&НомерСтраницы] из [&СтраницВсего]"; ТабДок.ВерхнийКолонтитул.ТекстСправа = "Дата/время печати: [&Дата]/[&Время]"; // Нижний колонтитул ТабДок.НижнийКолонтитул.Выводить = Истина; ТабДок.НижнийКолонтитул.Шрифт = Новый Шрифт(Результат.ВерхнийКолонтитул.Шрифт, , , , Истина); ТабДок.НижнийКолонтитул.ТекстВЦентре = "Заголовок отчета";
Вступайте в нашу телеграмм-группу Инфостарт