Это не учения, боец! Добро пожаловать в реальный мир!
Шапку в СКД можно зафиксировать двумя способами. Первый вариант - явное указание параметра:
Процедура ОбновлениеОтображения()
ЭлементыФормы.Результат.ФиксацияСверху = 1;
КонецПроцедуры
Данный вариант не удобен когда заранее нельзя понять сколько строка нам нужно зафиксировать (стоит заметить, что в СКД это практически всегда).
Можно позволить пользователю управлять этим параметром и воспользоваться вторым способом. В случае когда пользователю необходима фиксация, он сам указывает количество строк. Так как настройки сохраняются, то этот параметр ему надо будет задать один раз для определенного варианта отчета.
Выводим его в быстрые настройки:
В платформе 8.2 появилась процедура «ПриКомпоновкеРезультата», в ней мы и укажем наше значение:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
//Стандартные описания Компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
СхемаКомпоновкиДанных = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //Внешний отчет
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
//Закончили описание
//В случае если мы можем получить параметр, то установим его, иначе не будем фиксировать
Попытка
ФиксацияСверху = МакетКомпоновки.ЗначенияПараметров.ФиксацияСверху.Значение;
ДокументРезультат.ФиксацияСверху = ФиксацияСверху;
Исключение
КонецПопытки;
КонецПроцедуры
Таким образом пользователю не важно количество параметров отбора, он может сам отрегулировать себе шапку. Установить значение фиксации в ручную не так уж затратно по времени, и не сложно.