Skip to content

Commit 75b1e70

Browse files
committed
Пропустить()
1 parent 82e2833 commit 75b1e70

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

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

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,22 @@
2727
Конвейер.Добавить(Ячейка);
2828

2929
Возврат ЭтотОбъект;
30+
31+
КонецФункции
32+
33+
Функция Пропустить(Количество) Экспорт
34+
35+
Лог.Отладка("Пропустить %1", Количество);
36+
37+
ДополнительныеПараметры = Новый Структура;
38+
ДополнительныеПараметры.Вставить("Количество", Количество);
39+
40+
Ячейка = ОписанияОповещений.Создать("ВыполнитьПропустить", ЭтотОбъект, ДополнительныеПараметры);
41+
42+
Конвейер.Добавить(Ячейка);
43+
44+
Возврат ЭтотОбъект;
45+
3046
КонецФункции
3147

3248
Функция Фильтровать(ОписаниеОповещения) Экспорт
@@ -76,6 +92,20 @@
7692

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

95+
Процедура ВыполнитьПропустить(Результат, ДополнительныеПараметры) Экспорт
96+
97+
Количество = ДополнительныеПараметры.Количество;
98+
99+
Лог.Отладка("ВыполнитьПропустить %1", Количество);
100+
101+
Результат = Новый Массив;
102+
Для сч = Количество По Коллекция.ВГраница() Цикл
103+
Элемент = Коллекция[сч];
104+
Результат.Добавить(Элемент);
105+
КонецЦикла;
106+
107+
КонецПроцедуры
108+
79109
Процедура ВыполнитьФильтровать(Результат, ДополнительныеПараметры) Экспорт
80110

81111
Обработчик = ДополнительныеПараметры.Обработчик;
@@ -108,6 +138,7 @@
108138
Результат = Новый Массив;
109139
Для Каждого Ячейка Из Конвейер Цикл
110140
Лог.Отладка("Выполняю ячейку конвейера %1", Ячейка.ИмяПроцедуры);
141+
Лог.Отладка("Размер коллекции %1", Коллекция.Количество());
111142

112143
ОписанияОповещений.ВыполнитьОбработкуОповещения(Ячейка, Результат);
113144
Коллекция = Результат;

test.os

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
Стрим = Новый Стрим;
2121
Стрим.УстановитьКоллекцию(Массив);
2222

23-
Результат = Стрим.Фильтровать(ФункцияФильтрации).Первые(2).ВМассив();
23+
Результат = Стрим.Пропустить(2).Фильтровать(ФункцияФильтрации).Первые(2).ВМассив();
2424
Для Каждого Элемент Из Результат Цикл
2525
Сообщить(Элемент);
2626
КонецЦикла

0 commit comments

Comments
 (0)