Цели и задачи изучения темы



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

 

Коллекция представляет собой не хранящуюся в базе данных совокупность значений или объектов — элементов коллекции. В 1С:Предприятии 8.0 работа с коллекциями была унифицирована: добавление, удаление и обход элементов всех коллекций производится однотипным образом.

Некоторые коллекции называются универсальными, потому что разработчик может их создавать средствами встроенного языка для решения своих задач.

К универсальным коллекциям значений относятся следующие:

· массив,

· список значений,

· таблица значений,

· дерево значений,

· структура,

· соответствие.

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

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

Для универсальных коллекций значений доступен обход элементов с помощью конструкции «Для Каждого». Также возможно обращение к элементу с помощью оператора [...] (квадратные скобки), куда в качестве аргумента обычно передается индекс элемента, а для структуры или соответствия — ключ элемента коллекции.

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

Например, свойство Колонки элемента управления ТабличноеПоле представляет собой коллекцию колонок. Разработчик может средствами встроенного языка добавлять или удалять колонки, менять их порядок, изменять заголовок и т.д. Если коллекция-свойство является фиксированной, то не допускается редактировать список ее элементов.

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

 

Массив

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

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

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

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

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

Мас3 = Новый Массив(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 (минус единица).

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

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

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

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

· Очистить -Удаляет все значения из массива.

 

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

 


Дата добавления: 2015-12-20; просмотров: 19; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!