Система сущностей
В CityScreen Deals есть фиксированные функции продукта — сделки, предложения, инвентарь, ценообразование, — которые работают одинаково в любой организации. Всё остальное — виды документов, типы контрагентов, пользовательские поля, справочники каталога, определения задач, структуры отчётов — администратор каждой организации задаёт с помощью системы сущностей.
Система сущностей — это механизм, который делает это возможным. Он позволяет администратору создавать новые виды бизнес-записей, добавлять в них поля и использовать их в продукте — и всё это без выпуска новой версии.
Как это работает
В системе сущностей три уровня:
- Тип сущности
-
Схема, которая описывает вид записи. Администратор создаёт тип сущности, задавая ему название, машинное имя и набор полей, организованных в группы.
Каждый тип сущности относится ровно к одному супертипу (см. Восемь супертипов ниже). Супертип определяет, где в интерфейсе появляются записи этого типа, какое поведение продукта к ним применяется и какие другие функции могут на них ссылаться.
- Тип данных (поле)
-
Поле типа сущности. У каждого поля есть название, машинное имя, тип значения (строка, число, дата, ссылка, набор, коллекция, сопоставление или выражение) и флаги поведения (обязательное, уникальное).
В интерфейсе поле называется «типом данных». В REST API то же самое называется переменной. В этой документации «тип данных» используется, когда речь о том, что показывает интерфейс, а «поле» — как общий термин. - Запись
-
Один экземпляр типа сущности со значениями для каждого из его полей. Когда пользователь создаёт новый документ, нового контрагента или новую запись справочника, он создаёт запись соответствующего типа сущности.
Эта трёхуровневая структура — тип, поле, запись — повторяется во всех настраиваемых областях продукта.
Восемь супертипов
Каждый тип сущности относится к одному из восьми супертипов. Супертип выбирается при создании типа сущности и после этого не меняется.
| Супертип | Что он определяет |
|---|---|
Документ |
Бизнес-документы — счета, договоры, заказы на бронирование, кредит-ноты или любой другой вид документов, который нужен организации. Типы документов поддерживают пользовательские поля, вложенные сущности, шаблоны и бизнес-процессы. |
Контрагент |
Записи деловых партнёров помимо встроенного клиента. Агентства, операторы наружной рекламы, субподрядчики или любая другая сторона, с которой работает организация. Типы контрагентов поддерживают пользовательские поля и вложенные сущности. |
Справочник |
Универсальные справочные списки и списки для подбора значений. Тип справочника может описывать всё, что организации нужно вести как структурированные данные, — позиции каталога, регионы, категории услуг, реестры оборудования. Типы справочников поддерживают пользовательские поля и вложенные сущности. |
Задача |
Определения задач, которые использует механизм автоматизации процессов. Когда бизнес-процесс доходит до шага пользовательской задачи, механизм создаёт задачу, поля которой определяет соответствующий тип сущности задачи. Типы задач поддерживают пользовательские поля и вложенные сущности. |
Предложение |
Определения типов предложений. Каждый тип предложения настраивает, как рассчитывается цена предложения и какой инвентарь оно продаёт. Типы предложений поддерживают пользовательские поля и вложенные сущности, но их нельзя перенести через импорт и экспорт схемы. |
Прайс-лист |
Определения типов прайс-листов. Типы прайс-листов настраивают, какие правила продажи доступны для ценообразования. Типы прайс-листов не поддерживают пользовательские поля и вложенные сущности. |
Отчёт |
Определения типов отчётов. Тип отчёта указывает на исходный тип сущности и файл шаблона; из этой комбинации система формирует по одному документу на каждую запись. Типы отчётов не поддерживают пользовательские поля и вложенные сущности. |
Группа сотрудников |
Определения типов групп сотрудников. Типы групп сотрудников поддерживают пользовательские поля, но их нельзя перенести через импорт и экспорт схемы. |
Папки супертипов видны в разделе «Сущности» интерфейса. В каждой папке перечислены типы сущностей, которые относятся к этому супертипу.
Что можно делать с типами сущностей
-
Создать новый тип сущности с отображаемым названием, машинным именем и полями, организованными в группы.
-
Редактировать существующий тип сущности — переименовать его, добавить или удалить поля, изменить порядок групп и полей.
-
Архивировать тип сущности, чтобы скрыть его из списков выбора при создании, не удаляя существующие записи. Архивные типы больше не появляются как цели для новых полей-ссылок, но уже созданные записи этого типа остаются доступными.
-
Удалить тип сущности навсегда. Встроенные системные типы удалить нельзя.
Каждая из этих операций описана в разделе типы сущностей.
Где типы сущностей встречаются в продукте
Типы сущностей — это не изолированная административная функция. Они встречаются по всему CityScreen Deals, где продукту нужна настраиваемая запись:
-
Записи документов — каждый вид документа — это тип сущности супертипа «Документ».
-
Типы контрагентов — каждый вид контрагента — это тип сущности супертипа «Контрагент».
-
Предложения — каждый тип предложения — это тип сущности супертипа «Предложение».
-
Пользовательские задачи и формы — каждое определение задачи — это тип сущности супертипа «Задача».
-
Дашборды, пакетные отчёты и критерии работают с типами сущностей как с источниками данных или целями классификации.
Когда страница этой документации описывает функцию, внешний вид которой зависит от настроек администратора, она ссылается сюда.
Страницы этого раздела
- Типы сущностей
-
Создание, редактирование, архивирование и удаление типов сущностей, включая группы полей, порядок и последствия удаления поля.
- Типы данных
-
Девять типов данных для полей и их параметры.
- Вложенные сущности
-
Структуры с повторяющимися строками внутри типа сущности — позиции, подзаписи и табличные данные.
- Выражения
-
Вычисляемые поля, значение которых берётся из других полей, — точечные пути, выражения на JavaScript и автозаполнение при выборе ссылки.
- Права на поля
-
Управление доступом к отдельным полям с областями «свои», «группа» и «все» и сочетание прав на поля с правами ролей.
- Колонки и фильтры
-
Выбор полей для колонок списка, построение фильтров и работа с системными переменными.
- Перенос схемы
-
Экспорт и импорт определений типов сущностей между организациями или средами.