|
96 | 96 | // Произвольный - Значение - полученное значение в результате чтения строки использования или переменных окружения |
97 | 97 | Функция ЗначениеОпции(Знач ИмяОпции) Экспорт |
98 | 98 |
|
99 | | - Если СтрНачинаетсяС(ИмяОпции, "-") |
100 | | - Или СтрНачинаетсяС(ИмяОпции, "--") Тогда |
101 | | - // Ничего не делаем переданы уже нормализированные опции |
102 | | - Иначе |
103 | | - Префикс = "-"; |
104 | | - Если СтрДлина(ИмяОпции) > 1 Тогда |
105 | | - Префикс = "--"; |
106 | | - КонецЕсли; |
107 | | - ИмяОпции = СтрШаблон("%1%2",Префикс,ИмяОпции); |
108 | | - КонецЕсли; |
109 | | - |
110 | | - ОпцииИндекса = ОпцииИндекс[ИмяОпции]; |
111 | | - Если ОпцииИндекса = Неопределено Тогда |
112 | | - ВызватьИсключение СтрШаблон("Ошибка получение значения опции <%1>. Опция не найдена в индексе опций команды", ИмяОпции); |
113 | | - КонецЕсли; |
114 | | - |
115 | | - Возврат ОпцииИндекса.Значение; |
| 99 | + Возврат ОпцияИзИндекса(ИмяОпции).Значение; |
116 | 100 |
|
117 | 101 | КонецФункции |
118 | 102 |
|
|
125 | 109 | // Произвольный - Значение - полученное значение в результате чтения строки использования или переменных окружения |
126 | 110 | Функция ЗначениеАргумента(Знач ИмяАргумента) Экспорт |
127 | 111 |
|
128 | | - АргументИндекса = АргументыИндекс[ВРег(ИмяАргумента)]; |
129 | | - Если АргументИндекса = Неопределено Тогда |
130 | | - ВызватьИсключение СтрШаблон("Ошибка получение значения аргумента <%1>. Аргумент не найден в индексе аргументов команды", ИмяАргумента); |
131 | | - КонецЕсли; |
132 | | - |
133 | | - Возврат АргументИндекса.Значение; |
| 112 | + Возврат АргументИзИндекса(ИмяАргумента).Значение; |
134 | 113 |
|
135 | 114 | КонецФункции |
136 | 115 |
|
|
453 | 432 | парсер = Новый Парсер(ТокеныПарсера, ПараметрыПарсера); |
454 | 433 | НачальноеСостояние = парсер.Прочитать(); |
455 | 434 |
|
| 435 | + ВывестиПутьПарсераВОтладке(); |
| 436 | + |
456 | 437 | КонецПроцедуры |
457 | 438 |
|
458 | 439 | // Функция добавляет опцию команды и возвращает экземпляр данной опции |
|
496 | 477 |
|
497 | 478 | КонецФункции |
498 | 479 |
|
| 480 | +Функция ОпцияИзИндекса(Знач ИмяОпции) Экспорт |
| 481 | + |
| 482 | + Если СтрНачинаетсяС(ИмяОпции, "-") |
| 483 | + Или СтрНачинаетсяС(ИмяОпции, "--") Тогда |
| 484 | + // Ничего не делаем переданы уже нормализированные опции |
| 485 | + Иначе |
| 486 | + Префикс = "-"; |
| 487 | + Если СтрДлина(ИмяОпции) > 1 Тогда |
| 488 | + Префикс = "--"; |
| 489 | + КонецЕсли; |
| 490 | + ИмяОпции = СтрШаблон("%1%2",Префикс,ИмяОпции); |
| 491 | + КонецЕсли; |
| 492 | + |
| 493 | + ОпцииИндекса = ОпцииИндекс[ИмяОпции]; |
| 494 | + Если ОпцииИндекса = Неопределено Тогда |
| 495 | + ВызватьИсключение СтрШаблон("Ошибка получение значения опции <%1>. Опция не найдена в индексе опций команды", ИмяОпции); |
| 496 | + КонецЕсли; |
| 497 | + |
| 498 | + Возврат ОпцииИндекса; |
| 499 | + |
| 500 | +КонецФункции |
| 501 | + |
| 502 | +Функция АргументИзИндекса(Знач ИмяАргумента) Экспорт |
| 503 | + |
| 504 | + АргументИндекса = АргументыИндекс[ВРег(ИмяАргумента)]; |
| 505 | + Если АргументИндекса = Неопределено Тогда |
| 506 | + ВызватьИсключение СтрШаблон("Ошибка получение значения аргумента <%1>. Аргумент не найден в индексе аргументов команды", ИмяАргумента); |
| 507 | + КонецЕсли; |
| 508 | + |
| 509 | + Возврат АргументИндекса; |
| 510 | + |
| 511 | +КонецФункции |
499 | 512 | // Процедура устанавливает процедуру "ВыполнитьКоманду" выполнения для команды |
500 | 513 | // |
501 | 514 | // Параметры: |
|
626 | 639 | Для каждого КлючЗначение Из Опции Цикл |
627 | 640 |
|
628 | 641 | КлассОпции = КлючЗначение.Ключ; |
| 642 | + КлассОпции.ИзФайла(); |
629 | 643 | КлассОпции.ИзПеременнойОкружения(); |
630 | 644 |
|
631 | 645 | Для каждого ИмяПараметра Из КлассОпции.НаименованияПараметров Цикл |
|
643 | 657 | Для каждого КлючЗначение Из Аргументы Цикл |
644 | 658 |
|
645 | 659 | КлассАргумента = КлючЗначение.Ключ; |
| 660 | + КлассАргумента.ИзФайла(); |
646 | 661 | КлассАргумента.ИзПеременнойОкружения(); |
647 | 662 |
|
648 | 663 | Для каждого ИмяПараметра Из КлассАргумента.НаименованияПараметров Цикл |
|
944 | 959 |
|
945 | 960 | КонецПроцедуры |
946 | 961 |
|
| 962 | +Процедура ВывестиПутьПарсераВОтладке() |
| 963 | + |
| 964 | + Если Лог.Уровень() = УровниЛога.Отладка Тогда |
| 965 | + |
| 966 | + fsm = Новый ВыборСовпадений(); |
| 967 | + Лог.Отладка("Вывожу текущий путь парсинга: "); |
| 968 | + Лог.Отладка(fsm.СгенеритьСтрокуПути(НачальноеСостояние)); |
| 969 | + |
| 970 | + КонецЕсли; |
| 971 | + |
| 972 | +КонецПроцедуры |
| 973 | + |
947 | 974 | #КонецОбласти |
948 | 975 |
|
949 | 976 | Процедура ПриСозданииОбъекта(ИмяКоманды, ОписаниеКоманды, КлассРеализацииКоманды, ПриложениеКоманды = Неопределено) |
|
0 commit comments