Категоризация
Что такое категоризация
Категоризация — это древовидные справочники (категории, разделы, рубрики), которые потом можно использовать как поле в любой сущности — например поле Категория в заявке (см. Service Desk) или поле Раздел в статье базы знаний.
Технически каталог категорий — это особый вид сущности: обычная таблица данных с флагом «это справочник категорий», которая хранит свои записи (узлы дерева) иерархически — у каждого узла есть ссылка на родителя. Каталог настраивается и редактируется не в общем конструкторе сущностей, а в собственном разделе Категоризация и собственном визуальном редакторе дерева.
Раздел «Категоризация»
Доступен в меню Управление приложением → Категоризация или по адресу /categorization. Список показывает все каталоги категорий, созданные в системе.
| Адрес | Назначение |
|---|---|
/categorization | Список всех каталогов категорий |
/categorization/new | Мастер создания нового каталога |
/categorization/:id | Настройки каталога (конструктор полей — тот же экран, что и для обычной сущности) |
/c/:table_name | Визуальный редактор дерева узлов конкретного каталога |
Создание каталога категорий
Мастер создания (/categorization/new) проводит через три шага.
Шаг 1. Основная информация
- Название — название каталога на русском (обязательно); на основе него предлагается техническое имя
- Название (en) — опционально, для английской локали
- Системное имя таблицы — латиницей, в нижнем регистре, без пробелов (например
products_categories); можно изменить вручную
Шаг 2. Поля
Какие дополнительные поля будут у каждого узла дерева, кроме названия. Поддерживаются простые типы: текст, целое число, число с плавающей точкой, да/нет, дата, дата и время, email, многострочный текст, список значений, пользователь, файл. Для каждого поля задаётся подпись на разных языках, техническое имя и обязательность.
Поле Название добавляется автоматически, если его не создали явно — оно используется как заголовок узла в дереве.
Шаг 3. Параметры
- Поле для отображения — опционально, какое из пользовательских полей показывать вместо названия в дереве (если требуется иная подпись узла).
После завершения мастера платформа автоматически создаёт два системных поля:
| Поле | Тип | Назначение |
|---|---|---|
Родитель (parent) | category (ссылка на тот же каталог) | Хранит родительский узел — на этом построена иерархия |
Порядок (sort_order) | Целое число (скрытое) | Порядок сортировки узла среди узлов с тем же родителем |
После создания каталога происходит переход в визуальный редактор дерева (/c/{системное_имя}).
У каталога категорий отключены чат и история изменений — эти возможности рассчитаны на обычные бизнес-записи, а не на справочник.
Редактор дерева категорий
Экран /c/:table_name показан в виде дерева с возможностью перетаскивания (drag & drop) для изменения порядка и вложенности узлов.
- Дерево (левая панель) — узлы можно перетаскивать друг в друга (вложение) или менять порядок среди соседних
- Свойства (правая панель, вкладка) — поля выбранного узла: название и все пользовательские поля, заданные на шаге 2 мастера
- Использование (правая панель, вкладка) — список записей других сущностей, которые ссылаются на этот узел через поле типа «Категория»
Узел нельзя удалить, если у него есть дочерние узлы или если на него ссылаются записи других сущностей — в этом случае платформа покажет предупреждение со списком сущностей, которые используют узел.
Использование категории как поля в сущности
В конструкторе полей обычной сущности (вкладка Поля) есть тип поля Category. При выборе этого типа становятся доступны:
- Catalog (Category Source) — выпадающий список, в котором перечислены все существующие каталоги категорий (сущности с флагом «справочник категорий»)
- Allow Multiple Selection — флажок, разрешающий выбрать сразу несколько узлов дерева вместо одного
Если каталогов категорий в системе ещё нет, конструктор подсказывает создать каталог через мастер.
Пример из Service Desk: поле Категория в заявке ссылается на каталог категорий обращений (IT-оборудование, Программное обеспечение, Сеть и т.д.). Для каждой категории в её собственных полях можно завести, например, «Ответственный» и «SLA, часов» — тогда при выборе категории в заявке эти данные можно использовать для автоматического расчёта дедлайна (см. Service Desk → SLA и дедлайны).
Смотрите также
- Обзор сущностей
- Связи между сущностями — иерархия категорий технически реализована как связь сущности с собой через поле «Родитель»
- Пример: Service Desk