Skip to content
No description, website, or topics provided.
1C Enterprise Shell
Branch: master
Clone or download
Pull request Compare This branch is 13 commits behind nixel2007:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
src
tasks
tests
.gitignore
.travis.yml
CHANGELOG.md
LICENSE
README.md
lib.config
packagedef
sonar-project.properties
travis.sh

README.md

fluent

Build Status Quality Gate Coverage Tech debt

Библиотека быстрой обработки коллекций.

Позволяет в "текучем" стиле обрабатывать коллекции - фильтровать, упорядочивать, выполнять операции над элементы, получать результат в виде заданного типа и др.

Возможности

Поддержка строк, массивов, таблиц значений, деревьев значений.

Структуры и соответствия incoming

Конвейерные методы:

  • Первые
  • Пропустить
  • Различные
  • Обработать
  • Фильтровать
  • Сортировать

Терминальные методы:

  • ПолучитьПервый
  • ВМассив
  • ВСтроку
  • Количество
  • ДляКаждого
  • Минимум
  • Максимум
  • Сократить
  • Получить
  • ЛюбойСоответствует
  • ВсеСоответствуют
  • ВсеНеСоответствуют

Функции сравнения, фильтрации, обработки могут задаваться с помощью:

  • Строк
  • Описаний оповещения (библиотека notify)

Библиотека помимо конструктора класса ПроцессорКоллекций содержит вспомогательный модуль, включающий:

  • построитель процессора коллекций ИзКоллекции()
  • построитель процессора коллекций ИзСтроки()
  • СтандартнаяФункцияСравнения() - типовой comparator, возвращающий результат сравнения как 1, 0, -1
  • СтандартнаяФункцияОбработки_Сообщить() - функция сообщения каждого элемента в консоль

Примеры работы

Массив = Новый Массив;
Массив.Добавить(3);
Массив.Добавить(4);
Массив.Добавить(7);
Массив.Добавить(5);
Массив.Добавить(1);
Массив.Добавить(0);

Результат = ПроцессорыКоллекций.ИзКоллекции(Массив)
	.Пропустить(1)
	.Фильтровать("Элемент >= 5")
	.Первые(2)
	.Обработать("Результат = Элемент + 1")
	.Получить(Тип("Массив"));

// На выходе массив [8, 6]

Тоже самое с помощью notify:

Процедура ОбработчикФильтрации(Результат, ДополнительныеПараметры) Экспорт
	Результат = ДополнительныеПараметры.Элемент >= 5;
КонецПроцедуры

Процедура ОбработчикОбработки(Результат, ДополнительныеПараметры) Экспорт
	Элемент = ДополнительныеПараметры.Элемент;
	Результат = Элемент + 1;
	Сообщить("Я - операция map, и это мое послание миру: элемент " + Элемент + " превратился в " + Результат);
КонецПроцедуры

ФункцияФильтрации = ОписанияОповещений.Создать("ОбработчикФильтрации", ЭтотОбъект);
ФункцияОбработки = ОписанияОповещений.Создать("ОбработчикОбработки", ЭтотОбъект);

Результат = ПроцессорыКоллекций.ИзКоллекции(Массив)
	.Пропустить(1)
	.Фильтровать(ФункцияФильтрации)
	.Первые(2)
	.Обработать(ФункцияОбработки)
	.Получить(Тип("Массив"));
Массив = Новый Массив;
Массив.Добавить(4);
Массив.Добавить(2);
Массив.Добавить(2);
Массив.Добавить(3);
Массив.Добавить(3);
Массив.Добавить(3);

ПроцессорКоллекций = ПроцессорыКоллекций.ИзКоллекции(Массив);
ПроцессорКоллекций
	.Различные()
	.Сортировать()
	.ДляКаждого(ПроцессорыКоллекций.СтандартнаяФункцияОбработки_Сообщить());

// На выходе сообщения в консоль:
// 2
// 3
// 4
Строка = 
|строка
|многострочная";

