Настройка форм позволяет гибко управлять отображением элементов в карточках основных сущностей системы. Конфигурация задаётся в формате JSON и предоставляет следующие возможности:
Примечание
Для доступа к настройке требуется набор прав для роли Администратор с активными правами для гранулы «Настройки менеджера объектов».
Чтобы изменить настройки формы:

В редакторе JSON доступны вспомогательные функции для работы с конфигурацией:
Важно
Конфигурация в редакторе имеет приоритет над системными настройками. Если вы ранее вставили системные настройки и не меняли их, они останутся прежними, даже если стандартная конфигурация системы изменилась.
Чтобы получить актуальную версию формы, выполните одно из действий:
Главные свойства сущности отображаются в заголовке её карточки, за что отвечает раздел headerParams. Возможности редактора позволяют:
Структура, представленная ниже, определяет, какие свойства отображаются в заголовке карточки сущности:
{
"headerParams": {
"mainProperties": [
{
"property": "organization",
"type": "link"
},
{
"property": "manager",
"type": "popup"
},
{
"property": "project",
"type": "popup"
},
{
"property": "created",
"type": "text"
}
]
}
}
mainProperties — это массив главных свойств. Каждое свойство задаётся двумя параметрами:
property — системное название поля (например, organization, manager).type — тип отображения:
popup — используется для навигационных свойств. При клике откроется всплывающее окно с данными связанной сущности, из которого можно перейти в её карточку.link — используется для навигационных свойств. Отображается как обычная ссылка.text — можно использовать для любых свойств. Отображается как обычный текст.Исходя из примера конфигурации выше, в заголовке карточки будут показаны четыре свойства:
link) — открывает карточку сущности.popup) — открывает окно с данными менеджера.popup) — открывает окно с данными проекта.text) — отображается как обычный текст.
Примечание
Полный перечень свойств доступен на вкладке Свойства карточки сущности в разделе Менеджер сущностей.
tabParams — это объект конфигурации, который управляет вкладками внутри карточки сущности. tabs — это массив, который определяет каждую вкладку.
Каждый элемент в массиве tabs описывает логический блок информации.
state — уникальный системный идентификатор вкладки. Он становится частью URL при переходе на эту вкладку (например, #/deal/123/**profile**).header — заголовок (название) вкладки, который видит пользователь. Может быть:
"shared.groups.main")."Главное").config — (необязательный) объект с конфигурацией содержимого вкладки. Если его нет, вкладка содержит контент по умолчанию (например, список задач, взаимодействий).groups — основной массив групп полей, которые всегда отображаются на вкладке.order — число, определяющее позицию вкладки. Чем меньше число, тем левее вкладка. Вкладки сортируются по возрастанию этого значения. Например, вкладка с order: 100 будет левее вкладки с order: 101.{
"tabParams": {
"tabs": [
{
"state": "profile",
"header": "Главное",
"config": {
"groups": [
{
"type": "fields",
"header": "Свойства",
"fields": [
{
"name": "Наименование",
"hint": ""
}
]
}
]
},
"order": 100
}
]
}
}
Важно
Если изменить state вкладки, на которой есть список сущностей, то список сущностей отображён не будет, он жёстко привязан к стандартному стейту.
tabs, указав уникальный state, header и order.order у нужных вкладок.groups или отдельные fields из конфигурации (config) одной вкладки в конфигурацию другой.В карточке сущности поля сгруппированы по секциям для логической организации информации. Это упрощает навигацию для пользователей. Настройка форм позволяет адаптировать карточки, если стандартная компоновка не соответствует вашим рабочим процессам.
Возможности настройки секций:
header.header (секция станет статичной и потеряет возможность сворачиваться).Каждый элемент в массиве groups описывает логический блок информации.
type — тип группы. В текущей реализации используется для отображения простых свойств "fields".header — заголовок группы полей (например, "Свойства").fields — массив, непосредственно содержащий сами поля.{
"type": "fields",
"header": "Свойства",
"fields": [
{
"name": "Наименование",
"hint": ""
}
]
}
Каждый элемент в массиве fields описывает одно конкретное поле.
name — системное название поля (например, "name", "code").hint — текст всплывающей подсказки. Пустая строка означает, что подсказки нет.className — (необязательный) CSS-класс для стилизации поля. Например, "w-150" может задавать ширину в 150px.position — (необязательный) объект для сложного позиционирования поля внутри сетки группы. Например, resolutionComment занимает место с колонки 1, начиная со второй строки, и растягивается на 2 колонки ("size": 2).Важно
"type": "fields" — без него секция не отобразится.fields — это приведёт к ошибке отображения карточки.Пример конфигурации с двумя секциями, вторая секция не имеет свойства header:
[
{
"type": "fields",
"header": "Основное",
"fields": [
{
"name": "name"
},
{
"name": "manager"
},
{
"name": "description"
}
]
},
{
"type": "fields",
"fields": [
{
"name": "createdBy"
},
{
"name": "modifiedBy"
}
]
}
]
По умолчанию поля распределяются по двум колонкам: нечётные слева, чётные справа. В примере ниже поля createdBy и modifiedBy будут в левой колонке, а created и modified — в правой:
[
{
"type": "fields",
"header": "SYSTEM",
"fields": [
{
"name": "createdBy"
},
{
"name": "created"
},
{
"name": "modifiedBy"
},
{
"name": "modified"
}
]
}
]
Позицию можно указать точнее, задав для каждого поля свойство position, которое содержит несколько параметров:
row — номер строки (от 1 до N);column — позиция в колонке:
1 — левая колонка;1.5 — правая половина левой колонки;2 — правая колонка;2.5 — правая половина правой колонки;size — занимаемое место:
0.5 — половина колонки;1 — целая колонка;1.5 — полторы колонки;2 — вся строка.На иллюстрации показано, как свойства row, column и size определяют расположение поля:

В примере ниже поле corporateTaxRate займёт половину левой колонки в 3-й строке, а поле billingMode — всё оставшееся пространство в этой строке:
[
{
"type": "fields",
"header": "shared.groups.finance",
"fields": [
// ...
{
"name": "billingMode",
"position": {
"row": 3,
"column": 1.5,
"size": 1.5
}
},
// ...
{
"name": "corporateTaxRate",
"position": {
"row": 3,
"column": 1,
"size": 0.5
}
}
// ...
]
}
]
Для любого поля можно добавить текстовую подсказку, добавив свойство hint с необходимым текстом:
[
{
"type": "fields",
"header": "Основное",
"fields": [
{
"name": "manager",
"hint": "Внимание: менеджер Кампании должен иметь доступ к клиентам!"
}
]
}
]
После этого подсказка отобразится в интерфейсе:

Вы можете стилизовать или выделить поле в карточке, добавив любой доступный класс из библиотеки Bootstrap. Для этого используется свойство className:
[
//...
{
"type": "fields",
"header": "shared2.groups.finance",
"fields": [
{
"name": "billingType",
"hint": "",
"className": "text-success"
},
{
"name": "currency",
"hint": "",
"className": "text-danger"
},
//...
]
},
//...
]
Так это выглядит в интерфейсе:

Перейти на русскую версию?