Управление видимостью групп в диалоговой форме

Материал из Oktell
Перейти к: навигация, поиск

Наверх    [Oktell 2.12+]

Введение

В релизе Oktell 2.12 от 2 июня 2015г. Появилась возможность управлять видимостью групп в зависимости от выбранных или введенных значений элементов в диалоговых формах.


Пример реализации

1)Был создан проект. В который были добавлены 2 таблицы абонентов, 1 диалоговый сценарий и 1 входящая задача.

1.1)Таблица абонентов которая была прикреплена к задаче - Таблица абонентов (таблица в БД oktell.dbo.article_vis_in_abon)

Dyn gr cc 0 1 1.jpg

Dyn gr cc 0 1 2.jpg


1.2)Таблица абонентов созданная для сохранения истории - Таблица истории звонков(таблица в БД oktell.dbo.article_vis_in_abon_history)

Dyn gr cc 0 2 1.jpg

Dyn gr cc 0 2 2.jpg

В этом параграфе описывается демонстрационный пример использования функционала управления видимостью групп. Диалоговый сценарий выглядит следующим образом:

Dyn gr cc 1.jpg


1)Компонент «Объявление переменных»

Dyn gr cc 3.jpg

Тип компонента — Присвоение значения переменной

Режим — множественный

В данном компоненте происходит присвоение значений переменным:

  • переменной scr_comments присваивается значение из переменной типа поле таблицы comments
  • переменной scr_fio присваивается значение из переменной типа поле таблицы fio
  • переменной scr_idchain присваивается значение фунции Id цепочки коммутаций
  • переменной scr_phone присваивается значение из переменной типа поле таблицы phone
  • переменной scr_dogovor присваивается значение из переменной типа поле таблицы dogovor
  • переменной scr_balance присваивается значение из переменной типа поле таблицы balance
  • переменной scr_dogovor_date присваивается значение из переменной типа поле таблицы dogovor_date

На изображении так же отображены все переменные с указанием типа данных и места хранения.



2)Настройка диалоговой формы

Dyn gr cc 4.jpg

У компонента Диалоговая форма при необходимости настраиваем свойства (Блок переключения, Команда СТОП, Команда НАЗАД и т. д.)

Dyn gr cc 5.jpg

После выделения компонента переходим во вкладку свойство, либо в соответствующее свойство в инспекторе объектов


Общий вид редактора форм созданной карточки виден на следующем изображении

Dyn gr cc 6.jpg


2.1)Группы (настройка управления видимостью)

2.1.1)Информация о клиенте — базовая группа при открытии карточки у оператора, отображается необходимая информация для начала обработки звонка.

Dyn gr cc 7.jpg

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

Dyn gr cc 8.jpg
  • Ключевым является свойство «Идентификатор» (в примере: promo) в него будет сохранено введенное значение и его мы будем анализировать для отображения того или иного специального предложения.
  • Свойство «Значение» - по умолчанию 0 (можно указать начальное значения для отображения базового спец. Предложения)
  • Свойство «Сохранение» - указываем переменную в которую сохраним значение (НЕ является необходимым условием для работы видимости группы!), в данном примере используется для сохранения истории в БД



Обратите внимание!

  • Дополнительно можно анализировать наличие галочки у поля ( [Ссылка на wiki - Группа] )
  • Назначение свойства «Сохранение» НЕ является необходимым условием для работы видимости группы!
  • Рекомендуется название идентификатора начинать с буквы, либо при описании условия видимости заключать идентификатор в квадратные скобки. Например: a5, promo, [2a5], [2], и т. д.



2.1.2)Специальные предложения 1 — группа с условием видимости для идентификатора «promo»

Dyn gr cc 9.jpg
  • Свойство «Условие видимости» - promo<1500
  • Свойство «Развернуто по умолчанию» - Да

Учитывая значение по умолчанию в поле «Промокод» данная группа будет открыта при поступлении звонка. Группа состоит из одного компонента «Метка» с фиксированным текстом.



2.1.3)Специальные предложения 2 - группа с условием видимости для идентификатора «promo»

