Стд::Обходимое<ТипЭлемента>
ТипЭлемента: тип обходимых элементов.
Объект предоставляет возможность обхода своих элементов в цикле для из.
Возможность повторного обхода не гарантируется.
Сравнение
Ссылочное
Иерархия типа
Базовые типы: Объект
Дочерние типы: ЧитаемаяКоллекция, ЧитаемоеСоответствие
Методы
ВМассив
ВМассив(): Массив<ТипЭлемента>
Преобразует Обходимое в Массив.
ВСоответствие
ВСоответствие<ТипКлюча, ТипЗначения>(
ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча,
ИзвлекательЗначения: (ТипЭлемента)->ТипЗначения
): Соответствие<ТипКлюча, ТипЗначения>
ТипКлюча: тип вычисляемого ключа.
ТипЗначения: тип вычисляемого значения.
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Преобразует Обходимое в Соответствие, используя заданные функции для вычисления ключа и значения.
При повторяющихся ключах, в соответствии останется только последний элемент обходимого с таким ключом.
Примеры
знч Сотрудники: Массив<Сотрудник> = []
знч ИдИмя = Сотрудники.ВСоответствие(Элемент -> Элемент.Ид, Элемент -> Элемент.Имя)
См. также
ГруппироватьПо
ВСоответствиеСКлючами
ВСоответствиеСКлючами<ТипКлюча>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча): Соответствие<ТипКлюча, ТипЭлемента>
ТипКлюча: тип вычисляемого ключа.
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Преобразует Обходимое в Соответствие, используя заданную функцию для вычисления ключа и элемент обходимого в качестве значения.
При повторяющихся ключах, в соответствии останется только последний элемент обходимого с таким ключом.
Примеры
знч Сотрудники: Массив<Сотрудник> = []
знч СотрудникПоИд = Сотрудники.ВСоответствиеСКлючами(Элемент -> Элемент.Ид)
См. также
ГруппироватьПо
ВСоответствиеСоЗначениями
ВСоответствиеСоЗначениями<ТипЗначения>(ИзвлекательЗначения: (ТипЭлемента)->ТипЗначения): Соответствие<ТипЭлемента, ТипЗначения>
ТипЗначения: тип вычисляемого значения.
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Преобразует Обходимое в Соответствие, используя заданную функцию для вычисления значения и элемент обходимого в качестве ключа.
При повторяющихся ключах, в соответствии останется только последний элемент обходимого с таким ключом.
Примеры
знч Идентификаторы: Массив<Число> = [13, 5]
знч СотрудникПоИд = Идентификаторы.ВСоответствиеСоЗначениями(Ид -> ПолучитьСотрудникаПоИд(Ид))
См. также
ГруппироватьПо
ВоМножество
Преобразует Обходимое во Множество.
Примеры
знч Числа = [1, 3, 5, 10, 12, 1, 3, 5]
знч МножествоЧисел = Числа.ВоМножество()
ВсеСоответствуют
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Возвращает Истина, если все элементы удовлетворяют условию в предикате.
На сервере это операция сокращенного вычисления.
Это значит, что вызванные ранее в цепочке вызовов операции, могут быть вызваны не для каждого элемента.
Примеры
знч Сотрудники: Массив<Сотрудник> = []
Сотрудники.ВсеСоответствуют(Элемент -> Элемент.Отдел == "Разработка")
знч Числа = [1, 2, 3, 4, 5]
знч КвадратыЧисел = <Число>[]
знч ВсеЧетные = Числа.ДляКаждого(а -> КвадратыЧисел.Добавить(а * а)).ВсеСоответствуют(а -> а % 2 == 0)
ГруппироватьПо
ГруппироватьПо<ТипКлюча>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча): Соответствие<ТипКлюча, Массив<ТипЭлемента>>
ТипКлюча: тип вычисляемого ключа.
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Группирует элементы в соответствии с заданной функцией вычисления ключа. Элементы с одинаковым ключом объединяются в Массив.
ИзвлекательКлюча - функция, применяющаяся к каждому элементу, возвращающая характеристику, по которой будут группироваться элементы.
Перегрузка
ГруппироватьПо<ТипКлюча, ТипЗначения>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча, ИзвлекательЗначения: (ТипЭлемента)->ТипЗначения): Соответствие<ТипКлюча, Массив<ТипЗначения>>
ГруппироватьПо<ТипКлюча, ТипЗначения, ТипКоллекции>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча, ИзвлекательЗначения: (ТипЭлемента)->ТипЗначения, КонструкторКоллекции: ()->ТипКоллекции): Соответствие<ТипКлюча, ТипКоллекции>
Примеры
знч Сотрудники: Массив<Сотрудник> = []
знч ОтделыИСотрудники: Соответствие<Строка, Массив<Сотрудник>> = Сотрудники.ГруппироватьПо(Элемент -> Элемент.Отдел)
ГруппироватьПо
Версия 8.0 и выше
ГруппироватьПо<ТипКлюча, ТипЗначения>(
ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча,
ИзвлекательЗначения: (ТипЭлемента)->ТипЗначения
): Соответствие<ТипКлюча, Массив<ТипЗначения>>
ТипКлюча: тип ключа.
ТипЗначения: тип значения.
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Группирует элементы в соответствии с заданной функцией вычисления ключа. Для элементов с одинаковым ключом вычисляются значения и объединяются в Массив.
ИзвлекательКлюча - функция, применяющаяся к каждому элементу, возвращающа я характеристику, по которой будут группироваться элементы.
ИзвлекательЗначения - функция, применяющаяся к каждому элементу, возвращающая значение, которое будет записано в массив.
Перегрузка
ГруппироватьПо<ТипКлюча>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча): Соответствие<ТипКлюча, Массив<ТипЭлемента>>
ГруппироватьПо<ТипКлюча, ТипЗначения, ТипКоллекции>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча, ИзвлекательЗначения: (ТипЭлемента)->ТипЗначения, КонструкторКоллекции: ()->ТипКоллекции): Соответствие<ТипКлюча, ТипКоллекции>
Примеры
знч Сотрудники: Массив<Сотрудник> = []
знч ОтделыИСотрудники: Соответствие<Строка, Массив<Строка>> = Сотрудники.ГруппироватьПо(Элемент -> Элемент.Отдел, Элемент -> Элемент.Имя)
ГруппироватьПо
Версия 8.0 и выше
ГруппироватьПо<ТипКлюча, ТипЗначения, ТипКоллекции>(
ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча,
ИзвлекательЗначения: (ТипЭлемента)->ТипЗначения,
КонструкторКоллекции: ()->ТипКоллекции
): Соответствие<ТипКлюча, ТипКоллекции>
ТипКлюча: тип ключа.
ТипЗначения: тип значения.
ТипКоллекции: тип коллекции. Ограничения параметра типа: Стд::Коллекции::Коллекция<ТипЗначения>.
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Группирует элементы в соответствии с заданной функцией вычисления ключа. Для элементов с одинаковым ключом вычисляются значения и объединяются в Коллекцию.
ИзвлекательКлюча - функция, применяющаяся к каждому элементу, возвращающая характеристику, по которой будут группироваться элементы.
ИзвлекательЗначения - функция, применяющаяся к каждому элементу, возвращающая значение, которое будет записано в коллекцию.
КонструкторКоллекции - конструктор коллекции, которая будет соответствовать ключу в результирующем соответствии.
Перегрузка
ГруппироватьПо<ТипКлюча>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча): Соответствие<ТипКлюча, Массив<ТипЭлемента>>
ГруппироватьПо<ТипКлюча, ТипЗначения>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча, ИзвлекательЗначения: (ТипЭлемента)->ТипЗначения): Соответствие<ТипКлюча, Массив<ТипЗначения>>
Примеры
знч Сотрудники: Массив<Сотрудник> = []
знч ОтделыИСотрудники: Соответствие<Строка, Множество<Строка>> = Сотрудники.ГруппироватьПо(Элемент -> Элемент.Отдел, Элемент -> Элемент.Имя, () -> новый Множество<Строка>())
ДляКаждого
ДляКаждого(Действие: (ТипЭлемента)->ничто): Массив<ТипЭлемента>
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Выполняет заданное действие для каждого элемента. Не изменяет элементы обходимого.
На сервере в сочетании с операцией сокращенного вычисления может быть вызван не для каждого элемента.
Примеры
знч Сотрудники: Массив<Сотрудник> = []
пер СписокСотрудников: Массив<Строка> = []
Сотрудники.ДляКаждого(Элемент -> СписокСотрудников.Добавить(Элемент.Ид + " - " + Элемент.Имя))
знч Числа = [1, 3, 5]
знч КвадратыЧисел = <Число>[]
знч Первое = Числа.ДляКаждого(а -> КвадратыЧисел.Добавить(а * а)).ПервыйИлиНеопределено()
Единственный
Единственный(): ТипЭлемента
Возвращает единственный содержащийся элемент.
Вызов приводит к частичному обходу, если реализация не поддерживает повторный обход - вызвать можно только один раз.
Исключения
ИсключениеНедопустимоеСостояние - если нет элементов или элементов больше одного.
ЕдинственныйИлиНеопределено
Версия 7.0 и выше
ЕдинственныйИлиНеопределено(): ТипЭлемента?
Возвращает единственный содержащийся элемент или
Неопределено.
Вызов приводит к частичному обходу, если реализация не поддерживает повторный обход - вызвать можно только один раз.
Исключения
ИсключениеНедопустимоеСостояние - если элементов больше одного.
Прошлые имена: ЕдинственныйИлиУмолчание
ЕдинственныйИлиУмолчание
Версия 7.0 и выше
ЕдинственныйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлемента
Возвращает единственный содержащийся элемент или значение
Умолчание, если элементов нет.
Вызов приводит к частичному обходу, если реализация не поддерживает повторный обход - вызвать можно только один раз.
Исключения
ИсключениеНедопустимоеСостояние - если элементов больше одного.
Перегрузка
ЕдинственныйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
ЕдинственныйИлиУмолчание
Версия 7.0 и выше
ЕдинственныйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
ТипУмолчания: тип умолчания
Возвращает единственный содержащийся элемент или значение, вычисленное с помощью ВычислительУмолчания, если элементов нет.
Вызов приводит к частичному обходу, если реализация не поддерживает повторный обход - вызвать можно только один раз.
Исключения
ИсключениеНедопустимоеСостояние - если элементов больше одного.
Перегрузка
ЕдинственныйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлемента
ЕдинственныйИлиУмолчание
Версия 6.0 и ниже
ЕдинственныйИлиУмолчание(): ТипЭлемента?
Метод переименован в
ЕдинственныйИлиНеопределено.
ЕдинственныйИлиУмолчание
Версия 6.0 и ниже
ЕдинственныйИлиУмолчание<ТипУмолчания>(Умолчание: ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
Метод заменен на
ЕдинственныйИлиУмолчание.
ЕстьСоответствия
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Возвращает Истина, если хотя бы один из элементов удовлетворяет условию в предикате.
На сервере это операция сокращенного вычисления.
Это значит, что вызванные ранее в цепочке вызовов операции, могут быть вызваны не для каждого элемента.
Примеры
знч Сотрудники: Массив<Сотрудник> = []
Сотрудники.ЕстьСоответствия(Элемент -> Элемент.Отдел == "Администрация")
знч Числа = [1, 2, 3, 4, 5]
знч КвадратыЧисел = <Число>[]
знч ЕстьЧетные = Числа.ДляКаждого(а -> КвадратыЧисел.Добавить(а * а)).ЕстьСоответствия(а -> а % 2 == 0)
КакПоследовательность
Преобразует Обходимое в Последовательность.
Максимум
<ItemType это Сравнимое<ТипЭлемента>> Максимум(): ТипЭлемента
Возвращает максимальный элемент из элементов Обходимого типа
Сравнимое.
Исключения
ИсключениеНедопустимоеСостояние - если нет элементов.
Примеры
знч Числа = [1, 3, 5, 10, 12]
знч Макс = Числа.Максимум()
МаксимумПо
МаксимумПо(Извлекатель: (ТипЭлемента)->Сравнимое<неизвестно>): ТипЭлемента
Возвращает максимальный по заданному свойству элемент.
Примеры
знч Сотрудники: Массив<Сотрудник> = []
знч СтаршийСотрудник: Сотрудник = Сотрудники.МаксимумПо(Элемент -> Элемент.Возраст)
Минимум
<ItemType это Сравнимое<ТипЭлемента>> Минимум(): ТипЭлемента
Возвращает минимальный элемент из элементов Обходимого типа
Сравнимое.
Исключения
ИсключениеНедопустимоеСостояние - если нет элементов.
Примеры
знч Числа = [1, 3, 5, 10, 12]
знч Минимум: Число = Числа.Минимум()
МинимумПо
МинимумПо(Извлекатель: (ТипЭлемента)->Сравнимое<неизвестно>): ТипЭлемента
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Возвращает минимальный по заданному свойству элемент.
Исключения
ИсключениеНедопустимоеСостояние - если нет элементов.
Примеры
знч Сотрудники: Массив<Сотрудник> = []
знч МладшийСотрудник: Сотрудник = Сотрудники.МинимумПо(Элемент -> Элемент.Возраст)
НетСоответствий
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Возвращает Истина, если ни один из элементов не удовлетворяет условию в предикате.
На сервере это операция сокращенного вычисления.
Это значит, что вызванные ранее в цепочке вызовов операции, могут быть вызваны не для каждого элемента.
Примеры
знч Сотрудники: Массив<Сотрудник> = []
Сотрудники.НетСоответствий(Элемент -> Элемент.Отдел == "Бухгалтерия")
знч Числа = [1, 2, 3, 4, 5]
знч КвадратыЧисел = <Число>[]
знч НетЧетных = Числа.ДляКаждого(а -> КвадратыЧисел.Добавить(а * а)).НетСоответствий(а -> а % 2 == 0)
Объединить
Объединяет элементы текущего обходимого с элементами
Обходимое и возвращает новый массив.
Примеры
знч Сотрудники: Массив<Сотрудник> = []
знч Сотрудники2: Массив<Сотрудник> = []
знч ВсеСотрудники: Массив<Сотрудник> = Сотрудники.Объединить(Сотрудники2)
Первый
Возвращает первый элемент.
Вызов приводит к частичному обходу, если реализация не поддерживает повторный обход - вызвать можно только один раз.
На сервере это операция сокращенного вычисления.
Это значит, что вызванные ранее в цепочке вызовов операции, могут быть вызваны не для каждого элемента.
Исключения
ИсключениеНедопустимоеСостояние - если элементов нет.
ПервыйИлиНеопределено
Версия 7.0 и выше
ПервыйИлиНеопределено(): ТипЭлемента?
Возвращает первый элемент или
Неопределено
Вызов приводит к частичному обходу, если реализация не поддерживает повторный обход - вызвать можно только один раз.
На сервере это операция сокращенного вычисления.
Это значит, что вызванные ранее в цепочке вызовов операции, могут быть вызваны не для каждого элемента.
Примеры
знч Числа = [1, 3, 5, 10, 12, 15, 20]
знч Первый = Числа.ПервыйИлиНеопределено()
знч КвадратыЧисел = <Число>[]
знч Первый1 = Числа.ДляКаждого(а -> КвадратыЧисел.Добавить(а * а)).ПервыйИлиНеопределено()
Прошлые имена: ПервыйИлиУмолчание
ПервыйИлиУмолчание
Версия 7.0 и выше
ПервыйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлемента
Возвращает первый элемент или значение
Умолчание, если элементов нет.
Вызов приводит к частичному обходу, если реализация не поддерживает повторный обход - вызвать можно только один раз.
На сервере это операция сокращенного вычисления.
Это значит, что вызванные ранее в цепочке вызовов операции, могут быть вызваны не для каждого элемента.
Перегрузка
ПервыйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
Примеры
знч Числа = [1, 3, 5, 10, 12, 15, 20]
знч Первый = Числа.ПервыйИлиУмолчание(0)
знч КвадратыЧисел = <Число>[]
знч Первый1 = Числа.ДляКаждого(а -> КвадратыЧисел.Добавить(а * а)).ПервыйИлиУмолчание(0)
ПервыйИлиУмолчание
Версия 7.0 и выше
ПервыйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
ТипУмолчания: Тип умолчания.
Возвращает первый элемент или значение, вычисленное с помощью ВычислительУмолчания, если элементов нет.
Вызов приводит к частичному обходу, если реализация не поддерживает повторный обход - вызвать можно только один раз.
На сервере это операция сокращенного вычисления.
Это значит, что вызванные ранее в цепочке вызовов операции, могут быть вызваны не для каждого элемента.
Перегрузка
ПервыйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлемента
Примеры
знч Числа = [1, 3, 5, 10, 12, 15, 20]
знч Первый = Числа.ПервыйИлиУмолчание(() -> 0)
знч КвадратыЧисел = <Число>[]
знч Первый1 = Числа.ДляКаждого(а -> КвадратыЧисел.Добавить(а * а)).ПервыйИлиУмолчание(() -> 0)
ПервыйИлиУмолчание
Версия 6.0 и ниже
ПервыйИлиУмолчание(): ТипЭлемента?
Метод переименован в
ПервыйИлиНеопределено.
ПервыйИлиУмолчание
Версия 6.0 и ниже
ПервыйИлиУмолчание<ТипУмолчания>(Умолчание: ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
Метод заменен на
ПервыйИлиУмолчание.
ПотомСортироватьПо
Внимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера.
Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!".
Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Выполняет дополнительную сортировку, используя Извлекатель для сравнения элементов. Возвращает новый отсортированный Массив.
Извлекатель - функция, применяющаяся к каждому элементу, возвращающая характеристику, которая непосредственно будет сравниваться с характеристиками остальных значений для упорядочивания.
Например для структуры извлекатель может возвращать свойство, по которому сравниваются структуры.
Примеры
знч Сотрудники: Массив<Сотрудник> = []
знч ПоВозрастаниюИд = Сотрудники.СортироватьПо(Элемент -> Элемент.Возраст).ПотомСортироватьПо(Элемент -> Элемент.Ид)
Преобразовать