Механизм очень прост и может изменить любой параметр в любом месте, был написан и реализован в УТ11.1, но можно адаптировать и в другие конфигурации
.
Параметры храним в Регистре сведений
Измерения: Наименование = строка //Как уникальный ключ, остальные измерения в регистре по мере необходимости (Организация, ОрганизацияПолучатель, Контрагент, Подразделение, Склад, СкладПолучатель, Автор, ПроизвольныйПараметр = ЛюбаяСсылка)
Ресурсы: "ХранилищеЗначения" в котором храним структуру параметров
Встраиваем в печатные формы
//Перезаполняем ОбластьПараметры перед выводом в табличный документ для области
СтруктураУниверсальная = Новый Структура("АдресДоставки,ВидДеятельностиПоОКДП,ВидОперации,Грузополучатель,"); //Указываем параметры которые будем менять
ЗаполнитьЗначенияСвойств(СтруктураУниверсальная,ОбластьМакета.Параметры); // заполняем структуру текущими параметрами
РС_СтруктураПараметров.ЗначенияНастроек.Вставить("ШапкаШаблон",СтруктураУниверсальная); //Записываем как шаблон
РС_Сервер.РСУН_ЗаполнитьОбластьУниверсальнойНастройкой("Шапка",РС_СтруктураПараметров.ЗначенияНастроек,ОбластьМакета.Параметры); //Заполняем параметрами пользователя
ТабличныйДокумент.Вывести(ОбластьМакета); // Выводим с измененными параметрами В итоге получаем если пользователь указал параметр то заменяем на пользовательский
Как результат:
1 Получаем вместо 15 печатных форм одну
2 Можем менять параметры, не влезая в конфигуратор
3 Новые создаем просто добавив настройки в Регистр Сведений
4 Можем использовать при настройке Видимости/Доступности на формах
5 Можем указать параметры При заполнении новых документов
и т.д.
В приложенном файле на пустую CF добавил свои доработки, чтобы видно было, что добавлять, Печатная форма и Счет-фактура с примером реализации