Skip to content
МенеджерКомандПриложения.os 3.46 KiB
Newer Older

Перем мИсполнителиКоманд;

Процедура ЗарегистрироватьКоманды(Знач Парсер) Экспорт
	
	мИсполнителиКоманд = Новый Соответствие;
	
	ДобавитьКоманду("help"    ,       "КомандаСправкаПоПараметрам", Парсер);
	ДобавитьКоманду("loadcfg" ,       "КомандаЗагрузитьКонфигурацию", Парсер);
	ДобавитьКоманду("loadrepo",       "КомандаОбновитьИзХранилища", Парсер);
	ДобавитьКоманду("session" ,       "КомандаУправлениеСеансами", Парсер);
	ДобавитьКоманду("dbupdate",       "КомандаОбновитьКонфигурациюБД", Парсер);
	ДобавитьКоманду("run",            "КомандаЗапуститьВРежимеПредприятия", Парсер);
	ДобавитьКоманду("disablesupport", "КомандаСнятьСПоддержки", Парсер);
	ДобавитьКоманду("schedule",       "КомандаУправлениеРегламентнымиЗаданиями",Парсер);
	
КонецПроцедуры

Функция ПолучитьКоманду(Знач ИмяКоманды) Экспорт
	
	КлассРеализации = мИсполнителиКоманд[ИмяКоманды];
	Если КлассРеализации = Неопределено Тогда
		ВызватьИсключение "Неверная операция. Команда '"+ИмяКоманды+"' не предусмотрена";
	КонецЕсли;
	
	Возврат КлассРеализации;
Функция ВыполнитьКоманду(Знач ИмяКоманды, Знач ПараметрыКоманды) Экспорт
	
	Команда = ПолучитьКоманду(ИмяКоманды);

	Возврат Команда.ВыполнитьКоманду(ПараметрыКоманды);

КонецФункции

Функция РезультатыКоманд() Экспорт

	РезультатыКоманд = Новый Структура;
	РезультатыКоманд.Вставить("НеРеализовано", 255);
	РезультатыКоманд.Вставить("Успех", 0);
	РезультатыКоманд.Вставить("НеверныеПараметры", 5);
	РезультатыКоманд.Вставить("ОшибкаВремениВыполнения", 1);
	
	Возврат РезультатыКоманд;

КонецФункции

Функция КодВозвратаКоманды(Знач Команда) Экспорт
	Возврат Число(Команда);
КонецФункции

Процедура ДобавитьКоманду(Знач ИмяКоманды, Знач КлассРеализации, Знач Парсер)
	РеализацияКоманды = Новый(КлассРеализации);
	РеализацияКоманды.ЗарегистрироватьКоманду(ИмяКоманды, Парсер);
	мИсполнителиКоманд.Вставить(ИмяКоманды, РеализацияКоманды);

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

Процедура ПоказатьСправкуПоКомандам() Экспорт
	ВыполнитьКоманду("help", Новый Соответствие);