Массивы в 1С и как с ними работать


Под понятием «массив» в программировании понимают некоторую структуру в памяти, которая состоит из последовательности элементов, в случае 1С это универсальная коллекция значений произвольного типа. Помимо массива к универсальным коллекциям относятся:

  • Список значений (в отличие от массива есть представление, реализована возможность сортировки и интерфейсного представления коллекции);
  • Таблица значений – коллекция, имеющая колонки для расширенного описания значения, подобную структуру можно получить, выполнив запрос;
  • Дерево значений – очень похоже на таблицу, дополненную структурой подчиненности;
  • Структура – динамический набор имен и значений переменных;
  • Соответствие – подобно структуре, только переменные сопоставляются не строковым представлениям, а друг другу.

Программное создание массива

Программно массив создается с помощью конструктора:
Новый Массив(<Массив>)
Новый Массив(<КоличествоЭлементов1>,…,<КоличествоЭлементовN>)

Пример:

//Массив без ограничений по количеству элементов
НеограниченныйМассив = Новый Массив();
//Массив из 50 элементов
МассивИз50Элементов = Новый Массив(50);

Методы массива:

ВГраница (UBound)

ВГраница();

Получает наибольший индекс элемента массива. Наибольший индекс соответствует количеству элементов массива минус 1.

Пример:

Для Индекс = 0 по Массив.ВГраница() Цикл
    Массив[Индекс] = Массив[Индекс] + 1;
КонецЦикла;

Вставить (Insert)

Вставить(<Индекс>, <Значение>);

Вставляет значение в массив по указанному индексу. Допускается указание индекса большего, чем ВГраница. В этом случае массив дополняется элементами с индексами от ВГраница()+1 до указанного в параметре индекса.

Пример:

Массив.Вставить(0, "Первый");
Массив.Вставить(1, "Второй");

Добавить (Add)

Добавить(<Значение>);

Добавляет элемент в конец массива. При добавлении количество элементов массива увеличивается на 1.

Пример:

Массив.Добавить("Первый");
Массив.Добавить("Второй");

Количество (Count)

Количество();

Получает количество элементов в массиве.

Пример:

КоличествоЭлементов = Массив.Количество();

Найти (Find)

Найти(<Значение>);

Выполняет поиск элемента в массиве. Если элемент найден, возвращается его индекс. Если элемент не найден, возвращается Неопределено. Метод эффективно использовать для поиска уникальных значений.


Очистить (Clear)

Очистить();

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

Пример:

МассивСтрок.Очистить();

Получить (Get)

Получить(<Индекс>);

Получает значение по индексу. Работает аналогично оператору []. Применяется в случаях, когда использование оператора [] невозможно.

Пример:

МассивСтрок.Получить(ИндексЭлементаМассива);

Удалить (Delete)

Удалить(<Индекс>);

Удаляет значение из массива по указанному индексу. Если указанный в параметре индекс больше, чем ВГраница, то никаких действий не производится и не выдается сообщение «Индекс находится за границами массива».

Пример:

МассивСтрок.Удалить(4);

Установить (Set)

Установить(<Индекс>, <Значение>);

Устанавливает значение по индексу. Работает аналогично оператору []. Применяется в случаях, когда использование оператора [] невозможно.

Пример:

МассивСтрок.Установить(ИндексЭлементаМассива, ЗначениеЭлементаМассива);

Оцените статью
( 1 оценка, среднее 5 из 5 )
Добавить комментарий