14.04.2009, 14:06 | #1 |
Учаснег
|
Задержка эскалации. Есть идеи?
Задача: Эскалация кейса при превышении заданных лимитов (задано по типу кейса). Требуется дать возможность пользователям некоторым выставлять Hold (то есть задерржка отсчета времени для эскалации), после того как из Hold вернулись продолжить отсчет времени для эскалации.
Проверил уже и отложить и приостановить бизнес правило не подходит. Может у кого есть свежие идеи, или кто то сталкивался?
__________________
http://about.me/fedorovigor |
|
15.04.2009, 15:30 | #2 |
Участник
|
Возможно только я здесь не владею предметной областью и терминологией связанной с экскалацией , но, если бы вы перевели это на язык сущностей и атрибутов, было бы понятней.
Правильно ли я понял, что вы хотите, чтобы при изменении какого-то атрибута на значение hold, дата в каком-то другом поле увеличивалась на время, в течении которого этот атрибут содержит значение hold?
__________________
Внедренец Microsoft Dynamics CRM |
|
15.04.2009, 15:49 | #3 |
MCTS
|
Я так понимаю речь идет о повышении приоритета обращений.
Например поступило обращение, на разрещения обращения отводится срок - 24 часа, поистечении этого срока повышается приоритет данногообращения или при не разрешении передается куа либо дальше (если это какой-то саппорт, то на следующий уровень). Так вот задача такая, чот бы сотрудник мог нажать hold и обратный отсчет 24 часов приостановился, после повторного нажатия возобнавился и т.д.
__________________
|
|
15.04.2009, 16:18 | #4 |
Участник
|
Возможно вам подойдет такой вариант.
Создаете дополнительный атрибут в case - escaladedate типа datetime и holddate типа datetime. Когда пользователь ставит Холд - текущее дата/время присваиваются в holddate. Когда снимает - разница времени добавляется в escaladedate. В итоге escaladedate будет соответствовать необходимой дате екскалации. Создайте воркфлоу, который будет ждать, пока текущая дата больше даты екскалации (wait). Потом если обращение на холд - ждем пока он будет снят (wait). Потом если дата екскалации поменяласть и опять меньше текущей даты - запускаем процесс сам из себя и заканчиваем выполнение else - екскалация. Итого : 1 plugin 1 workflow ИМХО решение громоздкое, но другого пути я пока не увидел
__________________
Внедренец Microsoft Dynamics CRM |
|
16.04.2009, 10:51 | #5 |
Учаснег
|
2Роман, спасибо за отклик, не понял где плагин, можете обяснить на пальцах. решенеи да громоздкое, хочется предложть более поддерживаемое и гибкое решение, но .....
__________________
http://about.me/fedorovigor |
|
16.04.2009, 11:07 | #6 |
Участник
|
Это решение 100% поддерживаемое .
Плагин ставится на апдейт кейса и проверяет изменялось ли поле, например OnHold (булевое), которое содержит признак находится ли кейс в статусе Hold. Если изменилось на True - ставим в поле holddate значение текущей даты. Если изменилось на False - вычисляем escaladedate по формуле escaladedate = escaladedate + DateTime.Now() - holddate (условно говоря прибавляем время, которое кейс был в статусе Hold). Пользователь может поставить или снять кейс с холда при помощи изменения этого поля. Кейс эскалируется если он не находится в состоянии Hold и наступила escaladedate (За это отвечает workflow, который я описал в прошлом посте). В принципе плагин можно заменить джаваскриптом, тут уж каким инструментом вам проще работать .
__________________
Внедренец Microsoft Dynamics CRM Последний раз редактировалось Савран Роман; 16.04.2009 в 11:12. Причина: ОПИСКА |
|
|
За это сообщение автора поблагодарили: IgorF (1). |
16.04.2009, 11:16 | #7 |
Учаснег
|
Я имел ввиду под поддерживаемым немного другой контекст. Но так я понял, спасибо, попробуем.
Как попробуем конечно же в репу
__________________
http://about.me/fedorovigor |
|
16.04.2009, 14:58 | #8 |
Учаснег
|
UPDate: Решение Романа работает.
__________________
http://about.me/fedorovigor |
|