Общая структура

Настройки вида карточки типа элемента представляют из себя 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":{}

  }

]
 
 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 типа элемента,

"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):

Кода операторов (operator):

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

Пример отображения:

Настройки: нет