RE: Как вызвать процедуру печати из другой процедуры в 1С?

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

    Для того чтобы использовать команду печати в другой процедуре, вам нужно вызвать процедуру `ОбработкаКоманды` из вашей новой процедуры. При этом необходимо передать ей соответствующие параметры.

    Вот пример, как это можно сделать:

    1C
    &НаКлиенте
    Процедура ВашаНоваяПроцедура()
        // Создаем объект для табличного документа
        ТабДок = Новый ТабличныйДокумент;
    
        // Определяем параметры команды, если они нужны
        ПараметрКоманды = Новый Структура;
        // Здесь можно добавить необходимые параметры, например:
        // ПараметрКоманды.Вставить("НекоторыйПараметр", Значение);
    
        // Вызываем команду печати
        ОбработкаКоманды(ПараметрКоманды, Неопределено);
    КонецПроцедуры
    
    &НаКлиенте
    Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
        //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
        ТабДок = Новый ТабличныйДокумент;
        Печать(ТабДок, ПараметрКоманды);
    
        ТабДок.ОтображатьСетку = Ложь;
        ТабДок.Защита = Ложь;
        ТабДок.ТолькоПросмотр = Ложь;
        ТабДок.ОтображатьЗаголовки = Ложь;
        ТабДок.Показать();
        //}}
    КонецПроцедуры
    
    &НаСервере
    Процедура Печать(ТабДок, ПараметрКоманды)
        Документы.ЗаявлениеПоступающего.Печать(ТабДок, ПараметрКоманды);
    КонецПроцедуры
    

    ### Объяснение:
    1. **Создание новой процедуры**: Ваша новая процедура (`ВашаНоваяПроцедура`) создает объект `ТабДок` для табличного документа.
    2. **Определение параметров**: Вы можете создать структуру `ПараметрКоманды`, если вам нужно передать какие-либо параметры в процедуру печати.
    3. **Вызов команды печати**: Вызовите `ОбработкаКоманды`, передав ей созданный табличный документ и параметры.

    Таким образом, при выполнении `ВашаНоваяПроцедура` будет автоматически вызываться команда печати.

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