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];
Значение = ЗначениеПоУмолчанию;
ЗначениеНачальное = ЗначениеПоУмолчанию;
Описание = ОписаниеПараметра;
ПеременнаяОкружения = ПеременнаяОкруженияПараметра;
СкрытьЗначение = Ложь;
@@ -114,15 +116,26 @@
КонецФункции
// Процедура очищает, Значение параметра, для типа Массив
//
// Процедура очищает значение параметра
Процедура Очистить() Экспорт
Если Не ЭтоМассив() Тогда
Возврат;
КонецЕсли;
Если ЭтоМассив() Тогда
Значение.Очистить();
ИначеЕсли Значение <> ЗначениеНачальное Тогда
ТипЗначенияПоУмолчанию = ТипЗнч(ЗначениеНачальное);
Если ТипОпции = ТипЗначенияПоУмолчанию Тогда
Значение = ЗначениеНачальное;
ИначеЕсли ТипОпции = Тип("Булево") Тогда
Значение = Ложь;
ИначеЕсли ТипОпции = Тип("Число") Тогда
Значение = 0;
ИначеЕсли ТипОпции = Тип("Дата") Тогда
Значение = '00010101';
Иначе
Значение = "";
КонецЕсли
КонецЕсли;
КонецПроцедуры