Управление видимостью групп в диалоговой форме
Наверх [Oktell 2.12+]
Содержание
Введение
В релизе Oktell 2.12 от 2 июня 2015г. Появилась возможность управлять видимостью групп в зависимости от выбранных или введенных значений элементов в диалоговых формах.
Пример реализации
1)Был создан проект. В который были добавлены 2 таблицы абонентов, 1 диалоговый сценарий и 1 входящая задача.
1.1)Таблица абонентов которая была прикреплена к задаче - Таблица абонентов (таблица в БД oktell.dbo.article_vis_in_abon)
1.2)Таблица абонентов созданная для сохранения истории - Таблица истории звонков(таблица в БД oktell.dbo.article_vis_in_abon_history)
Диалоговый сценарий выглядит следующим образом:
2)Компонент «Объявление переменных»
Тип компонента — Присвоение значения переменной
Режим — множественный
В данном компоненте происходит присвоение значений переменным:
- переменной scr_comments присваивается значение из переменной типа поле таблицы comments
- переменной scr_fio присваивается значение из переменной типа поле таблицы fio
- переменной scr_idchain присваивается значение фунции Id цепочки коммутаций
- переменной scr_phone присваивается значение из переменной типа поле таблицы phone
- переменной scr_dogovor присваивается значение из переменной типа поле таблицы dogovor
- переменной scr_balance присваивается значение из переменной типа поле таблицы balance
- переменной scr_dogovor_date присваивается значение из переменной типа поле таблицы dogovor_date
На изображении так же отображены все переменные с указанием типа данных и места хранения.
3)Настройка диалоговой формы
У компонента Диалоговая форма при необходимости настраиваем свойства (Блок переключения, Команда СТОП, Команда НАЗАД и т. д.)
После выделения компонента переходим во вкладку свойство, либо в соответствующее свойство в инспекторе объектов
Общий вид редактора форм созданной карточки виден на следующем изображении
3.1)Группы (настройка управления видимостью)
3.1.1)Информация о клиенте — базовая группа при открытии карточки у оператора, отображается необходимая информация для начала обработки звонка.
Развернута по умолчанию — Да Количество полей и их назначение произвольное, в данном примере используется поле «Промокод» для отображения специальных предложений в зависимости от введенного значения.
- Ключевым является свойство «Идентификатор» (в примере: promo) в него будет сохранено введенное значение и его мы будем анализировать для отображения того или иного специального предложения.
- Свойство «Значение» - по умолчанию 0 (можно указать начальное значения для отображения базового спец. Предложения)
- Свойство «Сохранение» - указываем переменную в которую сохраним значение (НЕ является необходимым условием для работы видимости группы!), в данном примере используется для сохранения истории в БД
Обратите внимание!
- Дополнительно можно анализировать наличие галочки у поля ( [Ссылка на wiki - Группа] )
- Назначение свойства «Сохранение» НЕ является необходимым условием для работы видимости группы!
- Рекомендуется название идентификатора начинать с буквы, либо при описании условия видимости заключать идентификатор в квадратные скобки. Например: a5, promo, [2a5], [2], и т. д.
3.1.2)Специальные предложения 1 — группа с условием видимости для идентификатора «promo»
- Свойство «Условие видимости» - promo<1500
- Свойство «Развернуто по умолчанию» - Да
Учитывая значение по умолчанию в поле «Промокод» данная группа будет открыта при поступлении звонка. Группа состоит из одного компонента «Метка» с фиксированным текстом.
3.1.3)Специальные предложения 2 - группа с условием видимости для идентификатора «promo»
- Свойство «Условие видимости» - promo>=1500&&promo<=10000
- Свойство «Развернуто по умолчанию» - Да
Группа состоит из одного компонента «Метка» с фиксированным текстом.
3.1.4)Специальные предложения 3 - группа с условием видимости для идентификатора «promo»
- Свойство «Условие видимости» - promo>10000
- Свойство «Развернуто по умолчанию» - Да
Группа состоит из одного компонента «Метка» с фиксированным текстом.
3.1.5)Меню — у данной группы идентификатор не установлен. Необходима для управления видимостью различных групп.
Состоит из одного компонента «Группа опций»
- Свойство «Идентификатор» (в примере: dyn_menu) в него будет сохранено значение выбранного варианта (в примере значение может быть 0,1 или 2)
- Свойство «Элементы» - в примере sql запрос первый атрибут будет присвоен в значение идентификатора компонента, а второй будет отображен пользователю.
3.1.6)Данные по договору - группа с условием видимости для идентификатора «dyn_menu»
- Свойство «Условие видимости» - dyn_menu==0
- Свойство «Развернуто по умолчанию» - Да
Группа состоит из нескольких компонентов «Текстовое поле» с произвольным содержанием. В примере из базы данных загружается информация о договоре клиента.
3.1.7)История обращений - группа с условием видимости для идентификатора «dyn_menu»
- Свойство «Условие видимости» - dyn_menu==1
- Свойство «Развернуто по умолчанию» - Да
Группа состоит из одного компонента «Таблица», в котором отображается информация об истории обращений клиента. Данные получаем с помощью sql запроса из таблицы oktell.dbo.article_vis_in_abon_history
Текст sql запроса:
select phone, fio, comments, dogovor, balance, dogovor_date, promo from article_vis_in_abon_history where phone like '%'+[phone]+'%'
3.1.8)Переключение - группа с условием видимости для идентификатора «dyn_menu». Необходима для выбора отдела на который будет происходить переключение.
- Свойство «Условие видимости» - - dyn_menu==2
- Свойство «Сбрасывать введенные значения при скрытии» - Да
- Свойство «Развернуто по умолчанию» - Да
Состоит из одного компонента «Группа опций»
- Свойство «Идентификатор» (в примере: dyn_tran) в него будет сохранено значение выбранного варианта (в примере значение может быть 11,12 или 13)
- Свойство «Элементы» - значение будет присвоено в идентификатор компонента, а подпись отображается пользователю для выбора.
3.1.8)Тех поддержка - группа с условием видимости для идентификатора «dyn_tran»
- Свойство «Условие видимости» - dyn_tran==11
- Свойство «Развернуто по умолчанию» - Да
Группа состоит из трех компонентов «Кнопка» с номерами 101,102 и 103, с соответствующим свойством «Надпись на кнопке».
3.1.9)Отдел продаж - группа с условием видимости для идентификатора «dyn_tran»
- Свойство «Условие видимости» - dyn_tran==12
- Свойство «Развернуто по умолчанию» - Да
Группа состоит из трех компонентов «Кнопка» с номерами 201,202 и 203, с соответствующим свойством «Надпись на кнопке».
3.1.10)Отдел доставки - группа с условием видимости для идентификатора «dyn_tran»
- Свойство «Условие видимости» - dyn_tran==13
- Свойство «Развернуто по умолчанию» - Да
Группа состоит из трех компонентов «Кнопка» с номерами 301,302 и 303, с соответствующим свойством «Надпись на кнопке».
4)Компонент «Записываем данные в таблицу истории» - Sql запрос, который записывает данные полученные после общения с клиентом
Список параметров указан на изображении.
Текст sql запроса:
if @idchain='' set @idchain='00000000-0000-0000-0000-000000000000' insert into oktell.dbo.article_vis_in_abon_history (phone, fio, comments, idchain, dogovor, balance, dogovor_date, promo) values (@phone, @fio, @comments, @idchain, @dogovor, @balance, @dogovor_date, @promo)
5)Компонент «Сохранение данных» - модифицирует данные в таблице абонентов с которой работает задача. Используются переменные типа поле таблицы.
Результаты
<iframe width="560" height="315" src="https://www.youtube.com/embed/WN3oKuCOAkw" frameborder="0" allowfullscreen></iframe>