Найти в Дзене
Vladimir Ganzyuk

Массивы в 1с. Методы массивов.

Оглавление

Массив в 1с 8.3 — это пронумерованная коллекция значений произвольного типа. Использование массивов в 1с позволяет получить значение элемента массива по его индексу. Массивы бывают одномерные и многомерные (состоящие из нескольких коллекций значений). Они относятся к универсальным коллекциям значений.

Массивы в 1с:Предприятии можно использовать аналогично другим системам программирования.

Методы работы с массивами в 1с
Методы работы с массивами в 1с

Создание массивов в 1с.

Для создания массива используется следующий Синтаксис:

Новый Массив(<КоличествоЭлементов1>,…,<КоличествоЭлементовN>)

Массив можно создать при помощи следующей конструкции:

// в массиве сразу 3 элемента

Массив = Новый Массив(3);

//Одномерный массив

ПустойМассив = Новый Массив();//Пустой массив

Массив2 = Новый Массив(2);//массив из двух элементов

//Двумерный массив в 1С 8.3

ДвумерныйМассив = Новый Массив(2,3);

Каждый из двух элементов двумерного массива является массивом из трёх элементов.

Добавление элемента в массив

Синтаксис: Массив.Добавить([Значение]);

Использование метода Добавить добавляет элемент в конец массива. Вывод значений массива производиться с использованием цикла Для. Например:

Создание массива в 1с
Создание массива в 1с

Обработка использование массивов в 1с

Вывод массива в 1с
Вывод массива в 1с

Вставка значений в массив по указанному индексу.

Повторим Команда Добавить() помещает добавляемый элемент в конец массива. Команда Вставить позволяет разместить элемент в произвольный индекс.

Синтаксис: Массив.Вставить(Индекс[, Значение]);

Вставить в массив 1с
Вставить в массив 1с

Результат работы команды Вставка().

Результат работы метода Вставить
Результат работы метода Вставить

Найти элемент массива

Найти осуществляет поиск элемента массива.

Синтаксис: Массив.Найти(ЗначениеЭлемента);

Фрагмент кода:

Метод Найти в массиве 1с
Метод Найти в массиве 1с

Определение количества элементов массива в 1с

Количество. Определяет количество элементов в массиве.

Синтаксис: Массив.Количество();

Количество элементов в массиве 1с
Количество элементов в массиве 1с

Определение наибольший индекс массива в 1с

ВГраница Получает наибольший индекс массива.

Синтаксис: Массив.ВГраница

Фрагмент кода:

наибольший индекс массива в 1с
наибольший индекс массива в 1с

Удаление элемента массива в 1с

Команда удалить удаляет из массива значение с указанным индексом.

Синтаксис: Массив.Удалить(Индекс);

Фрагмент кода:

Удаление элемента массива в 1с
Удаление элемента массива в 1с

Очистить массив в 1с.

Удаляет все значения из массива.

Синтаксис: Массив.Очистить().

Фрагмент кода:

Очистить массив в 1с
Очистить массив в 1с

Примеры

КАК ПЕРЕБРАТЬ ЭТОТ МАССИВ И ПОКАЗАТЬ, ЧТО В НЕМ ХРАНИТСЯ?

Для Каждого ЭлементМассива Из СозданныйМассив Цикл

Сообщить(ЭлементМассива);

КонецЦикла; // результат: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Преобразование таблицы значений в массив структур.

Пример преобразования таблицы значений в массив структур. Создание таблицы значений рассмотрено в отдельной статье.

Табабб=новый ТаблицаЗначений;
абб=новый массив;

//МассивСтруктур = Новый Массив;

Для Каждого СтрокаТЗ Из Табабб Цикл

ЭлементСтруктура = Новый Структура;

Для Каждого ИмяКолонки Из Табабб.Колонки Цикл

ЭлементСтруктура.Вставить(ИмяКолонки.Имя, СтрокаТЗ[ИмяКолонки.Имя]);

КонецЦикла;

абб.Добавить(ЭлементСтруктура);

КонецЦикла;

Код преобразования Таблицы Значений в массив
Код преобразования Таблицы Значений в массив

СтрРазделить()

Функция СтрРазделить() позволяет разделить Строку в массив подстрок. Пример использования функции рассмотрен в статье: Преобразовать массив 1с в строку.

МассивПодстрок = СтрРазделить("Фамилия Имя Отчество", " ");
//МассивПодстрок[0] = "Фамилия";
//МассивПодстрок[1] = "Имя";
//МассивПодстрок[]2="Отчество";