1- Перем Команда ;
1+ // Класс ПараметрКоманды, для доступа к установленному значению из вне
2+ Перем ФлагВерсия Экспорт ;
3+ // Строковое представление версии приложения
24Перем ВерсияПриложения Экспорт ;
5+
6+ Перем Команда ;
37Перем НаименованиеПриложения ;
48Перем ОписаниеПриложения ;
59
6- Перем ДействиеВыполнения Экспорт ;
7- Перем ДействиеПередВыполнением Экспорт ;
8- Перем ДействиеПослеВыполнения Экспорт ;
9-
10- Перем ФлагВерсия Экспорт ;
11-
12- Перем ТипОпцииКоманды ;
13-
14- Процедура ПриСозданииОбъекта (Знач Наименование , Знач Описание , Знач КлассРеализацииОсновныйКоманды = Неопределено )
15-
16- НаименованиеПриложения = Наименование;
17- ОписаниеПриложения = Описание;
18-
19- Если КлассРеализацииОсновныйКоманды = Неопределено Тогда
20- КлассРеализацииОсновныйКоманды = ЭтотОбъект;
21- КонецЕсли ;
22-
23- Команда = Новый КомандаПриложения(Наименование, Описание, КлассРеализацииОсновныйКоманды, ЭтотОбъект);
24-
25- ТипОпцииКоманды = Новый Структура;
26- ТипОпцииКоманды.Вставить("Опция" , "Опция" );
27- ТипОпцииКоманды.Вставить("Аргумент" , "Аргумент" );
28-
29- КонецПроцедуры
3010
11+ // Процедура добавляет версию приложения,
12+ // при вызове данной опции, показывается установленная версия и
13+ // завершается выполнение с кодом (0)
14+ //
15+ // Параметры:
16+ // Наименование - строка - имя опции, в строке допустимо задавать синоним через пробел, например "v version"
17+ // СтрокаВерсии - строка - версия, приложения
3118Процедура Версия (Наименование , СтрокаВерсии ) Экспорт
3219
3320 ВерсияПриложения = СтрокаВерсии;
3421 ФлагВерсия = Команда.Опция(Наименование, Ложь , "показать версию и выйти" );
3522
3623КонецПроцедуры
3724
25+ // Процедура позволяет переопределить стандартную строку использования приложения
26+ //
27+ // Параметры:
28+ // СтрокаСпек - строка - переопределенная строка использования приложения
3829Процедура УстановитьСпек (Знач СтрокаСпек ) Экспорт
3930
4031 Команда.Спек = СтрокаСпек;
4132
4233КонецПроцедуры
4334
35+ // Возвращает основную команду приложения
36+ //
37+ // Возвращаемое значение:
38+ // Команда - класс КомандаПриложения
4439Функция ПолучитьКоманду () Экспорт
4540
4641 Возврат Команда;
4742
4843КонецФункции
4944
45+ // Основная процедура запуска приложения
46+ //
47+ // Параметры:
48+ // АргументыКоманднойСтрокиВходящие - Массив - Элементы <Строка>, необзательный,
49+ // Если, не передано считывает из АргументыКоманднойСтроки
5050Процедура Запустить (АргументыКоманднойСтрокиВходящие = Неопределено ) Экспорт
5151
5252 Аргументы = АргументыКоманднойСтроки;
6060
6161КонецПроцедуры
6262
63+ // Функция добавляет команду приложение и возвращает экземпляр данной команды
64+ //
65+ // Параметры:
66+ // ИмяКоманды - строка - в строке допустимо задавать синоним через пробел, например "exec e"
67+ // ОписаниеКоманды - строка - описание команды для справки
68+ // КлассРеализацииКоманды - объект - класс, объект реализующий функции выполнения команды.
69+ // Так же используется, для автоматической настройки опций и параметров команды
70+ //
71+ // Возвращаемое значение:
72+ // Команда - класс КомандаПриложения
6373Функция ДобавитьКоманду (ИмяКоманды , ОписаниеКоманды , КлассРеализацииКоманды ) Экспорт
6474
6575 Возврат Команда.ДобавитьПодкоманду(ИмяКоманды, ОписаниеКоманды, КлассРеализацииКоманды);
6676
6777КонецФункции
6878
79+ // Процедура устанавливает процедуру "ВыполнитьКоманду" выполнения для приложения
80+ //
81+ // Параметры:
82+ // КлассРеализации - объект - класс, объект реализующий процедуру выполнения команды.
83+ // ИмяПроцедуры - строка - имя процедуры, отличное от стандартного "ВыполнитьКоманду"
84+ //
6985Процедура УстановитьОсновноеДействие (КлассРеализации , ИмяПроцедуры = "ВыполнитьКоманду" ) Экспорт
7086
7187 Команда.УстановитьДействиеВыполнения(КлассРеализации, ИмяПроцедуры);
7288
7389КонецПроцедуры
7490
91+ // Процедура устанавливает процедуру "ПередВыполнениемКоманды" выполнения для приложения
92+ // запускаемую перед выполнением "ВыполнитьКоманду"
93+ //
94+ // Параметры:
95+ // КлассРеализации - объект - класс, объект реализующий процедуру выполнения команды.
96+ // ИмяПроцедуры - строка - имя процедуры, отличное от стандартного "ПередВыполнениемКоманды"
97+ //
7598Процедура УстановитьДействиеПередВыполнением (КлассРеализации , ИмяПроцедуры = "ПередВыполнениемКоманды" ) Экспорт
7699
77100 Команда.УстановитьДействиеПередВыполнением(КлассРеализации, ИмяПроцедуры);
78101
79102КонецПроцедуры
80103
104+ // Процедура устанавливает процедуру "ПослеВыполненияКоманды" выполнения для приложения
105+ // запускаемую после выполнением "ВыполнитьКоманду"
106+ //
107+ // Параметры:
108+ // КлассРеализации - объект - класс, объект реализующий процедуру выполнения команды.
109+ // ИмяПроцедуры - строка - имя процедуры, отличное от стандартного "ПослеВыполненияКоманды"
110+ //
81111Процедура УстановитьДействиеПослеВыполнения (КлассРеализации , ИмяПроцедуры = "ПослеВыполненияКоманды" ) Экспорт
82112
83113 Команда.УстановитьДействиеПослеВыполнения(КлассРеализации, ИмяПроцедуры);
84114
85115КонецПроцедуры
86116
117+ // Функция добавляет опцию приложения и возвращает экземпляр данной опции
118+ //
119+ // Параметры:
120+ // Имя - строка - имя опции, в строке допустимо задавать синоним через пробел, например "s some-opt"
121+ // Значение - строка - значение опции по умолчанию
122+ // Описание - объект - описание опции для справки.
123+ //
124+ // Возвращаемое значение:
125+ // Команда - класс ПараметрКоманды
126+ //
127+ // Дополнительно смотри справку по классу ПараметрКоманды
87128Функция Опция (Имя , Значение = "" , Описание = "" ) Экспорт
88129
89130 Возврат Команда.Опция(Имя, Значение, Описание);
90131
91132КонецФункции
92133
134+ // Функция добавляет аргумент приложения и возвращает экземпляр данной аргумента
135+ //
136+ // Параметры:
137+ // Имя - строка - имя аргумента, в строке допустимо использование только БОЛЬШИХ латинских букв, например "ARG"
138+ // Значение - строка - значение аргумента по умолчанию
139+ // Описание - объект - описание аргумента для справки.
140+ //
141+ // Возвращаемое значение:
142+ // Команда - класс ПараметрКоманды
143+ //
144+ // Дополнительно смотри справку по классу ПараметрКоманды
145+ Функция Аргумент (Имя , Значение = "" , Описание = "" ) Экспорт
146+
147+ Возврат Команда.Аргумент(Имя, Значение, Описание);
148+
149+ КонецФункции
150+
151+ // Предопределенная процедура выполнения приложения, если не задана процедура в классе.
152+ // Выводит справку, по работе с приложением и завершает работу с кодом "1"
153+ // Переопределяется, процедурой "УстановитьОсновноеДействие"
154+ //
155+ // Параметры:
156+ // Команда - класс КомандаПриложения - инстанс класс, для доступа к опция и аргументам выполняемой команды
157+ //
93158Процедура ВыполнитьКоманду (Знач Команда ) Экспорт
94159
95160 Сообщить ("Не корректное использование" + Символы.ПС);
98163
99164КонецПроцедуры
100165
101- Функция Аргумент (Имя , Значение = "" , Описание = "" ) Экспорт
102-
103- Возврат Команда.Аргумент(Имя, Значение, Описание);
166+ Процедура ПриСозданииОбъекта (Знач Наименование , Знач Описание , Знач КлассРеализацииОсновныйКоманды = Неопределено )
104167
105- КонецФункции
168+ НаименованиеПриложения = Наименование;
169+ ОписаниеПриложения = Описание;
170+
171+ Если КлассРеализацииОсновныйКоманды = Неопределено Тогда
172+ КлассРеализацииОсновныйКоманды = ЭтотОбъект;
173+ КонецЕсли ;
174+
175+ Команда = Новый КомандаПриложения(Наименование, Описание, КлассРеализацииОсновныйКоманды, ЭтотОбъект);
176+
177+ КонецПроцедуры
0 commit comments