Дополнительные действия
AZykov (обсуждение | вклад) Нет описания правки |
AZykov (обсуждение | вклад) |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
Предыдущая статья курса: [[Хранение данных. Классы. Поля и действия]] | Предыдущая статья курса: [[Хранение данных. Классы. Поля и действия]] | ||
Предыдущее задание: [[Задание 0. Подготовка стенда и постановка задачи]] | |||
= Описание задания = | = Описание задания = | ||
Строка 8: | Строка 10: | ||
* Контрагенты | * Контрагенты | ||
* Контакты | * Контакты | ||
* | * Обращения | ||
* Комментарии к обращениям | * Комментарии к обращениям | ||
* Звонки по обращениям | * Звонки по обращениям | ||
Строка 224: | Строка 226: | ||
|storageMode | |storageMode | ||
|history | |history | ||
| | | rowspan="2" |Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName | ||
|- | |||
|partitionPropertyName | |||
|dateTime | |||
|- | |- | ||
|integrityMode | |integrityMode | ||
|sync_fast_notify | |sync_fast_notify | ||
| | | | ||
|} | |} | ||
Строка 245: | Строка 246: | ||
|Дата создания | |Дата создания | ||
|base/DateTime | |base/DateTime | ||
| | |True | ||
|defaultValue: GlobalUtils.nowDateTime() | |defaultValue: GlobalUtils.nowDateTime() | ||
|- | |- | ||
Строка 271: | Строка 272: | ||
| | | | ||
| | | | ||
|- | |||
|customerOwner | |||
|Пользователь клиента | |||
|root/iam/RootUser | |||
| | |||
|Будет использоваться для огранизации доступа клиентов к собственным обращениям | |||
|- | |- | ||
|state | |state | ||
Строка 316: | Строка 323: | ||
|storageMode | |storageMode | ||
|history | |history | ||
| | | rowspan="2" |Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName | ||
|- | |||
|partitionPropertyName | |||
|dateTime | |||
|- | |- | ||
|integrityMode | |integrityMode | ||
|sync_fast_notify | |sync_fast_notify | ||
| | | | ||
|} | |} | ||
Строка 355: | Строка 361: | ||
|Дата создания | |Дата создания | ||
|base/DateTime | |base/DateTime | ||
| | |True | ||
|defaultValue: GlobalUtils.nowDateTime() | |defaultValue: GlobalUtils.nowDateTime() | ||
|} | |} | ||
Строка 384: | Строка 390: | ||
|storageMode | |storageMode | ||
|history | |history | ||
| | | rowspan="2" |Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName | ||
|- | |||
|partitionPropertyName | |||
|dateTime | |||
|- | |- | ||
|integrityMode | |integrityMode | ||
|sync_fast_notify | |sync_fast_notify | ||
| | | | ||
|} | |} | ||
Строка 431: | Строка 436: | ||
| | | | ||
| | | | ||
|- | |||
|dateTime | |||
|Дата звонка | |||
|base/DateTime | |||
|True | |||
|defaultValue: GlobalUtils.nowDateTime() | |||
|} | |} | ||
Строка 458: | Строка 469: | ||
|storageMode | |storageMode | ||
|history | |history | ||
| | | rowspan="2" |Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName | ||
|- | |||
|partitionPropertyName | |||
|dateTime | |||
|- | |- | ||
|integrityMode | |integrityMode | ||
|sync_fast_notify | |sync_fast_notify | ||
| | | | ||
|} | |} | ||
Строка 497: | Строка 507: | ||
|Дата создания | |Дата создания | ||
|base/DateTime | |base/DateTime | ||
| | |True | ||
|defaultValue: GlobalUtils.nowDateTime() | |defaultValue: GlobalUtils.nowDateTime() | ||
|} | |} | ||
Строка 526: | Строка 536: | ||
|storageMode | |storageMode | ||
|history | |history | ||
| | | rowspan="2" |Создать класс необходимо с storageMode=category, после активации пакета, необходимо изменить режим на history и заполнить partitionPropertyName | ||
|- | |||
|partitionPropertyName | |||
|dateTime | |||
|- | |- | ||
|integrityMode | |integrityMode | ||
|sync_fast_notify | |sync_fast_notify | ||
| | | | ||
|} | |} | ||
Строка 565: | Строка 574: | ||
|Дата создания | |Дата создания | ||
|base/DateTime | |base/DateTime | ||
| | |True | ||
|defaultValue: GlobalUtils.nowDateTime() | |defaultValue: GlobalUtils.nowDateTime() | ||
|} | |} | ||
Строка 575: | Строка 584: | ||
Для этого в приложении Builder, в разделе Packages необходимо выделить ваш пакет и нажать кнопку Apply в верхней части окна. | Для этого в приложении 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. Настройка приложения