Выбор из представления — view#

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

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

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

Внешний вид#

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

"formInstancePicker": {
    "type": "view",
    "title": "Испытания",
    "viewId": "627d0dbfa5608901a8000491",
    "multiple": true,
    "canCreate": true,
    "autoUpdate": true,
    "description": "Выберите испытания",
    "variables": {
        "testId": "",
        "name": ""
    }
}

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

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

Выбор формы на основе прописанного представления:

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

Свойства#

{
"type": "view",
"title": "Название компонента",
"description": "Описание",
"viewId": "...",
"canCreate": true,
"multiple": true,
"fields": [ "..." ],
"variables": [
    {
      [ "..." ]
    }
  ],
"linkTo": {
    "id": "...",
    "entityType": "..."
  },
"autoUpdate": true,
"hidden": false,
"helperText": "..."
}

Свойство

Определение

Тип данных

type

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

string

title

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

string

description

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

string

viewId

ID представления, которое вы хотите использовать.

string

сanCreate

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

boolean

fields

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

array of strings

multiple

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

boolean

variables

Ассоциативный массив с данными для шаблонизации Query выбранного представления. Если это поле заполнено, то эти данные должны быть отображены и в query-запросе представления.

array of objects

linkTo

Это свойство необходимо для создания связи между формой или справочником, на основе которых создавалось отображаемое представление. Если не заполнять это, то в веб-версии приложения компонент будет работать, но в мобильной версии могут быть ошибки. Далее заполняются свойства id и entityType, которые записываю в фигурных скобках — {}.

array of objects

id

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

string

entityType

В этом свойстве вы явно прописывается, что используется в создании представления — форма или справочник.

string

autoUpdate

Свойство необходимо для автообновления ранее использованных представление. То есть, если значение этого свойства false, а вы прикрепили к компоненту какой-то земпляр формы, а потом этот экземпляр был отредактирован, то изменения не внесутся в прикреплённый экземпляр. Если значение свойство true, то изменения внесутся автоматически.

boolean

hidden

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

boolean

helperText

Описание поля. Это стандартное свойство и отображается как текст под полем компонента.

string

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

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

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

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

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

"formInstancePicker": [
{
  "id": "642ffcfa00779140934c122e"
}
]

В экземпляр формы попал только id, так как свойство fields не было заполнено.

Если заполнить fields какими-то значениями, то экземпляр формы будет выглядеть так:

"attachmentDirectory": [
    {
      "id": "ccf8b060-fcdf-4db8-aebf-df44f129cba4",
      "url": "https://upload.wikimedia.org/wikipedia/commons/4/41/Siberischer_tiger_de_edit02.jpg",
      "name": "Siberischer_tiger_de_edit02",
      "size": 766671
    }
]

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

В примере ниже view используется для прикрепления файлов из справочника.

"attachmentDirectory": {
      "type": "view",
      "title": "Аттачменты загружаемые по ссылке",
      "fields": [
        "name",
        "url",
        "size"
      ],
      "viewId": "6388924f30ac70012300008f",
      "multiple": true,
      "description": "Выбрать файл из списка"
}

Комментарии#

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