ПроцессорыКоллекций
	.ИзСтроки(Строка, Символы.ПС)
	.Фильтровать("Результат = СтрДлина(Элемент) > 1")
	.ДляКаждого("Сообщить(Элемент)");

// На выходе сообщения в консоль:
// многострочная
// строка

Больше примеров работы в каталогах examples и tests.

Публичный интерфейс

Класс ПроцессорКоллекций

Общее API

УстановитьКоллекцию

// Устанавливает коллекцию для обработки Процессора коллекций.
//
// Параметры:
//   НоваяКоллекция - Массив, ТаблицаЗначений, ДеревоЗначений... - Коллекция, устанавливаемая в процессор.
//
Процедура УстановитьКоллекцию(НоваяКоллекция) Экспорт

Конвейерные методы

Первые

// Получить первые N элементов.
// Конвейерный метод.
//
// Параметры:
//   Количество - Число - Число отбираемых элементов.
//
//  Возвращаемое значение:
//   ПроцессорКоллекций - Инстанс класса "ПроцессорКоллекций".
//
Функция Первые(Количество) Экспорт

Пропустить

// Пропустить первые N элементов.
// Конвейерный метод.
//
// Параметры:
//   Количество - Число - Число пропускаемых элементов.
//
// Возвращаемое значение:
//   ПроцессорКоллекций - Инстанс класса "ПроцессорКоллекций".
//
Функция Пропустить(Количество) Экспорт

Различные

// Выбрать различные элементы.
// Конвейерный метод.
//
// Параметры:
//   ФункцияСравнения - Строка, ОписаниеОповещения - Функция сравнения.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент1", "Элемент2".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Булево - Переменная, в которой возвращается значение работы функции.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая функции.
//		Если параметр не передан, выполняется стандартная функция сравнения:
//		см. ПроцессорыКоллекций.СтандартнаяФункцияСравнения()
//		
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции сравнения.
//		Служит для передачи дополнительных данных из прикладного кода в функцию сравнения.
//		По умолчанию содержит два значения - Элемент1 и Элемент2.
//
//  Возвращаемое значение:
//   ПроцессорКоллекций - Инстанс класса "ПроцессорКоллекций".
//
//  Примеры:
//		1:
//		ПроцессорКоллекций.Различные("Результат = Элемент1 > Элемент2");
//
//		2:
//		Процедура МояФункцияСравнения(Результат, ДополнительныеПараметры) Экспорт
//			Результат = ДополнительныеПараметры.Элемент1 > ДополнительныеПараметры.Элемент2;
//		КонецПроцедуры
//		
//		ФункцияСравнения = ОписанияОповещений.Создать("МояФункцияСравнения", ЭтотОбъект);
//		ПроцессорКоллекций.Различные(ФункцияСравнения);
//
Функция Различные(Знач ФункцияСравнения = Неопределено, Знач ДополнительныеПараметры = Неопределено) Экспорт

Обработать

// Обработать каждый элемент коллекции.
// Конвейерный метод.
//
// Параметры:
//   ФункцияОбработки - Строка, ОписаниеОповещения - функция обработки.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Произвольный - Переменная, в которой возвращается значение работы обработчика.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая обработчику.
//		
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции обработки.
//		Служит для передачи дополнительных данных из прикладного кода в функцию обработки.
//		По умолчанию содержит одно значение - Элемент.
//
//  Возвращаемое значение:
//   ПроцессорКоллекций - Инстанс класса "ПроцессорКоллекций".
//
//  Примеры:
//		1:
//		ПроцессорКоллекций.Обработать("Результат = Элемент + 1;");
//
//		2:
//		Процедура МояФункцияОбработки(Результат, ДополнительныеПараметры) Экспорт
//			Результат = ДополнительныеПараметры.Элемент + 1;
//		КонецПроцедуры
//		
//		ФункцияОбработки = ОписанияОповещений.Создать("МояФункцияОбработки", ЭтотОбъект);
//		ПроцессорКоллекций.Обработать(ФункцияОбработки);
//
Функция Обработать(Знач ФункцияОбработки, Знач ДополнительныеПараметры = Неопределено) Экспорт

