Закрепление абонентов за определенными операторами при исходящей задаче.

Материал из Oktell
Версия от 14:12, 9 января 2015; Oktell Support (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Наверх

Задача:
Нужна исходящая задача, в которой каждый абонент закреплен за конкретным оператором.
Решение:
Создаем проект:

Tasko1.png

Создаем таблицу абонентов:

Tasko2.png

Добавляем столбцы и даем им ОБЯЗАТЕЛЬНЫЕ назначения:

Tasko3.png

Импортируем данные из таблицы Excel:

Tasko4.png

Структура Excel имеет следующий вид:

Tasko5.png

В результате:

Tasko6.png

Теперь у нас есть таблица абонентов, в которой за номером закреплены определенные ID.
Теперь эти ID нужно сопоставить со списком операторов.
Получаем список наших операторов:
Select id,name
from A_Users u
Inner join A_UserParams up on u.Id = up.Iduser
Where IsOperator = 1

Tasko7.png

Вставляем все в Excel. Даем название столбцам и каждому оператору даем определенный ID (Operator ID):

Tasko8.png

Создаем таблицу в Oktell'е и импортируем данные об операторах.

Tasko9.png

Tasko10.png

Создаем задачу и задаем ей необходимые свойства.
Рассмотрим вкладки "Ресурсы" и "Абоненты"
Выбираем всех операторов, независимо от того, будут ли они участвовать задаче.
Выбираем вариант обхода операторов "Пользовательская процедура" ( о ней чуть ниже)

Tasko11.png

В качестве таблицы абонентов выбираем нашу таблицу.

Tasko12.png

Теперь запускаем SQL Server Management Studio Express.
Выполняем запрос:
SELECT [Id],[Name]
FROM [oktell_settings].[dbo].[A_TaskManager_Tasks]
В получившейся таблице находим нашу задачу и копируем ее ID.

Tasko13.png

Далее ищем хранимую процедуру A_TaskManager_OperatorsAll_Get_Custom в баз oktell и модифицируем ее.

Tasko14.png

Текст запроса:
-- Задача "С закреплением абонента за оператором"
if (@idtask = 'F6A349EA-F430-4FA7-9664-D17DF9870347')
begin
select GUID as Id
from Operators
inner join tab_clients on [ID оператора]=[Operator ID]
where tab_clients.id =@idabonent
return
end
--Дефолтные величины
Select Id
FROM A_Users u
Inner join A_UserParams up on u.Id = up.Iduser
Where IsOperator = 1
end
Где вместо "F6A349EA-F430-4FA7-9664-D17DF9870347" пишем ID вашей задачи.
Нажимаем "Выполнить"
Теперь запускаем задачу:
И видим, что звонок абоненту 87777777777 распределяется на оператора "Медведев Виктор Сергеевич"
Tasko15.png
Источник — «https://wiki.oktell.ru/index.php?title=Закрепление_абонентов_за_определенными_операторами_при_исходящей_задаче.&oldid=11281»