Skip to content

Commit

Permalink
еще убрал флюент
Browse files Browse the repository at this point in the history
  • Loading branch information
Ivanchenko Nikita committed Sep 29, 2022
1 parent eadf8b7 commit 64e6fb9
Showing 1 changed file with 31 additions and 17 deletions.
48 changes: 31 additions & 17 deletions src/Модули/РаботаСАннотациями.os
Original file line number Diff line number Diff line change
@@ -1,25 +1,34 @@
#Использовать fluent

Функция ПолучитьАннотацию(Свойство, ИмяАннотации) Экспорт
Аннотация = ПроцессорыКоллекций.ИзКоллекции(Свойство.Аннотации)
.Фильтровать(
"Результат = ВРег(Элемент.Имя) = ВРег(ДополнительныеПараметры.ИмяАннотации)",
Новый Структура("ИмяАннотации", ИмяАннотации)
).ПолучитьПервый();

Аннотация = ОтфильтроватьПервуюАннотациюПоИмени(Свойство.Аннотации, ИмяАннотации);
Возврат Аннотация;
КонецФункции

Функция ПолучитьАннотации(Свойство, ИмяАннотации) Экспорт
Аннотации = ПроцессорыКоллекций.ИзКоллекции(Свойство.Аннотации)
.Фильтровать(
"Результат = ВРег(Элемент.Имя) = ВРег(ДополнительныеПараметры.ИмяАннотации)",
Новый Структура("ИмяАннотации", ИмяАннотации)
).ВМассив();

Аннотации = ОтфильтроватьАннотацииПоИмени(Свойство.Аннотации, ИмяАннотации);
Возврат Аннотации;
КонецФункции

Функция ОтфильтроватьАннотацииПоИмени(Аннотации, ИмяАннотации)
Массив = Новый Массив();
Для каждого Элемент Из Аннотации Цикл
Если ВРег(Элемент.Имя) = ВРег(ИмяАннотации) Тогда
Массив.Добавить(Элемент);
КонецЕсли;
КонецЦикла;
Возврат Массив;
КонецФункции

Функция ОтфильтроватьПервуюАннотациюПоИмени(Аннотации, ИмяАннотации)
Для каждого Элемент Из Аннотации Цикл
Если ВРег(Элемент.Имя) = ВРег(ИмяАннотации) Тогда
Возврат Элемент;
КонецЕсли;
КонецЦикла;
Возврат Неопределено;
КонецФункции

Функция ПолучитьЗначениеПараметраАннотации(
Аннотация,
ИмяПараметра = "Значение",
Expand All @@ -33,11 +42,7 @@
Возврат ЗначениеПоУмолчанию;
КонецЕсли;

ПараметрАннотации = ПроцессорыКоллекций.ИзКоллекции(Аннотация.Параметры)
.Фильтровать(
"Результат = ВРег(Элемент.Имя) = ВРег(ДополнительныеПараметры.ИмяПараметра)",
Новый Структура("ИмяПараметра", ИмяПараметра)
).ПолучитьПервый();
ПараметрАннотации = ПолучитьПараметрАннотации(Аннотация.Параметры, ИмяПараметра);

Если ПараметрАннотации <> Неопределено Тогда
Возврат ПараметрАннотации.Значение;
Expand All @@ -59,4 +64,13 @@
ВызватьИсключение Сообщение;
КонецЕсли;

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

Функция ПолучитьПараметрАннотации(ПараметрыАннотации, ИмяПараметра)
Для каждого Элемент Из ПараметрыАннотации Цикл
Если ВРег(Элемент.Имя) = ВРег(ИмяПараметра) Тогда
Возврат Элемент;
КонецЕсли;
КонецЦикла;
Возврат Неопределено;
КонецФункции

0 comments on commit 64e6fb9

Please sign in to comment.