Фильтровать

// Фильтровать коллекцию по условию.
// Конвейерный метод.
//
// Параметры:
//   ФункцияФильтрации - Строка, ОписаниеОповещения - Функция фильтрации.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Булево - Переменная, в которой возвращается значение работы функции.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая функции.
//		
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции фильтрации.
//		Служит для передачи дополнительных данных из прикладного кода в функцию фильтрации.
//		По умолчанию содержит одно значение - Элемент.
//
//  Возвращаемое значение:
//   ПроцессорКоллекций - Инстанс класса "ПроцессорКоллекций".
//
//  Примеры:
//		1:
//		ПроцессорКоллекций.Фильтровать("Результат = СтрДлина(Элемент) > 1");
//
//		2:
//		Процедура МояПроцедураФильтрации(Результат, ДополнительныеПараметры) Экспорт
//			Результат = СтрДлина(ДополнительныеПараметры.Элемент) > 1;
//		КонецПроцедуры
//		
//		ФункцияФильтрации = ОписанияОповещений.Создать("МояПроцедураФильтрации", ЭтотОбъект);
//		ПроцессорКоллекций.Фильтровать(ФункцияФильтрации);
//
Функция Фильтровать(Знач ФункцияФильтрации, Знач ДополнительныеПараметры = Неопределено) Экспорт

Сортировать

// Сортировать элементы коллекции.
// Конвейерный метод.
//
// Параметры:
//   ФункцияСравнения - Строка, ОписаниеОповещения - Функция сравнения.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент1", "Элемент2".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Булево - Переменная, в которой возвращается значение работы функции.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая функции.
//		Если параметр не передан, выполняется стандартная функция сравнения:
//		см. ПроцессорыКоллекций.СтандартнаяФункцияСравнения()
//		
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции сравнения.
//		Служит для передачи дополнительных данных из прикладного кода в функцию сравнения.
//		По умолчанию содержит два значения - Элемент1 и Элемент2.
//
//  Возвращаемое значение:
//   ПроцессорКоллекций - Инстанс класса "ПроцессорКоллекций".
//
//  Примеры:
//		1:
//		ПроцессорКоллекций.Сортировать("Результат = Элемент1 > Элемент2");
//
//		2:
//		Процедура МояФункцияСравнения(Результат, ДополнительныеПараметры) Экспорт
//			Результат = ДополнительныеПараметры.Элемент1 > ДополнительныеПараметры.Элемент2;
//		КонецПроцедуры
//		
//		ФункцияСравнения = ОписанияОповещений.Создать("МояФункцияСравнения", ЭтотОбъект);
//		ПроцессорКоллекций.Сортировать(ФункцияСравнения);
//
Функция Сортировать(Знач ФункцияСравнения = Неопределено, Знач ДополнительныеПараметры = Неопределено) Экспорт

Терминальные методы

ПолучитьПервый

// Терминальные методы

// Получить первый элемент.
// Терминальный метод.
//
//  Возвращаемое значение:
//   Произвольный - Первый элемент из коллекции. Если коллекция пуста, возвращает Неопределено.
//
Функция ПолучитьПервый() Экспорт

ВМассив

// Получить коллекцию в виде массива.
// Терминальный метод.
//
//  Возвращаемое значение:
//   Массив - Массив элементов коллекции.
//
Функция ВМассив() Экспорт

ВСтроку

// Получить коллекцию в виде строки.
// Терминальный метод.
//
// Параметры:
//	РазделительСтрок - Строка - Используемый разделитель между элементами при конкатенации строк.
// 
//  Возвращаемое значение:
//   Строка - Элементы коллекции, соединенные в строку методом конкатенации.
//
Функция ВСтроку(РазделительСтрок = "") Экспорт

