Работа со значениями атрибутов

Временной интервал

  • Получение значения атрибута типа "Временной интервал":

    subject.'код атрибута'

    Пример. Получение значения системного атрибута текущего запроса "Нормативное время обработки" типа "Временной интервал":

    subject.resolutionTime

  • Получение параметров атрибута типа "Временной интервал":

    Количество:

    def length = value.length;

    Единица измерения:

    def interval = value.interval;

    Длина интервала в мс.:

    def ms = value.toMiliseconds();

  • api.types.newDateTimeInterval(length, interval)

    Создание нового значения типа "Временной интервал".

    Параметры метода:

    • length — длительность интервала. Int;
    • interval — единица измерения интервала SECOND, MINUTE, HOUR, DAY или WEEK. String.

    Пример:

    def newVal = api.types.newDateTimeInterval(7, 'DAY')

Гиперссылка

  • Получение значения атрибута типа "Гиперссылка":

    subject.'код атрибута типа гиперссылка'

  • Получение параметров атрибута типа "Гиперссылка":

    Название ссылки:

    hyperlinkVal.text;

    URL ссылки:

    hyperlinkVal.URL;

  • api.types.newHyperlink()

    api.types.newHyperlink(text)

    api.types.newHyperlink(text, url)

    Создание новой гиперссылки.

    Параметры метода:

    • text — название гиперссылки;
    • url — url гиперссылки.

Ссылка на атрибут

  • Получить ссылку на атрибут по типу объекта fqn и коду атрибута code:

    def attrReference = api.types.newAttrReference(fqn, code)

Счетчики времени

  • Получение значения атрибута типа "Счетчик времени":

    subject.'код атрибута типа счетчик времени';

    Пример. Получение значения системного атрибута текущего запроса "Время обработки запроса" типа "Счетчик времени":

    subject.processingTimeTimer;

  • Получение параметров атрибута типа "Счетчик времени":

    • timerVal.status — статус счетчика времени;
    • timerVal.elapsed — время счетчика;
    • timerVal.status.code — код статуса счетчика времени:

      • 'e' (EXCEED) — кончился запас времени;
      • 'a' (ACTIVE) — активен;
      • 'n' (NOTSTARTED) — ожидает начала;
      • 'p' (PAUSED) — приостановлен;
      • 's' (STOPPED) — остановлен.
  • Получение значения атрибута типа "Счетчик времени (обратный)":

    subject.'код атрибута типа счетчик времени (обратный)'

    Пример. Получение значения системного атрибута текущего запроса "Запас нормативного времени обслуживания" типа "Счетчик времени (обратный)":

    subject.timeAllowanceTimer

  • Получение параметров атрибута типа "Счетчик времени (обратный)":

    • backTimerVal.status — статус обратного счетчика времени;
    • backTimerVal.deadLineTime — время окончания счетчика;
    • backTimerVal.allowance — остаток времени счетчика
    • timerVal.status.code — код статуса счетчика времени:

      • 'e' (EXCEED) — кончился запас времени;
      • 'a' (ACTIVE) — активен;
      • 'n' (NOT STARTED) — ожидает начала;
      • 'p' (PAUSED) — приостановлен;
      • 's' (STOPPED) — остановлен.
  • Получение времени перехода счетчика времени в статус "Кончился запас времени":

    def deadLineTime = backTimerVal.deadLineTime

  • Получение времени, которое счетчик времени находится в статусе "Кончился запас времени" с момента входа в статус по текущее время (в мс):

    def elapsedFromOverdue = backTimerVal.elapsedFromOverdue

Текст с подсветкой синтаксиса

  • Получить значение атрибута:

    def sourceCodeVal = ...

  • Получить текст (скрипт):

    def text = sourceCodeVal.text

  • Получить язык (синтаксис):

    def url = sourceCodeVal.lang

  • api.types.newSourceCode(text, lang)

    api.types.newSourceCode(text)

    Создание нового значения типа "Текст с подсветкой синтаксиса".

    Параметры метода:

    • text — текст(скрипт);
    • lang — язык(синтаксис)

    Примечание: При указании синтаксиса доступны следующие значения:

    • Без синтаксиса = ""
    • Groovy = "text/x-groovy"
    • Javascript = "text/javascript";
    • SQL = "text/x-sql";
    • XML = "application/xml";

    Если синтаксис указан неправильно или с ошибкой, то применяется значение "Без синтаксиса".

Тип объекта

  • Получить тип объекта по идентификатору fqn:

    def classFqn = api.types.newClassFqn(fqn)

    Пример. Получение типа запроса по идентификатору 'serviceCall$incident':

    def incidentClassFqn = api.types.newClassFqn('serviceCall$incident')

Значения атрибута на форме

  • initialValues.getProperty(attrCode)

    Получение значения атрибута с формы.

    Параметр метода:

    • attrCode — код атрибута, значение которого необходимо получить.

    Возвращает значение атрибута.

  • initialValues.hasProperty(attrCode)

    Проверка наличия атрибута на форме.

    Параметр метода:

    • attrCode — код проверяемого атрибута.

    Возвращает:

    • true — при наличии атрибута на форме,
    • false — при отсутствии атрибута на форме.