IP PBX Oktell
Задача:
Нужна исходящая задача, в которой каждый абонент закреплен за конкретным оператором.
Создаем проект:
Создаем таблицу абонентов:
Добавляем столбцы и даем им ОБЯЗАТЕЛЬНЫЕ назначения:
В результате:
Теперь у нас есть таблица абонентов, в которой за номером закреплены определенные ID. Теперь эти ID нужно сопоставить со списком операторов.
Получаем список наших операторов:
Select id,name
from A_Users u
Inner join A_UserParams up on u.Id = up.Iduser
Where IsOperator = 1
Вставляем все в Excel. Даем название столбцам и каждому оператору даем определенный ID (Operator ID):
Создаем задачу и задаем ей необходимые свойства. Рассмотрим вкладки "Ресурсы" и "Абоненты"
Выбираем всех операторов, независимо от того, будут ли они участвовать задаче.
Выбираем вариант обхода операторов "Пользовательская процедура" ( о не чуть ниже)
Теперь запускаем SQL Server Management Studio Express. Выполняем запрос:
SELECT [Id]
,[Name]
В получившейся таблице находим нашу задачу и копируем ее ID.
Далее ищем хранимую процедуру A_TaskManager_OperatorsAll_Get_Custom в баз oktell и модифицируем ее.
-- Задача "С закреплением абонента за оператором"
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
Задача:
Нужна исходящая задача, в которой каждый абонент закреплен за конкретным оператором.
Создаем проект:
Создаем таблицу абонентов:
Добавляем столбцы и даем им ОБЯЗАТЕЛЬНЫЕ назначения:
Импортируем данные из таблицы Excel:
Структура Excel имеет следующий вид:
Теперь у нас есть таблица абонентов, в которой за номером закреплены определенные ID. Теперь эти ID нужно сопоставить со списком операторов.
Получаем список наших операторов:
Select id,name
from A_Users u
Inner join A_UserParams up on u.Id = up.Iduser
Where IsOperator = 1
Вставляем все в Excel. Даем название столбцам и каждому оператору даем определенный ID (Operator ID):
Создаем таблицу в Oktell'е и импортируем данные об операторах.
Выбираем всех операторов, независимо от того, будут ли они участвовать задаче.
Выбираем вариант обхода операторов "Пользовательская процедура" ( о не чуть ниже)
В качестве таблицы абонентов выбираем нашу таблицу.
SELECT [Id]
,[Name]
FROM [oktell_settings].[dbo].[A_TaskManager_Tasks]
В получившейся таблице находим нашу задачу и копируем ее ID.
Далее ищем хранимую процедуру A_TaskManager_OperatorsAll_Get_Custom в баз oktell и модифицируем ее.
Текст запроса:
-- Задача "С закреплением абонента за оператором"
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 вашей задачи.
Комментариев нет:
Отправить комментарий