Количество

// Получить количество элементов коллекции.
// Терминальный метод.
//
//  Возвращаемое значение:
//   Число - Количество элементов коллекции.
//
Функция Количество() Экспорт

ДляКаждого

// Обработать каждый элемент коллекции и завершить работу процессора.
// Терминальный метод.
//
// Параметры:
//   ФункцияОбработки - Строка, ОписаниеОповещения - функция обработки.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Произвольный - Игнорируется.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая обработчику.
//
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции обработки.
//		Служит для передачи дополнительных данных из прикладного кода в функцию обработки.
//		По умолчанию содержит одно значение - Элемент.
//
//  Примеры:
//		1:
//		ПроцессорКоллекций.ДляКаждого("Сообщить(Элемент);");
//
//		2:
//		ПроцессорКоллекций.ДляКаждого(ПроцессорыКоллекций.СтандартнаяФункцияОбработки_Сообщить());
//
//		3:
//		Процедура МояФункцияОбработки(Результат, ДополнительныеПараметры) Экспорт
//			Сообщить(ДополнительныеПараметры.Элемент);
//		КонецПроцедуры
//		
//		ФункцияОбработки = ОписанияОповещений.Создать("МояФункцияОбработки", ЭтотОбъект);
//		ПроцессорКоллекций.ДляКаждого(ФункцияОбработки);
//
Процедура ДляКаждого(Знач ФункцияОбработки, Знач ДополнительныеПараметры = Неопределено) Экспорт

Минимум

// Получить минимальный элемент.
// Терминальный метод.
//
// Параметры:
//   ФункцияСравнения - Строка, ОписаниеОповещения - Функция сравнения.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент1", "Элемент2".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Булево - Переменная, в которой возвращается значение работы функции.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая функции.
//		Если параметр не передан, выполняется стандартная функция сравнения:
//		см. ПроцессорыКоллекций.СтандартнаяФункцияСравнения()
//		
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции сравнения.
//		Служит для передачи дополнительных данных из прикладного кода в функцию сравнения.
//		По умолчанию содержит два значения - Элемент1 и Элемент2.
//
//  Возвращаемое значение:
//   Произвольный - минимальный элемент коллекции.
//
//  Примеры:
//		1:
//		ПроцессорКоллекций.Минимум();
//
//		2:
//		ПроцессорКоллекций.Минимум("Результат = Элемент1 > Элемент2");
//
//		3:
//		Процедура МояФункцияСравнения(Результат, ДополнительныеПараметры) Экспорт
//			Результат = ДополнительныеПараметры.Элемент1 > ДополнительныеПараметры.Элемент2;
//		КонецПроцедуры
//		
//		ФункцияСравнения = ОписанияОповещений.Создать("МояФункцияСравнения", ЭтотОбъект);
//		ПроцессорКоллекций.Минимум(ФункцияСравнения);
//
Функция Минимум(Знач ФункцияСравнения = Неопределено, Знач ДополнительныеПараметры = Неопределено) Экспорт

Максимум

// Получить максимальный элемент.
// Терминальный метод.
//
// Параметры:
//   ФункцияСравнения - Строка, ОписаниеОповещения - Функция сравнения.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент1", "Элемент2".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Булево - Переменная, в которой возвращается значение работы функции.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая функции.
//		Если параметр не передан, выполняется стандартная функция сравнения:
//		см. ПроцессорыКоллекций.СтандартнаяФункцияСравнения()
//		
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции сравнения.
//		Служит для передачи дополнительных данных из прикладного кода в функцию сравнения.
//		По умолчанию содержит два значения - Элемент1 и Элемент2.
//
//  Возвращаемое значение:
//   Произвольный - максимальный элемент коллекции.
//
//  Примеры:
//		1:
//		ПроцессорКоллекций.Максимум();
//
//		2:
//		ПроцессорКоллекций.Максимум("Результат = Элемент1 > Элемент2");
//
//		3:
//		Процедура МояФункцияСравнения(Результат, ДополнительныеПараметры) Экспорт
//			Результат = ДополнительныеПараметры.Элемент1 > ДополнительныеПараметры.Элемент2;
//		КонецПроцедуры
//		
//		ФункцияСравнения = ОписанияОповещений.Создать("МояФункцияСравнения", ЭтотОбъект);
//		ПроцессорКоллекций.Максимум(ФункцияСравнения);
//
Функция Максимум(Знач ФункцияСравнения = Неопределено, Знач ДополнительныеПараметры = Неопределено) Экспорт

