Имя: Пароль:
1C
 
Как правильно передавать параметры печати?
0 WerLym
 
20.03.26
20:33
&НаКлиенте
Процедура Ст_ПечатьЛистСогласованияПродолжение(Результат, Параметры) Экспорт

    Если Результат = КодВозвратаДиалога.Отмена Тогда
        Возврат;
    ИначеЕсли Результат = КодВозвратаДиалога.ОК Тогда

        ПараметрыЗаписи = Новый Структура;
        Если Не Записать(ПараметрыЗаписи) Тогда
            Возврат;
        КонецЕсли;

        ПоказатьОповещениеПользователя(
        НСтр("ru = 'Создание:'"), ПолучитьНавигационнуюСсылку(Объект.Ссылка), Строка(Объект.Ссылка),
        БиблиотекаКартинок.Информация32);
    КонецЕсли;

    ПараметрыПечати = Новый Структура();
    ПараметрыПечати.Вставить("Ответственный", Строка(Объект.Ответственный));
    
    МассивДокументов = Новый Массив;
    МассивДокументов.Добавить(Объект.Ссылка);
    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Справочник.ДокументыПредприятия", "ЛистСогласования",
    МассивДокументов, ЭтаФорма, ПараметрыПечати);

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


// Формирует и выводит на экран печатные формы.
//
// Параметры:
//  ИмяМенеджераПечати - Строка - менеджер печати для печатаемых объектов;
//  ИменаМакетов       - Строка - идентификаторы печатных форм;
//  МассивОбъектов     - ЛюбаяСсылка
//                     - Массив из ЛюбаяСсылка - объекты печати;
//  ВладелецФормы      - ФормаКлиентскогоПриложения - форма, из которой выполняется печать;
//  ПараметрыПечати    - Структура - произвольные параметры для передачи в менеджер печати.
//
// Пример:
//   УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Обработка.ПечатнаяФорма", "СписаниеТоваров", ДокументыНаПечать, ЭтотОбъект);
//
Процедура ВыполнитьКомандуПечати(ИмяМенеджераПечати, ИменаМакетов, МассивОбъектов, ВладелецФормы, ПараметрыПечати = Неопределено) Экспорт
    
    Если Не ПроверитьКоличествоПереданныхОбъектов(МассивОбъектов) Тогда
        Возврат;
    КонецЕсли;
    
    ИмяПараметра = "СтандартныеПодсистемы.Печать.ВыполнитьКомандуПечати";
    СписокПереданныхПараметров = ПараметрыПриложения[ИмяПараметра];
    
    Если СписокПереданныхПараметров = Неопределено Тогда
        СписокПереданныхПараметров = Новый Массив;
        ПараметрыПриложения[ИмяПараметра] = СписокПереданныхПараметров;
    КонецЕсли;
    
    ПараметрыОткрытия = УправлениеПечатьюСлужебныйКлиент.ПараметрыОткрытияФормыПечати();
    ПараметрыОткрытия.ИмяМенеджераПечати = ИмяМенеджераПечати;
    ПараметрыОткрытия.ИменаМакетов = ИменаМакетов;
    ПараметрыОткрытия.ПараметрКоманды = МассивОбъектов;
    ПараметрыОткрытия.ПараметрыПечати = ПараметрыПечати;
    ПараметрыОткрытия.ВладелецФормы = ВладелецФормы;
    
    СписокПереданныхПараметров.Добавить(ПараметрыОткрытия);
    
    ПодключитьОбработчикОжидания("ПродолжитьВыполнениеКомандыПечатиСПереданнымиПараметрами", 0.1, Истина);
    
КонецПроцедуры

как мне правильно тут передать структуру для вывода дополнительных параметров? Документооборот КОРП, редакция 3.0 (3.0.19.30)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший