Skip to content
Snippets Groups Projects
МенеджерКомандПриложения.os 2.82 KiB
Newer Older
  • Learn to ignore specific revisions
  • 
    Перем мИсполнителиКоманд;
    
    Процедура ЗарегистрироватьКоманды(Знач Парсер) Экспорт
    	
    	мИсполнителиКоманд = Новый Соответствие;
    	
    
    	ДобавитьКоманду("help"   , "КомандаСправкаПоПараметрам"  , Парсер);
    	ДобавитьКоманду("loadcfg", "КомандаЗагрузитьКонфигурацию", Парсер);
    
    	ДобавитьКоманду("session", "КомандаУправлениеСеансами"   , Парсер);
    
    	
    КонецПроцедуры
    
    Функция ПолучитьКоманду(Знач ИмяКоманды) Экспорт
    	
    	КлассРеализации = мИсполнителиКоманд[ИмяКоманды];
    	Если КлассРеализации = Неопределено Тогда
    		ВызватьИсключение "Неверная операция. Команда '"+ИмяКоманды+"' не предусмотрена";
    	КонецЕсли;
    	
    
    	Возврат КлассРеализации;
    
    Функция ВыполнитьКоманду(Знач ИмяКоманды, Знач ПараметрыКоманды) Экспорт
    	
    	Команда = ПолучитьКоманду(ИмяКоманды);
    
    	Возврат Команда.ВыполнитьКоманду(ПараметрыКоманды);
    
    КонецФункции
    
    
    Функция РезультатыКоманд() Экспорт
    
    	РезультатыКоманд = Новый Структура;
    	РезультатыКоманд.Вставить("НеРеализовано", 255);
    	РезультатыКоманд.Вставить("Успех", 0);
    	РезультатыКоманд.Вставить("НеверныеПараметры", 5);
    	РезультатыКоманд.Вставить("ОшибкаВремениВыполнения", 1);
    	
    	Возврат РезультатыКоманд;
    
    КонецФункции
    
    Функция КодВозвратаКоманды(Знач Команда) Экспорт
    	Возврат Число(Команда);
    КонецФункции
    
    
    Процедура ДобавитьКоманду(Знач ИмяКоманды, Знач КлассРеализации, Знач Парсер)
    
    	РеализацияКоманды = Новый(КлассРеализации);
    	РеализацияКоманды.ЗарегистрироватьКоманду(ИмяКоманды, Парсер);
    	мИсполнителиКоманд.Вставить(ИмяКоманды, РеализацияКоманды);
    
    
    КонецПроцедуры
    
    Процедура ПоказатьСправкуПоКомандам() Экспорт
    	ВыполнитьКоманду("help", Новый Соответствие);