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