Skip to content

Commit

Permalink
Общий метод для создания определения желудя
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Jan 3, 2024
1 parent c8c71ce commit 38b8dc4
Showing 1 changed file with 23 additions and 56 deletions.
79 changes: 23 additions & 56 deletions src/internal/Классы/ФабрикаЖелудей.os
Original file line number Diff line number Diff line change
Expand Up @@ -111,14 +111,15 @@

Для Каждого МетодЗавязи Из МетодыЗавязи Цикл

ИмяЖелудя = ПрочитатьИмяЖелудя(МетодЗавязи.Аннотации, "Завязь", МетодЗавязи.Имя);
ТипЖелудя = ПрочитатьТипЖелудя(МетодЗавязи, МетодЗавязи.Аннотации);

ОпределениеЗавязи = СоздатьОпределениеЖелудяПоМетоду(

ОпределениеЗавязи = СоздатьОпределениеЖелудя(
ИмяЖелудя,
ТипЖелудя,
ТипДуба,
МетодЗавязи,
МетодЗавязи.Аннотации,
"Завязь"
МетодЗавязи.Аннотации
);
СохранитьОпределениеЖелудя(ОпределениеЗавязи);

Expand All @@ -128,50 +129,6 @@

КонецФункции

Функция СоздатьОпределениеЖелудяПоМетоду(ТипЖелудя, ТипВладельцаСвойств, Конструктор, Аннотации, АннотацияНадМетодом, Знач ИмяЖелудя = "")

Если Не ЗначениеЗаполнено(ИмяЖелудя) Тогда
// TODO: ИмяЖелудяПоУмолчанию отличается
ИмяЖелудя = ПрочитатьИмяЖелудя(Аннотации, АннотацияНадМетодом, Конструктор.Имя);
КонецЕсли;

Завязь = СоздатьЗавязь(ТипВладельцаСвойств, Конструктор);

ПрилепляемыеЧастицы = ПрочитатьПрилепляемыеЧастицыВМетоде(Конструктор, ТипВладельцаСвойств);
ХарактерЖелудя = ПрочитатьХарактерЖелудя(Аннотации);
Прозвища = ПрочитатьПрозвища(Аннотации, ИмяЖелудя);
Порядок = ПрочитатьПорядок(Аннотации);
Верховный = ПрочитатьПризнакВерховногоЖелудя(Аннотации);
Спецификация = ПрочитатьСпецификацию(Аннотации);

// TODO: Унести в Приемку &Дуб
// Если Спецификация = СостоянияПриложения.Инициализация()
// И НЕ ОпределениеЖелудя.Спецификация() = СостоянияПриложения.Инициализация() Тогда
// ТекстСообщения = СтрШаблон(
// "Дуб %1 имеет завязь %2, которая имеет &Спецификацию ""Инициализация"", но сам дуб не имеет этой спецификации.",
// ОпределениеЖелудя.Имя(),
// Конструктор.Имя
// );
// ВызватьИсключение ТекстСообщения;
// КонецЕсли;

ОпределениеЗавязи = Новый ОпределениеЖелудя(
РазворачивательАннотаций,
ТипЖелудя,
ИмяЖелудя,
ХарактерЖелудя,
ПрилепляемыеЧастицы,
Завязь,
Прозвища,
Порядок,
Верховный,
Спецификация
);

Возврат ОпределениеЗавязи;

КонецФункции

Функция ДобавитьНапильник(ТипНапильника) Экспорт
ОпределениеНапильника = ДобавитьЖителяЛеса(ТипНапильника, "", "Напильник");

Expand Down Expand Up @@ -335,13 +292,16 @@
);
КонецЕсли;

Если Не ЗначениеЗаполнено(ИмяЖителяЛеса) Тогда
ИмяЖителяЛеса = ПрочитатьИмяЖелудя(Аннотации, АннотацияНадКонструктором, Строка(ТипЖителяЛеса));
КонецЕсли;

ОпределениеЖелудя = СоздатьОпределениеЖелудя(
ИмяЖителяЛеса,
ТипЖителяЛеса,
ТипЖителяЛеса,
Конструктор,
Аннотации,
АннотацияНадКонструктором,
ИмяЖителяЛеса
Аннотации
);
СохранитьОпределениеЖелудя(ОпределениеЖелудя);

Expand All @@ -353,11 +313,7 @@

КонецФункции

Функция СоздатьОпределениеЖелудя(ТипЖелудя, ТипВладельцаСвойств, Конструктор, Аннотации, АннотацияНадКонструктором, Знач ИмяЖелудя = "")

Если Не ЗначениеЗаполнено(ИмяЖелудя) Тогда
ИмяЖелудя = ПрочитатьИмяЖелудя(Аннотации, АннотацияНадКонструктором, Строка(ТипЖелудя));
КонецЕсли;
Функция СоздатьОпределениеЖелудя(ИмяЖелудя, ТипЖелудя, ТипВладельцаСвойств, Конструктор, Аннотации)

Завязь = СоздатьЗавязь(ТипВладельцаСвойств, Конструктор);

Expand All @@ -368,6 +324,17 @@
Верховный = ПрочитатьПризнакВерховногоЖелудя(Аннотации);
Спецификация = ПрочитатьСпецификацию(Аннотации);

// TODO: Унести в Приемку &Дуб

Check warning on line 327 in src/internal/Классы/ФабрикаЖелудей.os

View check run for this annotation

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

src/internal/Классы/ФабрикаЖелудей.os#L327

Программные модули не должны иметь закомментированных фрагментов кода

Check notice on line 327 in src/internal/Классы/ФабрикаЖелудей.os

View check run for this annotation

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

src/internal/Классы/ФабрикаЖелудей.os#L327

Найден служебный тег "// TODO"
// Если Спецификация = СостоянияПриложения.Инициализация()
// И НЕ ОпределениеЖелудя.Спецификация() = СостоянияПриложения.Инициализация() Тогда
// ТекстСообщения = СтрШаблон(
// "Дуб %1 имеет завязь %2, которая имеет &Спецификацию ""Инициализация"", но сам дуб не имеет этой спецификации.",
// ОпределениеЖелудя.Имя(),
// Конструктор.Имя
// );
// ВызватьИсключение ТекстСообщения;
// КонецЕсли;

ОпределениеЖелудя = Новый ОпределениеЖелудя(
РазворачивательАннотаций,
ТипЖелудя,
Expand Down

0 comments on commit 38b8dc4

Please sign in to comment.