Массив в 1с 8.3 — это пронумерованная коллекция значений произвольного типа. Использование массивов в 1с позволяет получить значение элемента массива по его индексу. Массивы бывают одномерные и многомерные (состоящие из нескольких коллекций значений). Они относятся к универсальным коллекциям значений.
Массивы в 1с:Предприятии можно использовать аналогично другим системам программирования.
Создание массивов в 1с.
Для создания массива используется следующий Синтаксис:
Новый Массив(<КоличествоЭлементов1>,…,<КоличествоЭлементовN>)
Массив можно создать при помощи следующей конструкции:
// в массиве сразу 3 элемента
Массив = Новый Массив(3);
//Одномерный массив
ПустойМассив = Новый Массив();//Пустой массив
Массив2 = Новый Массив(2);//массив из двух элементов
//Двумерный массив в 1С 8.3
ДвумерныйМассив = Новый Массив(2,3);
Каждый из двух элементов двумерного массива является массивом из трёх элементов.
Добавление элемента в массив
Синтаксис: Массив.Добавить([Значение]);
Использование метода Добавить добавляет элемент в конец массива. Вывод значений массива производиться с использованием цикла Для. Например:
Обработка использование массивов в 1с
Вставка значений в массив по указанному индексу.
Повторим Команда Добавить() помещает добавляемый элемент в конец массива. Команда Вставить позволяет разместить элемент в произвольный индекс.
Синтаксис: Массив.Вставить(Индекс[, Значение]);
Результат работы команды Вставка().
Найти элемент массива
Найти осуществляет поиск элемента массива.
Синтаксис: Массив.Найти(ЗначениеЭлемента);
Фрагмент кода:
Определение количества элементов массива в 1с
Количество. Определяет количество элементов в массиве.
Синтаксис: Массив.Количество();
Определение наибольший индекс массива в 1с
ВГраница Получает наибольший индекс массива.
Синтаксис: Массив.ВГраница
Фрагмент кода:
Удаление элемента массива в 1с
Команда удалить удаляет из массива значение с указанным индексом.
Синтаксис: Массив.Удалить(Индекс);
Фрагмент кода:
Очистить массив в 1с.
Удаляет все значения из массива.
Синтаксис: Массив.Очистить().
Фрагмент кода:
Примеры
КАК ПЕРЕБРАТЬ ЭТОТ МАССИВ И ПОКАЗАТЬ, ЧТО В НЕМ ХРАНИТСЯ?
Для Каждого ЭлементМассива Из СозданныйМассив Цикл
Сообщить(ЭлементМассива);
КонецЦикла; // результат: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Преобразование таблицы значений в массив структур.
Пример преобразования таблицы значений в массив структур. Создание таблицы значений рассмотрено в отдельной статье.
Табабб=новый ТаблицаЗначений;
абб=новый массив;
//МассивСтруктур = Новый Массив;
Для Каждого СтрокаТЗ Из Табабб Цикл
ЭлементСтруктура = Новый Структура;
Для Каждого ИмяКолонки Из Табабб.Колонки Цикл
ЭлементСтруктура.Вставить(ИмяКолонки.Имя, СтрокаТЗ[ИмяКолонки.Имя]);
КонецЦикла;
абб.Добавить(ЭлементСтруктура);
КонецЦикла;