Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Задание 1. Создание класса: различия между версиями

Материал из Платформа Эра. Документации
Нет описания правки
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
Предыдущая статья курса: [[Хранение данных. Классы. Поля и действия]]
Предыдущее задание: [[Задание 0. Подготовка стенда и постановка задачи]]
= Описание задания =
В рамках данного задания мы создадим базовую структуру классов для [[Задание 0. Подготовка стенда и постановка задачи|учебного проекта]].
В рамках данного задания мы создадим базовую структуру классов для [[Задание 0. Подготовка стенда и постановка задачи|учебного проекта]].


Строка 5: Строка 10:
* Контрагенты
* Контрагенты
* Контакты
* Контакты
* Заявки
* Обращения
* Комментарии к обращениям
* Комментарии к обращениям
* Звонки по обращениям
* Звонки по обращениям
Строка 14: Строка 19:
В качестве заготовки для выполнения этого задания можно использовать пакет, реализованных в рамках [[Быстрый старт|быстрого старта]]. В этом случае, необходимо модифицировать часть уже созданных классов.
В качестве заготовки для выполнения этого задания можно использовать пакет, реализованных в рамках [[Быстрый старт|быстрого старта]]. В этом случае, необходимо модифицировать часть уже созданных классов.


Параметры классов и их свойств описаны в следующих таблицах.
Параметры классов и их свойств описаны в следующих таблицах. Классы рекомендуется создавать в том порядке, в котором они описаны в данном задании, так как одни классы могут быть нужны для создания других.


Контрагенты
= Контрагенты =
{| class="wikitable"
|+Класс X
!Параметр класса
!Значение параметра
!Комментарий
|-
|name
|
|
|-
|multiName
|
|
|-
|caption
|
|
|-
|multiCaption
|
|
|-
|storageMode
|
|
|}
{| class="wikitable"
|+Свойства класса X
!Имя свойства
!Заголовок свойства
!Тип данных
!required
!Комментарий
|-
|
|
|
|
|
|-
|
|
|
|
|
|-
|
|
|
|
|
|}
{| class="wikitable"
{| class="wikitable"
|+Класс Контрагент
|+Класс Контрагент
Строка 121: Строка 74:
|root/iam/RootUser - базовый класс пользователей платформы Era
|root/iam/RootUser - базовый класс пользователей платформы Era
|}
|}
Контакты
 
= Контакты =
{| class="wikitable"
{| class="wikitable"
|+Класс Контакт
|+Класс Контакт
Строка 192: Строка 146:
|
|
|}
|}
Объекты обслуживания
 
= Объекты обслуживания =
{| class="wikitable"
{| class="wikitable"
|+Класс Объект обслуживания
|+Класс Объект обслуживания
Строка 245: Строка 200:
|root/iam/RootUser - базовый класс пользователей платформы Era
|root/iam/RootUser - базовый класс пользователей платформы Era
|}
|}
Обращения
 
= Обращения =
{| class="wikitable"
{| class="wikitable"
|+Класс Обращение
|+Класс Обращение
Строка 270: Строка 226:
|storageMode
|storageMode
|history
|history
|
| rowspan="2" |Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName
|-
|partitionPropertyName
|dateTime
|-
|-
|integrityMode
|integrityMode
|sync_fast_notify
|sync_fast_notify
|
|-
|partitionPropertyName
|dateTime
|
|
|}
|}
Строка 291: Строка 246:
|Дата создания
|Дата создания
|base/DateTime
|base/DateTime
|
|True
|defaultValue: GlobalUtils.nowDateTime()
|defaultValue: GlobalUtils.nowDateTime()
|-
|-
Строка 317: Строка 272:
|
|
|
|
|-
|customerOwner
|Пользователь клиента
|root/iam/RootUser
|
|Будет использоваться для огранизации доступа клиентов к собственным обращениям
|-
|-
|state
|state
Строка 336: Строка 297:
|
|
|}
|}
Комментарии к обращениям
 
= Комментарии к обращениям =
{| class="wikitable"
{| class="wikitable"
|+Класс Комментарий к обращению
|+Класс Комментарий к обращению
Строка 361: Строка 323:
|storageMode
|storageMode
|history
|history
|
| rowspan="2" |Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName
|-
|partitionPropertyName
|dateTime
|-
|-
|integrityMode
|integrityMode
|sync_fast_notify
|sync_fast_notify
|
|-
|partitionPropertyName
|dateTime
|
|
|}
|}
Строка 400: Строка 361:
|Дата создания
|Дата создания
|base/DateTime
|base/DateTime
|
|True
|defaultValue: GlobalUtils.nowDateTime()
|defaultValue: GlobalUtils.nowDateTime()
|}
|}
Звонки
 
= Звонки =
{| class="wikitable"
{| class="wikitable"
|+Класс Звонок
|+Класс Звонок
Строка 428: Строка 390:
|storageMode
|storageMode
|history
|history
|
| rowspan="2" |Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName
|-
|partitionPropertyName
|dateTime
|-
|-
|integrityMode
|integrityMode
|sync_fast_notify
|sync_fast_notify
|
|-
|partitionPropertyName
|dateTime
|
|
|}
|}
Строка 475: Строка 436:
|
|
|
|
|-
|dateTime
|Дата звонка
|base/DateTime
|True
|defaultValue: GlobalUtils.nowDateTime()
|}
|}
История изменения статусов
 
