Складні кейси Custom Data
Custom Data дозволяє не лише створювати прості таблиці (магазини, рейтинги, заявки), але й налаштовувати складні моделі: приховувати технічні поля, додавати валідацію, графіки, кольорову підсвітку рядків, карту або слайдер фото у модальному вікні. Ця стаття пояснює, коли варто використовувати такі можливості та які кейси вони покривають.
Для кого: інтегратори та адміністратори, які проектують моделі під складні бізнес-процеси.
Коли потрібні складні налаштування
Прості моделі — достатньо базових типів полів (текст, число, дата, зв'язок). Приклади: список магазинів, C-SAT після діалогу, заявки на зворотний дзвінок.
Складні моделі — потрібні додаткові опції, якщо:
- Є технічні поля, які не повинні засмічувати таблицю або бути видимими операторам
- Потрібна валідація (обов'язкові поля, формат email, умовна доступність полів)
- Потрібні графіки (кількість заявок по статусах, сума продажів по категоріях)
- Потрібна візуалізація: карта, слайдер фото, кольорова підсвітка рядків за статусом
- Потрібні підсумки в таблиці або завантаження файлів
- Потрібно запускати процеси сценарію бота прямо з таблиці (макроси) — наприклад, відправити нагадування клієнту
Типові складні кейси
1. Приховати технічні поля
Кейс: Модель інтегрується з зовнішньою системою. Поле external_system_id потрібне для синхронізації, але операторам воно не потрібно.
Рішення: hidden_all — поле приховане скрізь (таблиця, модальне вікно, фільтри).
Інший варіант: hidden_in_table — колонка прихована у виборі колонок, але користувач може увімкнути її для експорту.
2. Валідація та умовна доступність
Кейс: Модель «Зміни» — час закінчення недоступний, поки не вказано час початку. Email обов'язковий і має бути валідним.
Рішення: rules: ["required", "email"] для email; validate.required_field_empty для часу закінчення — поле активне тільки якщо заповнене поле «Час початку».
3. Графіки статистики
Кейс: Модель «Заявки» — потрібно швидко побачити, скільки заявок у кожному статусі. Модель «Продажі» — сума по менеджерах.
Рішення: statistics_json — графік «Кількість по статусах» (measure: count, group_by: status_id) або «Сума по менеджерах» (measure: sum, group_by: manager_id, sum_field: amount).
4. Кольорова підсвітка рядків
Кейс: Модель «Заявки» — рядки зі статусом «Прострочено» червоні, «Виконано» — зелені. Оператор швидко орієнтується в таблиці.
Рішення: front_json.table_stylization.colorize — підсвітка рядка кольором з поля статусу. Або highlight_rules — порівняння двох полів (наприклад, фактичний час vs плановий).
5. Модальне вікно з картою та слайдером
Кейс: Модель «Торгові точки» — при відкритті запису потрібна карта з адресою та слайдер фото магазину.
Рішення: front_json.modal_entity — type: MAP для карти, type: SLIDER для зображень з пов'язаної моделі.
6. Підсумки в таблиці
Кейс: Модель «Продажі» — внизу таблиці потрібна сума по колонці «Сума».
Рішення: total_sum: true для поля + front_json.table_stylization.total_row.
7. Завантаження файлів
Кейс: Модель «Заявки» — вкладені документи (договори, фото). Модель «Магазини» — логотип.
Рішення: Один файл — STRING + edit_type: file_upload. Кілька файлів — JSON + file_upload: true.
8. Запуск процесів з таблиці (макроси)
Кейс: Оператор бачить таблицю заявок і потребує швидко відправити клієнту нагадування або створити тикет у зовнішній системі — без переходу в інший розділ.
Що таке макроси: Макроси — це секції сценарію бота, позначені як процеси (is_macro). Вони з'являються у списку для вибору. У сценарії можна створити кілька макросів: «Відправити нагадування», «Створити тикет» тощо.
Рішення: У front_json.macros моделі задати bot_id (ID бота з макросами) та single: true (кнопка в кожному рядку). У таблиці з'являється кнопка-блискавка. Оператор натискає → обирає макрос зі списку → відкривається віджет з ботом, дані запису (id, поля) передаються в сценарій як контекст. Опція multiple: true — кнопка для масового запуску по обраних записах.
Де налаштовувати: Create/Update → JSON моделі → front_json.macros. Детальніше: довідник розширених налаштувань.
Прості vs складні моделі
| Аспект | Прості моделі | Складні моделі |
|---|---|---|
| Приклад | Магазини, C-SAT, заявки | Заявки з графіками, торгові точки з картою |
| Поля | Базові типи (текст, число, дата, зв'язок) | + приховування, валідація, умовна доступність |
| Таблиця | Стандартне відображення | + зображення, посилання, підсумки, підсвітка |
| Модальне вікно | Стандартна форма | + карта, слайдер, графік, секції |
| Статистика | Немає або експорт | Графіки в інтерфейсі |
| Дії з таблиці | — | Макроси — кнопки запуску процесів бота |
З чого почати
- Спочатку просте — створіть модель з базовими полями. Переконайтеся, що структура відповідає бізнес-потребам.
- Потім додайте складність — якщо потрібно приховати поля, додати валідацію або графіки, зверніться до довідника розширених налаштувань.
- AI Magic — можна описати текстом, що потрібно (наприклад, «графік по статусах»), і система запропонує структуру. Потім уточніть опції вручну.
Пов'язані документи
- Довідник розширених налаштувань — повний перелік опцій
- Патерни та приклади Custom Data — типові сценарії (CRUD, довідники, імпорт)
- Що таке Custom Data — основні концепції
- Інтегратор — Custom Data — навігація по всіх інструкціях