Skip to content

Commit de7e6eb

Browse files
committed
Терминальные методы - ЛюбойСоответствует, ВсеСоответствуют, ВсеНеСоответствуют
1 parent ceb8b4b commit de7e6eb

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

src/Классы/Поток.os

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,93 @@
212212
Возврат Результат;
213213
КонецФункции
214214

215+
Функция ЛюбойСоответствует(ОписаниеОповещения) Экспорт
216+
217+
Лог.Отладка("ЛюбойСоответствует");
218+
219+
ПройтиКонвейер();
220+
221+
Коллекция = ПотокСлужебный.ПолучитьКоллекцию();
222+
Результат = Ложь;
223+
224+
Если ОписаниеОповещения.ДополнительныеПараметры = Неопределено Тогда
225+
ОписаниеОповещения.ДополнительныеПараметры = Новый Структура;
226+
КонецЕсли;
227+
ОписаниеОповещения.ДополнительныеПараметры.Вставить("Элемент");
228+
229+
Для Каждого Элемент Из Коллекция Цикл
230+
Обработчик.ДополнительныеПараметры.Элемент = Элемент;
231+
РезультатФильтрации = Ложь;
232+
ОписанияОповещений.ВыполнитьОбработкуОповещения(Обработчик, РезультатФильтрации);
233+
234+
Если РезультатФильтрации Тогда
235+
Результат = Истина;
236+
Прервать;
237+
КонецЕсли;
238+
КонецЦикла;
239+
240+
Возврат Результат;
241+
242+
КонецФункции
243+
244+
Функция ВсеСоответствуют(ОписаниеОповещения) Экспорт
245+
246+
Лог.Отладка("ВсеСоответствуют");
247+
248+
ПройтиКонвейер();
249+
250+
Коллекция = ПотокСлужебный.ПолучитьКоллекцию();
251+
Результат = Истина;
252+
253+
Если ОписаниеОповещения.ДополнительныеПараметры = Неопределено Тогда
254+
ОписаниеОповещения.ДополнительныеПараметры = Новый Структура;
255+
КонецЕсли;
256+
ОписаниеОповещения.ДополнительныеПараметры.Вставить("Элемент");
257+
258+
Для Каждого Элемент Из Коллекция Цикл
259+
Обработчик.ДополнительныеПараметры.Элемент = Элемент;
260+
РезультатФильтрации = Ложь;
261+
ОписанияОповещений.ВыполнитьОбработкуОповещения(Обработчик, РезультатФильтрации);
262+
263+
Если НЕ РезультатФильтрации Тогда
264+
Результат = Ложь;
265+
Прервать;
266+
КонецЕсли;
267+
КонецЦикла;
268+
269+
Возврат Результат;
270+
271+
КонецФункции
272+
273+
Функция ВсеНеСоответствуют(ОписаниеОповещения) Экспорт
274+
275+
Лог.Отладка("ВсеНеСоответствуют");
276+
277+
ПройтиКонвейер();
278+
279+
Коллекция = ПотокСлужебный.ПолучитьКоллекцию();
280+
Результат = Истина;
281+
282+
Если ОписаниеОповещения.ДополнительныеПараметры = Неопределено Тогда
283+
ОписаниеОповещения.ДополнительныеПараметры = Новый Структура;
284+
КонецЕсли;
285+
ОписаниеОповещения.ДополнительныеПараметры.Вставить("Элемент");
286+
287+
Для Каждого Элемент Из Коллекция Цикл
288+
Обработчик.ДополнительныеПараметры.Элемент = Элемент;
289+
РезультатФильтрации = Ложь;
290+
ОписанияОповещений.ВыполнитьОбработкуОповещения(Обработчик, РезультатФильтрации);
291+
292+
Если РезультатФильтрации Тогда
293+
Результат = Ложь;
294+
Прервать;
295+
КонецЕсли;
296+
КонецЦикла;
297+
298+
Возврат Результат;
299+
300+
КонецФункции
301+
215302
// Служебные процедуры и функции
216303

217304
Процедура ПоложитьЯчейкуВКонвейер(ИмяОперации,

0 commit comments

Comments
 (0)