Перем мИсполнителиКоманд; Процедура ЗарегистрироватьКоманды(Знач Парсер) Экспорт мИсполнителиКоманд = Новый Соответствие; ДобавитьКоманду("help" , "КомандаСправкаПоПараметрам" , Парсер); ДобавитьКоманду("loadcfg", "КомандаЗагрузитьКонфигурацию", Парсер); ДобавитьКоманду("session", "КомандаУправлениеСеансами" , Парсер); КонецПроцедуры Функция ПолучитьКоманду(Знач ИмяКоманды) Экспорт КлассРеализации = мИсполнителиКоманд[ИмяКоманды]; Если КлассРеализации = Неопределено Тогда ВызватьИсключение "Неверная операция. Команда '"+ИмяКоманды+"' не предусмотрена"; КонецЕсли; Возврат КлассРеализации; КонецФункции Функция ВыполнитьКоманду(Знач ИмяКоманды, Знач ПараметрыКоманды) Экспорт Команда = ПолучитьКоманду(ИмяКоманды); Возврат Команда.ВыполнитьКоманду(ПараметрыКоманды); КонецФункции Функция РезультатыКоманд() Экспорт РезультатыКоманд = Новый Структура; РезультатыКоманд.Вставить("НеРеализовано", 255); РезультатыКоманд.Вставить("Успех", 0); РезультатыКоманд.Вставить("НеверныеПараметры", 5); РезультатыКоманд.Вставить("ОшибкаВремениВыполнения", 1); Возврат РезультатыКоманд; КонецФункции Функция КодВозвратаКоманды(Знач Команда) Экспорт Возврат Число(Команда); КонецФункции Процедура ДобавитьКоманду(Знач ИмяКоманды, Знач КлассРеализации, Знач Парсер) РеализацияКоманды = Новый(КлассРеализации); РеализацияКоманды.ЗарегистрироватьКоманду(ИмяКоманды, Парсер); мИсполнителиКоманд.Вставить(ИмяКоманды, РеализацияКоманды); КонецПроцедуры Процедура ПоказатьСправкуПоКомандам() Экспорт ВыполнитьКоманду("help", Новый Соответствие); КонецПроцедуры