|
16 | 16 | Перем Синонимы; // массив строк |
17 | 17 | Перем Описание; // Строка |
18 | 18 | Перем ВложенныеКоманды; // Массив классов КомандаПриложения |
19 | | -Перем Опции; // Соответствие |
| 19 | +Перем Опции; // Соответствие |
20 | 20 | Перем Аргументы; // Соответствие |
21 | 21 |
|
22 | 22 | Перем ОпцииИндекс; // Соответствие |
|
33 | 33 |
|
34 | 34 | Перем Лог; |
35 | 35 |
|
36 | | -// Функция добавляет под команду в текущую и возвращает экземпляр данной команды |
| 36 | +// Функция добавляет под команду в текущую и возвращает экземпляр данной команды |
37 | 37 | // |
38 | 38 | // Параметры: |
39 | 39 | // ИмяКоманды - строка - в строке допустимо задавать синоним через пробел, например "exec e" |
|
53 | 53 |
|
54 | 54 | КонецФункции |
55 | 55 |
|
56 | | -// Функция массив синонимов команды |
| 56 | +// Функция массив вложенных команд, текущей команды |
57 | 57 | // |
58 | 58 | // Возвращаемое значение: |
59 | 59 | // массив, элементы класс КомандаПриложения |
|
63 | 63 |
|
64 | 64 | КонецФункции |
65 | 65 |
|
66 | | -// Функция возвращает текущее имя команды |
| 66 | +// Функция возвращает текущее имя команды |
67 | 67 | // |
68 | 68 | // Возвращаемое значение: |
69 | 69 | // строка |
70 | 70 | Функция ПолучитьИмяКоманды() Экспорт |
71 | 71 | Возврат Имя; |
72 | 72 | КонецФункции |
73 | 73 |
|
74 | | -// Функция массив синонимов команды |
| 74 | +// Функция массив синонимов команды |
75 | 75 | // |
76 | 76 | // Возвращаемое значение: |
77 | 77 | // массив, элементы строка |
78 | 78 | Функция ПолучитьСинонимы() Экспорт |
79 | 79 | Возврат Синонимы; |
80 | 80 | КонецФункции |
81 | 81 |
|
82 | | -// Функция возвращает описание команды |
| 82 | +// Функция возвращает описание команды |
83 | 83 | // |
84 | 84 | // Возвращаемое значение: |
85 | 85 | // строка |
|
90 | 90 | // Функция возвращает значение опции по переданному имени/синониму опции |
91 | 91 | // |
92 | 92 | // Параметры: |
93 | | -// ИмяОпции - строка - имя или синоним опиции |
| 93 | +// ИмяОпции - строка - имя или синоним опции |
94 | 94 | // |
95 | 95 | // Возвращаемое значение: |
96 | 96 | // Произвольный - Значение - полученное значение в результате чтения строки использования или переменных окружения |
|
116 | 116 | // Функция возвращает все параметры команды, для доступа к ним по синонимам |
117 | 117 | // |
118 | 118 | // Возвращаемое значение: |
119 | | -// Соответствие |
| 119 | +// Соответствие |
120 | 120 | // Ключ - имя или синоним опции/аргумента команды |
121 | 121 | // Значение - полученное значение в результате чтения строки использования или переменных окружения |
122 | 122 | Функция ПараметрыКоманды() Экспорт |
|
126 | 126 | Для каждого КлючЗначение Из ОпцииИндекс Цикл |
127 | 127 | ПКоманды.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение.Значение); |
128 | 128 | КонецЦикла; |
129 | | - |
| 129 | + |
130 | 130 | Для каждого КлючЗначение Из АргументыИндекс Цикл |
131 | 131 | ПКоманды.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение.Значение); |
132 | 132 | КонецЦикла; |
133 | | - |
| 133 | + |
134 | 134 | Возврат ПКоманды; |
135 | 135 |
|
136 | 136 | КонецФункции |
137 | 137 |
|
138 | | -// Предопределенная процедура ПередВыполнениемКоманды команды, если не задана процедура в классе. |
| 138 | +// Предопределенная процедура ПередВыполнениемКоманды команды, если не задана процедура в классе. |
139 | 139 | // Содержит код определение необходимости вывода версии приложения |
140 | 140 | Процедура ПередВыполнениемКоманды(Знач Команда) Экспорт |
141 | 141 |
|
|
154 | 154 |
|
155 | 155 | КонецПроцедуры |
156 | 156 |
|
157 | | -// Предопределенная процедура ПослеВыполненияКоманды команды, если не задана процедура в классе. |
| 157 | +// Предопределенная процедура ПослеВыполненияКоманды команды, если не задана процедура в классе. |
158 | 158 | Функция ПослеВыполненияКоманды(Знач Команда) Экспорт |
159 | 159 |
|
160 | 160 | КонецФункции |
|
287 | 287 | КонецЕсли; |
288 | 288 |
|
289 | 289 | ДействиеПередВыполнением.Исполнить(ЭтотОбъект); |
290 | | - |
| 290 | + |
291 | 291 | Если КонечныйИндексКоманды = АргументыCLI.ВГраница() Тогда |
292 | | - |
| 292 | + |
293 | 293 | Лог.Отладка("Выполняю полезную работу %1", Имя); |
294 | 294 | ДействиеВыполнения.Исполнить(ЭтотОбъект); |
295 | | - |
| 295 | + |
296 | 296 | Возврат; |
297 | 297 | КонецЕсли; |
298 | 298 |
|
|
326 | 326 | КонецЦикла; |
327 | 327 |
|
328 | 328 | ДействиеПослеВыполнения.Исполнить(ЭтотОбъект); |
329 | | - |
| 329 | + |
330 | 330 |
|
331 | 331 | Если СтрНачинаетсяС(ПервыйАргумент,"-") Тогда |
332 | 332 | ВывестиСправку(); |
|
352 | 352 | КонецФункции |
353 | 353 |
|
354 | 354 | // Процедура подготавливает команды к запуску |
355 | | -// Формирует строку использования и |
| 355 | +// Формирует строку использования и |
356 | 356 | // настраивает парсер для выполнения парсинга входящих параметров |
357 | 357 | // Обязательно вызывается пред выполнением команды |
358 | 358 | Процедура НачалоЗапуска() Экспорт |
359 | 359 |
|
360 | 360 | КомандыРодителиДляПодчиненной = Новый Массив; |
361 | | - |
| 361 | + |
362 | 362 | Для каждого КомандаРодитель Из КомандыРодители Цикл |
363 | 363 | КомандыРодителиДляПодчиненной.Добавить(КомандаРодитель); |
364 | 364 | КонецЦикла; |
365 | | - |
| 365 | + |
366 | 366 | КомандыРодителиДляПодчиненной.Добавить(Имя); |
367 | 367 |
|
368 | 368 | Для каждого Подчиненнаякоманда Из ВложенныеКоманды Цикл |
|
386 | 386 | Спек = Спек + "["+ арг.Ключ.Имя +"]"+ " "; |
387 | 387 | Продолжить; |
388 | 388 | КонецЕсли; |
389 | | - |
| 389 | + |
390 | 390 | Лог.Отладка("Добавляю аргумет <%1> в спек <%2>",арг.Ключ.Имя ,Спек); |
391 | 391 | Спек = Спек + арг.Ключ.Имя + " "; |
392 | 392 | КонецЦикла; |
|
414 | 414 |
|
415 | 415 | КонецПроцедуры |
416 | 416 |
|
417 | | -// Функция добавляет опцию команды и возвращает экземпляр данной опции |
| 417 | +// Функция добавляет опцию команды и возвращает экземпляр данной опции |
418 | 418 | // |
419 | 419 | // Параметры: |
420 | 420 | // Имя - строка - имя опции, в строке допустимо задавать синоним через пробел, например "s some-opt" |
|
423 | 423 | // |
424 | 424 | // Возвращаемое значение: |
425 | 425 | // Команда - класс ПараметрКоманды |
426 | | -// |
| 426 | +// |
427 | 427 | // Дополнительно смотри справку по классу ПараметрКоманды |
428 | 428 | Функция Опция(Имя, Значение = "", Описание = "") Экспорт |
429 | 429 |
|
|
435 | 435 |
|
436 | 436 | КонецФункции |
437 | 437 |
|
438 | | -// Функция добавляет аргумент команды и возвращает экземпляр данной аргумента |
| 438 | +// Функция добавляет аргумент команды и возвращает экземпляр данной аргумента |
439 | 439 | // |
440 | 440 | // Параметры: |
441 | 441 | // Имя - строка - имя аргумента, в строке допустимо использование только из БОЛЬШИХ латинских букв, например "ARG" |
|
444 | 444 | // |
445 | 445 | // Возвращаемое значение: |
446 | 446 | // Команда - класс ПараметрКоманды |
447 | | -// |
| 447 | +// |
448 | 448 | // Дополнительно смотри справку по классу ПараметрКоманды |
449 | 449 | Функция Аргумент(Имя, Значение = "", Описание = "") Экспорт |
450 | 450 |
|
|
481 | 481 | Процедура УстановитьДействиеПередВыполнением(КлассРеализации, ИмяПроцедуры = "ПередВыполнениемКоманды") Экспорт |
482 | 482 |
|
483 | 483 | Лог.Отладка("Установка метода: перед выполнением класс <%1> имя процедуры <%2>", КлассРеализации, ИмяПроцедуры); |
484 | | - |
| 484 | + |
485 | 485 | Если НЕ ПроверитьМетодПередВыполнениемКоманды(КлассРеализации, ИмяПроцедуры) Тогда |
486 | 486 | Лог.Отладка(" >> метод %2 у класс <%1> найден", КлассРеализации, ИмяПроцедуры); |
487 | | - |
| 487 | + |
488 | 488 | ДействиеПередВыполнением = Делегаты.Создать(КлассРеализации, ИмяПроцедуры); |
489 | 489 |
|
490 | 490 | ИначеЕсли ДействиеПередВыполнением = Неопределено Тогда |
|
509 | 509 | Если НЕ ПроверитьМетодПослеВыполнениемКоманды(КлассРеализации, ИмяПроцедуры) Тогда |
510 | 510 |
|
511 | 511 | Лог.Отладка(" >> метод %2 у класс <%1> найден", КлассРеализации, ИмяПроцедуры); |
512 | | - |
| 512 | + |
513 | 513 | ДействиеПослеВыполнения = Делегаты.Создать(КлассРеализации, ИмяПроцедуры); |
514 | 514 |
|
515 | 515 | ИначеЕсли ДействиеПослеВыполнения = Неопределено Тогда |
|
521 | 521 |
|
522 | 522 | КонецПроцедуры |
523 | 523 |
|
524 | | -#Область Работа с входящими аргументами |
| 524 | +#Область Работа с входящими аргументами |
525 | 525 |
|
526 | 526 | Процедура ОчиститьАргументы(АргументыCLI) |
527 | 527 |
|
|
679 | 679 |
|
680 | 680 | ПроверкаНаФункцию = ЭтоФункция = СтрокаМетода.ЭтоФункция; |
681 | 681 | ПроверкаНаКоличествоПараметров = ТребуемоеКоличествоПараметров = СтрокаМетода.КоличествоПараметров; |
682 | | - |
| 682 | + |
683 | 683 | Лог.Отладка("Проверяемый метод <%1> корректен: %2", ИмяМетода, ПроверкаНаФункцию И ПроверкаНаКоличествоПараметров); |
684 | 684 | Возврат ПроверкаНаФункцию |
685 | 685 | И ПроверкаНаКоличествоПараметров; |
|
688 | 688 |
|
689 | 689 | #КонецОбласти |
690 | 690 |
|
691 | | -#Область Работа со справкой |
| 691 | +#Область Работа со справкой |
692 | 692 |
|
693 | 693 | Функция НужноВывестиСправку(Знач АргументыCLI) |
694 | 694 |
|
|
879 | 879 |
|
880 | 880 | #КонецОбласти |
881 | 881 |
|
882 | | -#Область Вспомогательные процедуры и функции |
| 882 | +#Область Вспомогательные процедуры и функции |
883 | 883 |
|
884 | 884 | Процедура ВывестиВерсию() |
885 | 885 |
|
|
0 commit comments