Внешние обработки 83 » История » Версия 3
« Предыдущее -
Версия 3/6
(Разница(diff)) -
Следующее » -
Текущая версия
Всеволод Дорофеев, 19.05.2020 07:16
Внешние обработки 8.3¶
Запуск внешних обработок 1С из внешних обработок в фоне в 1С 8.3¶
Использование регламентных процедур в внешней обработке¶
Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; //как будет выглядеть описание печ.формы для пользователя Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); //имя макета печ.формы Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Функция ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецФункции Функция УказатьНаименованиеВнешнейОбработки() Наименование = ЭтотОбъект.Метаданные().Представление(); Возврат Наименование; КонецФункции Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; Наименование = УказатьНаименованиеВнешнейОбработки(); ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка"); ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", Наименование); ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); ПараметрыРегистрации.Вставить("Версия", "XX.XX.202X"); ПараметрыРегистрации.Вставить("Информация", Наименование); ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, Наименование, Наименование, ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы(), Ложь); // Форма обработки ДобавитьКоманду(ТаблицаКоманд, "РегламентнаяВыгрузка", "РегламентнаяВыгрузка", ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(), Ложь); // регламентная процедура. Вызывает ВыполнитьКоманду( ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции //Для регламентной задачи Процедура ВыполнитьКоманду(Идентификатор, ОбъектыНазначения = неопределено) Экспорт //... КонецПроцедуры