From f9653ff03412f07eea7c089103b59715b9688ba9 Mon Sep 17 00:00:00 2001 From: Nikita Fedkin Date: Wed, 21 Feb 2024 22:31:42 +0100 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20=D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BD=D0=B0=D0=BF=D0=B8=D0=BB=D1=8C=D0=BD=D0=B8=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21\211\320\265\320\275\320\270\320\265.os" | 15 ++++++++++++++ ...20\264\320\265\320\273\320\272\320\260.os" | 18 +++++++++++++++++ ...20\270\320\272\320\260\320\274\320\270.os" | 20 +++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 "tests/\320\242\320\265\321\201\321\202\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\201\321\213/\320\226\320\265\320\273\321\203\320\264\321\214\320\241\320\236\321\202\320\272\320\273\321\216\321\207\320\265\320\275\320\275\321\213\320\274\320\270\320\235\320\260\320\277\320\270\320\273\321\214\320\275\320\270\320\272\320\260\320\274\320\270.os" diff --git "a/src/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\236\321\201\320\276\320\261\320\276\320\265\320\236\320\261\321\200\320\260\321\211\320\265\320\275\320\270\320\265.os" "b/src/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\236\321\201\320\276\320\261\320\276\320\265\320\236\320\261\321\200\320\260\321\211\320\265\320\275\320\270\320\265.os" index 7c02eca..06de0aa 100644 --- "a/src/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\236\321\201\320\276\320\261\320\276\320\265\320\236\320\261\321\200\320\260\321\211\320\265\320\275\320\270\320\265.os" +++ "b/src/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\236\321\201\320\276\320\261\320\276\320\265\320\236\320\261\321\200\320\260\321\211\320\265\320\275\320\270\320\265.os" @@ -1,10 +1,15 @@ #Использовать asserts +Перем _ОтключитьВсеНапильники; Перем _ПрименятьТолькоНапильники; Перем _НеПрименятьНапильники; Функция НапильникПрименяется(ИмяНапильника) Экспорт + Если _ОтключитьВсеНапильники Тогда + Возврат Ложь; + КонецЕсли; + Если _ПрименятьТолькоНапильники.Количество() > 0 Тогда Возврат _ПрименятьТолькоНапильники.Найти(ИмяНапильника) <> Неопределено; Иначе @@ -15,6 +20,7 @@ &Аннотация("ОсобоеОбращение") Процедура ПриСозданииОбъекта( + ОтключитьВсеНапильники = Ложь, &Повторяемый ПрименятьТолькоНапильник = Неопределено, &Повторяемый НеПрименятьНапильник = Неопределено ) @@ -29,10 +35,19 @@ .ИмеетТип("Строка"); КонецЦикла; + Если ОтключитьВсеНапильники И ПрименятьТолькоНапильник.Количество() > 0 Тогда + ВызватьИсключение "Нельзя одновременно отключать все напильники и задавать ограничения ""только"""; + КонецЕсли; + + Если ОтключитьВсеНапильники И НеПрименятьНапильник.Количество() > 0 Тогда + ВызватьИсключение "Нельзя одновременно отключать все напильники и задавать ограничения ""не"""; + КонецЕсли; + Если ПрименятьТолькоНапильник.Количество() > 0 И НеПрименятьНапильник.Количество() > 0 Тогда ВызватьИсключение "Нельзя одновременно задавать ограничения ""только"" и ""не"""; КонецЕсли; + _ОтключитьВсеНапильники = ОтключитьВсеНапильники; _ПрименятьТолькоНапильники = ПрименятьТолькоНапильник; _НеПрименятьНапильники = НеПрименятьНапильник; diff --git "a/tests/\320\237\320\276\320\264\320\265\320\273\320\272\320\260.os" "b/tests/\320\237\320\276\320\264\320\265\320\273\320\272\320\260.os" index bf5cd2c..e711c94 100644 --- "a/tests/\320\237\320\276\320\264\320\265\320\273\320\272\320\260.os" +++ "b/tests/\320\237\320\276\320\264\320\265\320\273\320\272\320\260.os" @@ -920,3 +920,21 @@ .Равно(Неопределено); КонецПроцедуры + +&Тест +Процедура ОтключениеНапильниковНаЖелудеРаботает() Экспорт + + // Дано + Поделка = Новый Поделка; + Поделка.ЗапуститьПриложение(); + + // Когда + Желудь = Поделка.НайтиЖелудь("ЖелудьСОтключеннымиНапильниками"); + + // Тогда + Ожидаем.Что(Желудь.ЖелудьНижнегоУровня, "Желудь не должен внедриться в поле") + .Равно(Неопределено); + Ожидаем.Что(Желудь.ВторойЖелудьНижнегоУровня, "Желудь не должен инициализироваться в методе ФинальныйШтрих") + .Равно(Неопределено); + +КонецПроцедуры diff --git "a/tests/\320\242\320\265\321\201\321\202\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\201\321\213/\320\226\320\265\320\273\321\203\320\264\321\214\320\241\320\236\321\202\320\272\320\273\321\216\321\207\320\265\320\275\320\275\321\213\320\274\320\270\320\235\320\260\320\277\320\270\320\273\321\214\320\275\320\270\320\272\320\260\320\274\320\270.os" "b/tests/\320\242\320\265\321\201\321\202\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\201\321\213/\320\226\320\265\320\273\321\203\320\264\321\214\320\241\320\236\321\202\320\272\320\273\321\216\321\207\320\265\320\275\320\275\321\213\320\274\320\270\320\235\320\260\320\277\320\270\320\273\321\214\320\275\320\270\320\272\320\260\320\274\320\270.os" new file mode 100644 index 0000000..859e499 --- /dev/null +++ "b/tests/\320\242\320\265\321\201\321\202\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\201\321\213/\320\226\320\265\320\273\321\203\320\264\321\214\320\241\320\236\321\202\320\272\320\273\321\216\321\207\320\265\320\275\320\275\321\213\320\274\320\270\320\235\320\260\320\277\320\270\320\273\321\214\320\275\320\270\320\272\320\260\320\274\320\270.os" @@ -0,0 +1,20 @@ +// BSLLS:MissingVariablesDescription-off +// BSLLS:ExportVariables-off + +&Пластилин +Перем ЖелудьНижнегоУровня Экспорт; + +Перем ВторойЖелудьНижнегоУровня Экспорт; + +&ФинальныйШтрих +Процедура Инит() Экспорт + ВторойЖелудьНижнегоУровня = ЖелудьНижнегоУровня; +КонецПроцедуры + +&Желудь +&ОсобоеОбращение( + ОтключитьВсеНапильники = Истина +) +Процедура ПриСозданииОбъекта() + +КонецПроцедуры \ No newline at end of file