Общие сведения
Надёжность и безопасность
Покупка лицензии
Начало работы
Проекты
Концепции
Компоненты
Инструкции
Задачи
Финансы
Ресурсы
Таймшиты
Клиенты
Вики
Затраты
Отчёты и аналитика
Типы отчётов
Тип отчёта «Акты»
Тип отчёта «Баланс отсутствий»
Тип отчёта «Бронирование»
Тип отчёта «Биллинг»
Тип отчёта «Версии проектов»
Тип отчёта «Задачи»
Тип отчёта «Затраты»
Тип отчёта «Заявки на затраты»
Тип отчёта «Заявки на отсутствия»
Тип отчёта «История ставок пользователей»
Тип отчёта «Запросы ресурсов»
Тип отчёта «Навыки пользователей»
Тип отчёта «Пользователи»
Тип отчёта «Проводки»
Тип отчёта «Ресурсный план»
Тип отчёта «Ресурсный план (по версиям)»
Тип отчёта «Проекты»
Тип отчёта «Сертификаты пользователей»
Тип отчёта «Счета»
Тип отчёта «Счета (строки)»
Тип отчёта «Таймшиты»
Тип отчёта «Таймшиты детально»
Тип отчёта «Финансы»
Тип отчёта «Структура работ»
Тип отчёта «Центры затрат проектов»
Тип отчёта «Задания воркфлоу»
Тип отчета Клиенты
Тип отчета «Контакты»
Тип отчёта «Сделки»
Тип отчёта «История состояний сделок»
Тип отчёта "Договоры"
Тип отчёта «Взаимодействия»
Использование отчётов
Группировка данных источника
Группировка данных в отчёте
Типы виджетов
Общие отчёты и шаблоны
Настройка отчёта
Экспорт отчётов
Пользовательские настройки отчёта
Вычисляемые поля
Особые колонки отчётов с временными рядами
Использование панелей мониторинга
Публикация панелей
Панели сущностей
Фильтры источников данных
FAQ
Настройка и администрирование
Типовой порядок настройки системы
Интеграция с Mattermost
Язык формул и выражений
Язык шаблонов
On-premises
API
Timetta MCP Server
Общие сведения
Примеры использования API
Аутентификация
Справочник API
Reporting API
Рекомендации по работе с Reporting API
Ограничения
История изменений
Термины и определения

Настройка форм

Обновлено: 29.09.2025

Назначение

Настройка карточек и форм позволяет адаптировать сущности системы под ваши рабочие процессы. Конфигурация задаётся в формате JSON. Настраиваются:

  • главные свойства карточки — какие свойства и в каком виде выводятся в её заголовке;
  • вкладки карточки — состав, названия и порядок;
  • содержимое вкладок — секции и поля: их состав, расположение в сетке, подсказки и выделение с помощью CSS-классов;
  • форма создания — поля окна создания сущности;
  • макеты по видам — отдельный набор полей для каждого вида сущности (например, типа сделки).

Примечание

Для доступа к настройке требуется набор прав для роли Администратор с активными правами для гранулы «Настройки менеджера объектов».

Где выполняется настройка

  1. Перейдите в компоненту Менеджер сущностей.
  2. Найдите нужную сущность и откройте её карточку.

Настройка разделена на две вкладки:

  • Настройки карточки — общий каркас: главные свойства в заголовке;
  • Настройка форм — макеты полей: секции и поля конкретной формы.

На обеих вкладках работает редактор JSON с двумя вспомогательными функциями:

  • Вставить системные настройки — заполняет редактор конфигурацией по умолчанию. С неё удобно начинать: вставьте, измените нужное, сохраните.
  • Форматировать — приводит JSON к читаемому виду, расставляя отступы и переносы строк.

Важно

  • Конфигурация в редакторе имеет приоритет над системными настройками. Если вы ранее вставили системные настройки и не меняли их, они останутся прежними, даже если стандартная конфигурация системы изменилась. Чтобы получить актуальную версию формы, очистите поле редактора или нажмите «Вставить системные настройки» повторно.
  • После сохранения изменения на карточке не появляются сразу. Новый заголовок, состав вкладок и поля формы отобразятся только после перезагрузки страницы (F5). То же касается окна создания сущности.

Настройки главных свойств карточки

Откройте вкладку Настройки карточки и нажмите «Вставить системные настройки». За заголовок отвечает раздел headerParams:

{
  "headerParams": {
    "mainProperties": [
      {
        "property": "code",
        "type": "link",
        "copyAllowed": true
      },
      {
        "property": "organization",
        "type": "popup",
        "copyAllowed": null
      },
      {
        "property": "manager",
        "type": "popup",
        "copyAllowed": null
      },
      {
        "property": "project",
        "type": "popup",
        "copyAllowed": null
      },
      {
        "property": "created",
        "type": "text",
        "copyAllowed": null
      }
    ]
  }
}

