Данное решение может показаться неактуальным в 8.2 (там есть "подобный" механизм), в свою очередь скажу, что пользуюсь этим решением уже на протяжении лет 5, чаще всего, потребители остаются довольны, т.к. они сами могут менять макеты как им вздумается (если необходимо).
Итак в прикрепленном файле находится *.dt от платформы 8.1, конфигурация учебная (осталась с курсов)
В документе "Приходная" есть меню "Печать" с соответствующим пунктом меню, по событию вызывается процедура печати (в типовых можно оставить стандартную), а вот макет мы уже получаем в зависимости от организации, контрагента и даже даты.
В форме списка РС МакетыДокументов, в правом верхнем углу, есть меню управления макетами.
Плюсы данного механизма:
- Редактирование макета в любое время из режима "Предприятие"
- Возможность хранения различных макетов в разрезе контрагента/организации и времени
- Возможность выгрузить/ загрузить макеты в отдельный файл(ы)
- В типовой, при использовании внешних печатных форм, возможность из одной обработки печатать "тысячи" макетов, а не клепать "тысячи" обработок.
К типовым:
Что бы уменьшить "ковыряние" кода просто скопируйте РС из этой выгрузки и напишите внешнюю печатную форму, одну для всех необходимых вам документов, вставьте стандартные процедуры печати и загрузите макеты в РС, дальше, простым копированием, разделите формы по контрагентам или вашим Юр. лицам.
Так же можно формировать списки печ. форм для документов и предоставлять выбор пользователю, но это уже полет для вашей фантазии.
ЗЫ: При использовании в типовых или самописных конфигурациях исправьте тип значения измерений Отправитель/Получатель (в типовых добавьте Спр.Организации)
Так же данный механизм успешно применялся в виде "Новостной ленты" у одного из заказчиков, помимо выполнения своей прямой обязанности.
FAQ:
В: Каким образом происходит отбор по разным контрагентам и т.д.? на картинках и в тексте не увидел по отбору.
О: Создается запись в РС с ключевыми полями "Отправитель, получатель, ИмяМакета"
Например:
Есть у нас есть печатные формы от "METRO", для наглядности примера возьмем, опять же для примера, "ТТН"
Создаем 2 записи в РС:
"Отправитель, получатель, ИмяМакета"
- МЕТРО, Наша фирма, ТТН
- <Пустое значение>,<Пустое значение>, ТТН
Тогда в документах от "МЕТРО" для "Наша фирма" будет печататься макет из 1 строки, а для любого другого контрагента - из второй строки;