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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как вызвать процедуру печати из другой процедуры в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32250
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        есть команда печати:

        &НаКлиенте
        Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
        //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
        ТабДок = Новый ТабличныйДокумент;
        Печать(ТабДок, ПараметрКоманды);

        ТабДок.ОтображатьСетку = Ложь;
        ТабДок.Защита = Ложь;
        ТабДок.ТолькоПросмотр = Ложь;
        ТабДок.ОтображатьЗаголовки = Ложь;
        ТабДок.Показать();
        //}}
        КонецПроцедуры

        &НаСервере
        Процедура Печать(ТабДок, ПараметрКоманды)
        Документы.ЗаявлениеПоступающего.Печать(ТабДок, ПараметрКоманды);
        КонецПроцедуры

        Как её использовать или реализовать или воткнуть в другую процедуру, чтобы при запуске другой процедуры, запускалась команда печати?

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С