Универсальные параметры для изменения печатных форм в пользовательском режиме

Идея пришла на организации, где была куча печатных форм ТОРГ-12 и Счет-фактур, в которых в зависимости от контрагента или организации менялся всего один или несколько реквизитов.
Зачем плодить печатные формы, если можно просто хранить где нибудь параметры, а использовать только одну форму?

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

.

 

 

Параметры храним в Регистре сведений

Измерения: Наименование = строка //Как уникальный ключ, остальные измерения в регистре по мере необходимости (Организация, ОрганизацияПолучатель, Контрагент, Подразделение, Склад, СкладПолучатель, Автор, ПроизвольныйПараметр = ЛюбаяСсылка)

Ресурсы: «ХранилищеЗначения» в котором храним структуру параметров

Встраиваем в печатные формы

//Перезаполняем ОбластьПараметры перед выводом в табличный документ для области
СтруктураУниверсальная = Новый Структура("АдресДоставки,ВидДеятельностиПоОКДП,ВидОперации,Грузополучатель,"); //Указываем параметры которые будем менять
ЗаполнитьЗначенияСвойств(СтруктураУниверсальная,ОбластьМакета.Параметры); // заполняем структуру текущими параметрами
РС_СтруктураПараметров.ЗначенияНастроек.Вставить("ШапкаШаблон",СтруктураУниверсальная); //Записываем как шаблон
РС_Сервер.РСУН_ЗаполнитьОбластьУниверсальнойНастройкой("Шапка",РС_СтруктураПараметров.ЗначенияНастроек,ОбластьМакета.Параметры); //Заполняем параметрами пользователя
ТабличныйДокумент.Вывести(ОбластьМакета); // Выводим с измененными параметрами В итоге получаем если пользователь указал параметр то заменяем на пользовательский

 

Как результат:

1 Получаем вместо 15 печатных форм одну

2 Можем менять параметры, не влезая в конфигуратор

3 Новые создаем просто добавив настройки в Регистр Сведений

4 Можем использовать при настройке Видимости/Доступности на формах

5 Можем указать параметры При заполнении новых документов

и т.д.

 

В приложенном файле на пустую CF добавил свои доработки, чтобы видно было, что добавлять, Печатная форма и Счет-фактура с примером реализации

5 Comments

  1. TrinitronOTV

    Интересная идея, спасибо Вам

    Reply
  2. Sanario

    Идея классная. А для БП2.0 прикрутить можно? Не меняя ничего в конфигураторе…

    Reply
  3. kvikster

    (2) Sanario, я думаю можно хранить значение в файле, при внешней печатной форме.

    единственная проблема может быть с отбором по параметрам, теоретически можно сделать

    Reply
  4. CheBurator

    я так понял что хотелки типа

    добавить перед столбцом наименования столбец артикула покупателя, а после столбца наименования — артикул покупателя для РЦ — не получится?

    Reply
  5. kvikster

    (4) CheBurator, Можно, у каждого контрагента свой код номенклатуры, в моем случае есть 5 таких контрагентов, я заполняю в печатной форме их код вместо поля артикул.

    В шаблоне это раздел: ПараметрыМакетаШаблон->Код — если код указан, то для контрагента из Номенклатура->Дополнительные Сведения вытаскивается код контрагента, но этот механизм нужно прописывать либо в запросе либо перед заполнением строки

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *