From cd84977e96b6bcc2747c3d685eea367acc2f3423 Mon Sep 17 00:00:00 2001 From: Khorevaa Date: Wed, 6 Jun 2018 20:06:46 +0300 Subject: [PATCH 1/5] =?UTF-8?q?fix=20#9=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE?= =?UTF-8?q?=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D1=83=D0=B4=D0=B0=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=D0=BB=D1=8F=20=D0=B8?= =?UTF-8?q?=D0=B7=20=D0=B8=D0=BD=D0=B4=D0=B5=D0=BA=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\265\321\202\321\200\320\276\320\262.os" | 36 ++++++++++++++++++- ...0\320\276\320\271\320\272\320\270_test.os" | 18 +++++++++- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" index 54fa9af..beba3b9 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" @@ -288,6 +288,39 @@ КонецФункции +// Удаляет поле из конструктора параметров +// +// Параметры: +// ИмяПоля - Строка - имя поля, возможно передача синонима поля. +// +// Возвращаемое значение: +// Объект.КонструкторПараметров - ссылка на текущий элемент класса <КонструкторПараметров> +// +Функция УдалитьПоле(Знач ИмяПоля) + + УдаляемоеПоле = НайтиПолеВИндексеПолей(ИмяПоля); + + Если УдаляемоеПоле = Неопределено Тогда + Возврат ЭтотОбъект; + КонецЕсли; + + ИндексПолей.Удалить(УдаляемоеПоле); + + Возврат ЭтотОбъект; + +КонецФункции + +// Возвращает индекс полей конструктора параметров +// +// Возвращаемое значение: +// Соответствие - текущий индекс полей +// +Функция ПолучитьИндексПолей() Экспорт + + Возврат ИндексПолей; + +КонецФункции + #КонецОбласти #Область Работа_с_чтением_и_выгрузкой_параметров @@ -727,7 +760,8 @@ Возврат СтрШаблон("Некорректный формат даты [%1]", Значение); -КонецФункции // ИсключениеНекорректныйФорматДаты( +КонецФункции + #КонецОбласти Лог = Логирование.ПолучитьЛог("oscript.lib.configor.constructor"); diff --git "a/tests/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_test.os" "b/tests/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_test.os" index 88da652..807215f 100644 --- "a/tests/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_test.os" +++ "b/tests/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_test.os" @@ -14,7 +14,7 @@ ИменаТестов = Новый Массив; ИменаТестов.Добавить("ТестДолжен_ПроверитьЧтениеПараметровИзКонструктора"); - // ИменаТестов.Добавить("ТестДолжен_ПроверитьВыгрузкуПараметровВКласс"); + ИменаТестов.Добавить("ТестДолжен_ПроверитьУдалениеПоляИзКонструктора"); // ИменаТестов.Добавить("ТестДолжен_ПроверитьПоискИЧтениеФайлаПараметров"); // ИменаТестов.Добавить("ТестДолжен_ПроверитьПарсингОпций"); // ИменаТестов.Добавить("ТестДолжен_ПроверитьПарсингМассивовОпций"); @@ -103,6 +103,22 @@ КонецПроцедуры +Процедура ТестДолжен_ПроверитьУдалениеПоляИзКонструктора() Экспорт + + КонструкторПараметров = Новый КонструкторПараметров(); + КонструкторПараметров.ПолеСтрока("Поле1 fiels-1") + .ПолеСтрока("Поле2 fiels-2") + ; + КонструкторПараметров.УдалитьПоле("Поле1") + .УдалитьПоле("fiels-2") + ; + + ИндексПолей = КонструкторПараметров.ПолучитьИндексПолей(); + + Ожидаем.Что(ИндексПолей.Количество(), "Индекс полей должен быть пустым").Равно(0); + +КонецПроцедуры + Процедура ПроверитьРезультат(Значение1, Значение2) Утверждения.ПроверитьРавенство(Значение1, Значение2, "Результат должен совпадать с ожиданиями."); КонецПроцедуры From 3b502d273b740f97c1816c3c17730f78db2e2adc Mon Sep 17 00:00:00 2001 From: Khorevaa Date: Wed, 6 Jun 2018 20:10:43 +0300 Subject: [PATCH 2/5] =?UTF-8?q?test=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BE=D0=B1=D1=8F=D0=B7=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D1=80=D1=8B=20=D0=BF=D1=80=D0=B8=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B5=20=D0=BA=D0=BE=D0=BD=D1=81=D1=82=D1=80?= =?UTF-8?q?=D1=83=D0=BA=D1=82=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1\321\202\321\200\320\276\320\271\320\272\320\270_test.os" | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git "a/tests/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_test.os" "b/tests/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_test.os" index 807215f..527fdce 100644 --- "a/tests/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_test.os" +++ "b/tests/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_test.os" @@ -105,7 +105,9 @@ Процедура ТестДолжен_ПроверитьУдалениеПоляИзКонструктора() Экспорт - КонструкторПараметров = Новый КонструкторПараметров(); + ИндексПараметров = Новый Соответствие; + + КонструкторПараметров = Новый КонструкторПараметров(ИндексПараметров, "ТестовыйКонструктор"); КонструкторПараметров.ПолеСтрока("Поле1 fiels-1") .ПолеСтрока("Поле2 fiels-2") ; From 75ffacadd101cf71a635c788843465bfcb5cba68 Mon Sep 17 00:00:00 2001 From: Khorevaa Date: Wed, 6 Jun 2018 20:13:56 +0300 Subject: [PATCH 3/5] =?UTF-8?q?=D0=97=D0=B0=D0=B1=D1=8B=D1=82=D1=8B=D0=B9?= =?UTF-8?q?=20`=D0=AD=D0=BA=D1=81=D0=BF=D0=BE=D1=80=D1=82`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" index beba3b9..8f86050 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" @@ -296,7 +296,7 @@ // Возвращаемое значение: // Объект.КонструкторПараметров - ссылка на текущий элемент класса <КонструкторПараметров> // -Функция УдалитьПоле(Знач ИмяПоля) +Функция УдалитьПоле(Знач ИмяПоля) Экспорт УдаляемоеПоле = НайтиПолеВИндексеПолей(ИмяПоля); From c6b370b9182501578ce2ba3d738eac9219587d40 Mon Sep 17 00:00:00 2001 From: Khorevaa Date: Wed, 6 Jun 2018 20:18:31 +0300 Subject: [PATCH 4/5] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BE=D0=B1=D0=B5=D1=80=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20=D0=A3=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D1=82=D1=8C=D0=9F=D0=BE=D0=BB=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...274\320\265\321\202\321\200\320\276\320\262.os" | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\273\320\265\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\273\320\265\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" index eeb7187..7504943 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\273\320\265\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\273\320\265\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" @@ -235,4 +235,18 @@ КонецФункции +// Удаляет поле из конструктора параметров +// +// Параметры: +// ИмяПоля - Строка - имя поля, возможно передача синонима поля. +// +// Возвращаемое значение: +// Объект.КонструкторПараметров - ссылка на текущий элемент класса <КонструкторПараметров> +// +Функция УдалитьПоле(Знач ИмяПоля) Экспорт + + Возврат РодительКонструктор.УдалитьПоле(ИмяПоля); + +КонецФункции + #КонецОбласти \ No newline at end of file From ce5278e5c74402fd97a7dd92b5683dcb959d9987 Mon Sep 17 00:00:00 2001 From: Khorevaa Date: Wed, 6 Jun 2018 20:20:27 +0300 Subject: [PATCH 5/5] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=20=D1=83=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=D1=8F=D0=B5=D0=BC=D0=BE=D0=B3=D0=BE=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" index 8f86050..883ed86 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.os" @@ -298,7 +298,7 @@ // Функция УдалитьПоле(Знач ИмяПоля) Экспорт - УдаляемоеПоле = НайтиПолеВИндексеПолей(ИмяПоля); + УдаляемоеПоле = ИндексСинонимовПолей[ИмяПоля]; Если УдаляемоеПоле = Неопределено Тогда Возврат ЭтотОбъект;