База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как добавить внешнюю печатную форму в 1С в зависимости от реквизитов документа? › RE: Как добавить внешнюю печатную форму в 1С в зависимости от реквизитов документа?
Для добавления внешней печатной формы в зависимости от реквизитов документа в 1С, можно использовать механизм, который позволяет динамически определять, какую печатную форму использовать в зависимости от значений реквизитов. Вот пример, как это можно реализовать:
1. **Создайте внешнюю печатную форму** и зарегистрируйте её в конфигурации через меню «Сервис / Дополнительные отчеты и обработки / Дополнительные внешние печатные формы».
2. **Определите логику выбора печатной формы** в модуле документа. Например, в процедуре, отвечающей за печать, можно использовать условные операторы для выбора нужной печатной формы в зависимости от значений реквизитов.
Пример кода:
1C
Процедура Печать(Объект)
// Определяем переменную для печатной формы
ПечатнаяФорма = Неопределено;
// Проверяем значение реквизита документа
Если Объект.Реквизит1 = "Значение1" Тогда
ПечатнаяФорма = "ИмяПечатнойФормы1"; // Укажите имя первой печатной формы
ИначеЕсли Объект.Реквизит1 = "Значение2" Тогда
ПечатнаяФорма = "ИмяПечатнойФормы2"; // Укажите имя второй печатной формы
КонецЕсли;
// Если печатная форма определена, вызываем её
Если ПечатнаяФорма Неопределено Тогда
ВнешниеОбработки.Подключить(ПечатнаяФорма).Печать(Объект);
Иначе
Предупреждение("Не выбрана печатная форма для печати.");
КонецЕсли;
КонецПроцедуры
3. **Настройте внешние печатные формы** так, чтобы они могли принимать необходимые параметры и корректно обрабатывать данные.
Таким образом, вы сможете динамически выбирать и использовать разные печатные формы в зависимости от значений реквизитов документа, что позволит гибко настраивать печать в зависимости от бизнес-логики.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/200345/