Dyn gr cc 10.jpg
  • Свойство «Условие видимости» - promo>=1500&&promo<=10000
  • Свойство «Развернуто по умолчанию» - Да

Группа состоит из одного компонента «Метка» с фиксированным текстом.


2.1.4)Специальные предложения 3 - группа с условием видимости для идентификатора «promo»

Dyn gr cc 11.jpg
  • Свойство «Условие видимости» - promo>10000
  • Свойство «Развернуто по умолчанию» - Да

Группа состоит из одного компонента «Метка» с фиксированным текстом.


2.1.5)Меню — у данной группы идентификатор не установлен. Необходима для управления видимостью различных групп.

Состоит из одного компонента «Группа опций»

Dyn gr cc 12.jpg
  • Свойство «Идентификатор» (в примере: dyn_menu) в него будет сохранено значение выбранного варианта (в примере значение может быть 0,1 или 2)
  • Свойство «Элементы» - в примере sql запрос первый атрибут будет присвоен в значение идентификатора компонента, а второй будет отображен пользователю.

2.1.6)Данные по договору - группа с условием видимости для идентификатора «dyn_menu»

Dyn gr cc 13.jpg
  • Свойство «Условие видимости» - dyn_menu==0
  • Свойство «Развернуто по умолчанию» - Да

Группа состоит из нескольких компонентов «Текстовое поле» с произвольным содержанием. В примере из базы данных загружается информация о договоре клиента.


2.1.7)История обращений - группа с условием видимости для идентификатора «dyn_menu»

Dyn gr cc 14.jpg
  • Свойство «Условие видимости» - 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]+'%'


2.1.8)Переключение - группа с условием видимости для идентификатора «dyn_menu». Необходима для выбора отдела на который будет происходить переключение.

Dyn gr cc 15.jpg
  • Свойство «Условие видимости» - - dyn_menu==2
  • Свойство «Сбрасывать введенные значения при скрытии» - Да
  • Свойство «Развернуто по умолчанию» - Да


Состоит из одного компонента «Группа опций»

Dyn gr cc 16.jpg
  • Свойство «Идентификатор» (в примере: dyn_tran) в него будет сохранено значение выбранного варианта (в примере значение может быть 11,12 или 13)
  • Свойство «Элементы» - значение будет присвоено в идентификатор компонента, а подпись отображается пользователю для выбора.

2.1.8)Тех поддержка - группа с условием видимости для идентификатора «dyn_tran»

Dyn gr cc 17.jpg
  • Свойство «Условие видимости» - dyn_tran==11
  • Свойство «Развернуто по умолчанию» - Да

Группа состоит из трех компонентов «Кнопка» с номерами 101,102 и 103, с соответствующим свойством «Надпись на кнопке».


2.1.9)Отдел продаж - группа с условием видимости для идентификатора «dyn_tran»

Dyn gr cc 18.jpg
  • Свойство «Условие видимости» - dyn_tran==12
  • Свойство «Развернуто по умолчанию» - Да

Группа состоит из трех компонентов «Кнопка» с номерами 201,202 и 203, с соответствующим свойством «Надпись на кнопке».


2.1.10)Отдел доставки - группа с условием видимости для идентификатора «dyn_tran»

Dyn gr cc 19.jpg
  • Свойство «Условие видимости» - dyn_tran==13
  • Свойство «Развернуто по умолчанию» - Да

Группа состоит из трех компонентов «Кнопка» с номерами 301,302 и 303, с соответствующим свойством «Надпись на кнопке».



3)Компонент «Записываем данные в таблицу истории» - Sql запрос, который записывает данные полученные после общения с клиентом

Dyn gr cc 20.jpg

Список параметров указан на изображении.

Текст 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)



4)Компонент «Сохранение данных» - модифицирует данные в таблице абонентов с которой работает задача. Используются переменные типа поле таблицы.

Dyn gr cc 21.jpg


Файлы

  1. Диалоговый сценарий "Карточка с управлением видимостью групп"
  2. Проект "Демо управление видимостью групп"