Перейти к основному содержимому

Реквизит-коллекция

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

Например, справочник Сотрудники может иметь реквизит-коллекцию Телефоны. Тогда для каждого сотрудника (экземпляра сущности) можно указать несколько телефонов.

Каждый реквизит-коллекция порождает отдельную таблицу в базе данных. Ее имя формируется по принципу имя-элемента-проекта.имя-реквизита. Эта таблица содержит поле Владелец, связанное с полем Ссылка основной таблицы.

Пример таблицы реквизита-коллекции

Во встроенном языке вы можете добавлять значения реквизита-коллекции следующим образом:

пер СотрудникОбъект = новый Сотрудники.Объект()
СотрудникОбъект.ФИО = "Герасимов"
СотрудникОбъект.Телефоны.Добавить("454-45-54")
СотрудникОбъект.Записать()

В языке запросов вы можете обращаться непосредственно к таблице реквизита-коллекции:

ВЫБРАТЬ
Индекс,
Элемент КАК Телефон
ИЗ
Сотрудники.Телефоны
ГДЕ
Владелец == %Сотрудник

При этом нужно учитывать, что в основной таблице нельзя обратиться к полю Телефоны как ко вложенной таблице:

// Это не работает!
ВЫБРАТЬ
Телефоны
ИЗ
Сотрудники

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

См. также