Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Этот серверный класс предоставляет собой методы и общедоступные функции, которые позволяют управлять рабочими процессами и их компонентами, такими как действия, переходы и другие.
Чтобы создать экземпляр класса SimpleWorkflow, следуйте приведенному ниже примеру:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const simpleWorkflow = new SimpleWorkflow('159491114038814558'); |
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
workflowId | Integer | Нет | NULL |
cancel(current)
Используйте этот метод, чтобы отменить все активные контексты текущей записи.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
current | SimpleRecord object | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const simpleWorkflow = new SimpleWorkflow('159491114038814558'); if (simpleWorkflow.hasActiveContexts(current)) { simpleWorkflow.cancel(current); } |
Если для рабочего процесса были созданы подпроцессы, используйте следующий скрипт, чтобы отменить все контексты рабочего процесса и все связанные с ним подпроцессы:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const currentDocId = ss.getDocIdByIds(current.sys_db_table_id, current.sys_id); const wfContext = new SimpleRecord('wf_context'); wfContext.addQuery('related_record_id', currentDocId); wfContext.addQuery('active', true); wfContext.orderBy('sys_id'); wfContext.selectAttributes(['workflow_version_id']); wfContext.query(); const doesActiveWfExist = wfContext.getRowCount() > 0; while (wfContext.next()) { const simpleWorkflow = new SimpleWorkflow(wfContext.workflow_version_id.getValue('workflow_id')); if (simpleWorkflow.hasActiveContexts(current)) { simpleWorkflow.cancel(current); } } if (doesActiveWfExist) { ss.addInfoMessage('All contexts have been canceled!'); ss.setRedirect(); } |
copy()
Используйте этот метод, чтобы скопировать рабочий процесс. При этом создается версия процесса в статусе "Заблокировано", после чего метод возвращает скопированный рабочий процесс.
Возвращаемое значение:
Type | Description |
---|---|
SimpleRecord object or NULL | Метод возвращает "null", если объект SimpleWorkflow был создан без указания параметра workflowId. Метод возвращает объект (SimpleRecord type) таблицы Рабочий процесс (wf_workflow). |
Пример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const workflow = new SimpleWorkflow('159491114038814558'); const copiedWorkflow = workflow.copy(); const simpleWorkflow = new SimpleWorkflow(copiedWorkflow.sys_id); |
delete()
Используйте этот метод, чтобы удалить рабочий процесс и все его элементы.
Возвращаемое значение:
Type | Description |
---|---|
Boolean | При успешном удалении процесса метод возвращает "true". В случае неудачи метод возвращает "false". |
Пример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const simpleWorkflow = new SimpleWorkflow('159491114038814558'); const copiedWorkflow = simpleWorkflow.copy(); const simpleWorkflow = new SimpleWorkflow(copiedWorkflow.sys_id); if (simpleWorkflow.delete()) { ss.info('Рабочий процесс удален!'); } |
hasActiveContexts(current)
Используйте данный метод, чтобы проверить текущую запись на наличие активных контекстов рабочего процесса.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
current | SimpleRecord object | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Если контекст активного рабочего процесса найден, метод возвращает значение "true". Если такой контекст отсутствует, метод возвращает "false". |
Пример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const simpleWorkflow = new SimpleWorkflow('159491114038814558'); if (simpleWorkflow.hasActiveContexts(current)) { simpleWorkflow.cancel(current); } |
revival(executingActivity, current)
Используйте этот метод, чтобы перезапустить рабочий процесс с указанного действия.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
executingActivity | SimpleRecord object | Да | Нет |
current | SimpleRecord object | Да | Нет |
Возвращаемое значение:
Type | Description |
---|---|
SimpleRecord object | Метод возвращает объект (SimpleRecord type) таблицы Контекста рабочего процесса (wf_context). |
Пример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const current = new SimpleRecord('task'); current.get('164579976616724057168320271607687220'); const approvalevent = new SimpleRecord('sys_approval'_event'); event.addQuery('name', 'workflow_timer'); event.addQuery('instance', current.sys_id); approvalevent.getaddQuery('164625329711023536''state', 'ready'); event.query(); event.next(); const executingActivity = new SimpleRecord('wf_executing_activity'); executingActivity.get(approval.getValue('wf_executing_activity_id')); event.param_1); const workflowsimpleWorkflow = new SimpleWorkflow(); workflowsimpleWorkflow.revival(executingActivity, current); |
start(current)
Данный метод предназначен для запуска рабочего процесса. При помощи метода start(current) можно запустить только рабочие процессы, в которых Тип условия указан как Ручной.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
current | SimpleRecord object | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
SimpleRecord object или NULL | В случае успеха метод возвращает объект (SimpleRecord type) таблицы Контекст рабочего процесса (wf_context).
|
Пример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const simpleWorkflow = new SimpleWorkflow('159491114038814558'); const context = simpleWorkflow.start(current); if (context.state === 'finished') { ss.info('Рабочий процесс завершен!'); } |
startSubflow(executingActivity, current, workflowId)
Используйте этот метод, чтобы запустить подпроцесс путем выполнения действия.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
executingActivity | SimpleRecord object | Да | Нет |
current | SimpleRecord object | Да | Нет |
workflowId | Integer | Да | Нет |
Возвращаемое значение:
Type | Description |
---|---|
SimpleRecord object или NULL | Метод возвращает объект (SimpleRecord type) таблицы Контекст рабочего процесса (wf_context). Метод возвращает значение "null", если нет версий рабочего процесса, созданных текущим пользователем. |
Пример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
; ( (current, activity) => { const wfActivitySubflow = new SimpleRecord('wf_activity_subflow'); wfActivitySubflow.get(activity.getValue('activity_id')); const workflowManager = new SimpleWorkflow(); const subflowContext = workflowManager.startSubflow(activity, current, wfActivitySubflow.getValue('workflow_id')); ss.info(subflowContext.state); // Info: executing } )(current, activity); |
Table of Contents | ||||
---|---|---|---|---|
|