
Cookbook полей модели
Поля модели настраивают отображение колонок, которые уже есть в БД. Новую колонку создают через extra fields.
Справочник: Поля модели.
Цель
Вы группируете поля по секциям, задаёте xtype и ширину, скрываете технические колонки. Vue-форма заказа и других сущностей читает visible-список с сервера.
Модели
| model (короткое имя) | Форма в менеджере |
|---|---|
msOrder | Карточка заказа |
msOrderAddress | Адрес в заказе |
msOrderProduct | Позиция заказа |
msVendor | Производитель |
msProductData | Данные товара (часть полей) |
Visible list vs полный CRUD
| Запрос | Назначение |
|---|---|
GET /api/mgr/model-fields/visible/{model} | Поля для Vue-формы (только visible) |
GET /api/mgr/model-fields?model={model} | Полный список в утилите «Поля модели» |
PUT /api/mgr/model-fields/{id} | Метаданные одного поля |
PUT /api/mgr/model-fields/ranks | Порядок полей (drag-and-drop) |
Карточка заказа вызывает visible/msOrder и visible/msOrderAddress при загрузке.
Кейс: секция «Дополнительно» на заказе
- Утилиты → Поля модели → модель msOrder.
- Создайте секцию:
- ключ
extra_info - название «Дополнительно»
sort_orderпо необходимости
- ключ
- Откройте поле (например
comment) → укажите секцию Дополнительно,visible = true, ширину 12. - Перетащите секции и поля для нужного порядка.
Порядок секций: PUT /api/mgr/model-fields/sections/ranks. Порядок полей: PUT /api/mgr/model-fields/ranks.
Сортировка секций
Если drag-and-drop секций не сохраняется, см. issue #611.
Кейс: скрыть техническое поле
- Найдите поле в списке (например
tokenилиproperties). - Снимите Видимость или перенесите в секцию, которую не показываете на форме.
- Убедитесь, что поле не попало в
GET .../visible/msOrder.
Связь с page-fields
| Система | Таблица | API | Область |
|---|---|---|---|
| Model fields | ms3_model_fields | /api/mgr/model-fields/* | Модели MS3 (заказ, vendor, …) |
| Page fields | ms3_product_fields | /api/mgr/config/page-fields/product_data | Только вкладка «Данные» товара |
Extra field на msProductData создаёт колонку и строку в ms3_product_fields. Дальше раскладку вкладки правят в Поля товара, не дублируя запись в model fields.
API appendix
Секции
GET /api/mgr/model-fields/sections/{model}
POST /api/mgr/model-fields/sections
PUT /api/mgr/model-fields/sections/{id}
PUT /api/mgr/model-fields/sections/ranks
DELETE /api/mgr/model-fields/sections/{id}Visible fields
GET /api/mgr/model-fields/visible/msOrderCombo для xtype combo
GET /api/mgr/model-fields/combo-options/{model}/{field_name}Запись во все эндпойнты: mssetting_save.
Troubleshooting
| Симптом | Действие |
|---|---|
| 403 | Политики MS3, см. issue #613 |
| Поле не на форме | visible = false или поле не в visible-ответе |
| Путаница с extra fields | Extra создаёт колонку. Model fields только UI. См. #214 |
| Изменения не видны | Обновите страницу карточки |
См. Cookbook менеджера.
