Выбор из справочника — dictionary#

Определение#

Компонент используется для работы со справочниками в форме.

Тип компонента в конфигураторе: dictionary.

Внешний вид#

JSON-схема для создания компонента в конфигураторе:

"constructionObject": {
    "type": "dictionary",
    "title": "Объект строительства",
    "multiple": true,
    "isTree": false,
    "description": "Выберите значение",
    "dictionaryName": "dev_ok_construction_object"
}

Как оно выглядит в пользовательском приложении:

Пример компонента

Выбор значений:

Пример компонента

Свойства#

{
    "type": "dictionary",
    "title": "Название компонента",
    "description": "Описание компонента",
    "dictionaryName": "Наименование справочника",
    "multiple": true,
    "isTree": false,
    "hidden": false
}

Свойство

Определение

Тип данных

type

Тип элемента. Для этого компонента — это всегда dictionary.

string

title

Название компонента, которое отображается в форме.

string

description

Описание компонента, которое отображается в окне выбора значений.

string

dictionaryName

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

string

multiple

Это свойство отвечает за создание множественного выбора. Если значение этого поля false, то выбрать можно только один пункт справочника.

boolean

isTree

Это свойство отвечает за использование иерархического справочника. Если значение этого поля true, то вы можете подключать справочники, в которых есть вложенность.

boolean

hidden

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

boolean

Модель данных#

Данные сохраняются в FormInstances в поле Data в виде JSON.

Заполненная форма в пользовательском приложении:

Пример компонента

После сохранения данные попадают в FromInstances в конфигураторе. Они сохраняются также в JSON формате:

"constructionObject": [
{
  "id": "01e7552a-2bba-43bb-9d7e-d6c24b8445e1"
},
{
  "id": "1917f9be-68c8-4f8e-8904-f82648fc8a46"
},
{
  "id": "008d078e-e75f-4505-9b01-1ba3072d36f3"
}
]

В FormInstances попадают id из справочника, которые соответствуют выбранным пользователем значениям.

Примеры использования#

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

"properties": {
    "hierarchicalDirectory": {
    "type": "dictionary",
    "title": "Иерархический справочник",
    "multiple": true,
    "isTree": true,
    "description": "Выберите пункт из списка",
    "dictionaryName": "dev_sk_type_of_work"
    }
}

Вот так этот компонент будет выглядеть у пользователя:

Пример компонента

После выбора каталога, вы можете выбрать какие-то данные. Так как multiple имеет значение true, то вы можете выбрать несколько пунктов справочника.

Пример компонента

Иерархические справочники не влияют на модель данных. Пункты иерархического справочника сохраняются также отдельными строчками, как и в случае с обычными справочниками:

"hierarchicalDirectory": [
{
  "id": "5710fb31-826d-4da9-8967-9d804c392986"
},
{
  "id": "9211800c-7ae6-4f77-9999-129604f24195"
}
]