ServiceDesk > Работа с обращениями / Время обработки обращения

Время обработки обращения

В ServiceDesk можно контролировать скорость обработки обращений. Нормативные сроки работы с обращением задаются в приложении Уровень SLA и зависят от сервиса и категории клиента. Фактические сроки рассчитываются в рамках преднастроенных бизнес-процессов и отображаются в карточке обращения.

processing-time-1

Для каждого уровня SLA можно указать следующие данные.

 

Описание

Начало отсчета

Конец отсчета

Как рассчитывается

Референсное значение

1. Время реакции (ч)

Фактическое время от момента создания обращения до того, как его взяли в работу.

Сразу после создания обращения.

Обращение взяли в работу.

В рамках бизнес-процесса «Взять в работу».

Задаётся в приложении Уровень SLA в поле Время реакции.

2. Фактическое время решения (ч)

Фактическое время обработки обращения.

Обращение взяли в работу.

Добавлено решение по обращению.

В рамках бизнес-процесса «Добавить решение».

Задаётся в приложении Уровень SLA в поле Нормативное время решения.

3. Регламентное время решения (ч)

Справочное значение, которое является нормативным для обработки обращения.

 

 

 

Задаётся в приложении Уровень SLA.

Допустимое время простоя (ч)

Максимальное время, в течение которого сервис может быть недоступен для клиентов. Это время не отображается в карточке обращения, но заданное значение можно просмотреть в приложении Уровень SLA в качестве справочной информации.

 

 

 

Задаётся в приложении Уровень SLA в поле Допустимое время простоя.

В карточке обращения в блоке Оставшееся время можно оценить текущее состояние работы по обращению при помощи индикатора.

processing-time-2

processing-time-3 — время, оставшееся на обработку обращения. Отображается, если регламентное время завершения работы с обращением ещё не наступило.

processing-time-4 — отображается, если регламентное время закончилось и обработка обращения завершена.

processing-time-5 — отображается, если регламентное время уже закончилось, а обработка обращения ещё не завершена.

processing-time-6 — отображается, если обращение находится в ожидании. При этом отсчёт времени приостанавливается. В скобках указывается время, оставшееся на работу с обращением.

Приостановка работы с обращением

Оператор ServiceDesk может временно приостановить работу с обращением. Например, когда он ожидает ответа от автора обращения. Для этого оператор должен открыть карточку обращения, нажать кнопку Перевести в ожидание и подтвердить действие. При этом запускается бизнес-процесс «Перевести в ожидание», в ходе которого приостанавливается отсчёт времени, отведённого на работу с обращением. Для обращения устанавливается статус «В ожидании».

Когда работу с обращением нужно будет продолжить, оператор может открыть карточку обращения, нажать кнопку Снять с ожидания и подтвердить действие. При этом запускается бизнес-процесс «Снять ожидание», в ходе которого вновь начинается отсчёт времени обработки обращения с того момента, когда его приостановили. Для обращения устанавливается статус «В работе».

Эти бизнес-процессы настроены в ServiceDesk по умолчанию. Они созданы на уровне приложения Обращения. Если вы хотите внести изменения в эти процессы, их можно доработать самостоятельно.

Чтобы перейти к процессу, выполните следующие действия:

  1. Откройте раздел ServiceDesk.
  2. Нажмите на значок шестерёнки рядом с названием приложения Обращения, выберите пункт меню Бизнес-процессы и нажмите на название процесса. Подробнее о работе с процессами читайте в разделе «Дизайнер бизнес-процессов».

Рассмотрим подробнее бизнес-процессы «Перевести в ожидание» и «Снять ожидание».

Перевести в ожидание

processing-time-8

  1. Блок Скрипт.

В этом скрипте вычисляется время, которое осталось для работы с обращением. Для этого используется функция calcLastTimeSecondMethod.

Чтобы открыть редактор сценариев, перейдите к настройкам блока и нажмите кнопку Открыть справа от названия функции.