= История изменения статусов =
{| class="wikitable"
{| class="wikitable"
|+Класс Изменение статуса обращения
!Параметр класса
!Параметр класса
!Значение параметра
!Значение параметра
Строка 500: Строка 469:
|storageMode
|storageMode
|history
|history
|
| rowspan="2" |Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName
|-
|partitionPropertyName
|dateTime
|-
|-
|integrityMode
|integrityMode
|sync_fast_notify
|sync_fast_notify
|
|-
|partitionPropertyName
|dateTime
|
|
|}
|}
{| class="wikitable"
{| class="wikitable"
|+Свойства класса Изменение статуса обращения
!Имя свойства
!Имя свойства
!Заголовок свойства
!Заголовок свойства
Строка 538: Строка 507:
|Дата создания
|Дата создания
|base/DateTime
|base/DateTime
|
|True
|defaultValue: GlobalUtils.nowDateTime()
|defaultValue: GlobalUtils.nowDateTime()
|}
|}
История изменения ответственных
 
= История изменения ответственных =
{| class="wikitable"
{| class="wikitable"
|+Класс Изменение ответственного по обращению
!Параметр класса
!Параметр класса
!Значение параметра
!Значение параметра
Строка 565: Строка 536:
|storageMode
|storageMode
|history
|history
|
| rowspan="2" |Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName
|-
|partitionPropertyName
|dateTime
|-
|-
|integrityMode
|integrityMode
|sync_fast_notify
|sync_fast_notify
|
|-
|partitionPropertyName
|dateTime
|
|
|}
|}
{| class="wikitable"
{| class="wikitable"
|+Свойства класса Изменение ответственного по обращению
!Имя свойства
!Имя свойства
!Заголовок свойства
!Заголовок свойства
Строка 603: Строка 574:
|Дата создания
|Дата создания
|base/DateTime
|base/DateTime
|
|True
|defaultValue: GlobalUtils.nowDateTime()
|defaultValue: GlobalUtils.nowDateTime()
|}
|}
= Применение изменений =
[[Файл:Пакет. Применение изменений.png|мини|Пакет. Применение изменений]]
После добавления всех контактов, необходимо применить изменения в пакете.
Для этого в приложении Builder, в разделе Packages необходимо выделить ваш пакет и нажать кнопку Apply в верхней части окна.
После применения изменений, необходимо изменить storageMode для тех классов, где он должен быть history, а также заполнить значение поля partitionPropertyName.
После данных манипуляций, необходимо повторно применить изменения в пакете.
Следующая статья курса: [[Пользовательский доступ к классам. Приложения]]
Предыдущая статья курса: [[Хранение данных. Классы. Поля и действия]]
Следующее задание: [[Задание 2. Настройка приложения]]
[[Категория:Курс "Разработка приложений"]]

Текущая версия от 14:56, 20 января 2025

Предыдущая статья курса: Хранение данных. Классы. Поля и действия
Предыдущее задание: Задание 0. Подготовка стенда и постановка задачи

Описание задания

В рамках данного задания мы создадим базовую структуру классов для учебного проекта.

Для выполнения задания необходимо создать пакет и сконфигурировать в нём следующие классы:

  • Контрагенты
  • Контакты
  • Обращения
  • Комментарии к обращениям
  • Звонки по обращениям
  • Объекты обслуживания
  • История изменения статусов
  • История ответственных

В качестве заготовки для выполнения этого задания можно использовать пакет, реализованных в рамках быстрого старта. В этом случае, необходимо модифицировать часть уже созданных классов.

Параметры классов и их свойств описаны в следующих таблицах. Классы рекомендуется создавать в том порядке, в котором они описаны в данном задании, так как одни классы могут быть нужны для создания других.

Контрагенты

Класс Контрагент
Параметр класса Значение параметра Комментарий
name Client
multiName Clients
caption Контрагент
multiCaption Контрагенты
storageMode category
Свойства класса Контрагент
Имя свойства Заголовок свойства Тип данных required Комментарий
name Название base/String True
type Тип [созданный Enum] False Создать перечисление (Enum) ClientType с тремя значениями - Поставщик, Покупатель, Партнер
owner Ответственный root/iam/RootUser root/iam/RootUser - базовый класс пользователей платформы Era

Контакты

Класс Контакт
Параметр класса Значение параметра Комментарий
name Contact
multiName Contacts
caption Контакт
multiCaption Контакты
storageMode category
Свойства класса Контакт
Имя свойства Заголовок свойства Тип данных required Комментарий
firstName Имя base/String true
lastName Фамилия base/String true
middleName Отчество base/String true
fullName ФИО base/String На вкладке UI установить признак readOnly = true
jobName Должность base/String
client Контрагент [ссылка на созданный выше класс Client]

Объекты обслуживания

