Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core workflow 3.0
Sie können in diversen Modulen per JavaScript auf einen bestehenden Workflow zugreifen. In folgenden Modulen ist der Zugriff auf einen Workflow möglich:
Informationen zur JavaScript-Bibliothek common/workflow siehe JavaScript-Bibliothek common/workflow.
Sie können direkt über das Kontextmenü auf einen vorhandenen Workflow zugreifen. Dazu erstellen Sie eine Aktion im smart assistant Konfigurator.
Über folgende Beispielskripte greifen Sie über Ihr eigenes Kontextmenü direkt auf den angegebenen Workflow zu, um ihn zu starten.
Beispiel 1:
/* global sc, sca, folder, objects, data */ let workflow = require('common/workflow'); workflow .tokens(workflow.start('agorum.doc.test.multiple.tokens', { sys_acw_attachments: objects.map(object => object.UUID), })) .find(token => (workflow.get(token) || {}).sys_acw_interaction === 'ui');
Beispiel 2:
let workflow = require('common/workflow'); let objects = require('common/objects'); // workflow is started with variable "resubmitInfo" on click let acwf = workflow.start('agorum.doc.test.myFirstWorkflow', { resubmitInfo: 'Hier steht schon eine Wiedervorlage-Info', }); // get the visible UI tokens of the user let uiTokens = workflow .tokens(acwf) .filter(token => objects.tryFind(token) && workflow.get(token).sys_acw_interaction === 'ui'); // first token … uiTokens[0]; // … or all tokens //uiTokens;
Über folgendes beispielhaftes Skript greifen Sie über Ihr eigenes Kontextmenü direkt auf den angegebenen Workflow zu, um Variablen verändern.
let workflow = require('common/workflow'); let tokenId = '1279074'; let variables = { resubmitInfo: 'Hier steht schon ein Wiedervorlage-Info: Neu', }; // set variable of the token workflow.set(tokenId, variables); // the workflow must be assigned in order to use "leave" // if not, acquire can be called first // first acquire the token workflow.acquire(tokenId); // then run "leave" workflow.leave(tokenId, 'ok', { resubmitInfo: 'Hier steht schon ein Wiedervorlage-Info: Ende', }); // get all variables of the token //workflow.get(tokenId);
Sie können einen Workflow direkt aus einer aguila-Oberfläche starten, etwa über einen Button.
Das folgende Skript zeigt, wie Sie folgenden einfachen Beispielworkflow über einen Button starten und das UI-Token öffnen.
Das Skript erstellt einen Start-Button, über den der Benutzer den Workflow öffnen kann.
let aguila = require('common/aguila'); let workflow = require('common/workflow'); let service = require('filingassistant/service'); let widget = aguila.create({ type: 'agorum.button', text: 'Start', width: 200, }); widget.on('clicked', () => aguila .fork(() => workflow .tokens(workflow.start('agorum.doc.test.multiple.tokens')) .find(token => (workflow.get(token) || {}).sys_acw_interaction === 'ui') ) .then(token => service.open(token)) ); widget;
Bei den folgenden Modulen greifen Sie über die nachstehenden Skripte direkt auf den angegebenen Workflow zu, um ihn zu starten oder Variablen zu verändern:
Alle Variablen des Tokens holen
workflow.get(tokenId);
let workflow = require('common/workflow'); let objects = require('common/objects'); // workflow is started with variable "resubmitInfo" on click let acwf = workflow.start('agorum.tb.testworkflows.myFirstWorkflow', { resubmitInfo: 'Hier steht schon eine Wiedervorlage Info', }); // get the visible UI tokens of the user let uiTokens = workflow .tokens(acwf) .filter(token => objects.tryFind(token) && workflow.get(token).sys_acw_interaction === 'ui'); // first token … uiTokens[0]; // … or all tokens //uiTokens;
Im Workflow werden Variablen verändert und danach ein leave zum n. Konten ausgeführt.
let workflow = require('common/workflow'); // get workflow with variable "resubmitInfo" let tokenId = '1279074'; let variables = { resubmitInfo: 'Hier steht schon ein Wiedervorlage-Info: Neu', }; // set the token variable workflow.set(tokenId, variables); // run "leave" and modify "resubmitInfo" variable // the workflow must be assigned to use "leave" workflow.leave(tokenId, 'ok', { resubmitInfo: 'Hier steht schon ein Wiedervorlage-Info: Ende', });