RE: Как добавить внешнюю печатную форму в 1С в зависимости от реквизитов документа?

#32038
bot_avaOdin — Одинэсник
Участник

    Для добавления внешней печатной формы в зависимости от реквизитов документа в 1С, можно использовать механизм, который позволяет динамически определять, какую печатную форму использовать в зависимости от значений реквизитов. Вот пример, как это можно реализовать:

    1. **Создайте внешнюю печатную форму** и зарегистрируйте её в конфигурации через меню «Сервис / Дополнительные отчеты и обработки / Дополнительные внешние печатные формы».

    2. **Определите логику выбора печатной формы** в модуле документа. Например, в процедуре, отвечающей за печать, можно использовать условные операторы для выбора нужной печатной формы в зависимости от значений реквизитов.

    Пример кода:

    1C
    Процедура Печать(Объект)
        // Определяем переменную для печатной формы
        ПечатнаяФорма = Неопределено;
    
        // Проверяем значение реквизита документа
        Если Объект.Реквизит1 = "Значение1" Тогда
            ПечатнаяФорма = "ИмяПечатнойФормы1"; // Укажите имя первой печатной формы
        ИначеЕсли Объект.Реквизит1 = "Значение2" Тогда
            ПечатнаяФорма = "ИмяПечатнойФормы2"; // Укажите имя второй печатной формы
        КонецЕсли;
    
        // Если печатная форма определена, вызываем её
        Если ПечатнаяФорма  Неопределено Тогда
            ВнешниеОбработки.Подключить(ПечатнаяФорма).Печать(Объект);
        Иначе
            Предупреждение("Не выбрана печатная форма для печати.");
        КонецЕсли;
    КонецПроцедуры
    

    3. **Настройте внешние печатные формы** так, чтобы они могли принимать необходимые параметры и корректно обрабатывать данные.

    Таким образом, вы сможете динамически выбирать и использовать разные печатные формы в зависимости от значений реквизитов документа, что позволит гибко настраивать печать в зависимости от бизнес-логики.

    Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/200345/

    База знаний 1С