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

Как вызвать процеду...
 

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


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

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

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

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

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

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



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

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

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

1C
&НаКлиенте
Процедура ВашаНоваяПроцедура()
    // Создаем объект для табличного документа
    ТабДок = Новый ТабличныйДокумент;

    // Определяем параметры команды, если они нужны
    ПараметрКоманды = Новый Структура;
    // Здесь можно добавить необходимые параметры, например:
    // ПараметрКоманды.Вставить("НекоторыйПараметр", Значение);

    // Вызываем команду печати
    ОбработкаКоманды(ПараметрКоманды, Неопределено);
КонецПроцедуры

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

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

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

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

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



   
ОтветитьЦитата