Это не учения, боец! Добро пожаловать в реальный мир!
Полигон DISc0nNecT'a

Авторизация

Книга про инвестиции

Карта посещений

Другие ссылки

Поиск по сайту

Как зафиксировать макет в СКД

Шапку в СКД можно зафиксировать двумя способами. Первый вариант - явное указание параметра:

Процедура ОбновлениеОтображения()

ЭлементыФормы.Результат.ФиксацияСверху = 1;

КонецПроцедуры

Данный вариант не удобен когда заранее нельзя понять сколько строка нам нужно зафиксировать (стоит заметить, что в СКД это практически всегда).

Можно позволить пользователю управлять этим параметром и воспользоваться вторым способом. В случае когда пользователю необходима фиксация, он сам указывает количество строк. Так как настройки сохраняются, то этот параметр ему надо будет задать один раз для определенного варианта отчета.

Задаем параметр в СКД:

Выводим его в быстрые настройки:

На форме получаем следующее:

В платформе 8.2 появилась процедура «ПриКомпоновкеРезультата», в ней мы и укажем наше значение:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

//Стандартные описания Компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

СхемаКомпоновкиДанных = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //Внешний отчет

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
//Закончили описание

//В случае если мы можем получить параметр, то установим его, иначе не будем фиксировать
Попытка
ФиксацияСверху = МакетКомпоновки.ЗначенияПараметров.ФиксацияСверху.Значение;
ДокументРезультат.ФиксацияСверху = ФиксацияСверху;
Исключение
КонецПопытки;

КонецПроцедуры

Таким образом пользователю не важно количество параметров отбора, он может сам отрегулировать себе шапку. Установить значение фиксации в ручную не так уж затратно по времени, и не сложно.

Яндекс.Метрика