Для переменной timer.date элемента Таймер ожидания можно задать относительные дату и время путем привязки данной переменной к объекту Date. Объект Date определяется в функции сценария.
Когда наступает указанное время в заданную дату, рабочий процесс с длительным временем выполнения на основе таймера повторно активируется и продолжает свой цикл выполнения. Например, рабочий процесс можно настроить на повторную активацию в полдень 12 февраля. Кроме того, можно создать элемент рабочего процесса, который рассчитывает и создает относительный объект Date в соответствии с заданной функцией. Например, можно создать относительный объект Date, который добавляет 24 часа к текущему времени.
Необходимые условия
- Создайте рабочий процесс.
- Откройте рабочий процесс для изменения в редакторе рабочих процессов.
- Добавьте элементы в схему рабочего процесса.
Процедура
- Перетащите элемент Задача с возможностью добавления сценариев из меню Универсальные на левой панели в схему рабочего процесса и разместите его перед элементом, для которого требуется относительный объект Date для своей переменной timeout.date.
- Щелкните элемент Задача с возможностью добавления сценариев.
- Введите имя и описание для элемента рабочего процесса, заданного сценарием, на вкладке свойств Сведения на правой панели.
- На вкладке свойств Входные/выходные данные создайте переменную рабочего процесса.
- а. Назначьте переменной имя timerDate.
- б. Выберите Date в списке типов переменных.
- в. Оставьте текстовое поле значения переменной пустым. Это значение будет подставлено функцией, заданной сценарием.
- г. Щелкните Создать.
- Перейдите на вкладку Сценарии для элемента рабочего процесса, заданного сценарием.
- Определите функцию для расчета и создания объекта 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 часа. Элемент Задача с возможностью добавления сценариев создает это значение в качестве выходного параметра.
- Щелкните Сохранить и подтвердите свой выбор.
Результаты
Создана функция, которая рассчитывает и создает объект Date. Элемент Таймер ожидания может получать этот объект Date в качестве входного параметра, чтобы приостановить рабочий процесс с длительным временем выполнения до даты, инкапсулированной в данном объекте. Когда рабочий процесс достигает элемента Таймер ожидания, он приостанавливает свой цикл выполнения и ждет 24 часа, прежде чем продолжить.
Дальнейшие действия
Чтобы реализовать рабочий процесс с длительным временем выполнения на основе таймера, необходимо добавить элемент Таймер ожидания в рабочий процесс.