Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Transities verbinden activiteiten in een workflow aan elkaar en bepalen in welke volgorde de activiteiten doorlopen worden.

Voor een transitie kan je onderstaande velden definiëren:

Naam

De naam van de transitie (uniek binnen de verzameling van transities uitgaande van dezelfde activiteit). Indien er slechts 1 uitgaande transitie is, is een naam (meestal) overbodig.

Wanneer voeg je een naam toe aan een transitie?

  • Wanneer je gebruik maakt van het type Voorwaarde of Timeout om je workflow meer leesbaar te maken
  • Wanneer je de activiteiten 'PDF of 'Exporteren' gebruikt. De uitgaande transitie moet hier altijd de naam "finished" krijgen
  • Wanneer je de activiteit 'Taak' gebruikt en binnen het taakformulier gebruik maakt van het vraagtype 'Taaktransitie'. De namen van de transities worden hierdoor automatisch toegevoegd aan het taakformulier (in de vorm van een keuzelijst). De workflow zal het pad volgen dat overeenstemt met de gemaakte keuze in het taakformulier. De namen van de transities worden alfabetisch gesorteerd. Je kan een waarde tussen vierkante haakjes toevoegen om de volgorde te beïnvloeden. Deze prefix wordt niet getoond in het taakformulier.
Type
Het type transitie. Mogelijke waarden zijn 
  • Normaal: verbindt 2 activiteiten met een optionele naam.
  • Voorwaarde: bepaalt de volgende activiteit in de workflow aan de hand van een voorwaarde en worden gekoppeld aan een Beslissing.
  • Timeout: bepaalt welke activiteit uitgevoerd wordt op basis van een tijdsduur en wordt gekoppeld aan een taak.
Voorwaarde

De voorwaarde waaraan voldaan dient te worden om naar de volgende activiteit te gaan. Enkel te gebruiken bij voorwaardelijke transities.

 Voorwaarden definiëren

${variabele operator 'waarde'}

Waarbij:

Voorbeelden
${s.externalState eq 'niet ontvankelijk'}
${s.taskFormsFromLastRunMap['Evalueren'].formDataFlexesMap['Ontvankelijkheid'].value eq 'ontvankelijk' && s.form.formDataFlexesMap['leeftijd'].value >= '18'}
${s.form.formDataFlexesMap['keuze_betalend'].value eq 'betalend' and s.form.formDataFlexesMap['kostprijs'].doubleValue < 1250}

Om te bepalen of een waarde leeg is, typ je voor de variabele de term 'empty'. Om te bepalen of een waarde niet leeg is kan '!empty' gebruikt worden. De operator en waarde moeten in dit geval niet meer gebruikt worden.

Voorbeelden
${empty s.form.formDataFixed.requesters[0].agent.contact.email}
${!empty s.form.formDataFixed.requesters[0].agent.contact.email}
 

Timeout

De tijdsduur waarna de workflow automatisch naar de volgende activiteit gaat. Enkel te gebruiken bij time-outtransities.

 Deadlines en time-outs definiëren

 

Huidige datum/tijd + periode

Deadlines en time-outs worden gedefinieerd als

second(s) | minute(s) | hour(s) | day(s) | business day(s) | week(s) | month(s) | year(s)

Bijvoorbeeld:

  • 2 days = 2 dagen
  • 1 minute = 1 minuut

Gekozen datum + periode

Het is ook mogelijk om een datum op te halen uit een zaak- of taakformulier. Aangezien het script nogal uitgebreid is voegen we eerst een weergaveveld toe om de timeout of deadline te berekenen. De waarde van het weergaveveld wordt als volgt samengesteld: 

#set ($date = $_date.get($!s.taskFormsFromLastRunMap.get('naam_van_de_taak').formDataFlexesMap.get('op_te_halen_datum').value))
	Hiermee wordt de ingevulde datum opgehaald in het formaat 'dd-MM-yyyy 00:00:00'. Uren, minuten en seconden worden niet ingegeven in het formulier en
 	moeten dus nog gelijk gesteld worden aan de huidige uren, minuten en seconden.
#set ($seconds = $_date.get('now').seconds) 
#set ($minutes = $_date.get('now').minutes)
#set ($hours = $_date.get('now').hours)
#set ($date = $date.setSeconds($seconds))
 	Hiermee worden de seconden die opgehaald werden ingevuld in de datum (dd-MM-yyyy 00:00:ss).
#set ($date = $date.setMinutes($minutes))
 	Hiermee worden de minuten die opgehaald werden ingevuld in de datum (dd-MM-yyyy 00:mm:ss).
#set ($date = $date.setHours($hours))
 	Hiermee worden de uren die opgehaald werden ingevuld in de datum (dd-MM-yyyy hh:mm:ss).
#set ($date = $date.addMinutes(5))
	Er worden 5 minuten bijgeteld bij de ingegeven datum en de uren, minuten en seconden van het huidige moment.
$_duration.get($date)
 	Met deze laatste regel wordt de tijdsduur berekend. Indien je in het formulier de huidige datum ingeeft, gaat de taak in timeout of verloopt de
 	deadline na 5 minuten vanaf het huidige moment.

Vervolgens wordt de berekende time-out of deadline opgehaald in respectievelijk de time-out transitie of de deadline van de taak, hiervoor wordt gebruik gemaakt van juel scripting.

${s.form.formDataFlexesMap['berekening_timeout'].value}
 
${s.form.formDataFlexesMap['berekening_deadline'].value}

Waarbij:

  • berekening time-out:  de naam is van het weergaveveld waarin we de time-out berekenen. 
  • berekening deadline: de naam is van het weergaveveld waarin we de deadline berekenen. 

Gekozen datum

Gebruik onderstaande scripting om het aantal uren, minuten, ... te berekenen ten opzicht van een bepaalde datum.

${_duration[datum]}

Waarbij:

  • datum:  de datum is ten opzicht waarvan het aantal uren, minuten, ... berekend moeten worden. Deze datum kan opgehaald worden aan de hand van juel scripting
Voorbeeld
${_duration[$s.taskFormsFromLastRunMap['naam-van-de-taak'].formDataFlexesMap['vraagID'].value]}

Transities toevoegen

  • Kies één van de ankerpunten van het object. 
  • Houd je linkermuisknop in 

  • Teken de transitie in de gewenste richting.

  • Haak de pijl vast aan de ankerpunten van de activiteiten om deze te verbinden.

Transities wijzigen

  • Verplaats de cursor naar de gewenste transitie 
  • Klik op de rechtermuisknop
  • Wijzig de nodige gegevens in het formulier dat verschijnt
  • Klik op “Wijzigen”

Transities verwijderen


  • No labels