Определение графика работы офиса — различия между версиями
Строка 7: | Строка 7: | ||
− | Возникает вопрос как можно проверить, например, в главном IVR сценарии, соответствует ли текущее время графику работы офиса или нет. В таблице? Сами данные по графику хранятся в таблице '''[oktell_settings].[dbo].[A_Settings]''' в строках с ключами: | + | Возникает вопрос как можно проверить, например, в главном IVR сценарии, соответствует ли текущее время графику работы офиса или нет. В таблице? Сами данные по графику хранятся в таблице '''[oktell_settings].[dbo].[A_Settings]''' в виде xml-структур в строках с ключами: |
*<nowiki>'us~~~~o_WorkTime'</nowiki> (рабочее время), | *<nowiki>'us~~~~o_WorkTime'</nowiki> (рабочее время), | ||
− | *<nowiki>'usd~~~o_Holidays'</nowiki> (праздники) | + | *<nowiki>'usd~~~o_Holidays'</nowiki> (праздники) |
Версия 06:03, 16 апреля 2014
В общих настройках есть следующий пункт: Общие настройки->График работы офиса.
Возникает вопрос как можно проверить, например, в главном IVR сценарии, соответствует ли текущее время графику работы офиса или нет. В таблице? Сами данные по графику хранятся в таблице [oktell_settings].[dbo].[A_Settings] в виде xml-структур в строках с ключами:
- 'us~~~~o_WorkTime' (рабочее время),
- 'usd~~~o_Holidays' (праздники)
Соответственно, можно создать сценарий, возвращающий 1 - да, соответствует, 0 - нет и запускать его как вложенный. Сами xml-структуры разбираются парсером Oktell. Для графика работы офиса (в сценарии-примере):
Количество записей для дня недели: '>Period[WeekDay='+[деньнедели]+']', где [деньнедели] - переменная содержащая день недели в числовой форме: Понедельник=1, Вторник=2,.. Воскресенье=7.
Период работы офиса в течении дня: '>Period[WeekDay='+[деньнедели]+']:eq('+Str( [количество] )+')', где [количество] - номер по порядку периода работы офиса в течении дня (например, офис работает с 9.00 до 12.00 и с 13.00 до 18.00 - имеем 2 периода).
Пример (в примере проверяется только график, праздники не проверяются): Файл:ГрафикРаботыОфиса.oscr