Предыдущая статья курса: Задание 0. Подготовка стенда и постановка задачи
Введение
В рамках данной статьи, мы пошагово создадим "заготовку" будущей системы. При создании сущностей мы не будем вдаваться в подробности. Каждый из шагов, в дальнейшем, будет разобран детально в соответствующих разделах курса.
Такой быстрый старт, с одной стороны, позволит быстро получить промежуточный результат, с которым можно работать и реализовывать собственные задачи, а с другой стороны, совершит "обзорную экскурсию" по функциональности приложения Builder.
Подробное описание составляющих пакета можно найти во введении курса.
Создание базовых объектов
Рассмотрим пошаговый процесс создания простейшей информационной системы для учета заявок и ее интеграции с контакт-центром (автоматическое открытие карточки заявки при входящем звонке).
1. Развернуть продуктовый слой.
Контроль успеха: не возникло ошибок (красных сообщений в консоли), через минуту в корневом приложении домена появился ряд приложений колл-центра и приложение Builder
2. Открыть приложение Builder
3. Создать пакет tickets
Поле dependencies оставляем пустым, в поле name указываем "tickets".
4. Создать в пакете tickets класс Ticket (Tickets, Заявка, Заявки) с одним строковым (base/String) полем phone (Телефон).
Параметры класса и поля необходимо заполнить в соответствии со скриншотами.
5. Активировать пакет
Контроль успеха: HTTP/GET-запрос вида http://[era_fqdn]/rest/v1/model/tickets/Tickets возвращает 200 ОК [] (вместо 404 до активации пакета)
6. Создать приложение manager (Менеджер заявок), разрешить приложение для роли admin (в поле Roles, раздела Behaviour). На вкладке toolbox добавить элемент управления элемента управления tickets/Tickets (он был сгенерирован автоматически при создании класса).
Разделы Appearance и Misc изменять не требуется.
7. Переактивировать (deactivate, activate) пакет для применения изменений.
Контроль успеха: в корневом приложении появилось новое приложение, в котором можно работать с заявками
8. Создать роль user (fullName: tickets_user), назначить эту роль приложению (в дополнение к добавленной ранее роли admin), переактивировать модель.
Контроль успеха: теперь пользователям, обладающим ролью tickets_user доступно приложение Менеджер заявок.
Создать нового пользователя можно в приложении "Настройки", в разделе Пользователи и группы.
Доработка и создание дополнительных объектов
9. Создать перечисление TicketState, состоящее из трех элементов: opened (Открыта, orange), inprogress (В работе, green), closed (Закрыта, darkgray)
10. Добавить в класс Ticket поле state (Состояние, tickets/TicketState)
11. Применить (apply) изменения пакета
Контроль успеха: в таблице и карточке заявки появилось поле Состояние
12. Создать класс ResponsibleUser (parent: base/NamedEntity, lookupLink: false)
13. Добавить в класс Ticket поле responsibleUser (caption: Ответственный, dataType: tickets/ResponsibleUser)
14. Добавить в приложение manager элемент управления tickets/ResponsibleUsers
15. Применить изменения пакета
Контроль успеха: в приложении появился новый инструмент Ответственные, а в таблице и карточке инструмента Заявки появилось поле Ответственный.
16. Добавить в класс Ticket поле dateTime { dataType: base/DateTime, required: true, defaultValue: GlobalUtils.nowDateTime() }
17. Задать сортировку для класса Ticket: dataOptions: { defaultOrder: [{ dateTime: desc }] }
16. Изменить тип хранилища класса Ticket: { storageMode: history, partitionPropertyName: dateTime }
17. Применить изменения пакета
Контроль успеха: в таблице «Заявки» появился фильтр с выбором периода
18. Разрешить экспорт таблицы для класса Ticket: UI: tableControlOptions.allowExport: true
19. Применить изменения пакета
Контроль успеха: в таблице «Заявки» появилась кнопка «Экспорт» для выгрузки содержимого таблицы в Excel и CSV
Использование приложения в контакт-центре
Следующие шаги являются опциональными в рамках данного курса, однако позволяют получить опыт встраивания разрабатываемых приложений в процесс обработки звонков.
20. *Создать в приложении Администратор КЦ очередь с кодом tickets, добавить в нее оператора и указать url /ui/tickets/Ticket?mode=add&values={"Телефон":"[Телефон]"}.
21. *Создать в приложении Настройки сценарий IVR с переключением на очередь (компонент Внешнее управление, acdCode: tickets, callContext.Телефон: remotenum())
Контроль успеха: при звонке на сценарий звонок попадает в очередь и распределяется на свободных операторов очереди в статусе Готов. В зависимости от открытого приложения (Оператор КЦ или Пользователь КЦ) карточка будет открываться автоматически либо вручную (при нажатии на кнопку на главной панели инструментов), при этом поле Телефон будет заполняться автоматически.
Типовые варианты настройки внешних и внутренних карточек описаны во встроенной минидокументации в приложении Администратор контакт-центра:
Следующая статья курса: Хранение данных. Классы