Пользователь
Логин:
Пароль:
Забыли свой пароль?

Поиск по сайту
 

 Расширенный поиск
Реклама

 

Опрос


Погода

Запрет на закрытие ServiceCall при открытом WorkOrder

Форумы
Обновления
Поиск
Пользователи 
Правила
Помощь
Войти

Страницы: 1
Запрет на закрытие ServiceCall при открытом WorkOrder, А также запрет на привязку WorkOrder к уже закрытому ServiceCall
Доброго времени суток,

Есть две задачи, с которыми уже длительное время вожусь, но никак не могу решить:

1) Запрет на создание и привязку WorkOrder к уже закрытому ServiceCall.

2) Запрет на закрытие ServiceCall при открытом WorkOrder.

Первую задачу частично решил:
Цитата

After new item has been opened
where Service call;Status equals Closed
Warning (User Notification Message)

Но осталась проблема с привязкой уже созданных WorkOrder к закрытому ServiceCall. Как это можно решить?

Со второй задачей что только не делал, но никак не могу решить. Более менее решение виделось такое:
1) Сделать в SC поле WO count = 0
2) При открытии WO в SC поле WO count +1
3) При переводе смежного WO в статус Closed поле WO count -1
4) UI rules: если WO count > 0, то (User Notification Message)

Но тут возникает проблема, что если WO удалить, то поле WO count не изменяется. Может быть есть какие-то ещё пути решения данной задачи?
1)Задача довольно простая…
Если это все правило, то оно немного неправильное.. Скажем так, оно будет выпадать всегда. Я бы реализовал немного иначе.
Создал бы папку «Закрыто», написал бы JOB на SQL который бы раз в день скажем утром, обращения которые завершены и находятся в статусе «Закрыто» и папка не равно «Закрыто», при условии что факт.окончания -2 дня от текущей даты. (это как вариант), То перевести значение папки в «Закрыто».
В роли я бы сделал ограничение на данную папку, просмотр. Получиться, что доступ они иметь будут, но создавать задания уже не смогут. И вообще что-либо изменить тоже не смогут.
Я не стал бы в данном случае использовать правила DB Только по той причине что они бы наплодили тасков… на APP сервере что может привести к зависаниям. Если переводить все таски на отдельный сервер, то может тогда и есть вариант DB правила… тогда там еще проще…
2) Можно написать trigger который бы вел подсчет связей. Далее написать UL и если значение не равно 0, то выдавать ошибку на сохранение. Идея правильная, но она должна быть через триггер, тогда все будет считаться правильно.
1. нет смысла шедулить такие таски, так что Рулы можно использовать но без шедула, тогда и забивать он не будет ненужными задачами. Чтоб закрыть на изменение SC два варианта: а. Папка с правами на чтение, б. В ролях есть ограничение по статусам на изменение, просто их можно ограничить, но это будет работать если по пользователь не получает комплексные права и по др. роли он получит разрешение на эти статусы делать изменения.
Тут надо закрывать будет и с со стороны WO, т.к. привязать можно SC к WO, даже если SC только для чтения. тут надо писать ЮИ рул, чтоб не давал сохранять если статус у SC "закрыто".
2. Триггеры самое удачное решение, здесь просто надо считать открытые WO и если их больше 0 то ставить поле Х в true, создай ЮИ рул - если поле Х true спрятать статусы закрытия. В триггере можно отследить и удаление ,и создание, и изменение WO, так чтоб можно было пересчитать поле Х.
вариант другой вешать внешний скрипт, с тем же пересчётом открытых WO .
Спасибо за предложенные решения, буду пробовать. Отпишусь, как только будет результат.
Страницы: 1

Сегодня были (гостей: 1, пользователей: 0, из них скрытых: 0)