Время до неучтения

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

Для вычисление количества времени при пропуске учета события:
  1. В дизайнере объектов создайте строковый атрибут для объекта Управление событиями\Событие с именем Время до неучтения.
  2. На панели Свойства установите Тип вычисления в значение AfterRead.
    Появится диалог изменения формулы. Для этого вычисления будет использоваться функция, которая возвращает результат, поэтому строка "Значение = строка" не требуется.
  3. Удалите строку: Значение =
  4. Удалите слово Значение из строки return.
  5. Введите один пробел после return, а затем в дереве Функции дважды щелкните TimeToBreach() в ветви Функции объектов TPS.
    Вычисление будет выглядеть как:
    import System
    static def GetAttributeValue(Событие):
     return Событие.TimeToBreach()
  6. Щелкните Тест синтаксиса для подтверждения того, что структура вычисления не содержит ошибок, а затем щелкните OK.
    Вычисление будет добавлено в атрибут.
  7. Сохраните изменения объекта и запустите диспетчер окон.
  8. Откройте окно "Событие" и добавьте атрибут Время до неучтения.
    Это поле отобразит время, оставшееся до наступления состояния неучтения события.

Поскольку это вычисляемое поле использует тип строковых данных, оно не может быть использовано для сортировки данных. Если вам необходимо отсортировать в списке время до неучтения события, создайте другое вычисляемое поле в виде числового типа данных и используйте функцию MinutesToBreach.
Затем вы можете добавить оба атрибута в запрос, отобразив атрибут TimeToBreach, но выполняя сортировку по атрибуту MinutesToBreach, который можно скрыть.

Если таймер уровня обслуживания будет остановлен (например, когда вы используете действие С клиентом), вы больше не сможете определить время до неучтения. В таких случаях функции времени до неучтения не возвращают значений (null).