Для переменной timer.date элемента Таймер ожидания можно задать относительные дату и время путем привязки данной переменной к объекту Date. Объект Date определяется в функции сценария.

Когда наступает указанное время в заданную дату, рабочий процесс с длительным временем выполнения на основе таймера повторно активируется и продолжает свой цикл выполнения. Например, рабочий процесс можно настроить на повторную активацию в полдень 12 февраля. Кроме того, можно создать элемент рабочего процесса, который рассчитывает и создает относительный объект Date в соответствии с заданной функцией. Например, можно создать относительный объект Date, который добавляет 24 часа к текущему времени.

Необходимые условия

  • Создайте рабочий процесс.
  • Откройте рабочий процесс для изменения в редакторе рабочих процессов.
  • Добавьте элементы в схему рабочего процесса.

Процедура

  1. Перетащите элемент Задача с возможностью добавления сценариев из меню Универсальные на левой панели в схему рабочего процесса и разместите его перед элементом, для которого требуется относительный объект Date для своей переменной timeout.date.
  2. Щелкните элемент Задача с возможностью добавления сценариев.
  3. Введите имя и описание для элемента рабочего процесса, заданного сценарием, на вкладке свойств Сведения на правой панели.
  4. На вкладке свойств Входные/выходные данные создайте переменную рабочего процесса.
    1. а. Назначьте переменной имя timerDate.
    2. б. Выберите Date в списке типов переменных.
    3. в. Оставьте текстовое поле значения переменной пустым. Это значение будет подставлено функцией, заданной сценарием.
    4. г. Щелкните Создать.
  5. Перейдите на вкладку Сценарии для элемента рабочего процесса, заданного сценарием.
  6. Определите функцию для расчета и создания объекта Date с именем timerDate на панели сценариев на вкладке Сценарии.

    Например, можно создать объект Date, реализовав следующую функцию JavaScript, где время ожидания — относительная задержка в мс.

    timerDate = new Date();
    System.log( "Current date : '" + timerDate + "'" );
    timerDate.setTime( timerDate.getTime() + (86400 * 1000) );
    System.log( "Timer will expire at '" + timerDate + "'" );

    Предыдущий пример функции JavaScript определяет объект Date, который получает текущую дату и время с помощью метода getTime и добавляет 86 400 000 мс или 24 часа. Элемент Задача с возможностью добавления сценариев создает это значение в качестве выходного параметра.

  7. Щелкните Сохранить и подтвердите свой выбор.

Результаты

Создана функция, которая рассчитывает и создает объект Date. Элемент Таймер ожидания может получать этот объект Date в качестве входного параметра, чтобы приостановить рабочий процесс с длительным временем выполнения до даты, инкапсулированной в данном объекте. Когда рабочий процесс достигает элемента Таймер ожидания, он приостанавливает свой цикл выполнения и ждет 24 часа, прежде чем продолжить.

Дальнейшие действия

Чтобы реализовать рабочий процесс с длительным временем выполнения на основе таймера, необходимо добавить элемент Таймер ожидания в рабочий процесс.