Skip to content

Commit

Permalink
Использование событий для вызова обработчиков приемок
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Dec 12, 2023
1 parent 8c2e84c commit 37df194
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
&Аннотация("Приемка")
&Прозвище("Приемка")
&Характер("Компанейский")
&Спецификация("Инициализация")
Процедура ПриСозданииОбъекта(Значение = "")
КонецПроцедуры
18 changes: 17 additions & 1 deletion src/internal/Классы/Осенизатор.os
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
Перем УправляющийПрилепляемымиКоллекциями;
Перем Поделка;
Перем СистемныеНапильники;
Перем Приемки;

Check warning on line 11 in src/internal/Классы/Осенизатор.os

View check run for this annotation

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

src/internal/Классы/Осенизатор.os#L11

Добавьте описание переменной
Перем ПросканированныеТипы;
Перем Рефлектор;

Expand All @@ -30,6 +31,12 @@

КонецЦикла;

Для Каждого Приемка Из Приемки Цикл
УдалитьОбработчик ФабрикаЖелудей.ПриДобавленииОпределенияЖелудя, Приемка.ПриДобавленииОпределенияЖелудя;
КонецЦикла;

Приемки.Очистить();

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

#КонецОбласти
Expand Down Expand Up @@ -135,7 +142,14 @@
КонецПроцедуры

Процедура ДобавитьПриемку(Тип)
ФабрикаЖелудей.ДобавитьПриемку(Тип);

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

Приемка = Поделка.НайтиЖелудь(ОпределениеПриемки.Имя());
ДобавитьОбработчик ФабрикаЖелудей.ПриДобавленииОпределенияЖелудя, Приемка.ПриДобавленииОпределенияЖелудя;

Приемки.Добавить(Приемка);

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

Функция ЕстьМетодСАннотацией(Методы, ИмяАннотации)
Expand All @@ -157,6 +171,8 @@
СистемныеНапильники.Добавить(Тип("ОбработкаНапильникомПластилинаНаПолях"));
СистемныеНапильники.Добавить(Тип("ОбработкаНапильникомФинальныйШтрих"));

Приемки = Новый Массив;

ПросканированныеТипы = Новый МножествоСоответствие();

Рефлектор = Новый Рефлектор;
Expand Down
21 changes: 3 additions & 18 deletions src/internal/Классы/ФабрикаЖелудей.os
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,6 @@
// Массив из ОпределениеЖелудя - Список инициализируемых в данный момент напильников.
Перем ИнициализируемыеНапильники;

// Массив из ОпределениеЖелудя - Список определений желудей, являющихся приемками.
Перем ОпределенияПриемок;

#КонецОбласти

#Область СлужебныйПрограммныйИнтерфейс
Expand Down Expand Up @@ -172,15 +169,6 @@
Возврат ОпределениеНапильника;
КонецФункции

Функция ДобавитьПриемку(ТипПриемки) Экспорт

ОпределениеПриемки = ДобавитьЖителяЛеса(ТипПриемки, "", "Приемка");
ОпределенияПриемок.Добавить(ОпределениеПриемки);

Возврат ОпределениеПриемки;

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

Функция НайтиЖелудь(ИмяЖелудя, ПрилепляемыеЧастицы) Экспорт

ОпределениеЖелудя = Поделка.ПолучитьОпределениеЖелудя(ИмяЖелудя);
Expand Down Expand Up @@ -337,10 +325,9 @@
);
СохранитьОпределениеЖелудя(ОпределениеЖелудя);

Для Каждого ОпределениеПриемки Из ОпределенияПриемок Цикл
Приемка = Поделка.НайтиЖелудь(ОпределениеПриемки.Имя());
Приемка.ПриДобавленииОпределенияЖелудя(ОпределениеЖелудя);
КонецЦикла;
ПараметрыСобытия = Новый Массив;
ПараметрыСобытия.Добавить(ОпределениеЖелудя);
ВызватьСобытие("ПриДобавленииОпределенияЖелудя", ПараметрыСобытия);

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

Expand Down Expand Up @@ -591,8 +578,6 @@
ОпределенияНапильниковПоИмени = Новый Соответствие();
ОпределенияНапильников = Новый Массив();

ОпределенияПриемок = Новый Массив();

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

#КонецОбласти

0 comments on commit 37df194

Please sign in to comment.