====== SmartScript ====== Первоисточник [[http://docs.oracle.com/cd/B40099_02/books/SmartScript/booktitle.html|BookShelf]] Siebel Smart Script позволяет бизнес аналитикам, менеджерам call-центров и разработчикам Siebel создавать скрипты, определяющие бизнес процесс, для интерактивного общения с клиентами. Siebel Smart Script ведет агента во время каждого взаимодействия с клиентом, помогая предложить товары и услуги, которые могут его заинтересовать, основываясь на профиле клиента, текущих предпочтениях и потребительском поведении. ===== Хранение данных===== Есть возможность сохранять данные собранные с помощью Smart Script в таблицы БД. Для этого необходимо установить Save Session на скрипте и галочку Save Answer Table для вопросов, ответы на которые необходимо сохранять. Доступ к сохраненным ответам можно получить: * **С общей таблицы ответов в базе данных Siebel (БД)**. Для этого не нужно дополнительной настройки. Этот метод доступа используется в основном внешними системами. * **С помощью бизнес компонента ([[bc:start|БК]])**. Используется для получения сохраненной сессии Smart Script внутри Siebel. ===== Доступ к сохраненным ответам ===== Для извлечения данных с БК используются стандартные методы eScript: **GetBusObject**, **GetBusComp**, **GetFieldValue** и др. Основные бизнес компоненты и бизнес объекты которые используются для доступа к данным смарт скриптов: * **Call Scripts** - Бизнес объект, в котором хранятся БК для доступа к данным SmartScript * **Call Script Runs** – Бизнес компонент, хранит сессии смарт скрипта * **Call Script Run Answers** - Бизнес компонент, тут хранятся значения ответов, введенные пользователем, при прохождении Smart Script ===== Архитектура ===== Основными атрибутами Siebel Smart Script являются: * Скрипт * Страница * Вопрос * Ответ {{training:smartscript:smartscript.png?nolink&400|}} ==== Скрипт ==== Скрипт – корневой контейнер элементов Smart Script, содержит следующие настройки: * **Type** – тип скрипта, используется для ограничения видимости скрипта в приделах Siebel Application. Например, скрипты, что используются в eService, должны иметь тип Instructions или Troubleshooting. * **Save Session** – режимы сохранения пользовательских сессий. Примечание: Сохраняются только те ответы на вопросы у которых стоит признак Save Answer Table.\\ * **Jumping Allowed** – Позволяет пользователю выбирать вопросы в любой последовательности и использовать кнопку «Предыдущий» * **Business Component** – поле должно быть заполнено значением Account, Contact или Opportunity для Смрт Скрипта вызываемого кнопкой «Script» на скриних Account, Contact или Opportunity * **Organization** – список департаментов, которые имеют доступ к скрипту * **On Cancel Go to View** – вид на который переходить при нажатии кнопки «Отмена» * **On Finish Go to View** – вид на который переходить при нажатии кнопки «Завершить» ==== Страница ==== Страницы – это сгруппированные ответы, которые отображаются на одном экране во время выполнения скрипта. Страница должна содержать ответы, связанные между собой в порядке, который определяет бизнес процесс. Страницы хранятся независимо от скрипта, поэтому одна и та же страница может быть использована в разных скриптах. ==== Вопрос ==== Вопрос – основной элемент в архитектуре SmartScript. Он включает в себя атрибут Ответ и данные по его отображению. При работе с SmartScript, есть возможность использования ответов для обновления существующих записей или создание новых записей в любом БК. В настройках вопроса **Save Business Object**, **Save Bus Comp**, **Save Field** указывается в какой БО, БК, поле БК осуществлять сохранение ответа. Для обновления существующей записи, необходимо задать в настройках вопроса **Спецификация поиска**, согласно которой будет проходить поиск в указанном БК. Используется для активации нужной записи БК. Формат поисковой строки точно тот же, что и в SearchSpec на апплете или БК, например: [Id]=GetProfileAttr("YASSServReqId"), где YASSServReqId – это атрибут, который хранит ИД сервисного обращения. Значение атрибута устанавливается при вызове смарт скрипта следующим кодом на апплете: if (MethodName=="SmartScriptExec"){ TheApplication().SetProfileAttr("YASSServReqId",this.BusComp().ParentBusComp().GetFieldValue("Id")); TheApplication().InvokeMethod ("RunSmartScript", "", this.BusComp().GetFieldValue("YA SS Id"), "RUS", "ENU"); return (CancelOperation); } Примечание: это и есть ответ на вопрос № 8 Если вопрос сценария связан с полем БК, для которого в интерфейсе Siebel есть окна выбора (Pick-апплет, MVG-апплет), то эти же окна можно использовать в смарт скрипте для заполнения вопроса. * Если поле связано с Pick-апплетом, то на вопросе смарт скрипта надо вставить название Pick-апплета в поле Апплет выбора * Если поле связано с MVG-апплетом, то на вопросе смарт скрипта надо вставить название MVG-апплета в поле Апплет для многозначной группы * Если поле в интерфейсе Siebel использует апплет для ввода детальной информации (например поле с типом Валюта, или апплет добавления Вложений), то в смарт скрипте надо заполнить поле Апплет сведений {{training:smartscript:smartscript00.png?nolink&400|}}{{training:smartscript:smartscript01.png?nolink&400|}} * **Save User Parameters** используется для определения полей БК как пользовательских параметров. Активная запись БК сохраняется в пользовательский параметр (Настройка вопроса Спецификация поиска устанавливает запись активной). Например: (Param1, [Action.Id]), (Param2, [Action.Created]). * **Auto Sub Param** определяет список параметров, которые могут использоваться для автоматической подстановки их значений в текст вопроса. В тексте вопроса, значение, которое находится в скобках ([ ]), интерпретируется как параметр подстановки. Параметром подстановки может выступать пользовательский параметр, поле БК или CTI параметр * **Answer Control** – тип отображения вариантов ответа * **Pick Only** – указывает, что пользователь может выбрать ответ только из списка предопределенных ответов привязанных к вопросу * **Min Length** and **Max Length** – минимальная и максимальная длинна ответа, который может ввести пользователь * **Must Answer** – показывает, является ли ответ на вопрос обязательным * **Default Answer** – ответ, отображаемый по умолчанию * **Answer Type** тип данных ответа на вопрос * **Save Currency Field** – поле БК, которое содержит значение валюты * **Save Answer Table** – указывает, что ответ необходимо сохранять в общую таблицу ответов * **Currency** – код валюты используемый для идентификации вводимого ответа * **Replication Level** – уровень репликации, используется в Siebel Remote ===== Создание Smart Script ===== [[http://docs.oracle.com/cd/E14004_01/books/SmartScript/SmartScriptWorkQueAnsTrans3.html|BookShelf]] Для создание Siebel Smart Script необходимо перейти в меню Администрирование => SmartScript => Вопросы. На List Applet Вопросы создаем новый вопрос. ^Имя^Тип ответа^Управление ответом^Должен ответить^Стандартный ответ^SmartScripts^Сохранить в таблицу ответов^ |DTB_SET_SMS_STATE_Q|String|Dropdown|Answer If Reached| | | | Статья не закончена