Общая структура
Настройки вида карточки типа элемента представляют из себя JSON - текст в формате ключ: значение.
Общая структура JSON представляет из себя список текстовых блоков - настроек для каждой из вкладок карточки.
Список обрамляется квадратными скобками "[ ]", каждый блок обрамляется фигурными скобками "{ }".
Ниже представлен пример такой структуры.
[
{
"name": "This(\"contenttype.name\")",
"permission": "permission.manage",
"isVisible": "IsNotNull(Parent(\"8ec1df0c-cb97-4bea-9831-7e11c916a765\"))",
"isAdmin": true,
"isEnabled": "!This(\"task_status.resolved\")",
"list": [
{
"id": "9a5d72a3-d01d-4d08-b68c-56402cf72532",
"settings": { ... }
},
{
....
},
]
},
{
....
}
]
Более подробно со структурой JSON можно ознакомиться на официальном сайте на русском языке.
Описание ключей
Описание ключей и их возможных значений сведено в таблицу ниже (красным выделены обязательные ключи).
Ключ | Описание | Значение | Пример |
name | Название вкладки | Текст или формула | "Файлы" - в качестве названия вкладки будет использован заданный текст "This(\"contenttype.name\")" – в качестве названия вкладки будет использовано название типа текущего элемента. |
permission | Права, которые должны быть у пользователя на элемент для отображения вкладки | Атрибут code элемента списка Права | permission.manage - вкладка будет показана только тем пользователям, у которых есть право "Управление версиями" для текущего элемента. Полный список прав и их коды можно посмотреть в списке Права: Центр администрирования → Настройки → Списки → Права |
isVisible | Видимость вкладки | true/false или формула | "IsNotNull(Parent(\"8ec1df0c-cb97-4bea-9831-7e11c916a765\"))" – формула для вкладки Привязки на списке ТЭ, вернет true для ТЭ, которые являются дочерними от ТЭ Процесс. Формула должна возвращать true или false |
isAdmin | Должна ли вкладка быть видна только администратору | true/false (значение по умолчанию – false) | true - вкладка будет видна только пользователям с правами администратора. |
isEnabled | Доступна ли вкладка для редактирования | true/false или формула | !This(\"task_status.resolved\") – вернет true, если задача не завершена, используется на вкладке Файлы ТЭ Задача на согласование |
list | Список Компонентов представлений, отображаемых на вкладке (таблица view_part) | Список вида [ { "id": …, "settings":{} } ] settings – объект с настройками | [ { "id": "a29a30ca-2bf6-46ed-bea8-189b11891818", "settings": { "visibleFieldList": [ "name", "document_status" ] } } ] Более подробно см. описание компонентов представлений. |
Компоненты представлений
FieldIterator - компонент, отвечающий за вывод атрибутов текущего элемента.
Item - компонент, позволяющий отобразить карточку элемента, связанного с текущим.
ListView - компонент, позволяющий вывести список связанных элементов, с возможностью добавления нового.
DetailAction - компонент, позволяющий вывести на вкладку уведомление с заданным текстом и набором возможных действий-кнопок.
LookupPicker - компонент, позволяющий вывести контрол выбора элемента из списка.
WorkflowInitFileList - компонент, отображающий таблицу с файлами в окне запуска процесса.
Activity - компонент, отображающий историю изменений элемента.
Version - компонент, отображающий список версий файла.
Scope - компонент, позволяющий управлять правами доступа к элементу.
WorkflowRoute - компонент, отображающий маршрут процесса.
ChildItemList - компонент, отображающий дочерние элементы текущего.
ParentItem - компонент выбора родительского элемента.
FieldIterator
Описание: Вывод атрибутов текущего элемента.
Guid: a29a30ca-2bf6-46ed-bea8-189b11891818
Пример отображения:
Настройки:
Настройка | Описание | Значение | Пример |
visibleFieldList | Список видимых атрибутов. Атрибуты, не указанные в списке, отображаться не будут. Атрибуты отобразятся в том порядке, в котором они указаны в visibleFieldList. Если настройка не задана, отобразятся все атрибуты ТЭ. Пример использования: у типа элемента 20 атрибутов, а необходимо вывести только 2 из них. Эти 2 атрибута указываем в visibleFieldList -> будут показаны только заданные два атрибута. | Массив Системных имен (internal_name) атрибутов ТЭ | ["item_id", "workflow_status", "name", "start_date_plan", "start_date_fact", "initiator"] |
hiddenFieldList | Список скрытых атрибутов. Атрибут, указанный и в visibleFieldList и в hiddenFieldList, отображаться не будет. Пример использования: у типа элемента 20 атрибутов, необходимо вывести все, кроме 2 из них. Эти 2 атрибута указываем в hiddenFieldList, и не задаем visibleFieldList -> будут показаны все атрибуты кроме указанных двух. | Массив Системных имен (internal_name) атрибутов ТЭ | ["id", "project_scope","stamp_profile"] |
rowFieldList | Список атрибутов, которые должны отобразиться в 1 строку. Указанные атрибуты должны идти друг за другом в visibleFieldList (или привязаны в таком порядке к типу элемента, если visibleFieldList не задан). Указанные таким образом атрибуты будут размещены в строках попарно. | Массив Системных имен (internal_name) атрибутов ТЭ | ["item_id", "workflow_status", "start_date_plan", "start_date_fact", "initiator"] |
maxVisibleCount | Количество видимых атрибутов, остальные свернутся в кнопку «Развернуть». Используется в карточках, настроенных для добавления элементов через кнопку «Добавить» | Число | 4 |
groupList | Список групп атрибутов, которые отображаются/скрываются в зависимости от заданного условия (формулы) | Массив объектов вида { "label": string -заголовок группы; "fieldList": [string] - массив Системных имен (internal_name) атрибутов ТЭ, входящих в группу; "isVisible": string | boolean – true/false или формула; "field": string – системное имя (internal_name) атрибута, после которого отобразится группа; } | [ { "fieldList": [ "time_range" ], "isVisible": "Id(This(\"Диапазон времени\")) == Id(Lookup(\"Типы диапазона времени.Динамический\"))", "field": "time_range_type" }, { "fieldList": [ "time_range_start", "time_range_end", "time_range_step" ], "isVisible": "Id(This(\"Диапазон времени\")) == Id(Lookup(\"Типы диапазона времени.Статический\"))", "field": "time_range_type" } ] |
Item
Описание: Карточка элемента, связанного с текущим по указанному атрибуту. Если элемент не существует, отображается пустая карточка, после заполнения которой элемент будет создан.
Guid: 92ab22bd-3420-43bf-b27f-2766b98c5e57
Пример отображения:
Настройки:
Настройка | Описание | Значение | Пример |
listId | id списка, в котором находится элемент | guid | "7747d7a8-6627-4203-a638-dd6eb1c65e3f" |
contentTypeId | id типа элемента | guid | "59f35090-02d0-47da-83b6-f0dd2b1ed880" |
viewId | id Вида карточки типа элемента | guid | "bf805e2a-afd9-46ea-9f03-d64e59c7da6a" |
linkField | Лукап атрибут, в который подставится id текущего элемента | Системное имя (internal_name) атрибута типа Lookup | "content_type" |
ListView
Описание: Вид списка с возможностью добавления элементов (кнопка «Добавить»). Этим компонентом отображаются все табличные в детальном – на вкладке Связи, Файлы, Атрибуты и т.д.
Guid: 5685e905-a34c-4f41-941d-a37a2f8a8f50
Пример отображения:
Настройки:
Настройка | Описание | Значение | Пример |
listId | id списка, элементы которого надо отобразить. | guid | "02b4fda6-01b9-4ddb-a7cd-7a56fa415f11" |
viewId | id вида списка | guid | "cb2843bb-5a23-49f4-94b2-30665b778c78" |
addContentTypeList | Список ТЭ доступных для создания через кнопку «Добавить» | Массив объектов вида { "id": string – guid типа элемента, "viewId": string – guid вида карточки типа элемента, "field": string – системное имя атрибута (типа лукап) текущего элемента, в котором указаны ТЭ для создания. Необязательный параметр, используется если не задан id. } | [ { "id": "092edc08-4f91-a8c2-9cae-a6f9248dc294", "viewId": "f2f5edd4-08cb-4b72-9eaa-c46ccbc1e610" } ] |
linkField | Лукап атрибут, по значению которого будет происходить фильтрация списка элементов (его значение должно быть равно guid текущего элемента) и в который подставится guid текущего элемента при создании. | Системное имя (internal_name) атрибута типа Lookup | "content_type" |
linkCriterionList | Список поисковых критериев, по которым происходит отбор элементов из списка. Используется, если необходимо указать несколько критериев фильтрации списка. Пример использования: на вкладке Связи нужно отобрать все элементы списка Связь, у которых Источник (source) или Назначение (destination) равны текущему элементу. | Массив значений вида: { "internalName": string - системное имя атрибута, "valueList": [any] - список значений, это может быть строка, число, guid и т.д., будут отобраны элементы, удовлетворяющие любому из значений. При необходимости отобрать все элементы, у которых в заданном атрибуте указан guid текущего элемента, в valueList подставляется формула “item.id”, которая вернет id текущего элемента. "condition": number - код условия (равно/не равно/содержит и т.д., полный список кодов указан в конце таблицы), "operator": number - код оператора (И/ИЛИ, см. в конце таблицы). Оператор определяет условие объединение текущего критерия с предыдущим. } | [ { "internalName": "source", "valueList": [ "item.id" ], "condition": 1, "operator": 1 }, { "internalName": "destination", "valueList": [ "item.id" ], "condition": 1, "operator": 1 } ] |
label | Заголовок компонента | Строка | Атрибуты |
isInlineEdit | Доступно ли инлайн-редактирование (редактирование непосредственно в таблице) ячеек в табличном виде | true/false. По умолчанию true | false |
dock | Масштабирование компонента внутри вкладки | Строка. В данный момент принимает единственное значение – «fill», которое растягивает компонент на всю высоту вкладки | “fill” |
isAddDialogAutoClosed | Скрывать ли форму добавления нового элемента (по кнопке «Добавить») после его сохранения | true/false. По умолчанию false | true |
disabledActionList | Список кодов действий недоступных для вызова. Для редактирования и добавления (через кнопку Добавить) используются коды “edit” и “add” соответственно. | Массив кодов действий. Полный список действие и их коды можно посмотреть в списке Действия: Центр администрирования → Настройки → Списки → Действия | [“add”, “delete”] – отключена возможность добавления и удаления элементов |
view | Настройки центральной части вида списка. Используется если нужно изменить какие-то настройки вида, указанного во viewId | JSON со структурой как в атрибуте “Настройки центральной части” (Настройки центральной части) вида списка | { "columnList": { "columnListMode": "Custom", "visibleColumnList": [ { "internalName": "principal.name", "name": "Пользователь" } ] } } |
isEnabled | Доступы ли элементы вида для редактирования | true/false или формула. По умолчанию true | false |
isMultiAdd | Создание сразу нескольких элементов через кнопку Добавить. Если данная настройка включена, вместо формы появляется диалоговое окно для выбора элементов, с которыми необходимо создать связь по указанному атрибуту multiAddField Пример использования: вкладка Связи | true/false | true |
multiAddField | Лукап атрибут, в который подставится id текущего элемента при включенной настройке isMultiAdd | Системное имя (internal_name) атрибута типа Lookup | "destination" |
addNewLinkField | Лукап атрибут, в который подставится id текущего элемента при создании через кнопку Добавить (если нужно указать атрибут отличный от указанного linkField, используемого в качестве критерия фильтрации) | Системное имя (internal_name) атрибута типа Lookup | "destination" |
refreshMode | Тип обновления таблицы после добавления/редактирования/удаления элементов. | Одно из 2-х значений: row – построчно page – полная перезагрузка | "row" |
visibleFieldList | Список видимых атрибутов на карточке, открывающейся по кнопке «Добавить» (параметр оставлен для обратной совместимости. Рекомендуемый способ настройки - через видимые атрибуты карточки элемента, см. компонент FieldIterator) | Массив Системных имен (internal_name) атрибутов ТЭ | ["item_id", "workflow_status", "name", "start_date_plan", "start_date_fact", "initiator"] |
hiddenFieldList | Список скрытых атрибутов на карточке, открывающейся по кнопке «Добавить» (параметр оставлен для обратной совместимости. Рекомендуемый способ настройки - через скрытые атрибуты карточки элемента, см. компонент FieldIterator) | Массив Системных имен (internal_name) атрибутов ТЭ | ["id", "project_scope","stamp_profile"] |
actionList (не используется, сейчас все настраивается через TЭ и disabledActionList , оставлено для совместимости) | Список действий контекстного меню строки. По умолчанию отображается список контекстных действий ТЭ (параметр оставлен для обратной совместимости. Рекомендуемый способ настройки - через привязку действий к ТЭ и параметр disabledActionList) | Массив значений вида { "code": код действия "isConfirm": boolean - нужно ли подтверждение "isShowAfterAction": boolean - показать ли сообщение после завершения действия "isShowProgress": boolean - показать ли прогресс "text": string - текст (название) действия "data": any - доп. данные "image": string - иконка действия "permission": string - код права, которым должен обладать пользователь, чтобы выполнить действие "confirmText": string - текст подтверждения если включен isConfirm } | [{ "code": "link.copy"; "isConfirm": false; "isShowAfterAction": false; "isShowProgress": false; "image": "054328ed-7944-45d9-96c7-bd938c18b3e3" "permission": "read" }] |
Коды условий (condition):
- Отсутствует — 0
- Равно — 1
- Не равно — 2
- Меньше — 3
- Меньше или равно — 4
- Больше — 5
- Больше или равно — 6
- Начинается с — 7
- Не начинается с — 8
- Заканчивается на — 9
- Не заканчивается на — 10
- Содержит — 11
- Не содержит — 12
Кода операторов (operator):
- И — 0
- ИЛИ — 1
DetailAction
Описание: Плашки уведомлений с кнопками действий
Guid: 34b2b9b7-f794-48d7-b22b-b0b4cfd7d5b1
Пример отображения:
Настройки:
Настройка | Описание | Значение | Пример |
visibleFormula | Формула видимости всего компонента | Формула | "Any(GetList(\"02b4fda6-01b9-4ddb-a7cd-7a56fa415f11\", Format(\"i => i.ContentTypeId == Guid(\\\"70a8952c-539f-49a5-aa4b-31ff67d1663f\\\") && i.GetValueAsGuid(\\\"source\\\") == \\\"{0}\\\"\", Id()), false), \"This(\\\"Статус согласования.Название\\\")\", \"На рассмотрении\", \"\") && !(Id(This(\"Статус задачи\")) == Id(Lookup(\"Статусы задач.Закрыто\")))" компонент будет отображен если статус задач не равен "Закрыто", а среди вложений в задачу есть вложения со статусом согласования "На рассмотрении". |
stateList | Список состояний компонента | Массив объектов вида: { "state": string – одно из 3-x значений: "success"/"error"/"warning". Влияет на цвет и иконку плашки зеленый/желтый/красный соответственно, "text": string– текст внутри плашки, "visibleFormula": string – формула видимости состояния. Высчитывается сразу для всех состояний, отображается первое состояние, чья формула вернула true, "actionList": – список действий, которые будут отображаться в виде кнопок. Содержит массив объектов вида: [{ "code": string – код действия, "style": string – css класс, который определяет стиль кнопки (см. в конце таблицы), "isEnabled": boolean – true/false, определяет активна ли кнопка }] } | Настройки вкладки «Файлы» вида Вид карточки задачи процесса "Согласование документации" |
css классы для style
Название | Внешний вид |
vitro-primary | |
vitro-outline-primary | |
vitro-outline-light | |
vitro-light |
LookupPicker
Описание: Контрол выбора элемента из списка
Guid: bd96f3ba-c6b1-4c1f-9c4b-187a94fe4c60
Пример отображения:
Настройки:
Настройка | Описание | Значение | Пример |
placeholder | Текст-подсказка, который отображается, когда значение не выбрано | Строка | "Выберите статус" |
onChangeAction | Действие, которое выполнится после изменения значения | код действия | "workflow.task.reference.set.approval.status" |
isEnabled | Доступен ли лукап на редактирование | true/false или формула | "!This(\"task_status.resolved\")" |
component | Компонент, которым отображаются значения | Строка | "Icon" |
list | id списка, из которого достаются значения | guid | "bb6d31b7-7ffa-485b-a90c-483c43b0cc81" |
filterQuery | Формула фильтрации доступных для выбора значений | Формула | "Merge(Lookup(\"Статусы согласования.Согласовано\"), Lookup(\"Статусы согласования.Согласовано с замечаниями\"), Lookup(\"Статусы согласования.Отклонено\"))" |
disabledFilterQuery | Формула, по которой определяются неактивные значения (в списке видны, но не доступны для выбора) | Формула | "if(All(GetList(\"02b4fda6-01b9-4ddb-a7cd-7a56fa415f11\", Format(\"i => new Guid[] {{ Guid(\\\"{0}\\\") }}.Contains(i.GetValueAsGuid(\\\"destination\\\")) && i.ContentTypeId == \\\"4bc42916-9e3c-4c96-a25d-8a1b9b4bbc35\\\"\", Join(\"\\\"), Guid(\\\"\", Select(Refs(\"Связь задачи на согласование\"), \"Id()\")))), \"This(\\\"source.Статус задачи.Название\\\")\", \"Закрыто\", \"Аннулировано\"), Merge(Lookup(\"Статусы согласования.Согласовано с замечаниями\"), Lookup(\"Статусы согласования.Отклонено\")), Merge(Lookup(\"Статусы согласования.Согласовано\")))" |
internalName | Атрибут, в который подставится выбранное значение и передастся в обработчик действия | Системное имя (internal_name) атрибута типа Lookup | "approval_status" |
value | Формула, которая должна вернуть текущее выбранное значение (элемент) при повторном открытии карточки элемента. | Формула | "if((This(\"package_approval_mode\") == \"true\") && !Any(GetList(\"02b4fda6-01b9-4ddb-a7cd-7a56fa415f11\", Format(\"i => i.ContentTypeId == Guid(\\\"70a8952c-539f-49a5-aa4b-31ff67d1663f\\\") && i.GetValueAsGuid(\\\"source\\\") == \\\"{0}\\\"\", Id()), false), \"This(\\\"Статус согласования.Название\\\")\", \"На рассмотрении\"), Select(GetList(\"02b4fda6-01b9-4ddb-a7cd-7a56fa415f11\", Format(\"i => i.ContentTypeId == Guid(\\\"70a8952c-539f-49a5-aa4b-31ff67d1663f\\\") && i.GetValueAsGuid(\\\"source\\\") == \\\"{0}\\\"\", Id()), false), \"Field(\\\"Статус согласования\\\")\"), \"\")" |
displayFieldList | Отображаемые атрибуты | Массив Системных имен (internal_name) атрибутов | ["name", "code "] |
isMulti | Множественный выбор значений. По умолчанию false | true/false | true |
filterMinLength | Минимальное количество символов для поиска | Число | 0 |
WorkflowInitFileList
Описание: Таблица с файлами в окне запуска процесса.
Guid: c9613670-6a6f-46c3-be50-a39ba44ca6fe
Пример отображения:
Важно: Инлайн редактирование ячеек в табличном не доступно.
Настройки:
Настройка | Описание | Значение | Пример |
viewId | id Вида списка | guid | "7ad4be07-c646-428e-9cda-eaf365678f55" |
isAddListSelectEnabled | Доступен ли выбор списка при добавлении элемента | true/false. По умолчанию true | false |
isAddSiteSelectEnabled | Доступен ли выбор пространства при добавлении элемента | true/false. По умолчанию true | false |
isGroupByParent | Группировать ли элементы в табличном по родителю (parent_id) | true/false. По умолчанию true | false |
Activity
Описание: компонент вкладки «Активность»
Guid: 9a5d72a3-d01d-4d08-b68c-56402cf72532
Пример отображения:
Настройки: нет
Version
Описание: список версий файла
Guid: 4b107ae3-7f9f-465f-838d-0809bd6380a8
Пример отображения:
Настройки: нет
Scope
Описание: Таблица для управления правами
Guid: 867de291-97c8-437e-8027-dd3a6fbc50f4
Пример отображения:
Настройки: нет
WorkflowRoute
Описание: Маршрут процесса
Guid: 21303006-2d70-47d4-81d5-74021295f5d9
Пример отображения:
Настройки: нет
ChildItemList
Описание: Таблица дочерних элементов
Guid: da2abb4f-46fe-49b4-87cd-331e4fd69632
Пример отображения:
Настройки:
Настройка | Описание | Значение | Пример |
actionList | Список действий контекстного меню строки. По умолчанию отображается список контекстных действий ТЭ | Массив значений вида { "code" - code действия "isConfirm": boolean; - нужно ли подтверждение "isShowAfterAction": boolean; - показать ли сообщение после завершения действия "isShowProgress": boolean; - показать ли прогресс "text": string; - текст действия "data": any; - доп. данные "image": string; - иконка "permission": string; - права "confirmText": string; - текст подтверждения если включен isConfirm } | [{ "code": "link.copy"; "isConfirm": false; "isShowAfterAction": false; "isShowProgress": false; "image": "054328ed-7944-45d9-96c7-bd938c18b3e3" "permission": "read" }] |
ParentItem
Описание: Родительский элемент
Guid: f2c89cc3-7251-4296-bda6-7bdec1d9e79f
Пример отображения:
Настройки: нет

















