Несколько разных команд во внешней обработке

1. user1870982 05.03.24 10:38 Сейчас в теме
Есть внешняя обработка для печати документов, в обработке есть макет.
Можно ли использовать этот же макет как ВПФ, чтобы печатать не только из обработки, но и по кнопке "печать" из документа? Пытался добавить еще одну команду в сведениях об обработке, разобраться не получилось.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user5300 1081 05.03.24 13:27 Сейчас в теме
Примерно так:
#Область СВЕДЕНИЯ_О_ВНЕШНЕЙ_ОБРАБОТКЕ

Функция СведенияОВнешнейОбработке() Экспорт
                
    РегистрационныеДанные = РегистрационныеДанные();
    РегистрационныеДанные.Вид                 = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    РегистрационныеДанные.Наименование        = "Синхронизация маркированных товаров УТ 10.3";     
    РегистрационныеДанные.Версия              = "1.0.2";
   // РегистрационныеДанные.БезопасныйРежим     = Ложь;
    РегистрационныеДанные.Информация          = "Синхронизация маркированных товаров УТ 10.3";
    
    // Добавим команду  (Вот первая команда)
    Команда = РегистрационныеДанные.Команды.Добавить();
    Команда.Идентификатор  = "СинхронизацияМаркированныхТоваровУТ10_3_Настройки";
    Команда.Представление  = "Открыть настройки";
    Команда.Использование  = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();   
    Команда.ПоказыватьОповещение  = Истина;
    
    // Добавим команду (Вот вторая команда и тд)
    Команда = РегистрационныеДанные.Команды.Добавить();
    Команда.Идентификатор  = "СинхронизацияМаркированныхТоваровУТ10_3";
    Команда.Представление  = "Синхронизация маркированных товаров УТ 10.3";
    Команда.Использование  = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    //Команда.ПоказыватьОповещение  = Истина;
    
    // Добавим Разрешения
    Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима();
    РегистрационныеДанные.Разрешения.Добавить(Разрешение);

    Возврат РегистрационныеДанные;
    
КонецФункции    
    
Функция РегистрационныеДанные() 
    ПараметрыРегистрации = Новый Структура;
    
    ПараметрыРегистрации.Вставить("Вид", "");
    ПараметрыРегистрации.Вставить("Версия", "0.0");
    ПараметрыРегистрации.Вставить("Назначение", Новый Массив);
    ПараметрыРегистрации.Вставить("Наименование", Неопределено);
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", Неопределено);
    ПараметрыРегистрации.Вставить("ВерсияБСП", СтандартныеПодсистемыСервер.ВерсияБиблиотеки());
    ПараметрыРегистрации.Вставить("ОпределитьНастройкиФормы", Ложь);
    
    РеквизитыТабличнойЧасти = Метаданные.Справочники.ДополнительныеОтчетыИОбработки.ТабличныеЧасти.Команды.Реквизиты;
    
    ТаблицаКоманд = Новый ТаблицаЗначений;
    ТаблицаКоманд.Колонки.Добавить("Представление", РеквизитыТабличнойЧасти.Представление.Тип);
    ТаблицаКоманд.Колонки.Добавить("Идентификатор", РеквизитыТабличнойЧасти.Идентификатор.Тип);
    ТаблицаКоманд.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    ТаблицаКоманд.Колонки.Добавить("ПоказыватьОповещение", РеквизитыТабличнойЧасти.ПоказыватьОповещение.Тип);
    ТаблицаКоманд.Колонки.Добавить("Модификатор", РеквизитыТабличнойЧасти.Модификатор.Тип);
    ТаблицаКоманд.Колонки.Добавить("Скрыть",      РеквизитыТабличнойЧасти.Скрыть.Тип);
    ТаблицаКоманд.Колонки.Добавить("ЗаменяемыеКоманды", РеквизитыТабличнойЧасти.ЗаменяемыеКоманды.Тип);
    
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    ПараметрыРегистрации.Вставить("Разрешения", Новый Массив);
    
    Возврат ПараметрыРегистрации;
КонецФункции

Функция ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыКоманды) Экспорт
    
    Если ИдентификаторКоманды = "СинхронизацияМаркированныхТоваровУТ10_3_Настройки" Тогда
        ВыполнитьПервуюКоманду();
        ИначеЕсли ИдентификаторКоманды = "СинхронизацияМаркированныхТоваровУТ10_3" Тогда
        ВыполнитьВторую();
    КонецЕсли;
    
КонецФункции

#КонецОбласти

Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот