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

Настройки вида карточки типа элемента представляют из себя 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 для ТЭ, которые являются дочерними от ТЭ Процесс.

В данном поле возможно использование ограниченного списка функций: This, Field, IsNotNull, Parent

Формула должна возвращать 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):

  • Отсутствует — 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

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

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

  • No labels