---
title: "Довідник JSON-конфігурації полів Custom Data"
description: "Які ключі columns_json і front_json задаються з редактора таблиці, а які — через JSON."
---

# Довідник JSON-конфігурації полів Custom Data

Короткий довідник: які ключі в `columns_json` і `front_json` керуються з **Редактора моделі Custom Data**, а які — лише через перемикач **JSON** або [розширений довідник](./advanced-model-options-reference.md).

## Рівні налаштувань

| Рівень | Де в UI | Що зберігається |
| --- | --- | --- |
| **Тип поля** | Вкладка **Поля** → картка поля | `type`, семантика (`system_ref`, `association`, `options`, …) |
| **Дані та валідація** | **Поля** → деталі картки | `default`, `unique`, `rules`, `non_editable` |
| **Відображення** | **Відображення полів** | `width`, `align`, `hidden_in_table`, `modal_entity`, `columns_chooser`, `table_stylization`, `modal_entity_layout` |
| **Розширені** | **JSON** або розширений довідник | `hidden_all`, `hide_in_filter`, `highlight_rules`, widgets (`MAP`, `SLIDER`, …) |

## Картка поля

| Контрол | JSON-ключ | Призначення |
| --- | --- | --- |
| Значення за замовчуванням | `default` | Початкове значення при створенні запису |
| Обовʼязкове | `rules: ["required"]` | Поле має бути заповнене |
| Унікальні значення | `unique` | UNIQUE index у БД |
| Лише перегляд | `non_editable` | Заборона inline-редагування в таблиці |
| Правила перевірки | `rules` | `email`, `url`, `digits`, `json`, … |

Ключі типу (`system_ref`, `association`) задає обраний **Тип**, а не окремі поля картки.

## Вкладка «Відображення полів»

| Налаштування UI | Зберігання |
| --- | --- |
| Порядок полів (drag-and-drop) | `columns_chooser[].position` |
| Toggle **Таблиця** | `columns_json[key].hidden_in_table` + `columns_chooser[].active` |
| Toggle **Картка** | membership у `front_json.modal_entity` |
| Підпис / іконка / колір / редаговане | `front_json.modal_entity[key].{label,icon,icon_color,editable}` |
| Ширина / вирівнювання | `columns_json[key].{width,align}` |
| Підсумок по полю | `columns_json[key].total_*` + `front_json.table_stylization.total_row` |
| Підсвітка рядків | `front_json.table_stylization.colorize` або `highlight_rules` |
| Групи картки запису | `front_json.modal_entity_layout` |

### `modal_entity_layout`

```json
{
  "version": 1,
  "display": "accordion",
  "groups": [
    { "id": "main", "title": "Основне", "fields": ["name", "status"] }
  ]
}
```

- Поля з toggle **Картка** без групи потрапляють у секцію **Інше**.
- Без `modal_entity_layout` картка запису — плоский список (зворотна сумісність).

## Системні типи (`system_ref`)

```json
{
  "type": "INTEGER",
  "label": "Відповідальний",
  "system_ref": "user"
}
```

Допустимі значення: `user`, `skill_group`, `subject`, `chat_status`, `tag`, `priority`. У БД — INTEGER id.

## Де читати далі

- [Налаштувати відображення полів](../how-to/configure-field-display.md)
- [Розширені опції моделей](./advanced-model-options-reference.md)
- [Семантичні типи полів](./semantic-field-types-reference.md)
