Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОО_ПОЭИС_Л4.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
147.97 Кб
Скачать

Лекция 4 (ЦОО_ПОЭИС)

Глава 4. Универсальные коллекции значений

Универсальные коллекции значений предназначены для хранения временных наборов данных в течение сеанса работы пользовате­ля. Они нe являются объектами информационной базы и служат для вспомогательного сбора, группировки, анализа и обработки информации

4.1. Массивы

Массивы представляют собой пронумерованную совокупность значений любого типа. К элементу массива можно обращаться по индексу через оператор [...], причем индекс первого элемента равен 0. В качестве значений элементов массива могут быть другие массивы, что, в частности, позволяет организовывать многомерные массивы.

Продемонстрируем на примерах возможности работы с массивами:

Создание нового массива производится следующим образом:

Мас = Новый Массив; //одномерный массив без элементов

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

МасЗ - Новый Массив(4,5); //массив с двумя измерениями

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

Для добавления и удаления элементов массива можно использовать методы объекта Массив:

Маc = Новый Массив; //одномерный массив без элементов

Маc.Добавить("Иванов"); //элемент будет иметь индекс 0

Маc.Добавить("Петров"); //индекс 1

Маc.Добавить("Сидоров"); //индекс 2

//после вставки нового элемента Иванов и Петров будут сдвинуты ниже

Мас2.Вставить(0,"Сидоров");

//удаляем Сидорова (Иванов и Петров сдвигаются обратно)

Мас2.Удалить(0);

Мас2 - Новый Массив(4,5); //массив с двумя измерениями

Мас2[0][0] = "Иванов";

Мас2[0][1] = "Петров";

//после вставки нового элемента Иванов и Петров будут сдвинуты ниже

Мас2[0].Вставить(0,"Сидоров");

//следующий элемент будет относиться ко 2-му измерению

//и будет являться 6-м (индекс = 5)

//при создании массива во 2-м измерении

//было создано 5 элементов, имеющих значение Неопределено

Мас2[1].Добавить("Петров");

Перебор элементов массива возможен с использованием оператора [...] или цикла «Для Каждого»:

//1-й вариант

Для Каждого эл Из Мас Цикл

Сообщить(эл);

КонецЦикла;

//2-й вариант

Для н = 0 По Мас.ВГраница() Цикл

Сообщить(Мас[н]);

КонецЦикла;

У объекта Массив есть следующие методы:

ВГраница

Возвращает наибольший индекс в массиве, равный количество элементов минус 1. Если количество элементов массива равно 0, возвращается -1 (минус единица).

Количество

Возвращает количество элементов массива.

Добавить

Добавляет элемент в конец массива.

Вставить

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

Удалить

Удаляет значение из массива по указанному индексу.

Очистить

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

В 1C:Предприятии 8 в массив можно загружать данные или выгружать данные из него в другие коллекции значений. Это реализуется с помощью соответствующих методов других коллекций значений. Например, объект СписокЗначений имеет методы ВыгрузитьЗначения и ЗагрузитьЗначения, которые работают с массивом. Аналогично действуют методы ВыгрузитьКолонку и ЗагрузитьКолонку объекта ТаблицаЗначений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]