Skip to content

Commit

Permalink
Возможность полного отключения напильников
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Feb 21, 2024
1 parent a2c677c commit f9653ff
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
#Использовать asserts

Перем _ОтключитьВсеНапильники;

Check warning on line 3 in src/internal/Классы/АннотацияОсобоеОбращение.os

View check run for this annotation

sonar.openbsl.ru qa-bot / autumn Sonarqube Results

src/internal/Классы/АннотацияОсобоеОбращение.os#L3

Добавьте описание переменной
Перем _ПрименятьТолькоНапильники;

Check warning on line 4 in src/internal/Классы/АннотацияОсобоеОбращение.os

View check run for this annotation

sonar.openbsl.ru qa-bot / autumn Sonarqube Results

src/internal/Классы/АннотацияОсобоеОбращение.os#L4

Добавьте описание переменной
Перем _НеПрименятьНапильники;

Check warning on line 5 in src/internal/Классы/АннотацияОсобоеОбращение.os

View check run for this annotation

sonar.openbsl.ru qa-bot / autumn Sonarqube Results

src/internal/Классы/АннотацияОсобоеОбращение.os#L5

Добавьте описание переменной

Функция НапильникПрименяется(ИмяНапильника) Экспорт

Если _ОтключитьВсеНапильники Тогда
Возврат Ложь;
КонецЕсли;

Если _ПрименятьТолькоНапильники.Количество() > 0 Тогда
Возврат _ПрименятьТолькоНапильники.Найти(ИмяНапильника) <> Неопределено;
Иначе
Expand All @@ -15,6 +20,7 @@

&Аннотация("ОсобоеОбращение")
Процедура ПриСозданииОбъекта(
ОтключитьВсеНапильники = Ложь,
&Повторяемый ПрименятьТолькоНапильник = Неопределено,
&Повторяемый НеПрименятьНапильник = Неопределено
)
Expand All @@ -29,10 +35,19 @@
.ИмеетТип("Строка");
КонецЦикла;

Если ОтключитьВсеНапильники И ПрименятьТолькоНапильник.Количество() > 0 Тогда
ВызватьИсключение "Нельзя одновременно отключать все напильники и задавать ограничения ""только""";
КонецЕсли;

Если ОтключитьВсеНапильники И НеПрименятьНапильник.Количество() > 0 Тогда
ВызватьИсключение "Нельзя одновременно отключать все напильники и задавать ограничения ""не""";
КонецЕсли;

Если ПрименятьТолькоНапильник.Количество() > 0 И НеПрименятьНапильник.Количество() > 0 Тогда
ВызватьИсключение "Нельзя одновременно задавать ограничения ""только"" и ""не""";
КонецЕсли;

_ОтключитьВсеНапильники = ОтключитьВсеНапильники;
_ПрименятьТолькоНапильники = ПрименятьТолькоНапильник;
_НеПрименятьНапильники = НеПрименятьНапильник;

Expand Down
18 changes: 18 additions & 0 deletions tests/Поделка.os
Original file line number Diff line number Diff line change
Expand Up @@ -920,3 +920,21 @@
.Равно(Неопределено);

КонецПроцедуры

&Тест
Процедура ОтключениеНапильниковНаЖелудеРаботает() Экспорт

// Дано
Поделка = Новый Поделка;
Поделка.ЗапуститьПриложение();

// Когда
Желудь = Поделка.НайтиЖелудь("ЖелудьСОтключеннымиНапильниками");

// Тогда
Ожидаем.Что(Желудь.ЖелудьНижнегоУровня, "Желудь не должен внедриться в поле")
.Равно(Неопределено);
Ожидаем.Что(Желудь.ВторойЖелудьНижнегоУровня, "Желудь не должен инициализироваться в методе ФинальныйШтрих")
.Равно(Неопределено);

КонецПроцедуры
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// BSLLS:MissingVariablesDescription-off
// BSLLS:ExportVariables-off

&Пластилин
Перем ЖелудьНижнегоУровня Экспорт;

Перем ВторойЖелудьНижнегоУровня Экспорт;

&ФинальныйШтрих
Процедура Инит() Экспорт
ВторойЖелудьНижнегоУровня = ЖелудьНижнегоУровня;
КонецПроцедуры

&Желудь
&ОсобоеОбращение(
ОтключитьВсеНапильники = Истина
)
Процедура ПриСозданииОбъекта()

КонецПроцедуры

0 comments on commit f9653ff

Please sign in to comment.