Пример скрипта для вычисления оставшегося времени приведён ниже.

async function calcLastTimeSecondMethod(): Promise<void> {
    const request = await Context.data.obrasheniya!.fetch();
    if (request) {
        const lastTime = request.data.lastTime;
        const changeDate = request.data.statusChangeDate;
        const date_now = new Datetime();
        if (lastTime !== undefined && changeDate) {         
            const workedDuration = await System.productionSchedule.getWorkingTime(changeDate, date_now);
            const workedTime = workedDuration?.seconds ?? 0;
            const newLastTime = lastTime - workedTime;
            Context.data.ostavsheesya_vremya = newLastTime >= 0 ? newLastTime : 0;
            request.data.lastTime = newLastTime >= 0 ? newLastTime : 0;
        }
        request.data.statusChangeDate = date_now;
        await request.save();
    }
}

где,

  • obrasheniyaконтекстная переменная процесса типа Приложение, которая ссылается на приложение Обращения;
  • statusChangeDateсвойство приложения Обращения, в котором сохраняется дата, когда для обращения был установлен статус «В ожидании»;
  • ostavsheesya_vremya — контекстная переменная процесса, в которой сохраняется время, оставшееся на обработку обращения.

Во время исполнения процесса может возникнуть ошибка скрипта. На вкладке Обработка ошибок можно определить, какие действия должны выполняться в этом случае.

В нашем случае включена опция Повторить выполнение, чтобы скрипт выполнялся повторно.

В поле Количество повторений указывается, сколько попыток выполнения скрипта будет предприниматься.

В поле Время задержки между повторениями (сек) определяется частота попыток воспроизведения скрипта.

Подробнее об этом элементе читайте в статье «Скрипт».

  1. Блок Управление статусом.

Этот элемент позволяет изменить статус обращения.

В настройках элемента указывается его название, контекстная переменная «Обращение», которая ссылается на приложение Обращения, и выбирается статус, который будет установлен на этом этапе. В данном случае указывается статус «В ожидании».

Подробнее об этом элементе читайте в статье «Управление статусом».

Снять ожидание

processing-time-9

  1. Блок Скрипт.

В этом скрипте вычисляется время, когда для обращения был установлен статус «В ожидании». Это нужно, чтобы запустить отсчёт времени на обработку обращения с того момента, когда его приостановили. Для этого используется функция calcLastTime.

Чтобы открыть редактор скриптов, перейдите к настройкам блока и нажмите кнопку Открыть справа от названия функции.

Пример скрипта для вычисления оставшегося времени приведён ниже.

async function calcLastTime(): Promise<void> {
    
 
    const date_now = new Datetime();
    const request = await Context.data.obrasheniya!.fetch();
            request.data.statusChangeDate = date_now;
        await request.save();
}

где,

  • obrasheniya — контекстная переменная процесса, которая ссылается на приложение Обращения;
  • statusChangeDate — свойство приложения Обращения, в котором сохраняется дата, когда для обращения был установлен статус «В ожидании».

Во время исполнения процесса может возникнуть ошибка скрипта. На вкладке Обработка ошибок можно определить, какие действия должны выполняться в этом случае. Настройка этой вкладки выполняется так же, как в процессе «Перевести в ожидание» в блоке Скрипт.

  1. Блок Управление статусом.

Этот элемент позволяет изменить статус обращения.

В настройках элемента указывается его название, контекстная переменная «Обращение», которая ссылается на приложение Обращения, и выбирается статус, который будет установлен на этом этапе. В данном случае указывается статус «В работе».

В ходе этих бизнес-процессов изменяются статусы обращения. При установке статуса «В ожидании» приостанавливается время обработки обращения.

Вы можете добавить новые статусы в бизнес-процессы и настроить их таким образом, чтобы при их установке приостанавливался отсчёт времени, отведённого на обработку обращения. Например, чтобы зафиксировать передачу обращения в отдел разработки, можно создать статус «Передано в разработку». Подробнее читайте в статье «Передача обращения в разработку».