mainProperties — массив главных свойств, которые отображаются рядом с названием сделки. Каждое свойство описывается параметрами:

  • property — системное название поля (например, organization, manager);
  • type — тип отображения:
    • popup — для навигационных свойств: при клике откроется всплывающее окно связанной сущности, из которого можно перейти в её карточку. Всплывающее окно доступно для:
      • организаций;
      • проектов;
      • пользователей;
      • портфелей проектов;
      • сделок;
      • программ;
    • link — для навигационных свойств: отображается как обычная ссылка на карточку связанной сущности. Работает только для сущностей, у которых в системе есть карточка. Для полей-справочников и других значений без карточки используйте text;
    • text — для любых свойств: отображается как обычный текст;
  • copyAllowed — если true, рядом со значением появляется кнопка копирования в буфер обмена. Значение null равнозначно отсутствию свойства.

Чтобы скрыть свойство из заголовка, удалите его объект из массива. Чтобы добавить — создайте новый объект с property и type.

Примечание

Полный перечень свойств сущности доступен на вкладке Свойства её карточки в Менеджере сущностей.

Настройка вкладок

Вкладками карточки управляет массив tabs на той же вкладке Настройки карточки. Каждая вкладка описывается тремя свойствами:

  • state — уникальный системный идентификатор. Он становится частью URL при переходе на вкладку (например, ../deals/DEAL-1/profile);
  • header — название вкладки: ключ перевода ("shared.groups.main") или обычный текст ("Дополнительно");
  • order — позиция вкладки: чем меньше число, тем левее она расположена.

Чтобы добавить собственную вкладку, создайте в массиве новый объект с уникальным state и сохраните настройки. В примере ниже к стандартным вкладкам сделки добавлена вкладка Дополнительно:

{
  "tabs": [
    {
      "state": "profile",
      "header": "shared.groups.main",
      "order": 101
    },
    {
      "state": "issues",
      "header": "shared.groups.issues",
      "order": 102
    },
    {
      "state": "contracts",
      "header": "shared.groups.contracts",
      "order": 103
    },
    {
      "state": "interactions",
      "header": "shared.groups.interactions",
      "order": 104
    },
    {
      "state": "feed",
      "header": "shared.groups.feed",
      "order": 105
    },
    {
      "state": "additional",
      "header": "Дополнительно",
      "order": 106
    }
  ]
}

Здесь же можно скрыть вкладку (удалите её объект из массива) или поменять порядок (измените order).

Важно

Если изменить state стандартной вкладки, на которой есть список сущностей (например, Задачи или Договоры), список отображён не будет — он жёстко привязан к стандартному стейту.

Новая вкладка будет пустой, состав её полей задаётся на вкладке Настройка форм.

Настройка конфигурации полей

Откройте вкладку Настройка форм. Перед редактором расположены селекторы, определяющие, какой макет вы изменяете:

  • Форма — «Карточка» или «Форма создания»;
  • Вкладка — вкладка карточки, к которой относится макет. Селектор появляется, когда у карточки больше одной вкладки с формой — например, после добавления собственной вкладки. Системные вкладки с собственным содержимым (Задачи, Взаимодействия и т. п.) в списке отсутствуют — их наполнение не настраивается;
  • Вид — вид сущности (например, тип сделки). По умолчанию выбрано «Все виды» — общий макет, который применяется ко всем видам, у которых нет настроенной конфигурации.

Выберите в селекторах нужную форму и вкладку, нажмите «Вставить системные настройки» и отредактируйте конфигурацию — так проще, чем описывать секции и поля с нуля.

[
  {
    "type": "fields",
    "header": null,
    "label": null,
    "order": null,
    "isAsidePosition": null,
    "fields": [
      {
        "name": "source",
        "className": null,
        "hint": "",
        "position": null
      },
      {
        "name": "probability",
        "className": null,
        "hint": "",
        "position": null
      }
    ]
  }
]

Структура группы

  1. type — тип группы:
    • "fields" — группа полей;
    • "files" — секция вложений (файлов) сущности;
    • "checklist" — секция чек-листа.
  2. header — заголовок группы: текст или ключ перевода. Если удалить header, секция станет статичной и потеряет возможность сворачиваться.
  3. order — позиция группы среди остальных.
  4. fields — массив полей (только для групп типа "fields").
  5. label — для "files" и "checklist": выводит секцию с обычной подписью вместо сворачиваемого заголовка.
  6. isAsidePosition — для "fields": если true, группа отображается в боковой панели карточки, если такая панель имеется.

