Вид карточки типа элемента, определяет то, как будет отображаться детальная информация об элементе данного типа, а также связанных с ним объектах. С помощью настройки видов типов элементов (ТЭ), можно определять какие атрибуты элемента и в каком порядке будут отображаться в карточке элемента, создавать новые вкладки определять их видимость для разных групп пользователей, выводить информацию об элементах связанных с текущим и определять перечень возможных для них действий.
Карточка элемента состоит из вкладок, на каждой из которых сгруппирована та или иная информация, определяемая набором используемых на данной вкладки компонентов.
Примеры разных видов типов элементов:
1
2
...
| Карточка ТЭ "Замечание" | Карточка ТЭ "Задача план-графика" | Карточка ТЭ "Вызов внешнего сервиса" |
|---|---|---|
Создание вида карточки типа элемента
Для создания вида карточки типа элемента перейдите в пространство Центр администрирования → Настройки → Списки → Виды.
...
В появившемся окне задайте название для создаваемого вида.
Настройка представления
...
Настройки вида карточки типа элемента представляют из себя 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.
Если настройка не задана, отобразятся все атрибуты ТЭ.
Пример использования:
...
типа элемента
...
Массив Системных имен (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
...
Лукап атрибут, в который подставится id текущего элемента при создании и при фильтрации списка элементов
...
Системное имя (internal_name) атрибута типа Lookup
...
"content_type"
...
linkCriterionList
Список поисковых критериев, по которым происходит отбор элементов из списка. Используется, если необходимо указать несколько linkField. В качестве значения valueList в критерии подставляется формула “item.id”, которая вернет id текущего элемента.
Пример использования: на вкладке Связи нужно отобрать все элементы списка Связь, у которых Источник (source) или Назначение (destination) равны текущему элементу.
Массив значений вида:
{
"internalName": string - системное имя атрибута,
"valueList": [any] - список значений, это может быть строка, число, guid и т.д.,
"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
(не используется, сейчас все настраивается через вид карточки, оставлено для совместимости)
Список видимых атрибутов на карточке, открывающейся по кнопке «Добавить»
...
Массив Системных имен (internal_name) атрибутов ТЭ
...
["item_id", "workflow_status", "name", "start_date_plan", "start_date_fact", "initiator"]
...
hiddenFieldList
(не используется, сейчас все настраивается через вид карточки, оставлено для совместимости)
...
Список скрытых атрибутов на карточке, открывающейся по кнопке «Добавить»
...
Массив Системных имен (internal_name) атрибутов ТЭ
...
["id", "project_scope","stamp_profile"]
...
actionList
(не используется, сейчас все настраивается через TЭ и 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
...
Формула видимости всего компонента
...
Формула
...
stateList
...
Список состояний компонента
...
Массив объектов вида:
{
"state": string,
"text": string,
"visibleFormula": string,
"actionList": [{
"code": string,
"style": string,
"isEnabled": boolean
}]
}
state – одно из 3-x значений: success/error/warning. Влияет на цвет и иконку плашки зеленый/желтый/красный соответственно
text – текст внутри плашки
visibleFormula – формула видимости состояния. Высчитывается сразу для всех состояний, отображается первое состояние, чья формула вернула true
actionList – список действий, которые будут отображаться в виде кнопок. Содержит массив объектов вида:
{
code – code действия
style – css класс, который определяет стиль кнопки (см. в конце таблицы)
isEnabled – 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
Пример отображения:
...















