Вид карточки типа элемента, определяет то, как будет отображаться детальная информация об элементе данного типа, а также связанных с ним объектах. С помощью настройки видов типов элементов (ТЭ), можно определять какие атрибуты элемента и в каком порядке будут отображаться в карточке элемента, создавать новые вкладки определять их видимость для разных групп пользователей, выводить информацию об элементах связанных с текущим и определять перечень возможных для них действий.
Карточка элемента состоит из вкладок, на каждой из которых сгруппирована та или иная информация, определяемая набором используемых на данной вкладки компонентов.
Примеры разных видов типов элементов:
1
2
...
| Карточка ТЭ "Замечание" | Карточка ТЭ "Задача план-графика" | Карточка ТЭ "Вызов внешнего сервиса" |
|---|---|---|
Создание вида карточки типа элемента
Для создания вида карточки типа элемента перейдите в пространство Центр администрирования → Настройки → Списки → Виды.
...
В появившемся окне задайте название для создаваемого вида.
Настройка представления
...
Настройки вида карточки типа элемента представляют из себя JSON - текст в формате ключ: значение.
Общая структура JSON представляет из себя список текстовых блоков - настроек для каждой из вкладок карточки. Список обрамляется квадратными скобками "[ ]", каждый блок обрамляется фигурными скобками "{ }".
Ниже представлен пример такой структуры.
| Code Block | ||
|---|---|---|
| ||
[
{
"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":{}
}
]
id – guid элемента списка Компоненты представлений
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 типа элемента,
...
карточки
...
типа
...
}
...
[
{
"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
Пример отображения:
...















