Дополнительные действия
AZykov (обсуждение | вклад) Нет описания правки |
AZykov (обсуждение | вклад) Нет описания правки |
||
Строка 35: | Строка 35: | ||
{| class="wikitable mw-collapsible" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+Параметры класса | |+Параметры класса | ||
!Название параметра | !Название параметра | ||
Строка 78: | Строка 78: | ||
{| class="wikitable mw-collapsible" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+Параметры класса | |+Параметры класса | ||
!Название параметра | !Название параметра | ||
Строка 172: | Строка 172: | ||
{| class="wikitable mw-collapsible" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+Параметры класса | |+Параметры класса | ||
!Название параметра | !Название параметра | ||
Строка 198: | Строка 198: | ||
|Предполагается, что класс уже существует (создан на слое платформы), но в него необходимо добавить недостающие поля | |Предполагается, что класс уже существует (создан на слое платформы), но в него необходимо добавить недостающие поля | ||
|} | |} | ||
[[Файл:Блок Autodelete.png|мини|Блок Autodelete]] | |||
=== Autodelete === | === Autodelete === | ||
{| class="wikitable mw-collapsible" | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
|+Параметры класса | |+Параметры класса | ||
!Название параметра | !Название параметра | ||
Строка 223: | Строка 226: | ||
| | | | ||
|Имя поля, содержащего время жизни объекта (в секундах) | |Имя поля, содержащего время жизни объекта (в секундах) | ||
|} | |||
Lookup | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
|+Параметры класса | |||
!Название параметра | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|lookupLink | |||
| | |||
|Разрешить ли переход к объектам данного типа по гиперссылкам | |||
|- | |||
|lookupLinkKind | |||
| | |||
|Способ открытия гиперссылки | |||
|- | |||
|lookupAddEnabled | |||
| | |||
|Разрешить автоматическое пополнение справочника (добавление значений из выпадающих списков) | |||
|- | |||
|lookupAddConfirmationText | |||
| | |||
|Текст подтверждения при автоматическом пополнении справочника | |||
|- | |||
|lookupAddValues | |||
| | |||
|Значения при автоматическом пополнении справочника | |||
|- | |||
|lookupSearchExpr | |||
| | |||
|Поле или список полей для поиска в выпадающих списках | |||
|- | |||
|indexedProperties | |||
| | |||
|Индексированные свойства для быстрого поиска в локальном кэше | |||
|} | |} | ||
[[Категория:Курс "Разработка приложений"]] | [[Категория:Курс "Разработка приложений"]] |
Версия от 13:15, 17 января 2025
Предыдущая статья курса: Быстрый старт
Общая информация
![](/images/thumb/c/c8/%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB_Classes.png/300px-%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB_Classes.png)
Классы являются основой всех систем и приложений, разрабатываемых на платформе Эра. Набор классов в пакетее реализует структуру данных, с которой взаимодействуют остальные элементы пакета. Каждый класс определяется набором параметров, полей и действий. Параметры класса определяют его наименование, поведение, способ хранения данных, структуру наследования и т.д. Обзор параметров класса будет произведен ниже в данной статье.
Набор полей определяет структуру данных класса, а также формирует связь объектов этого класса с другими классами (в рамках всех пакетов системы).
Набор действий может определять некоторые операции, которые могут производиться над объектами данного класса. С помощью действий может реализовываться часть логики работы с классом. Также для реализации логики работы с данными можно использовать обработчики (handlers) и сервисы (services).
При создании модели класса, указывается его тип (classKind):
- entity - сущность, объект для хранение данных
- object -
- interface - интерфейс для взаимодействия других классов (не хранит данные, только определяет структуру).
Классы могут наследовать поля и действия от других, родительских классов.
Для каждого класса, после активации пакета создается хранилище, соответствующее настройкам класса.
Хранилище может размещаться в оперативной памяти, в распределенной объектной БД, в реляционной БД Postgres (с партициями для исторических данных и без), в брокере Kafka, а также сохранять данные в аналитической колоночной БД Clickhouse.
Класс может быть абстрактным (abstract), или интерфейсом (interface) в этом случае, для него не генерируются хранилище. Данные вариации классов не хранят в себе данные, и используются для взаимодействия между другими классами и описания структур данных.
Параметры класса
![](/images/thumb/a/a0/%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0.png/300px-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0.png)
У класса достаточно большой набор настраиваемых параметров. Для удобства, рассмотрим их в порядке группировки в окне редактирования.
![](/images/thumb/6/6e/%D0%91%D0%BB%D0%BE%D0%BA_Name_and_Location.png/300px-%D0%91%D0%BB%D0%BE%D0%BA_Name_and_Location.png)
Name and Location
Название параметра | Значение по-умолчанию | Комментарий |
---|---|---|
package | [текущий выбранный пакет] | Определяет, к какому пакету будет относиться данный класс |
folderName | Определяет имя папки для группировки классов | |
name | Системное наименование класса в единственном числе (используется в API) | |
multiName | Системное наименование класса во множественном числе числе (используется в API) | |
fullName | [package]/[folderName]/[name] | Формируется автоматически, используется для доступа к данным через API |
fullMultiName | [package]/[folderName]/[multiName] | Формируется автоматически, используется для доступа к данным через API |
caption | Заголовок класса, используется для отображения данных пользователю (напр., при отображении карточки редактирования) | |
multiCaption | Заголовок класса, используется для отображения данных пользователю (напр., при отображении реестра данных класса) |
![](/images/thumb/0/08/%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB_Data.png/300px-%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB_Data.png)
Data
Название параметра | Значение по-умолчанию | Комментарий |
---|---|---|
storageMode | category | Определяет тип хранилища, создаваемого для класса
ram/runtime/category/history
|
storageInstance | Используется только для storage_mode = category , history , transactionlog
Данным параметром задается ключ инстанса для хранения данных. При отсутствии настроенного хранилища с кодом 'auto' класс автоматически привязывается к модельной базе ('era_model_DOMAIN'), созданной через основное подключение к БД Postgres домена). | |
section | Имя секции для выбора экземпляра DMS | |
integrityMode | sync_fast_notify
|
Режим обеспечения целостности (приоритетность применения изменений в хранилище и рассылки уведомлений)
|
partitionPropertyName | Используется только для storage_mode = history , transactionlog
Является опциональным для режима history, и обязательным для transactionlog В данном параметре определяется имя поля (с типом datetime), которое будет использоваться для построения партиции в Postgresql / префикса ключа в Kafka+Clickhouse | |
maxLimit | Максимальное количество строк при чтении одной страницы. Используется в API при пагинации данных | |
realtime | Обеспечение обновлений данных в реальном времени (путем подписки на изменения). Данный параметр в том чилсе, влияет на работу в интерфейсе (когда два пользователя пытаются изменять один и тот же объект этого класса). | |
serverCacheMode | none | Режим кэширования данных на сервере (слой платформы, роль DMS)
|
clientCacheMode | temp | Режим кэширования данных на клиенте (в приложениях и микросервисах продуктового слоя).
Возможные значения аналогичны serverCacheMode |
classDataSource | model | Источник данных класса
Возможные значения:
|
restURL | URL сервиса для получения данных. Используется только при dataSource = root | |
dataFactoryServiceName | Имя сервиса, который используется в качестве фабрики данных (вместо классического REST) | |
dataFactoryMethodName | Имя метода сервиса, который используется в качестве фабрики данных (вместо классического REST) | |
tuningOptions | Дополнительные опции (opts) для design/classes
Полный список опций доступен в документации к классу |
![](/images/thumb/d/d7/%D0%91%D0%BB%D0%BE%D0%BA_Class.png/300px-%D0%91%D0%BB%D0%BE%D0%BA_Class.png)
Class
Название параметра | Значение по-умолчанию | Комментарий |
---|---|---|
classKind | entity | Тип класса (сущность, объект или интерфейс) |
parent | Родительский класс (для наследования свойств и действий) | |
abstract | False | Для абстрактных классов не создаются таблицы в хранилищах, они предназначены для дальнейшего наследования |
unionContents | Список дочерних классов для объединения в единую коллекцию | |
onlyAddProperties | Предполагается, что класс уже существует (создан на слое платформы), но в него необходимо добавить недостающие поля |
![](/images/thumb/b/b2/%D0%91%D0%BB%D0%BE%D0%BA_Autodelete.png/300px-%D0%91%D0%BB%D0%BE%D0%BA_Autodelete.png)
Autodelete
Название параметра | Значение по-умолчанию | Комментарий |
---|---|---|
expiresMode | none | Режим автоматического удаления устаревших объектов (по истечении времени жизни)
Только для storage_mode =
|
expiresTimestampPropertyName | Имя поля, относительно которого рассчитывается время жизни (timestamp, в миллисекундах unix time * 1000) | |
expiresTimeToLivePropertyName | Имя поля, содержащего время жизни объекта (в секундах) |
Lookup
Название параметра | Значение по-умолчанию | Комментарий |
---|---|---|
lookupLink | Разрешить ли переход к объектам данного типа по гиперссылкам | |
lookupLinkKind | Способ открытия гиперссылки | |
lookupAddEnabled | Разрешить автоматическое пополнение справочника (добавление значений из выпадающих списков) | |
lookupAddConfirmationText | Текст подтверждения при автоматическом пополнении справочника | |
lookupAddValues | Значения при автоматическом пополнении справочника | |
lookupSearchExpr | Поле или список полей для поиска в выпадающих списках | |
indexedProperties | Индексированные свойства для быстрого поиска в локальном кэше |