Вычисление приоритета из данных
срочности и серьезности
ITIL - определяет приоритет события, как сумму данных
серьезности и срочности за вычетом единицы:
Приоритет = Срочность + Серьезность - 1
Мы уже рассматривали, как упростить арифметические вычисления
(см. раздел Совместное добавление атрибутов) и теперь
можем создавать вычисления для определения числовых значений
приоритета на основании числовых значений срочности и серьезности.
Создайте три числовых атрибута события с именами "Срочность",
"Серьезность" и "Приоритет", а затем добавьте следующее вычисление
для атрибута "Приоритет": import System static def GetAttributeValue(Событие): Значение = Событие._Срочность +
Событие._Серьезность – 1
return Значение
Затем можно добавить срочность, серьезность и приоритет в окно
события и вычисление начнет определять числовое значение
приоритета.
Однако вы можете изменять эти атрибуты для использования
упорядоченных списков, содержащих значения, имеющие иные имена. Вы
можете меть срочности и серьезности с именами "Высокая", "Средняя"
и " Низкая" (с рангом от 3 до 1) и пять приоритетов с именами от
"Приоритет 1" (наивысший приоритет имеет ранг 5) до "Приоритет 5"
(низший приоритет имеет ранг 1):
Серьезность
Имя
Ранг
Высокая
3
Средняя
2
Низкая
1
Срочность
Имя
Ранг
Высокая
3
Средняя
2
Низкая
1
Приоритет
Имя
Ранг
Приоритет 1
5
Приоритет 2
4
Приоритет 3
3
Приоритет 4
2
Приоритет 5
1
Затем определяется приоритет, исходя из значений срочности и
серьезности и в соответствии со следующей таблицей:
Серьезность
Высокая
Средняя
Низкая
Срочность
Высокая
Приоритет 1
Приоритет 2
Приоритет 3
Средняя
Приоритет 2
Приоритет 3
Приоритет 4
Низкая
Приоритет 3
Приоритет 4
Приоритет 5
Например:
Серьезность средняя = ранг 2
Срочность низкая = ранг 1
Поэтому ранг приоритета = 2 + 1 - 1 = 2
и ранг приоритета 2 = приоритет 4
В этом примере используются объекты с рангами срочности
события и серьезности, которые представлены в модуле
управления событиями для вычисления ранга, который будет
необходим для определения значения нового атрибута с рангом и
именем Вычисленный приоритет, который был создан в модуле
управления событиями.
Для этого вычисления необходимы три действия:
Создайте новый объект с рангом, родственный этому
событию, и заполните его. Для этого не рекомендуется использовать
мастер создания атрибутов, который имеет ограниченные возможности
именования.
Добавьте вычисление для нового объекта с рангом.
Добавьте параметры в окно события.
Для создания нового объекта с рангом:
В дизайнере объектов щелкните модуль
управления событиями в дереве бизнес-объектов, а затем
выберите Новый бизнес-объект в списке Действия.
Отобразится поле сообщения выбора действия с запросом указать
действие.
Нажмите Да.
Появится диалог выбора действия.
В списке доступных элементов выберите
Генератор событий, а затем щелкните .
Элемент "С рангом" (только создание) переместится в список
выбранных элементов.
Щелкните OK.
Новый бизнес-объект будет создан.
На панели Свойства введите Заголовок
для элемента Вычисленный приоритет, а затем щелкните
.
У вас будет запрошено, нужно ли создать атрибут "Имя".
Нажмите Да.
Объект "Вычисленный приоритет" будет сохранен. Запомните его имя
"_Вычисленный проритет" - мы будем использовать его далее. Также
обратите внимание, что добавлен атрибут "Ранг". Теперь нужно
связать это объект с объектом "Событие".
В дереве Бизнес-объекты переместите объект
Вычисленный приоритет в объект Событие.
У вас будет запрошено, если вам нужен доступ ко всем родственным
экземплярам события для вычисленного приоритета.
Щелкните Нет.
Взаимосвязь создана. В дереве "Атрибуты" для события появится
Вычисленный приоритет .
Щелкните .
Объект будет сохранен. Теперь нужно создать окно для объекта и
установить значения, используя компонент администрирования.
В диспетчере окон создайте новое окно для
Управление событиями\Вычисленный приоритет, добавив
имя.
В компоненте администрирования отобразите
дерево Упорядоченные списки, а затем создайте пять значений
для вычисленного приоритета.
Теперь можно добавить необходимое вычисление в атрибут
"Вычисленный приоритет" для объекта "Событие". Это вычисление
считывает требуемое значение из упорядоченного списка "Вычисленный
приоритет".
Для добавления вычисления:
В дизайнере объектов откройте объект
Управление событиями\Событие, а затем щелкните
Вычисленный приоритет.
На панели Свойства для элемента Вычисленный
приоритет установите тип вычисления в значение
BeforeSave.
Для атрибута "Вычисленный приоритет" появится диалог изменения
формулы.
В поле редактора измените вычисление на: import System static def GetAttributeValue(Событие): if Событие._Срочность события == null: return null if Событие.Серьезность == null: return null Значение = Событие._Срочность события.Ранг +
Событие.Серьезность.Ранг - 1 return Событие.GetRankedObject("Управление
событиями._Вычисленный приоритет", Значение)
Щелкните Тест синтаксиса для подтверждения
того, что структура вычисления не содержит ошибок, а затем щелкните
OK.
Вычисление будет добавлено в атрибут.
Щелкните .
Изменения будут сохранены.
Строки
if... и return null устанавливают значение
вычисленного свойства в null (не заполнено), если не
заполнены списки Серьезность или Срочность - в
противном случае останется неизменным ранее вычисленное значение
для вычисленного приоритета.
Последняя строка return Событие.GetRankedObject("Управление
событиями._Вычисленный приоритет", Значение) возвращает имя
вычисленного приоритета, которое соответствует рангу вычисленного
значения.
Последнее действие - это добавление параметров в окно
события.
Для добавления параметров в окно:
В диспетчере окон откройте окно события и
добавьте поля Срочность события, Серьезность и
Вычисленный приоритет.
На панели Свойства для Срочность
событияи Серьезность установите параметр С
вычислением при изменении в значение True.
Во время регистрации события и заполнения полей Срочность
события и Серьезность поле Вычисленный приоритет
заполняется автоматически соответствующим значением.