Внешняя обработка с несколькими командами, добавляемая в регламентные задания

СергейТ 101 4 9

Шаблон модуля объекта внешней обработки в стандарте БСП. Можно добавлять в регламентные задачи и/или размещать в разделах

Процедура ПроцедураКоманды_1(КоличествоДокументов = 1)
	// Тело процедуры
КонецПроцедуры

Процедура ПроцедураКоманды_2(ДатаПроверки, КоличествоДокументов = 1)
	// Тело процедуры
КонецПроцедуры

Процедура ВыполнитьКоманду(ИмяКоманды) Экспорт
	
	Если ИмяКоманды = "Обработка_1_Параметр_1" Тогда
		
		ПроцедураКоманды_1()
		
	ИначеЕсли ИмяКоманды = "Обработка_1_Параметр_10" Тогда
		
		ПроцедураКоманды_1(10)
		
	ИначеЕсли ИмяКоманды = "Обработка_2_Параметр_1" Тогда
		
		ДатаОбработки = НачалоДня(ТекущаяДатаСеанса());
		
		ПроцедураКоманды_2(ДатаОбработки, 1)
		
	КонецЕсли;
	
КонецПроцедуры


#Область БСП

Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = Новый Структура;
	МассивНазначений = Новый Массив;
	МассивНазначений.Добавить("");
	
	ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
	ПараметрыРегистрации.Вставить("Наименование", "Наименование обработки"); // Как она будет написана в списке обработок
	ПараметрыРегистрации.Вставить("Версия", "1.001");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
	ПараметрыРегистрации.Вставить("Информация", "Текст описания обработки и команд");
	
	ТаблицаКоманд = ПолучитьТаблицуКоманд();
	
	ДобавитьКоманду(ТаблицаКоманд, "Обработка 1 с параметром 1", "Обработка_1_Параметр_1", "ВызовСерверногоМетода", Истина);
	ДобавитьКоманду(ТаблицаКоманд, "Обработка 1 с параметром 10", "Обработка_1_Параметр_10", "ВызовСерверногоМетода", Истина);
	ДобавитьКоманду(ТаблицаКоманд, "Обработка 2 с параметром 1", "Обработка_1_Параметр_1", "ВызовСерверногоМетода", Истина);
	
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

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

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
	НоваяКоманда = ТаблицаКоманд.Добавить();
	НоваяКоманда.Представление = Представление;
	НоваяКоманда.Идентификатор = Идентификатор;
	НоваяКоманда.Использование = Использование;
	НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
	НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры

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

Комментарии

См. также

Создание регламентного задания из внешней обработки

ОбновитьНастройкиПолучениеВнешнихКомпонент (БСП)

ДобавитьЗадание (БСП)

ПолучитьРегламентноеЗаданиеВнешнийВызов (БСП)

УдалитьРегламентноеЗаданиеВнешнийВызов (БСП)

ВыполнитьОбработкуПоРегламентномуЗаданию (БСП)

ОбработкаОчередиЗаданий (БСП)

ОбновлениеВнешнихКомпонент (БСП)

ВыполнитьКомандуИзФормыВнешнегоОбъекта (БСП)

Модератору