Большинство внешних печатных форм в ЗУП 3.1 построено на отчетах, а те на СКД.
То, что отчет строится на СКД, открывает в ряде случаев возможность к легкой доработке. Допустим нам нужно вывести какой-нибудь новый параметр в макет печатной формы. Все, что для этого нужно это вывести его в выходные поля отчета.
Допустим нам нужно в печатную форму помимо названия организации вывести ИНН.
Мы открываем ОсновнуюСхемуКомпановкиДанных нашего отчета, переходим на закладку "Настройки" - "Выбранные поля"и перетаскиваем из "Доступных полей" нужный нам реквизит "СсылкаНаОбъект.Организация.ИНН".
Далее мы, в нужную нам ячейку макета помещаем параметр с таким же названием, как и поле, убрав из названия точки. Наш параметр - "СсылкаНаОбъектОрганизацияИНН".
Причем можем его поместить в любую область. Это обусловлено кодом процедуры "ВывестиВДокументРезультатОбластиМакета" общего модуля "ЗарплатаКадрыОтчеты", которая выводит в табличный документ области макета с заполненными параметрами коллекций данных.
Процедура ВывестиВДокументРезультатОбластиМакета(ДокументРезультат, Макет, ИменаОбластейМакета, Данные,
Данные1 = Неопределено, Данные2 = Неопределено, Данные3 = Неопределено, Данные4 = Неопределено,
Данные5 = Неопределено, Данные6 = Неопределено, Данные7 = Неопределено, Данные8 = Неопределено,
Данные9 = Неопределено) Экспорт
ИменаОбластей = СтрРазделить(ИменаОбластейМакета, ",");
Для Каждого ИмяОбласти Из ИменаОбластей Цикл
Область = Макет.ПолучитьОбласть(ИмяОбласти);
ЗаполнитьПараметрыОбластиМакета(Область, Данные,
Данные1, Данные2, Данные3, Данные4,
Данные5, Данные6, Данные7, Данные8,
Данные9);
ДокументРезультат.Вывести(Область);
КонецЦикла;
КонецПроцедуры
Единственное, при такой доработке нужно учесть следующее. При первом выводе на просмотр печатной формы. Программа помещает "МакетКомпановкиДанных" в одноименный регистр сведений "МакетыКомпановкиДанных":
В дальнейшем при формирование печатной формы МакетКомпоновкиДанных будет считываться из этого регистра. Соответственно после изменения СКД нашего отчета, нужно будет удалить строку этого регистра, которая соответствует отчету. Иначе наши изменения СКД не будут использованы, а будет использоваться макет компоновки сохраненный в регистр ранее. Очистить можно и в пользовательском режиме в форме списка регистра, предварительно включив возможность редактирования. Включается "Еще" - "Включить возможность редактирования".