Определение графика работы офиса — различия между версиями
Insoft (обсуждение | вклад) (Новая страница: «В общих настройках существует нечто: Общие настройки->График работы офиса. [[Файл:ГрафикОф...») |
Insoft (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
[[Файл:ГрафикОфиса.PNG]] | [[Файл:ГрафикОфиса.PNG]] | ||
− | Возникает вопрос как можно проверить, например в главном IVR сценарии, соответствует ли текущее время графику работы офиса или нет. В таблице? Сами данные по графику хранятся в таблице [oktell_settings].[dbo].[A_Settings] в строках с ключами: <nowiki>'us~~~~o_WorkTime'</nowiki>( рабочее время), <nowiki>'usd~~~o_Holidays'</nowiki>(праздники) виде xml-структур. Соответственно, можно создать сценарий, возвращающий 1 - да, соответствует, 0 - нет и запускать его как вложенный. Сами xml-структуры разбираются парсером | + | Возникает вопрос как можно проверить, например в главном IVR сценарии, соответствует ли текущее время графику работы офиса или нет. В таблице? Сами данные по графику хранятся в таблице [oktell_settings].[dbo].[A_Settings] в строках с ключами: <nowiki>'us~~~~o_WorkTime'</nowiki>( рабочее время), <nowiki>'usd~~~o_Holidays'</nowiki>(праздники) виде xml-структур вида: |
+ | график: | ||
+ | <?xml version="1.0" encoding="utf-8" standalone="yes"?> | ||
+ | <Description Version="81022"> | ||
+ | <Period WeekDay="1" StartTime="09:00:00" FinishTime="18:00:00" /> | ||
+ | <Period WeekDay="2" StartTime="06:00:00" FinishTime="18:00:00" /> | ||
+ | ... | ||
+ | <Period WeekDay="6" StartTime="15:00:00" FinishTime="16:00:00" /> | ||
+ | </Description> | ||
+ | праздники: | ||
+ | |||
+ | <?xml version="1.0" encoding="utf-8" standalone="yes"?> | ||
+ | <Description Version="81111"> | ||
+ | <Default Date="01.01.2000" Type="True" Description="Новогодние каникулы" /> | ||
+ | <Default Date="07.01.2000" Type="True" Description="Рождество Христово" /> | ||
+ | ... | ||
+ | <Default Date="04.11.2000" Type="True" Description="День народного единства" /> </Description> | ||
+ | |||
+ | Соответственно, можно создать сценарий, возвращающий 1 - да, соответствует, 0 - нет и запускать его как вложенный. Сами xml-структуры разбираются парсером Октела. Для графика работы офиса (в сценарии-примере): | ||
+ | Количество записей для дня недели ">Period[WeekDay='+[деньнедели]+']", где [деньнедели] - переменная содержащая день недели в числовой форме Понедельник=1, Вторник=2,.. Воскресенье=7. | ||
+ | Период работы офиса в течении дня: "'>Period[WeekDay='+[деньнедели]+']:eq('+Str( [количество] )+')'", где [количество] - номер по порядку периода работы офиса в течении дня (например, офис работает с 9.00 до 12.00 и с 13.00 до 18.00 - имеем 2 периода). | ||
Пример (в примере проверяется только график, праздники не проверяются): [[Файл:ГрафикРаботыОфиса.oscr]] | Пример (в примере проверяется только график, праздники не проверяются): [[Файл:ГрафикРаботыОфиса.oscr]] |
Версия 05:08, 6 июня 2011
В общих настройках существует нечто: Общие настройки->График работы офиса.
Возникает вопрос как можно проверить, например в главном IVR сценарии, соответствует ли текущее время графику работы офиса или нет. В таблице? Сами данные по графику хранятся в таблице [oktell_settings].[dbo].[A_Settings] в строках с ключами: 'us~~~~o_WorkTime'( рабочее время), 'usd~~~o_Holidays'(праздники) виде xml-структур вида: график: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <Description Version="81022"> <Period WeekDay="1" StartTime="09:00:00" FinishTime="18:00:00" /> <Period WeekDay="2" StartTime="06:00:00" FinishTime="18:00:00" /> ... <Period WeekDay="6" StartTime="15:00:00" FinishTime="16:00:00" /> </Description> праздники:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <Description Version="81111"> <Default Date="01.01.2000" Type="True" Description="Новогодние каникулы" /> <Default Date="07.01.2000" Type="True" Description="Рождество Христово" /> ... <Default Date="04.11.2000" Type="True" Description="День народного единства" /> </Description>
Соответственно, можно создать сценарий, возвращающий 1 - да, соответствует, 0 - нет и запускать его как вложенный. Сами xml-структуры разбираются парсером Октела. Для графика работы офиса (в сценарии-примере):
Количество записей для дня недели ">Period[WeekDay='+[деньнедели]+']", где [деньнедели] - переменная содержащая день недели в числовой форме Понедельник=1, Вторник=2,.. Воскресенье=7. Период работы офиса в течении дня: "'>Period[WeekDay='+[деньнедели]+']:eq('+Str( [количество] )+')'", где [количество] - номер по порядку периода работы офиса в течении дня (например, офис работает с 9.00 до 12.00 и с 13.00 до 18.00 - имеем 2 периода).
Пример (в примере проверяется только график, праздники не проверяются): Файл:ГрафикРаботыОфиса.oscr