1
0
mirror of https://github.com/alei1180/curlone.git synced 2025-11-23 22:45:05 +02:00

fix(cli): Очистка значений параметров команды перед запуском

This commit is contained in:
Dmitry Ivanov
2025-01-12 02:56:58 +03:00
parent b48aac13b6
commit f29e0c2423
2 changed files with 32 additions and 6 deletions

View File

@@ -505,6 +505,7 @@
Подчиненнаякоманда.КомандыРодители = КомандыРодителиДляПодчиненной; Подчиненнаякоманда.КомандыРодители = КомандыРодителиДляПодчиненной;
КонецЦикла; КонецЦикла;
ОчиститьЗначенияПараметров();
ДобавитьОпцииВИндекс(); ДобавитьОпцииВИндекс();
ДобавитьАргументыВИндекс(); ДобавитьАргументыВИндекс();
@@ -808,6 +809,18 @@
КонецФункции КонецФункции
Процедура ОчиститьЗначенияПараметров()
Для Каждого Опция Из Опции Цикл
Опция.Ключ.Очистить()
КонецЦикла;
Для Каждого Аргумент Из Аргументы Цикл
Аргумент.Ключ.Очистить()
КонецЦикла;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область Работа_с_индексом_опций_и_аргументов #Область Работа_с_индексом_опций_и_аргументов

View File

@@ -55,6 +55,7 @@
Перем ТипПараметра; // Опция и аргумент Перем ТипПараметра; // Опция и аргумент
Перем ТипЗначенияПараметра; // Произвольный класс реализуемые несколько обязательных методов Перем ТипЗначенияПараметра; // Произвольный класс реализуемые несколько обязательных методов
Перем РазделительМассива; // Строка Перем РазделительМассива; // Строка
Перем ЗначениеНачальное; // Произвольный
Перем Лог; Перем Лог;
@@ -67,6 +68,7 @@
Синонимы = СтрРазделить(ПолноеИмя, " ", Ложь); Синонимы = СтрРазделить(ПолноеИмя, " ", Ложь);
Имя = Синонимы[0]; Имя = Синонимы[0];
Значение = ЗначениеПоУмолчанию; Значение = ЗначениеПоУмолчанию;
ЗначениеНачальное = ЗначениеПоУмолчанию;
Описание = ОписаниеПараметра; Описание = ОписаниеПараметра;
ПеременнаяОкружения = ПеременнаяОкруженияПараметра; ПеременнаяОкружения = ПеременнаяОкруженияПараметра;
СкрытьЗначение = Ложь; СкрытьЗначение = Ложь;
@@ -114,16 +116,27 @@
КонецФункции КонецФункции
// Процедура очищает, Значение параметра, для типа Массив // Процедура очищает значение параметра
//
Процедура Очистить() Экспорт Процедура Очистить() Экспорт
Если Не ЭтоМассив() Тогда Если ЭтоМассив() Тогда
Возврат; Значение.Очистить();
ИначеЕсли Значение <> ЗначениеНачальное Тогда
ТипЗначенияПоУмолчанию = ТипЗнч(ЗначениеНачальное);
Если ТипОпции = ТипЗначенияПоУмолчанию Тогда
Значение = ЗначениеНачальное;
ИначеЕсли ТипОпции = Тип("Булево") Тогда
Значение = Ложь;
ИначеЕсли ТипОпции = Тип("Число") Тогда
Значение = 0;
ИначеЕсли ТипОпции = Тип("Дата") Тогда
Значение = '00010101';
Иначе
Значение = "";
КонецЕсли
КонецЕсли; КонецЕсли;
Значение.Очистить();
КонецПроцедуры КонецПроцедуры
// Возвращает строковое представление значения параметра // Возвращает строковое представление значения параметра