Создание нового раздела
Glossary Item Box
Общие положения
Одной из типовых задач разработки в Creatio является добавление нового раздела. Для реализации этой задачи используется мастер разделов. С помощью мастера можно настроить основные свойства раздела и его страниц, бизнес-правила и кейсы.
Результатом выполненных настроек будут схемы объектов и страниц раздела, добавленные в текущий пользовательский пакет (табл. 1, 2).
Табл. 1. — Схемы объектов, создаваемые мастером разделов
Правила именования | Назначение | Родитель |
---|---|---|
[Имя объекта раздела] | Основной объект раздела | Базовый объект (BaseEntity) |
[Имя объекта раздела]Folder |
Группа объекта. Служебный объект для корректной группировки записей в разделе. Формирует общую структуру дерева групп раздела. |
Базовая группа (BaseFolder) |
[Имя объекта раздела]InFolder |
Объект в группе. Служебный объект для корректной работы группировки записей в разделе. Определяет связи между записями раздела и группами, в которые они входят. |
Базовый элемент в группе (BaseItemInFolder) |
[Имя объекта раздела]File | Объект для детали [Файлы и ссылки]. | Файл (File) |
[Имя объекта раздела]Tag | Тег раздела. | Базовый тег (BaseTag) |
[Имя объекта раздела]InTag | Тег в объекте раздела. | Базовый тег в базовом объекте (BaseEntityInTag) |
Табл. 2. — Клиентские схемы, создаваемые мастером раздела
Правила именования | Назначение | Родитель |
---|---|---|
[Имя объекта раздела]Section | Схема раздела |
Базовая схема раздела (BaseSectionV2) |
[Имя объекта раздела]Page | Схема страницы редактирования раздела | Базовая схема страницы редактирования раздела (BaseModulePageV2) |
Мастер разделов и пакет [Custom]
Мастер разделов не только создает различные схемы, но и привязывает данные к текущему пакету. Однако, если текущим пакетом является пакет [Custom], то перенести привязанные данные в другой пользовательский пакет практически невозможно. Пакет [Custom] не предназначен для фиксации в системе контроля версий и переноса изменений на другие среды. Поэтому пакет [Custom] не рекомендуется использовать в качестве текущего пользовательского пакета. Особенности пакета [Custom] подробно описаны в статье "Реализация простых изменений конфигурации. Пакет [Custom]".Чтобы изменить текущий пакет, необходимо использовать системную настройку [Текущий пакет] (CurrentPackageId). Перед запуском мастера разделов рекомендуется проверить значение этой системной настройки.
Последовательность добавления раздела
- С помощью мастера разделов создать раздел и добавить его в нужное рабочее место.
- Добавить необходимые колонки в схему объекта раздела и настроить их отображение в реестре, на странице редактирования и на деталях.
Описание примера
В приложение добавить рабочее место [Автосалон] ([Car showroom]). В созданное рабочее место добавить пользовательский раздел [Грузовые автомобили] ([Trucks]). Схема объекта грузового автомобиля должна содержать обязательные для заполнения колонки:
- Название (Name) — строка.
- Владелец (Owner) — справочник [Контакт] ([Contact]).
- Организация (Organization) — справочник [Контрагент] ([Account]).
- Цена (Price) — строка.
Алгоритм реализации примера
1. С помощью мастера разделов создать раздел и добавить его в нужное рабочее место
Процесс создания рабочего места подробно описан в статье "Настройка рабочих мест". Для нового рабочего места укажите [Название] ([Name]) — "Автосалон" ("Car showroom") и добавьте группу пользователей, для которой будет доступно создаваемое рабочее место.
Работа с мастером разделов подробно описана в статье "Мастер разделов". Для создания нового раздела достаточно использовать первый шаг мастера. При этом в основной объект раздела будут добавлены колонка [Название] ([Name]) с типом "строка" и колонки, унаследованные от базового объекта. Для первоначальной настройки раздела на первом шаге мастера укажите:
- [Код раздела] ([Code]) — "UsrTruck";
- [Заголовок] ([Title]) — "Грузовые автомобили" ("Trucks").
Название объекта раздела, вводимое в поле [Код раздела] в мастере разделов, не должно содержать префиксов "Base", "Sys" или "Vw". Также оно не должно содержать суффиксов "InFolder", "Lcz", "Lookup" и "Settings". В противном случае для такого объекта будет невозможно настроить импорт данных из Excel.
Если работа в системе ведется с настройками по умолчанию, то при вводе значения в поле [Код раздела] возникнет сообщение о том, что значение должно начинаться с префикса "Usr". Значение префикса задается в системной настройке [Префикс названия объекта] (SchemaNamePrefix). При необходимости можно сменить значение префикса на пользовательское. Использовать пустую строку в качестве префикса не рекомендуется из-за возможных совпадений названий с другими элементами базовой конфигурации.
В результате в пользовательском пакете будут созданы все необходимые для работы раздела схемы (рис. 1).
Рис. 1. — Схемы раздела [Грузовые автомобили] в пользовательском пакете
2. Добавить необходимые колонки в схему объекта раздела и настроить их отображение
Существует два способа добавления новых колонок в схему объекта:
1. При помощи мастера создать новую колонку и сразу же добавить ее на страницу редактирования. При этом колонка будет автоматически добавлена в схему основного объекта раздела. Подробно о настройке полей страницы редактирования записи раздела читайте в статье "Как настроить поля страницы".
2. Добавить колонку в схему основного объекта раздела с помощью дизайнера объекта в разделе [Конфигурация]. Затем с помощью мастера разделов добавить колонки на страницу. Подробнее о возможностях раздела [Конфигурация] можно узнать из статьи "Разработка во встроенной IDE. Раздел [Конфигурация]".
Поскольку мастер раздела задействован в любом случае, удобнее использовать первый способ.
Колонка [Название] ([Name]) создается и добавляется на страницы раздела мастером раздела автоматически.
Для остальных колонок заполните следующие свойства:
Колонка | Тип | Заголовок [Title] | Название в базе данных [Name in DB] |
---|---|---|---|
Владелец | Справочник [Контакт] ([Contact]) | Владелец (Owner) | UsrOwner |
Организация | Справочник [Контрагент] ([Account]) | Организация (Organization) | UsrOrganization |
Цена | Дробное число (Decimal) | Цена, USD (Price, USD) | UsrPrice |
Для всех колонок установите признак [Является обязательным] ([Is required]).
После сохранения изменений в мастере разделов в схему объекта UsrTruck будут добавлены новые колонки (рис. 2), а в массив модификаций diff схемы страницы редактирования UsrTruckPage — соответствующие им конфигурационные объекты.
Рис. 2. — Схема главного объекта раздела [Грузовые автомобили]
Настройте отображение колонок в реестре раздела. Страница настройки колонок реестра открывается по команде [Настроить колонки] ([Select fields to display]) меню кнопки [Вид] ([View]). Подробнее о настройке колонок раздела можно узнать из статьи "Настройка колонок реестра".
После добавления новых записей раздел примет вид, аналогичный показанному на рисунке 3.
Рис. 3. — Раздел [Грузовые автомобили] ([Trucks]) в рабочем месте [Автосалон] ([Car showroom])