Сократить

// Выполнить агрегатную функцию над элементами коллекции.
// Терминальный метод.
//
// Параметры:
//   ФункцияСокращения - Строка, ОписаниеОповещения - Функция сокращения.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Произвольный - Переменная, в которой возвращается значение работы функции.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая функции.
//
//   НачальноеЗначение - Произвольный - начальное значение, передаваемое в функцию сокращения в параметр "Результат"
//
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции сокращения.
//		Служит для передачи дополнительных данных из прикладного кода в функцию сокращения.
//		По умолчанию содержит одно значение - Элемент.
//
//  Возвращаемое значение:
//   Произвольный - результат работы агрегатной функции.
//
//  Примеры:
//		2:
//		ПроцессорКоллекций.Сократить("Результат = Результат + Элемент");
//
//		2:
//		Процедура МояФункцияСокращения(Результат, ДополнительныеПараметры) Экспорт
//				Элемент = ДополнительныеПараметры.Элемент;
//				Результат = Результат + Элемент;
//		КонецПроцедуры
//		
//		ФункцияСокращения = ОписанияОповещений.Создать("МояФункцияСокращения", ЭтотОбъект);
//		ПроцессорКоллекций.Сократить(ФункцияСокращения);
//
Функция Сократить(Знач ФункцияСокращения,
                  Знач НачальноеЗначение = Неопределено,
                  Знач ДополнительныеПараметры = Неопределено) Экспорт

Получить

// Получить коллекцию в виде объекта заданного типа.
// Терминальный метод.
//
// Параметры:
//   ТипРезультата - Тип - Тип, в котором необходимо вернуть коллекцию.
//
//  Возвращаемое значение:
//   Произвольный - Коллекция в виде объекта нужного типа.
//
Функция Получить(ТипРезультата) Экспорт

ЛюбойСоответствует

// Проверить, что хотя бы один элемент коллекции удовлетворяет условию в функции сравнения.
// Терминальный метод.
//
// Параметры:
//   ФункцияСравнения - Строка, ОписаниеОповещения - Функция сравнения.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Булево - Переменная, в которой возвращается значение работы функции.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая функции.
//
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции сравнения.
//		Служит для передачи дополнительных данных из прикладного кода в функцию сравнения.
//		По умолчанию содержит одно значение - Элемент.
//
//  Возвращаемое значение:
//   Булево - Истина, если минимум один из элементов коллекции удовлетворяет условию Функции сравнения.
//		В обратном случае возвращает Ложь.
//		Если коллекция пустая, возвращает Ложь.
//
Функция ЛюбойСоответствует(Знач ФункцияСравнения, Знач ДополнительныеПараметры = Неопределено) Экспорт

ВсеСоответствуют

// Проверить, что все элементы коллекции удовлетворяют условию в функции сравнения.
// Терминальный метод.
//
// Параметры:
//   ФункцияСравнения - Строка, ОписаниеОповещения - Функция сравнения.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Булево - Переменная, в которой возвращается значение работы функции.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая функции.
//
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции сравнения.
//		Служит для передачи дополнительных данных из прикладного кода в функцию сравнения.
//		По умолчанию содержит одно значение - Элемент.
//
//  Возвращаемое значение:
//   Булево - Истина, если все элементы коллекции удовлетворяют условию Функции сравнения.
//		В обратном случае возвращает Ложь.
//		Если коллекция пустая, возвращает Истина.
//
Функция ВсеСоответствуют(Знач ОписаниеОповещения, Знач ДополнительныеПараметры = Неопределено) Экспорт

