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