Универсальные коллекции значений 1С

Большинство объектов встроенного языка 1с предназначены для описания алгоритмов функционирования бизнес-логики.

Еще одна группа объектов, не входящая в состав объектов базы данных, — универсальные коллекции значений — не менее важная группа объектов. Хранит временные наборы данных в течение сеанса работы пользователя, служит для вспомогательного сбора, группировки, анализа и обработки информации:

Массив

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

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются значения элементов массива. Возможно обращение к значению элемента посредством оператора […]. В качестве аргумента передается индекс значения (нумерация с 0).

Более подробно о массивах тут.


Структура

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

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы соответствия. Возможно обращение к значению элемента посредством оператора […]. В качестве аргумента передается значение ключа элемента.

Соответствие

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

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы соответствия. Возможно обращение к значению элемента посредством оператора […]. В качестве аргумента передается значение ключа элемента.

Список значений

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

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


Таблица значений

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

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

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


Дерево значений

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

Дерево значений может иметь визуальное представление, если с ним связать элемент управления ТабличноеПоле. Внешний вид такого элемента будет похож на дерево групп справочника.

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


COMSafeArray

Представляет собой объектную оболочку над многомерным массивом SAFEARRAY из COM. Позволяет создавать и использовать SAFEARRAY для обмена данными между COM-объектами.


Фиксированный массив

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


Фиксированная коллекция

Системная коллекция значений. Используется в качестве значений свойств других объектов. Заполняется системой при инициализации объектов данного типа. Создать этот объект средствами встроенного языка нельзя. Набор свойств этого объекта определяется в зависимости от контекста его использования и описан подробнее в описании тех свойств, где он используется.


Фиксированное соответствие

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

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы соответствия. Возможно обращение к значению элемента посредством оператора […]. В качестве аргумента передается значение ключа элемента.

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


Фиксированная структура

Фиксированная коллекция пар КлючИЗначение. При этом ключ может быть только строковым и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка. К значениям структуры можно обращаться как к свойствам объекта. При этом ключ используется как имя свойства. Предназначен для использования в качестве значений параметров сеанса.

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.

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