ВсеНеСоответствуют

// Проверить, что все элементы коллекции не удовлетворяют условию в функции сравнения.
// Терминальный метод.
//
// Параметры:
//   ФункцияСравнения - Строка, ОписаниеОповещения - Функция сравнения.
//		В случае передачи Строки формируется служебное описание оповещения, в контексте которого заданы переменные
//		"Результат", "ДополнительныеПараметры", "Элемент".
//		В случае передачи ОписанияОповещения обработчик данного описания должен содержать два параметра 
//		(имена произвольные):
//			"Результат" - Булево - Переменная, в которой возвращается значение работы функции.
//			"ДополнительныеПараметры" - Структура - Структура параметров, передаваемая функции.
//
//   ДополнительныеПараметры - Структура - Структура дополнительных параметров, передаваемая функции сравнения.
//		Служит для передачи дополнительных данных из прикладного кода в функцию сравнения.
//		По умолчанию содержит одно значение - Элемент.
//
//  Возвращаемое значение:
//   Булево - Истина, если все элементы коллекции не удовлетворяют условию Функции сравнения.
//		В обратном случае возвращает Ложь.
//		Если коллекция пустая, возвращает Истина.
//
Функция ВсеНеСоответствуют(Знач ФункцияСравнения, Знач ДополнительныеПараметры = Неопределено) Экспорт

Модуль ПроцессорыКоллекций

ИзКоллекции

// Создать ПроцессорКоллекций на основании переданной коллекции.
//
// Параметры:
//   Коллекция - Произвольный - Коллекция (Массив, ТаблицаЗначений...), на основании которой нужно
//		сформировать ПроцессорКоллекций.
//
//  Возвращаемое значение:
//   ПроцессорКоллекций - Инстанс класса ПроцессорКоллекций, заполненный переданной коллекцией.
//
Функция ИзКоллекции(Коллекция) Экспорт

ИзСтроки

// Создать ПроцессорКоллекций на основании переданной строки.
// Переданная строка преобразуется в коллекцию путем разделения строк.
//
// Параметры:
//   Строка - Строка - Строка, на основании которой нужно сформировать ПроцессорКоллекций.
//   РазделительСтрок - Строка - Разделитель строк, применяемый к Строке для получения коллекции.
//		Если не передан, строка разделяется на элементы посимвольно.
//   ВключатьПустые - Булево - Указывает необходимость включать в коллекцию пустые строки,
//		которые могут образоваться в результате разделения исходной строки.
//
//  Возвращаемое значение:
//   ПроцессорКоллекций - Инстанс класса ПроцессорКоллекций.
//
Функция ИзСтроки(Строка, РазделительСтрок = Неопределено, ВключатьПустые = Истина) Экспорт

СтандартнаяФункцияСравнения

// Стандартная функция сравнения.
// Сравнивает значения элементов коллекции через операторы ">", "<" и "=".
//
//  Возвращаемое значение:
//   ОписаниеОповещения - Инстанс класса ОписаниеОповещения, указывающий на стандартную функцию сравнения.
//
Функция СтандартнаяФункцияСравнения() Экспорт

СтандартнаяФункцияОбработки_Сообщить

// Стандартная функция обработки - "Сообщить".
// Выполняет процедуру "Сообщить()" над каждым элементом коллекции.
//
//  Возвращаемое значение:
//   ОписаниеОповещения - Инстанс класса ОписаниеОповещения, указывающий на стандартную функцию обработки.
//
Функция СтандартнаяФункцияОбработки_Сообщить() Экспорт

Вдохновение черпалось из java8 stream-api.

You can’t perform that action at this time.