Определение графика работы офиса

Материал из Oktell
Перейти к: навигация, поиск

В общих настройках существует нечто: Общие настройки->График работы офиса. ГрафикОфиса.PNG

Возникает вопрос как можно проверить, например в главном IVR сценарии, соответствует ли текущее время графику работы офиса или нет. В таблице? Сами данные по графику хранятся в таблице [oktell_settings].[dbo].[A_Settings] в строках с ключами: 'us~~~~o_WorkTime'( рабочее время), 'usd~~~o_Holidays'(праздники) виде xml-структур.

Соответственно, можно создать сценарий, возвращающий 1 - да, соответствует, 0 - нет и запускать его как вложенный. Сами xml-структуры разбираются парсером Октела. Для графика работы офиса (в сценарии-примере): Количество записей для дня недели ">Period[WeekDay='+[деньнедели]+']", где [деньнедели] - переменная содержащая день недели в числовой форме Понедельник=1, Вторник=2,.. Воскресенье=7. Период работы офиса в течении дня: "'>Period[WeekDay='+[деньнедели]+']:eq('+Str( [количество] )+')'", где [количество] - номер по порядку периода работы офиса в течении дня (например, офис работает с 9.00 до 12.00 и с 13.00 до 18.00 - имеем 2 периода).

Пример (в примере проверяется только график, праздники не проверяются): Файл:ГрафикРаботыОфиса.oscr