Имя: Пароль:
 
1C
 
Как передать в процедуру печати БСП доп. параметры?
0 toypaul
 
03.09.21
10:25
И не просто статичные параметры, которые можно объявить при добавлении команды, а параметры, которые определяются (выбором в форме) перед печатью.
1 toypaul
 
03.09.21
10:36
Ничего лучше не придумалось ...

Процедура ПередатьВПараметрыКоманды(ИмяКоманды, ДополнительныеПараметры)

    АдресКомандПечатиВоВременномХранилище = ЭтотОбъект.Команды.Найти("АдресКомандПечатиВоВременномХранилище").Действие;
    КомандыПечати = ПолучитьИзВременногоХранилища(АдресКомандПечатиВоВременномХранилище);
    НайденныеСтроки = КомандыПечати.НайтиСтроки(Новый Структура("ИмяКомандыНаФорме", ИмяКоманды));
    
    Для каждого КомандаПечати Из НайденныеСтроки Цикл
    
        Для каждого Элемент Из ДополнительныеПараметры Цикл
        
            КомандаПечати.ДополнительныеПараметры.Вставить(Элемент.Ключ, Элемент.Значение);
        
        КонецЦикла;
    
    КонецЦикла;
    
    ПоместитьВоВременноеХранилище(КомандыПечати, АдресКомандПечатиВоВременномХранилище);

КонецПроцедуры

вызывается из команды обработки печати


ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("МойПараметр", МойПараметр);
ПередатьВПараметрыКоманды(КомандаДопПараметр.Имя, ДополнительныеПараметры);

УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(КомандаДопПараметр, ЭтотОбъект, Объект);
2 runoff_runoff
 
03.09.21
13:44
может пойти другим путем.. создать печатную форму БСП с выполнением на клиенте (клиентский метод).. а потом получать параметры из ВладелецФормы?..
3 toypaul
 
03.09.21
13:55
(2) слишком муторно. кроме того у меня не внешняя ПФ
4 runoff_runoff
 
03.09.21
15:11
годится для внешних или из расширения..