Класс Объект обслуживания
Параметр класса Значение параметра Комментарий
name ServiceObject
multiName ServiceObjects
caption Объект обслуживания
multiCaption Объекты обслуживания
storageMode category
Свойства класса Объект обслуживания
Имя свойства Заголовок свойства Тип данных required Комментарий
name Название base/String True
client Контрагент [ссылка на созданный выше класс Client] True
owner Ответственный root/iam/RootUser root/iam/RootUser - базовый класс пользователей платформы Era

Обращения

Класс Обращение
Параметр класса Значение параметра Комментарий
name Ticket
multiName Tickets
caption Обращение
multiCaption Обращения
storageMode history Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName
partitionPropertyName dateTime
integrityMode sync_fast_notify
Свойства класса Обращение
Имя свойства Заголовок свойства Тип данных required Комментарий
dateTime Дата создания base/DateTime True defaultValue: GlobalUtils.nowDateTime()
contact Контакт [ссылка на созданный выше класс Contact] True
client Контрагент [ссылка на созданный выше класс Client]
serviceObject Объект обслуживания [ссылка на созданный выше класс ServiceObject]
owner Ответственный root/iam/RootUser
customerOwner Пользователь клиента root/iam/RootUser Будет использоваться для огранизации доступа клиентов к собственным обращениям
state Статус [созданной перечисление TicketState] True Если не был пройден Быстрый старт, то необходимо создать новое перечисление (Enum) - TicketState с тремя значениями (Открыто, В работе, Закрыто)
subject Тема base/String True
description Описание base/String

Комментарии к обращениям

Класс Комментарий к обращению
Параметр класса Значение параметра Комментарий
name TicketComment
multiName TicketComments
caption Комментарий к обращению
multiCaption Комментарии к обращению
storageMode history Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName
partitionPropertyName dateTime
integrityMode sync_fast_notify
Свойства класса Комментарий к обращению
Имя свойства Заголовок свойства Тип данных required Комментарий
author Автор root/iam/RootUser True
ticket Обращение [ссылка на созданный выше класс Ticket] True
Text Текст base/String True
dateTime Дата создания base/DateTime True defaultValue: GlobalUtils.nowDateTime()

Звонки

Класс Звонок
Параметр класса Значение параметра Комментарий
name Call
multiName Calls
caption Звонок
multiCaption Звонки
storageMode history Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName
partitionPropertyName dateTime
integrityMode sync_fast_notify
Свойства класса Звонок
Имя свойства Заголовок свойства Тип данных required Комментарий
recordInfo Данные о записи callcenter/ccs/RecordInfo Класс RecordInfo хранит в себе служебные данные для прослушивания записей разговоров
user Пользователь root/iam/RootUser
contact Контакт [ссылка на созданный выше класс Contact]
client Контрагент [ссылка на созданный выше класс Client]
ticket Обращение [ссылка на созданный выше класс Ticket]
dateTime Дата звонка base/DateTime True defaultValue: GlobalUtils.nowDateTime()

История изменения статусов

Класс Изменение статуса обращения
Параметр класса Значение параметра Комментарий
name TicketStateChange
multiName TicketStateChanges
caption Изменение статуса обращения
multiCaption Изменения статуса обращения
storageMode history Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName
partitionPropertyName dateTime
integrityMode sync_fast_notify
Свойства класса Изменение статуса обращения
Имя свойства Заголовок свойства Тип данных required Комментарий
ticket Обращение [ссылка на созданный выше класс Ticket] True
oldState Предыдущий статус [ссылка на enum TicketState] True
newState Новый статус [ссылка на enum TicketState] True
dateTime Дата создания base/DateTime True defaultValue: GlobalUtils.nowDateTime()

История изменения ответственных

Класс Изменение ответственного по обращению
Параметр класса Значение параметра Комментарий
name TicketOwnerChange
multiName TicketOwnerChanges
caption Изменение ответственного по обращению
multiCaption Изменения ответственного по обращению
storageMode history Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName
partitionPropertyName dateTime
integrityMode sync_fast_notify
Свойства класса Изменение ответственного по обращению
Имя свойства Заголовок свойства Тип данных required Комментарий
ticket Обращение [ссылка на созданный выше класс Ticket] True
oldOwner Предыдущий ответственный root/iam/RootUser True
newOwner Новый ответственный root/iam/RootUser True
dateTime Дата создания base/DateTime True defaultValue: GlobalUtils.nowDateTime()

Применение изменений

Пакет. Применение изменений

После добавления всех контактов, необходимо применить изменения в пакете.

Для этого в приложении Builder, в разделе Packages необходимо выделить ваш пакет и нажать кнопку Apply в верхней части окна.

После применения изменений, необходимо изменить storageMode для тех классов, где он должен быть history, а также заполнить значение поля partitionPropertyName.

После данных манипуляций, необходимо повторно применить изменения в пакете.

Следующая статья курса: Пользовательский доступ к классам. Приложения
Предыдущая статья курса: Хранение данных. Классы. Поля и действия
Следующее задание: Задание 2. Настройка приложения