4
lefthander
14.01.13
✎
16:22
|
Не так давно реализоввывал
Алгоритм не мо,й но направление следующее...
Направление мысли выдернуто из типовой БП2.0.:
ОбщийМодуль.СтандартныеОтчеты.ПолучитьМакетШапки(...).
Но в случае использования "Таблицы" (как в примере) эта функция к сожалению не подоходит.
Основная сложность при решении задачи состоит в определении области шапки отчета, которую нужно затем указать в свойстве табличного документа "ПовторятьПриПечатиСтроки".
Повторение шапки получается по следующему алгоритму:
1. Когда программно формируем отчетик по СКД имеем в своем распоряжении "Макет компоновки", определяем в его теле "Макет области макета" (когда платформописатели придумывали имена объектам КД, они наверно хотели окончательно запутать программеров 1С и в без того запутанной компоновке), итак, определяем "Макет области макета", из которого будет формироваться шапка отчета, путем его нехитрого анализа (это лучше один раз поглядеть в функции "ПолучитьМакетШапки", чем писать много слов).
2. При выводе отчета "по элементно" анализируем "Элементы вывода компоновки" и высоту табличного документа (Результата), откуда определяем первую и последнюю строчку "Шапки отчета".
3. ОбластьШапки = ТабличныйДокумент.Область(НачальнаяСтрокаШапки, , КонечнаяСтрокаШапки).
4. ТабличныйДокумент.ПовторятьПриПечатиСтроки = ОбластьШапки.
Ну, вот и все. Дело в шляпе!!!
Конкретная реализация зависит от отчета.
|
|