Определение графика работы офиса — различия между версиями
Строка 20: | Строка 20: | ||
==Реализация с помощью статуса объекта == | ==Реализация с помощью статуса объекта == | ||
− | Для версий старше 2.9 определение рабочего времени доступно с помощью компонента "Статус объекта". | + | Для версий старше 2.9 определение рабочего времени доступно с помощью компонента "'''Статус объекта'''". |
Строка 30: | Строка 30: | ||
*'''Тип объекта''' - Сервер | *'''Тип объекта''' - Сервер | ||
*'''Функция''' - Рабочее время по графику офиса | *'''Функция''' - Рабочее время по графику офиса | ||
− | *'''Параметр''' - текущее время (или время, за которое проверяем график работы офиса). В примере используется функция "Текущие дата и время". | + | *'''Параметр''' - текущее время (или время, за которое проверяем график работы офиса). В примере используется функция "'''Текущие дата и время'''". |
*'''Значение в переменную''' - выберите переменную для хранения результата. | *'''Значение в переменную''' - выберите переменную для хранения результата. | ||
Версия 07:22, 16 апреля 2014
Содержание
Введение
В общих настройках есть следующий пункт: Общие настройки->График работы офиса.
Часто возникает вопрос как можно проверить, например, в главном IVR сценарии, соответствует ли текущее время графику работы офиса или нет.
Сами данные по графику хранятся в таблице [oktell_settings].[dbo].[A_Settings] в виде xml-структур в строках с ключами:
- 'us~~~~o_WorkTime' (рабочее время),
- 'usd~~~o_Holidays' (праздники)
Реализация с помощью статуса объекта
Для версий старше 2.9 определение рабочего времени доступно с помощью компонента "Статус объекта".
В компоненте настраиваются следующие параметры:
- Действие - Определить
- Тип объекта - Сервер
- Функция - Рабочее время по графику офиса
- Параметр - текущее время (или время, за которое проверяем график работы офиса). В примере используется функция "Текущие дата и время".
- Значение в переменную - выберите переменную для хранения результата.
Результатом является число 1, если время в параметре соответствует графику работы офиса и 0 - если не соответствует.
Реализация для версий Oktell ниже 2.9
Для версий ниже 2.9 можно создать сценарий, возвращающий 1 - время соответствует графику офиса, 0 - не соответствует и запускать его как вложенный. Сами xml-структуры разбираются парсером Oktell. Для графика работы офиса (в сценарии-примере):
Количество записей для дня недели: '>Period[WeekDay='+[деньнедели]+']', где [деньнедели] - переменная содержащая день недели в числовой форме: Понедельник=1, Вторник=2,.. Воскресенье=7.
Период работы офиса в течении дня: '>Period[WeekDay='+[деньнедели]+']:eq('+Str( [количество] )+')', где [количество] - номер по порядку периода работы офиса в течении дня (например, офис работает с 9.00 до 12.00 и с 13.00 до 18.00 - имеем 2 периода).
В нижеприведенном примере проверяется только график, праздники не проверяются):
ВНИМАНИЕ: Представленный сценарий является служебным. Чтобы использовать его в главном IVR сценарии, скопируйте элементы.
Скачать сценарий: ГрафикРаботыОфиса.oscr (для версий Oktell младше 2.10)