Структура поля

  1. name — системное название поля (например, "source", "probability").
  2. hint — текст всплывающей подсказки. Пустая строка — подсказки нет.
  3. className — CSS-класс для стилизации. Например, "w-150" задаёт ширину в 150px.
  4. position — точная позиция поля в сетке группы (см. шаг 4).

Важно

  • Не удаляйте свойство type — без него секция не отобразится.
  • Избегайте дублирования полей в массиве fields — это приведёт к ошибке отображения карточки.

Примечание

В системной конфигурации незаполненные свойства выводятся со значениями null, "" или 0 — это равнозначно их отсутствию. При ручном редактировании такие свойства можно опускать.

Настройка расположения полей

По умолчанию поля распределяются по двум колонкам: нечётные слева, чётные справа. Точное расположение задаётся свойством position с параметрами:

  • row — номер строки (от 1 до N);
  • column — позиция в колонке:
    • 1 — левая колонка;
    • 1.5 — правая половина левой колонки;
    • 2 — правая колонка;
    • 2.5 — правая половина правой колонки;
  • size — занимаемое место:
    • 0.5 — половина колонки;
    • 1 — целая колонка;
    • 1.5 — полторы колонки;
    • 2 — вся строка.

На иллюстрации показано, как свойства row, column и size определяют расположение поля:

Дробные значения позволяют размещать поля ещё точнее. В примере ниже поле probability займёт половину левой колонки, а amount — всё оставшееся пространство строки:

[
  {
    "type": "fields",
    "header": "Условия сделки",
    "fields": [
      {
        "name": "probability",
        "position": {
          "row": 1,
          "column": 1,
          "size": 0.5
        }
      },
      {
        "name": "amount",
        "position": {
          "row": 1,
          "column": 1.5,
          "size": 1.5
        }
      }
    ]
  }
]

Дополнительные поля

Если для сущности создано дополнительное поле и оно отображается в формах, это поле попадает в системные настройки. После «Вставить системные настройки» оно появится в секции Дополнительно (shared.groups.advanced).

Дальше с ним можно работать как с любым другим полем: перенести объект в другую секцию или на другую вкладку, задать position, hint и className.

Если макет уже сохранён, новое дополнительное поле само не появится — вставьте системные настройки ещё раз или добавьте поле в массив fields вручную по его системному названию.

{
    "type": "fields",
    "header": "shared.groups.advanced",
    "label": null,
    "order": 1,
    "isAsidePosition": null,
    "fields": [
      {
        "name": "directorySetValue1",
        "className": null,
        "hint": "",
        "position": {
          "row": 1,
          "column": 1,
          "size": 1
        }
      }
    ]
  }

Задайте конфигурацию для отдельного вида сущности

Если для какого-то вида сущности (например, типа сделки) нужен свой набор полей, выберите его в селекторе Вид и опишите отдельный макет — он будет применяться только к сущностям этого вида. Пока для вида не задан собственный макет, используется общий («Все виды»).

Тем же способом настраивается Форма создания: выберите её в селекторе Форма и задайте поля, которые пользователь видит в окне создания сущности. У формы создания нет вкладок, поэтому селектор Вкладка для неё не отображается.

Добавьте подсказку и выделите поле

Подсказка задаётся свойством hint — она отобразится рядом с полем:

      {
        "name": "manager",
        "className": null,
        "hint": "Внимание: менеджер сделки должен иметь доступ к области «Продажи»!",
        "position": {
          "row": 4,
          "column": 1,
          "size": 2
        }
      }

Для стилизации используйте свойство className — подойдёт любой доступный класс из библиотеки Bootstrap. Например, выделим сумму зелёным, а вероятность — красным:

[
  {
    "type": "fields",
    "header": "Условия сделки",
    "label": null,
    "order": null,
    "isAsidePosition": null,
    "fields": [
      {
        "name": "amount",
        "className": "text-success",
        "hint": "",
        "position": null
      },
      {
        "name": "probability",
        "className": "text-danger",
        "hint": "",
        "position": null
      }
    ]
  }
]

Содержание

Назначение Где выполняется настройка Настройки главных свойств карточки Настройка вкладок Настройка конфигурации полей Структура группы Структура поля Настройка расположения полей Дополнительные поля Задайте конфигурацию для отдельного вида сущности Добавьте подсказку и выделите поле
Спросить ИИ Получить ответ по материалам документации
Введите запрос для поиска по документации
Ничего не найдено, уточните запрос

Похоже, вам удобнее русский язык. Перейти на русскую версию?