База данных клиентов ведется во внешней для call-центр программе, которая использует в качестве СУБД MS SQL сервер. Данные о клиентах и их персональных менеджерах лежат в таблице dbo.tbClients в базе данных Client_DB. Таблица dbo.tbClients имеет длинный список полей, но нас интересуют только следующие:
id – внутренний целочисленный уникальный идентификатор клиента
cName – строковое, наименование клиента
cManager – строковое, ФИО персонального менеджера (если задан)
cPhone – строковое, номер телефона клиента
cManagerPhone – строковое, внутренний телефон персонального менеджера (если задан)
cManagerMobile – строковое, мобильный телефон персонального менеджера (если задан)
cCategory – строковое, маркетинговая категория абонента (если задана)
Регистрация внешней базы данных Client_DB производится в «Infinity Call-центр X» по процедуре, описанной в разделе документации Интеграция с базами данных.
Данные клиента определяются на основе простого SQL запроса:
SELECT top 1 [cName], [cManager], [cManagerPhone], [cManagerMobile], [cCategory]
FROM [Client_DB].[dbo].[tbClients] where [cPhone]=:cPhone
Данным запросом выбирается первая строка из таблица [dbo].[tbClients] в которой поле [cPhone] совпадает с переменной cPhone.
Внимание! Все входные переменные запроса вне зависимости от синтаксиса языка SQL базы данных обозначаются через знак двоеточие перед переменной.
Фрагмент сценария с запросом к базе данных будет выглядеть так. Сначала объявляем строковые переменные cName, cManager, cManagerPhone, cManagerMobile, cCategory и задаем им начальное значение пустая строка.

После чего ставим компонент "SQL запрос", двойным щелчком мыши активируем его свойства и свойствах запроса указываем что будем использовать SQL запрос, в качестве базы данных выбираем зарегистрированную базу Client_DB_MSSQL, а в тело самого запроса пишем наш SQL, запрос не забывая поставить перед входным параметром двоеточие:

После проверки запроса в компоненте появится перечень переменных, которым задаем значения переменных:

Входному параметру [phone] задаем значение функции АОН(), а выходным параметрам ставим в соответствие переменные сценария cName, cManager, cManagerPhone, cManagerMobile, cCategory.
Общий вид фрагмента сценария выглядит так:

В компоненте "Информация о звонке" записываем в карточку вызова полученные данные.
В итоге, после выполнения данного фрагмента сценария, у нас в переменные сценария попадут соответствующие значения из таблицы клиентов для данного телефонного номера или останется пустота, если совпадений строки с таким номером телефона в таблице не будет.