Sunteți pe pagina 1din 58

Proiect cofinanţat din FSE prin Program Operațional Capital Uman 2014 - 2020

Axa Prioritară 6 - Educație și competențe


Acțiune: OS6.7, OS6.9, OS6.10
Titlu proiect: Antreprenor UBB!
Acronim proiect: AUBB
Cod proiect: POCU/379/6/21/124662
Beneficiar: Universitatea Babeș-Bolyai din Cluj-Napoca

Reguli
(Rules)*

Notă: Conținutul acestui document a fost preluat din manualul platformei JobRouter
(Workflow Design – Create Processes – Rules) și a fost modificat conform viziunii autorilor.
Conţinutul acestui document nu reprezintă în mod obligatoriu poziţia oficială a JobRouter
AG

ROMÂNIA
UNIVERSITATEA BABEŞ-BOLYAI DIN CLUJ-NAPOCA
Universitatea Babeș-Bolyai Tel.: (00) 40 - 740 – 077521
din Cluj-Napoca
Cuprins

Introducere .......................................................................................... 3
Asocierea regulilor (Assign rules) ........................................................ 4
Ștergerea regulilor (Delete rules) ........................................................ 8
Structura regulilor (Rule structure ....................................................... 9
Proprietățile comune tuturor tipurilor de reguli ....................................... 9
Specificarea condițiilor de execuție a regulilor ....................................... 14
Definirea condițiilor sub forma dacă-atunci (Define Condition) ............................... 14
Definirea condițiilor sub forma interogărilor (Define Query) ................................... 17
Definirea condițiilor sub forma funcțiilor interogare (Query Function) ..................... 19

Regula de direcționare (Routing rule) ................................................ 20


Pagina General (General page) ........................................................... 20
Secțiunea Asociere Subtabel (Subtabel Assignment Section) ................................. 21
Secțiunea Condiție (Condition) .......................................................................... 23

Pagina Avansat (Advanced page) ........................................................ 25


Secțiunea Pasul următor (Subsequent Step) ....................................................... 25
Secțiunea Termene limită (Escalation) ................................................................ 27
Secțiunea Amânare (Postponed) ........................................................................ 28

Proprietatea Deschiderea/executarea directă a pasului următor


(Open/execute subsequent step directly) ............................................. 29
Pași de utilizator în cascadă (Cascading user steps) ............................................. 29
Mai multe reguli de direcționare într-un singur pas (Several routing rules in one step)
..................................................................................................................... 30
Pași de sistem / activitați de sistem procesați/procesate de server (system steps /
system activities processed by server) ............................................................... 31

Regula de finalizare (Completion Rule) .............................................. 34


Regulă de atribuire (Assignment rule) ............................................... 37
Pagina General (General page) ........................................................... 37
Pagina Atribuire (Assignment page) ..................................................... 38
Regula de acțiune (Action rule) ......................................................... 40
Pagina General (General page) ........................................................... 40
Pagina Avansat (Advanced page) ........................................................ 41
Pagina Anexare (Attachment page) ..................................................... 42
Pagina Trimitere email (Send Email page) ............................................ 43
Pagina Export (Export page) ............................................................... 44
1
Pagina Export PDF (PDF Export page) .................................................. 49
Pagina Baza de date (Database page) .................................................. 51
Pagina Funcții PHP (PHP Function page) ............................................... 52
Pagina Linie de comandă (Command Line page) .................................... 53
Pagina Mesaj după trimiterea unui pas (Message after sending Step page)
...................................................................................................... 54
Grup de reguli (Rule group) ............................................................... 56

2
Introducere

Unui pas din cadrul unui flux de process i se pot asocia reguli care vor fi
executate după procesarea pasului respectiv - fie după acționarea butonului
Send (Trimitere), în cazul unui pas de utilizator, fie după execuția specifică a
pasului respectiv, în cazul unui pas de sistem.

Regulile efectuează anumite acțiuni, cum ar fi redirecționarea fluxului de proces


către un alt pas, modificarea unei valori într-o bază de date sau copierea,
ștergerea și mutarea fișierelor anexate.

Dacă se asociază mai multe reguli unui pas, ele vor fi executate secvențial, într-
o ordine specificată de persoana care proiectează fluxul procesului.

3
Asocierea regulilor (Assign rules)

Regulile pot fi asociate pașilor (steps), sau modificate după ce ele în prealabil au
fost asociate, fie utilizând Editorul diagramei (Flowchart Editor), fie folosind
opțiunea Steps (Pași) din submeniul Workflow (Flux de lucru) a meniului de
navigare Designer (Designer navigation menu).

Pentru a asocia o regula unui pas folosind Editorul diagramei (Flowchart Editor)
se va acționa, prin dublu click, butonul regulii aferent pasului căruia dorim să-
i asociem o regulă.

Pentru a asocia o regula unui pas folosind opțiunea Steps (Pași) din submeniul
Workflow (Flux de lucru) a meniului de navigare Designer (Designer navigation
menu) se va da un click pe proprietatea Rules (Reguli) aferentă pasului căruia
dorim să-i asociem o regulă.

În ambele cazuri de asociere a unei reguli unui pas, dacă nu mai există reguli
asociate pasului respectiv, se va deschide o interfață în care sunt prezentate
toate tipurile de reguli disponibile pentru a putea selecta tipul dorit, altfel se
deschide o interfața de prezentare a tuturor regulilor asociate anterior pasului
respectiv.

Interfața de prezentare a tipurilor de reguli diponibile prezintă următoarele tipuri


de reguli:

Interfața de prezentare a tipurilor de reguli

4
Rule Type Tip de regulă Explicație
Grup de Definește centralizat condițiile de execuție
Rule group
reguli pentru mai multe reguli corelate logic.
Regula de Stabilește pasul următor al instanței de
Routing rule
direcționare proces a fluxului de proces respectiv.
Completion Regulă de Finalizează instanța de proces a fluxului de
Rule finalizare proces respectiv.
Value Regulă de Actualizează valorile unor câmpuri .din
Assignment atribuire tabelul de proces (proces tabel) și/sau din
Rule valoare subtabele (subtables).
Realizează diverse acțiuni, precum
Regulă de copierea, mutarea sau ștergerea fișierelor
Action Rule
acțiune anexate, trimiterea de e-mailuri, exportul
de date, actualizarea bazei de date etc.
DocuWare Regulă Execută acțiuni DocuWare, dacă modulul
Rule DocuWare DocuWare a fost instalat.

După selectarea tipului de regulă dorit se va deschide o interfața de editare


corespunzătoare tipului de regulă ales pentru a introduce proprietăților specifice
regulii care se dorește a fi asociată pasului respectiv.

Prin acționarea butonului Cancel (Anulare) se va afișa interfața de prezentare a


regulilor asociate pasului respectiv.

Interfața de prezentare a regulilor asociate unui pas afișează toate regulile și/sau
grupurile de reguli anterior asociate unui pas.

Interfața de prezentare a regulilor asociate unui pas

Pentru fiecare regulă sunt afișate următoarele proprietăți:

5
Rule Proprietățile
Explicația
properties unei reguli
Indică identificatorul regulii, numărul unic
ID ID
atribuit regulii pentru a o putea identifica.

Indică dacă regula este activă sau nu.


Dacă o regulă este inactivă ea nu va fi
Active Activ
executată chiar dacă condiția ei de
execuție este adevărată.

Label Etichetă Indică eticheta regulii.

Type Tip Indică tipul regulii.

Indică denumirea subtabelului care


Subtable Subtabel conține date necesare pentru execuția
regulii.

Indică pasul următor în care va fi


direcționată instanța de proces aflată în
Next step Pasul următor
pasul căruia i s-a asociat regula (doar
pentru reguli de direcționare).

Inidcă dacă s-a proprietatea Stop Rule


Execution (Oprește execuția regulilor) a
fost bifată sau nu pentru o regulă.
Dacă acestă proprietate este bifată atunci
următoarele reguli nu vor mai fi executate
Cancel Anulare chiar daca condițiile lor de execuție sunt
adevărate.
Pentru mai multe detalii referitoare la
oprirea execuției regulilor se recomandă
consultarea secțiunii Structura regulilor
(Rule Structure).

Indică modul de execuție al regulii.


Pentru mai multe detalii referitoare la
Execution Execuție modul de execuție a regulilor se
recomandă consultarea secțiunii Structura
regulilor (Rule Structure).

Pentru a modifica ordinea de execuție a regulilor se acționează butoanele având


simbolurile și . Regulile se execută secvențial, de sus în jos, în funcție de
condițiile de execuție specifice fiecărei reguli. Astfel dacă pentru un pas există
mai multe reguli ale căror condiții de execuție sunt îndeplinite ele vor fi executate

6
toate în ordinea dată de parcurgerea de sus în jos a regulilor asociate pasului
respectiv.

Pentru a asocia o regulă nouă se acționează butonul New (Nou) din bara de
acțiuni (Action bar).

7
Ștergerea regulilor (Delete rules)

Pentru a șterge o regulă asociată unui pas se accesează interfața de prezentare


a regulilor asociate pasului respectiv, se selectează regula respectivă, prin
bifarea casetei din stânga ID-ului regulii și se acționează butonul Delete
(Ștergere) din bara de acțiuni (Action bar).

Ștergerea unei reguli

În urma acestei acțiuni va apărea o fereastră pop-up prin care se va solicita


confirmarea ștergerii, prin acționarea butonului Delete (Ștergere), sau anularea
ștergerii, prin acționarea butonului Cancel (Anulare).

8
Structura regulilor (Rule structure

Proprietățile comune tuturor tipurilor de reguli

Toate regulile disponibile pentru a fi asociate unui pas (step) au aceleași


proprietăți de bază și sunt prezentate în pagina General (General Page). În
continuare vom descrie aceste proprietăți generale urmând ca proprietățile
specifice fiecărui tip de regulă să fie descrire în secțiunile următoare.

Proprietățile comune tuturor regulilor – pagina General

Pentru orice tip de regulă se pot specifica următoarele proprietăți de bază:

Rule Properties Proprietățile unei Explicația


reguli
Secțiunea General (General Section)

Label Etichetă Indică eticheta regulii.

9
Rule Properties Proprietățile unei Explicația
reguli
Indică grupul de reguli din care va
Rule group Regulă de grup
face parte regula.

Indică regula sau grupul de reguli


care se execută înaintea regulii care
tocmai se asociază pasului.
Dacă nu se specifică nimic pentru
această proprietate înseamnă ca
regula care tocmai se asociază
Predecessor pasului va fi executată prima.
Regula anterioară
rule Prin intermediul acestei proprietăți
se definește ordinea de execuție a
regulilor. Ordinea de execuție a
regulilor se poate modifica și
acționând butoanele, din interfața
de prezentare a regulilor, având
simbolurile și .

Documentation Documentație Indică o descriere a regulii.

Indică dacă regula este activă (daca


caseta de validare este bifată) sau
nu (daca caseta de validare este
Active Activ debifată).
Dacă o regulă este inactivă ea nu va
fi executată chiar dacă condiția ei de
execuție este adevărată.

Secțiunea Execuția (Execution Section)

Indică dacă regula va fi executată în


simulator (daca caseta de validare
este bifată) sau nu (daca caseta de
In Simulation In Simulator validare este debifată).
Această proprietate este disponibilă
doar pentru tipul de regulă de
acțiune (Action Rule)

Indică dacă regula va fi executată


După trimiterea după acționarea butonului send
After sending
de pe o interfață (trimitere) situat pe o interfață de
from a desktop
de tip desktop a
form tip desktop a unui formular (daca
unui formular
caseta de validare este bifată) sau

10
Rule Properties Proprietățile unei Explicația
reguli
nu (daca caseta de validare este
debifată).
O interfață de tip desktop a unui
formular este accesibilă de pe un
calculator și/sau laptop.

Indică dacă regula va fi executată


după acționarea butonului send
(trimitere) situat pe o interfață de
După trimiterea tip mobile a unui formular (daca
After sending caseta de validare este bifată) sau
de pe o interfață
from a mobile
de tip mobile a nu (daca caseta de validare este
form
unui formular debifată).
O interfață de tip mobile a unui
formular este accesibilă de pe un
telefon mobil.

Secțiunea Asociere subtabel (Subtable Assignment Section)

Indică denumirea subtabelului care


conține date necesare pentru
execuția regulii.
Subtable Subtabel În cazul regulilor DocuWare
proprietatea va indica denumirea
unei arhiva corespunzătoare și nu
denumirea unui subtabel.

Secțiunea Condiție (Condition Section)

Indică modul de continuare a


fluxului procesului în cazul asocierii
acestui pas a unei reguli de
Split Type Tipul ramificării
direcționare (routing rule) sau a
unei reguli de finalizare (completion
rule).

Indică conditia de execuție a regulii


care tocmai se asociază pasului și
tipul de specificare al condiției.
Condition Condiție
Există 4 moduri de specificare a
condiție de execuție a unei reguli.

11
Rule Properties Proprietățile unei Explicația
reguli
(1) Always execute (se execută
întotdeauna): regula se execută
întotdeauna și nu depinde de
specificarea unei condiții.

(2) Define condition (definire


condiție): condiția de execuție a
regulii se specifică sub forma dacă
condiție atunci (condiție dacă-
atunci) – dacă condiție este
adevărată atunci regula se execută
altfel regula nu se execută.
Pentru mai multe detalii referitoare
la specificarea condițiilor sub forma
dacă-atunci se recomandă
consultarea secțiunii Definirea
condițiilor sub forma dacă-atunci
(Define condition).

(3) Define query (definire


interogare): condiția de execuție a
regulii se specifică sub forma unei
interogări.
Pentru mai multe detalii referitoare
la specificarea condițiilor sub forma
unei interogări se recomandă
consultarea secțiunii Definirea
conditiilor sub forma interogărilor
(Define query).

(4) Query function (funcție


interogare): condiția de execuție a
regulii se specifică sub forma unei
functii interogare care returnează
ca și rezultat adevărat sau fals.
Pentru acest mod de specificare a
condiției de execuție a regulii se va
preciza dacă regula se va executa
pentru valoarea returnata de

12
Rule Properties Proprietățile unei Explicația
reguli
funcția interogare adevărat (true)
sau fals (false). În mod implicit se
considera ca regula se excută
pentru valoarea returnată adevărat
(true).
Pentru mai multe detalii referitoare
la specificarea condițiilor sub forma
unei interogări se recomandă
consultarea secțiunii Definirea
condițiilor sub forma funcțiilor
interogare (Define query function).

Secțiunea După execuție (After execution Section)


Indică dacă execuția regulilor
următoare acestei reguli care
tocmai se asociază pasului va fi
oprită după execuția ei (dacă caseta
de validare este bifată) sau nu
Stop rule Oprirea execuției (dacă caseta de validare este
execution regulilor
debifată).
Dacă casetă de validare este bifată
atunci execuția regulii următoare
este oprită chiar daca condițiile lor
de execuție sunt adevărate

13
Specificarea condițiilor de execuție a regulilor

Definirea condițiilor sub forma dacă-atunci (Define Condition)

Dacă condiția de execuției a unei reguli depinde de anumite valori, maximum


trei, se poate defini pentru o regula o condiție de forma dacă-atunci (if-then).

Pentru această în secțiunea Condition (Condiție), din interfața de asociere a


regulii unui pas, se va selecta din lista derulantă opțiunea Define condition
(Definire condiție).

Specificare condiție sub forma dacă-atunci

În câmpurile condiției se vor specifica câmpuri de proces și de sistem disponibile

prin acționarea butonului având simbolul . În urma acestei acțiuni se va


deschide o fereastră pop-up conținând o listă a câmpurilor de proces și de sistem
diponibile.

14
Câmpuri de proces și de sistem

Din această fereastră pop-up se vor putea selecta:

• câmpuri din tabelul de procesul (proces tabel) - din pagina Table Filelds

• câmpuri din subtabele (subtables) - din pagina Subable Filelds

• elemente din formularul asociat pasului (forms), dacă pasul are asociat un
formular - - din pagina Form Filelds

• variabilele JobRouter- din pagina JobRouter Variables.

După selectarea denumirii unui câmp de proces sau de sistem fereastra se va


închide automat iar denumirea câmpului respectiv va fi transcrisă în câmpul
condiție din secțiunea Condition (Condiție). Denumirea câmpurilor din tabelul de
proces (proces tabel) sau din subtabele (subtables) vor fi incluse la transcriere
între paranteze rotunde - (fieldname) / (denumire câmp) – iar denumirile
elementelor de formular sau ale variabilelor JobRouter vor fi incluse la
transcriere între paranteze drepte - [fieldname] / [denumire element/variabilă].

În timpul execuției fluxului de proces valoarea câmpului de proces sau de sistem


transcrisă în câmpului condiție se va compara fie cu o valoare constantă,
precizată în momentul specificării condiției, fie cu o valoare dinamică, specificată
tot în momentul definirii condiției, prin denumirea unui alt câmp de proces sau
de sistem.

Pentru comparare se pot utiliza următorii operatori de comparare, diponibili in


listele derulante:

Operatori de comparare Explicație


= (equals) egal cu

<> (not equals) diferit de

< (less than) mai mic ca

<= (less than or equal to) mai mic sau egal cu

> (greater than) mai mare ca

>= (greater than or equal to) mai mare sau egal cu

LIKE (contains) conține

15
Operatori de comparare Explicație
NOT LIKE (does not contain) nu contine

Pentru a combina mai multe subcondiții se pot folosi operatorii logici AND (ȘI)
sau OR (SAU), disponibili și ei tot prin intermediul listelor derulante.

De reținut: Operatorul AND (ȘI) are o prioritate mai mare decât operatorul OR
(SAU).

16
Definirea condițiilor sub forma interogărilor (Define Query)

Dacă condiția de execuției a unei reguli depinde de mai mult de trei valori se
poate defini pentru o regula o condiție de forma unei interogări - o așa numită
condiție liberă (free condition).

Pentru această în secțiunea Condition (Condiție), din interfața de asociere a


regulii unui pas, se va selecta din lista derulantă opțiunea Define Query (Definire
interogare).

Specificare condiție sub forma unei interogări

Proprietatea Condition (Condiție) indică condiția de execuție a regulii.

Condiția de execuție a regulii va conține, ca și în cazul condițiilor specificate sub


forma daca-atunci:

• denumiri ale câmpurilor din tabelul de proces (proces tabel) sau din
subtabele (subtables) - incluse între paranteze rotunde, (fieldname) /
(denumire câmp) – și denumiri ale elementelor de formular sau ale
variabilelor JobRouter - incluse între paranteze drepte, [fieldname] /
[denumire element/variabilă]

• operatori de comparație

Operatori de comparare Explicație


== egal cu

!= or <> diferit de

< mai mic ca

<= mai mic sau egal cu


17
Operatori de comparare Explicație
> mai mare ca

>= este mai mare sau egal cu

De reținut: Operatorii de comparare diponibili pentru specificarea


conditiei de execuție a unei reguli sub formă de interogare diferă într-o
oarecare măsură de operatorii de comparare disponibili pentru a
specificare conditia se execuție a unei reguli sub forma dacă-atunci.

• operatori logici - AND (ȘI) sau OR (SAU) – și

• paranteze rotunde pentru a grupa părți ale interogării și pentru a utiliza


corect prioritatea operatoriilor logici (vezi exemplele următoare).

Prin caseta de validare Case sensitive (Diferențiere între litere mari și mici) se
poate controla procedura de comparare a valorilor.

Exemple de condiții specificate sub formă de interogare:

(textbox1) == "12345" OR (textbox1) =="0815"

((textbox1) == "12345" OR (textbox1) == "0815") AND [checkbox1] != "1"

18
Definirea condițiilor sub forma funcțiilor interogare (Query
Function)

Pentru a putea utiliza rezultatul unor verificări complexe ca și o condiție pentru


execuția unei reguli se vor putea utiliza funcții PHP de tipul Condition Function
(funcție de tip condiție). Pentru mai multe detalii referitoare la funcțiile PHP se
recomandă consultarea capitolului Funcții PHP (PHP Functions).

Pentru această în secțiunea Condition (Condiție), din interfața de asociere a


regulii unui pas, se va selecta din lista derulantă opțiunea Query Function
(Definire funcție interogare).

Specificare condiție sub forma unei funcții interogare

Proprietatea Condition (Condiție) indică denumirea funcției PHP, de tip Condition


Function (funcție de tip condiție), a cărei valoare returnată, adevărat (true) sau
fals (false), este folosită pentru a specifica condiția de execuție a reguli.

În acest mod de specificare a conditiei de execuție a unei reguli este necesar să


se precizăm dacă regula va fi executată pentru valoarea adevărat (true)
returnată de functia interogare sau pentru fals (false). În mod implicit se
consideră că regula se execută pentru valoarea returnată adevărat (true).

De reținut: Parametrii de apel ai funcției interogare pot fi asociați cu valori


constante, cu valori ale câmpurilor din tabelul de proces (process table), cu valori
ale câmpurilor din subtabele (subtables), cu valori ale elementelor de pe
formular sau cu valori ale variabilor JobRouter.

19
Regula de direcționare (Routing rule)

O regulă de direcționare (routing rule) stabilește pasul următor al fluxul unui


proces, în mod dinamic, pe baza unei condiții. Pasul următor al fluxul de proces
va fi stabilit în momentul în care este îndeplinită condiția de execuție a regulii
de direcționare (routing rule).

Unui pas îi pot fi asociate mai multe reguli de direcționare (routing rules). Dacă
sunt îndeplinite condițiile de execuție ale mai multor reguli de direcționare
(routing rules) se vor iniția mai multe subfluxuri ale procesului care se vor
executa în paralel.

Pentru crearea unei reguli de direcționare (routing rule) se va alege din interfața
în care sunt prezentate toate tipurile de reguli disponibile tipul routing rule
(regulă de direcționare). Pentru mai multe detalii referitoare la asocierea unei
reguli unui pas se recomandă consultarea secțiunii Asocierea regulilor (Assign
rule).

Pagina General (General page)

O regula de directionare (routing rule) are o serie de proprietăți comune cu


celelalte tipuri de reguli.

20
Proprietățile comune tuturor regulilor – pagina General

Pentru mai multe detalii referitoare la completarea proprietăților din pagina


General se recomandă consultarea secțiunii Structura regulilor (Rule structure).

Secțiunea Asociere Subtabel (Subtabel Assignment Section)

În cadrul acestei secțiuni se va specifica dacă execuția unei reguli de direcționare


(routing rule) depinde sau nu de datele salvate într-un subtabel.

Dacă o regulă de direcționare (routing rule) depinde de datele salvate într-un


subtabel atunci din lista derulantă Subtable (subtabel) se va alege denumirea
subtabalelului respectiv.

21
Asocierea unui subtabel unei reguli de direcționare – pagina General

După specificarea denumirii subtabelului de care depinde excuția unei reguli de


direcționare (routing rule) se va specifica modul în care rândurile cu date ale
subtabel specificat vor fi transmise în pasul următor /pașii următori. Sunt
disponibile următoarele opțiuni:

Transmiterea Transmiterea
Explicaţie
datelor EN datelor RO

Copiază toate Indică faptul că toate rândurile din


Copy all subtabel aferente pasului curent
rândurile din
subtable rows to
subtabel în toți vor fi copiate în pasul următor /
all steps
pașii următori pașii următori.

Indică faptul că toate rândurile din


Distribuie subtabel aferente pasului curent
Distribute rândurile din vor fi distribuite în pasul următor /
subtable rows to subtabel între
pașii următori. Fiecare pas următor
all steps toți pașii
următori primește exact un rând al
subtabelului.

Nu copia Indică faptul că rândurile din


Do not copy subtabel aferente pasului curent nu
rândurile din
subtable rows to
subtabelui în vor fi copiate în pasul următor /
new steps
pașii următori pașii următori.

Property Proprietate Explicație


În cazul distribuirii rândurilor unui
Unificarea subtabel între toți pașii următori
Merge recipients destinatarilor această proproprietate indică dacă
rândurile subtabelului destinate
aceluiași utilizator vor fi transmise

22
Property Proprietate Explicație
unificate într-un singur pas
următor (dacă caseta de validare
este bifată) sau dacă ele vor fi
transmise separat în pași distincți
(dacă caseta de validare este
debifată).

Exemplu:

Dacă s-a creat un subtabel ale cărui rânduri sunt elemente ale unei facturi
(produse și/sau servicii) și s-a decis distribuirea rândurilor subtabelului atunci
fiecare utilizator primește un element al facturii (produs sau serviciu) la care
trebuie să lucreze (s-au creat mai mulți pași, fiecare pas conținând un rând al
subtabelului). Dacă se dorește ca unui utilizator să i se atribuie mai multe rânduri
ale subtalelului atunci, prin bifarea casetei de validare Merge Recipients
(Unificarea destinatarilor), utilizatorul va primi toate rândurile subtabelului
atribuite lui într-un singur pas altfel utilizatorul va primi toate rândurile
subtabelului atribuite lui în pași distincți (fiecare rând într-un pas).

Secțiunea Condiție (Condition)

Pentru mai multe detalii referitoare la definirea unei condiții se recomandă


consultarea secțiunii Structura regulilor (Rule structure).

Pentru o regulă de direcționare (routing rule) este afișat și tipul ramificării (split
type) pasului căruia i se asociază respectiva regulă de direcționare (routing rule).

Condiția unei reguli de direcționare – pagina General

Dacă fluxul unui proces se ramifică în mai mulți pași se utilizează tipul de
ramificare pentru a determina comportamentul dorit. Este de reținut faptul că
tipul de ramificare este doar afișat aici având posibilitatea să fie modificat doar
23
în proprietățile pasului căruia i se asociază respectiva regulă de direcționare
(routing rule). Se poate stabili dacă e necesar să fie îndeplinită doar o condiție
(XOR) sau dacă pot fi îndeplinite mai multe condiții (OR). Pentru mai multe
detalii referitoare la modificarea proprietăților unui pas se recomandă
consultarea capitolului Pași (Steps).

24
Pagina Avansat (Advanced page)

Proprietățile specifice unei reguli de direcționare (routing rule) sunt specificate


în pagina Avansat (Advanced page). În cadrul acestei pagini se stabilește care
va fi pasul următor al fluxului procesului, cui va fi alocat acest pas urmator și
cum va fi procesat acest pas următor.

Proprietățile specifice unei reguli de direcționare - pagina Advanced

Secțiunea Pasul următor (Subsequent Step)

Pentru o regulă de direcționare pot fi editate următoarele proprietăți specifice:

Rule Proprietățile
Explicaţie
properties regulii
Indică codul unic de identificare al pasului
Subsequent următor. Este o proprietate obligatorie și
Pasul următor
step este deci necesară specificarea unui pas
următor.

Utilizatorul Indică utilizatorul (user) căruia îi este


Next user
următor alocat pasul următor.
25
Rule Proprietățile
Explicaţie
properties regulii

Next job Indică rolul (job function) căruia îi este


Rolul următor
function alocat pasul următor.

Indică numărul bazinului/sistemului de


procesare în care va fi inclus pasul
următor.
Dacă nu se specifică nici un număr atunci
pasul respectiv nu va fi inclus în nici un
Processing Bazin/Sistem bazin/sistem de procesare.
pool de procesare
Pentru mai multe detalii referitoare la
bazinele/sistemele de procesare se
recomandă consultarea manualului
JobRouter Documentație tehnică
(JobRouter Tech Doc).

Indică daca un utilizator va fi (dacă caseta


de validare este debifată) sau nu (dacă
caseta de validare este bifată) notificat
No prin email atunci când un pas este
Fără notificare
notification disponibil pentru el pentru procesare.
prin email
email În mod implicit un utilizator este notificat
prin email însă dacă această proprietate
este bifată atunci utilizatorul nu va mai fi
notificat.

Dacă această proprietate este bifată atunci


doar valorile câmpurilor din tabelul de
proces (process tabel) din momentul
execuției regulii de direcționare vor fi
copiate în pasul următor / pașii următori.
Modificările sau atribuirile de valori care au
Use only Folosiți doar loc în momentul execuției următoarelor
previously valorile regulile asociate aceluiași pas vor fi
assigned atribuite
values anterior ignorate în momentul inițierii procesării
pasului următor / pașilor următori.
Această opțiune este valabilă doar pentru
valorile din tabelul de proces (proces
tabel) și nu are niciun efect asupra
transmiterii valorilor din
subtabel/subtabele (subtabel).

26
Rule Proprietățile
Explicaţie
properties regulii
Indică dacă formularul aferent pasului
Open/exec Deschiderea/ex următor este deschis în mod automat
ute ecutarea
(dacă caseta de validare este bifată) sau
subsequent directă a
step pasului nu (dacă caseta de validare este debifată).
directly următor

În cadrul unei reguli de direcționare (routing rule) pasul următor al unui flux de
proces poate fi alocat unui anumit utilizator (next user) și/sau unui anumit rol
(next job function).

Dacă în cadrul unei reguli de direcționare se specifică atât proprietatea next user
(utilizator următor) cât și proprietatea next job function (rol următor) atunci
proprietatea next user (utilizator următor) are prioritate.

Dacă în cadrul regulii de direcționare (routing rule) nu se specifică nici un


utilizator (next user) și nici un rol (next job funciton) atunci pasul următor,
specificat în cadrul regulii de directionare (routing rule), va fi alocat utilizatorului
sau rolului specificat în cadrul proprietatii Job Function al pasului următor spre
care este direcționat fluxul procesului.

Dacă pentru un pas este specificată proprietatea Subsequent Step (pasul


următor) și dacă pasul are asociată și o regulă de direcționare (routing rule) a
cărei condiție de execuție este îndeplinită atunci pasul următor al fluxului
procesului este cel specificat în cadrul proprietății Subsequent Step (pas
următor) a regulii de direcționare (routing rule) și nu cel stabilit în cadrul
proprietății Subsequent Step (pas următor) a pasului.

Secțiunea Termene limită (Escalation)

În cadrul unei reguli de direcționare (routing rule) se poate specifica un termen


limită de procesare al pasului următor (subsequent step) sau se poate modifica
termenul limită de procesare al pasului următor stabilit anterior.

27
Rule Proprietatea
Explicaţie
property regulii

Completion Indică o limită de timp pentru procesarea


Termen limită
Time pasul următor (step escalation).

Termenul limită (completion time) se poate specifica în minute, ore sau zile, ca
și dată calendaristică sau ca procent.

Pentru specificarea termenului limita (completion time) în minute, ore sau zile
se introduce o valoare (cum ar fi 24) și se alege o unitate de timp (cum ar fi
ore).

Pentru specificarea termenului limită (completion time) ca data calendaristică fie


se introduce o data fixă fie se specifică denumirea unui câmp din tabelul de
process (process table), folosind formatul (ProcessTableField:systemdatetime),
sau denumirea unui câmp dintr-un subtabel, folosind formatul (SubTable-
>Field:RowId:systemdatetime).

Pentru specificarea termenului limită (completion time) ca un procent se


introduce o valoare care indică termenul limită de procesare ca procent din
durata totală a procesului (process escalation).

Pentru mai multe detalii referitoare la termenele limită se recomandă


consultarea capitolului Termene limită (modul JobTimer) /Escalations (JobTimer
module).

Secțiunea Amânare (Postponed)

În cadrul unei reguli de direcționare (routing rule) se poate specifica un termen


de amânare pentru vizualizarea de către un utilizator a unui pas.

Rule Proprietatea
Explicaţie
property regulii
Indică un termen de amanare a vizibilității
Postponed Amânare unui pas de către un utilizator. Până atunci
pasul va fi nedisponibil pentru utilizator.

Termenul de amânare se poate specifica în secunde, minute, ore sau zile sau ca
și dată calendaristică.

28
Dacă se dorește specificarea termenului de amânare ca și dată calendaristică fie
se introduce o data fixă fie se specifică denumirea unui câmp din tabelul de
process (process table), folosind formatul (ProcessTableField:systemdatetime),
sau denumirea unui câmp dintr-un subtabel, folosind formatul (SubTable-
>Field:RowId:systemdatetime).

Pentru a salva regula de direcționare (routing rule) se acționează butonul Save


(Salvare). După salvarea unei reguli se va afișa interfața de prezentare a tuturor
regulilor asociate anterior pasului respectiv.

Proprietatea Deschiderea/executarea directă a pasului


următor (Open/execute subsequent step directly)

Proprietatea Deschiderea/executarea directă a pasului următor (Open/execute


subsequent step directly) permite afișarea directă a formularul aferent pasului
următor unui utilizator dacă acest utilizator are asociat și rolul (job function)
specificat în cadrul proprietății Job Function (pasul următor) a pasului următor.
Astfel este posibilă, de exemplu, afișarea directă, unul după altul, a mai multor
formulare aferente pașilor de utilizatori.

În continuare vor fi descrise trei scenarii de aplicare ale proprietății


Deschiderea/executarea directă a pasului următor (Open/execute subsequent
step directly). Dacă nu este menționat altfel, proprietatea Open/execute
subsequent steps directly (Deschiderea/executarea directă a pașilor) este bifată
în toate regulile de direcționare (routing rules) și utilizatorul are asociat rolul
(job function) corespunzător pentru vizualizarea formularului aferent pasului
următor, în toate scenariile de aplicare descrise în continuare.

Pași de utilizator în cascadă (Cascading user steps)

În acest scenariu de aplicare, formularele aferente pașilor de utilizator sunt


realizate unul pe baza celuilalt/celorlați. Astfel, este posibilă împărțirea unui
formlar mai complex, asociat unui pas, în mai multe formulare mai simple,
asociate fiecare câte unui pas. După trimiterea unui pas, formularul aferent
pasului următor este afișat direct utilizatorului (nu va fi nevoie să se acceseze

29
din proces inbox-ul implicit JobRouter sau dintr-un proces inbox specific definit
în acest scop).

Pașii de utilizator în cascadă

Pasul 900 conține o regulă de direcționare (routing rule) care are stabilit ca și
pas următor pasul 910. Când un utilizator trimite (send) acest pas 900,
formularul aferent pasului 910 este afișat direct unui utilizator (eventual după
ce în pasul 900 au fost executat și alte reguli suplimentare).

Pas 910 conține și el o regulă de direcționare (routing rule) care are stabilit ca
și pas următor pasul 920. Când un utilizator trimite (send) acest pas 910,
formularul aferent pasului 920 este afișat direct unui utilizator (eventual după
ce în pasul 910 au fost executat și alte reguli suplimentare).

Mai multe reguli de direcționare într-un singur pas (Several


routing rules in one step)

În acest scenariu de aplicare, dintr-un pas de utilizator se vor iniția mai mulți
pași de utilizator, prin mai multe reguli de direcționare (routing rule), ale căror
condiții de execuție se presupune că sunt adevărate, care vor începe mai multe
subfluxuri ale procesului care se vor executa în paralel.

30
Mai multe reguli de direcționare într-un singur pas

Pasul 900 conține 2 reguli de direcționare (routing rule) care au stabilite ca și


pas următor pasul 910 respectiv 920 (regula având ca pas următor pasul 910 se
execută prima iar cea având ca pas următor pasul 920 se execută ultima).

Când un utilizator trimite (send) acest pas 900 pașii 910 și 920 vor fi inițiați.
Presupunând că un utilizator are asociate rolurile adecvate pentru ambii pași
următori, 910 respectiv 920, atunci formularul asociat ultimul pas inițiat va fi
afișat direct utilizatorului, în cazul nostru formularul asociat pasului 920.

Dacă un utilizator are asociat doar rolul adecvat pentru pasul 910 dar nu și cel
pentru pasul 920 atunci formularul asociat pasului 910 va fi afișat direct
utilizatorului.

Pași de sistem / activitați de sistem procesați/procesate de


server (system steps / system activities processed by server)

În acest scenariu de aplicare, după trimiterea (send) pasului 900 (pas de


utilizator de start (start step)) pasul 910 (pas de sistem / activitatea de sistem
de tip trimitere email) este executat și formularul aferent pasului 920 este afișat
direct utilizatorului deoarece pasul de sistem de tip trimitere email contine o
regula de directionare (routing rule) care are stabilit ca și pas următor pasul
920.

31
Pas de sistem / activitate de sistem executătă de un server

Astfel, pașii de sistem / activitățile de sistem procesați/procesate de server


(PHP-sided) pot fi conectate interactiv la formularele afișate unui utilizator.

De reținut: Această funcționalitate este valabilă doar pentru pașii de sistem /


activități de sistem procesați/procesate de server. Pașii de sistem / activitățile
de sistem procesați de un serviciu (service) nu pot realiza o astfel de
functionalitate - în acest caz, formularul aferent pasului următor (în acest
exemplu pasul 920) este închis și pasul următor apare în inbox-ul sau process
inbox-ul aferent, după executarea pasului de sistem / activitații de sistem.

De reținut: Dacă pasul de sistem / activitatea de sistem este asociată unui


bazin/sistem de procesare activarea opțiunii Open/execute subsequent steps
directly (Deschiderea/ executarea formularelor pașilor următori în mod direct)
nu are nici un impact.

De reținut (pentru toate cele trei scenarii de aplicare):

• o regula de direcționare (routing rule) cu proprietatea Open/execute


subsequent steps directly (Deschiderea/executarea directă a pasului
următor) trebuie să fie asociată fiecărui pas care va fi procesat în cascadă.

• proprietate Open/execute subsequent steps directly


(Deschiderea/executarea directă a pasului următor) nu are nici un efect în
simulator.

• proprietatea Open/execute subsequent steps directly


(Deschiderea/executarea directă a pasului următor) va fi ignorată dacă un
utilizatorul are bifată proprietatea procesarea lotului (batch processing) și
pasului următor din lot va fi afișat.

• proprietate Open/execute subsequent steps directly


(Deschiderea/executarea directă a pasului următor) nu are nici un efect
dacă funcționalitatea trimitere în fundal (send background) din cadrul
platformei JobRouter (CONST_SEND_IN_BACKGROUND = true) este
activată deoarece în acest caz un pas de utilizator este procesat de către
un serviciu (service) și nu de către server. Pentru mai multe detalii se

32
recomandă consultarea manualului Documentație tehnică JobRouter
(JobRouter Tech Doc).

• proprietate Open/execute subsequent steps directly


(Deschiderea/executarea directă a pasului următor) nu are nici un efect
dacă funcționalitatea procesare rapidă și directă a instanțelor (send
instances recursevely) din cadrul platformei JobRouter
(CONST_FASTTRACK_INCIDENTS = true) este activată. Pentru mai multe
detalii se recomandă consultarea manualului Documentație tehnică
JobRouter (JobRouter Tech Doc).

33
Regula de finalizare (Completion Rule)

O regulă de finalizare (completion rule) încheie un flux de proces, în mod


dinamic, pe baza unei condiții. Fluxul de proces se va finaliza în momentul în
care este îndeplinită condiția de execuție a regulii de finalizare (completion rule).

Pentru crearea unei reguli de finalizare (completion rule) se va alege din interfața
în care sunt prezentate toate tipurile de reguli disponibile tipul completion rule
(regulă de finalizare). Pentru mai multe detalii referitoare la asocierea unei reguli
unui pas se recomandă consultarea secțiunii Asocierea regulilor (Assign rule).

O regula de finalizare (completion rule) are o serie de proprietăți comune cu


celelalte tipuri de reguli.

34
Proprietățile comune tuturor regulilor – pagina General

Pentru mai multe detalii referitoare la completarea proprietăților din pagina


General se recomandă consultarea secțiunii Structura regulilor (Rule structure).

Dacă după execuția regulii de finalizare (completion rule) se dorește ca celelalte


reguli asociate pasului respectiv să fie executate, atunci caseta de validare a

35
proprietații Stop Rule Execution (Oprirea execuției regulilor) trebuie să fie
debifată.

Pentru a salva regula de finalizare (completion rule) se acționează butonul Save


(Salvare). După salvarea unei reguli se va afișa interfața de prezentare a tuturor
regulilor asociate anterior pasului respectiv.

36
Regulă de atribuire (Assignment rule)

O regulă de atribuire (assignment rule) permite actualizarea valorilor unor


câmpuri din tabelul de proces (proces tabel) și/sau dintr-un subtabel (subtable),
în mod dinamic, pe baza unei condiții. Actualizarea valorilor câmpurilor se va
realiza în momentul în care este îndeplinită condiția de execuție a regulii de
atribuire (assignment rule).

Pentru crearea unei reguli de atribuire (assignment rule) se va alege din interfața
în care sunt prezentate toate tipurile de reguli disponibile tipul assignment rule
(regulă de atribuire). Pentru mai multe detalii referitoare la asocierea unei reguli
unui pas se recomandă consultarea secțiunii Asocierea regulilor (Assign rule).

Pagina General (General page)

O regula de atribuire (assignment rule) are o serie de proprietăți comune cu


celelalte tipuri de reguli.

37
Proprietățile comune tuturor regulilor – pagina General

Pentru mai multe detalii referitoare la completarea proprietăților din pagina


General se recomandă consultarea secțiunii Structura regulilor (Rule structure).

Pagina Atribuire (Assignment page)

Actualizarea valorilor unor câmpuri din tabelul de proces (proces tabel) și/sau
dintr-un subtabel (subtable) se realizează în cadrul paginii Atribuire (Assignment
page).

Atribuire în cadrul regulii de atribuire a valorii – pagina Atribuire

Se pot actualiza simultan valorile mai multor câmpuri. Fiecărei actualizări îi


corespunde un rând. Pentru a adăuga un rând nou se acționează butonul având

simbolul iar pentru a șterge un rând se acționează butonul având simbolul

Pentru actulizarea valorii unui câmp se vor specifica următoarele trei proprietăți:

Rule Proprietățile
Explicația
properties regulii
Indică dacă câmpul a cărui valoare va fi
actualizată este un câmp din tabelul de
proces (process tabel) sau dintr-un
subtabel (subtabel).
Type Tipul De reținut: Pentru a putea actualiza
valorea unui câmp dintr-un subtabel este
necesar ca în prealabil denumirea
subtabelului respectiv să fie specificată în
pagina General (General), secțiunea
Subtable Assignment (Asociere subtabel).
Indică denumirea câmpului a cărui valoare
Field Câmp
va fi actualizată.

Indică noua valoare a câmpului. Noua


Value Valoare
valoare a câmpului poate fi o valoare

38
Rule Proprietățile
Explicația
properties regulii
constantă, precizată în mod explicit aici, fie
o valoare dinamică, specificată prin
denumirea unui câmp de proces sau de
sistem, disponibil prin acționarea butonului
având simbolul .

Pentru a salva regula de atribuire (assignment rule) se acționează butonul Save


(Salvare). După salvarea unei reguli se va afișa interfața de prezentare a tuturor
regulilor asociate anterior pasului respectiv.

39
Regula de acțiune (Action rule)

O regulă de acțiune (action rule) permite realizarea unor acțiuni diverse (precum
stabilirea unor termene limită, copierea, mutarea sau ștergerea fișierelor
anexate, trimiterea de e-mailuri, exportul de date, actualizarea bazei de date
etc.), în mod dinamic, pe baza unei condiții. Acțiunile se vor realiza în momentul
în care este îndeplinită condiția de execuție a regulii de acțiune (action rule).

Pentru crearea unei reguli de acțiune (action rule) se va alege din interfața în
care sunt prezentate toate tipurile de reguli disponibile tipul action rule (regulă
de acțiune). Pentru mai multe detalii referitoare la asocierea unei reguli unui pas
se recomandă consultarea secțiunii Asocierea regulilor (Assign rule).

Pagina General (General page)

O regulă de acțiune (action rule) are o serie de proprietăți comune cu celelalte


tipuri de reguli.

40
Proprietățile comune tuturor regulilor – pagina General

Pentru mai multe detalii referitoare la completarea proprietăților din pagina


General se recomandă consultarea secțiunii Structura regulilor (Rule structure).

Suplimentar față de celelealte tipuri de reguli disponibile, pentru o regulă de


acțiune (action rule) există proprietatea In simulation (În simulare). Prin bifarea
casetei de validare a proprietății In simulation (În simulare) se permite execuția
regulii de acțiune (action rule) și în simulator.

Pentru a defini diferite acțiunile specifice se vor accesa paginile corespunzătoare


detaliate în secțiunile următoare.

Pentru a salva regula de acțiune (action rule) se acționează butonul Save


(Salvare). După salvarea unei reguli se va afișa interfața de prezentare a tuturor
regulilor asociate anterior pasului respectiv.

Pagina Avansat (Advanced page)

Pentru editarea temenului limită și a priorității se va folosi pagina Avansat


(Advanced page).

Proprietățile specifice unei reguli de acțiune – pagina Avansat

Termenul limită se poate specifica în minute, ore sau zile sau ca și dată
calendaristică, în format YYYY-MM-DD (AAAA-LL-ZZ). Pentru termenul limita fie
se introduce o valoare constantă, precizată în mod explicit, fie o valoare
dinamică, specificată prin denumirea unui câmp de proces sau de sistem,

disponibil prin acționarea butonului având simbolul . Pentru mai multe detalii
referitoare la termenele limită se recomandă consultarea capitolului Termene
limită (modul JobTimer) /Escalations (JobTimer module).

41
Pentru a modifica prioritatea se utilizează proprietatea Priority (prioritatate).
Valorile posibile sunt 1 (mică), 2 (medie) și 3 (mare). Pentru prioritate fie se
introduce o valoare constantă, precizată în mod explicit, fie o valoare dinamică,
specificată prin denumirea unui câmp de proces sau de sistem, disponibil prin

acționarea butonului având simbolul .

Pagina Anexare (Attachment page)

Pentru a efectua anumite acțiuni asupra unor fișiere anexate se va folosi pagina
Anexe (Attachment page).

Proprietățile specifice unei reguli de acțiune – pagina Anexare

Pentru a stabili proprietatea DB Field se selectează din lista derulantă denumirea


unui câmp al tabelului de proces (process table) care conține o referință la un
fișier (un câmp de tip attachment).

Pentru a stabili prorietatea Action (Acțiune) se va alege din lista derulantă una
din următoarele opțiuni: ștergerea, copierea sau mutarea unui fișier.

Pentru a stabili proprietatea Target (Destinația) se specifică destinația pentru

fișierul copiat sau mutat. Acționând butonul având simbolul se va permite


utilizarea câmpurilor de proces sau de sistem pentru specificarea destinației
fișierului copiat sau mutat. Dacă este specificată o cale completă, inclusiv
denumirea fișierului și extensia fișierului, atunci anexa va fi scrisă exact în acest
fișier. Dacă fișierul există deja în locația destinație el va fi suprascris. Dacă este
specificată o cale parțială, adică dacă este furnizat doar directorul, atunci în
directorul specificat va fi creat un nou subdirector iar anexa va fi stocată în
subdirectorul creat, folosind denumirea fișierului original - când se utilizează o
structură ierarhică, pentru stocarea fișierelor încărcate, pentru denumirea

42
subdirectorului se va crea un GUID aleatoriu iar când se utilizează o structură
de tip flat (flat structure), pentru stocarea fișierelor încărcate, pentru denumirea
subdirectorului se va utiliza GUID-ul directorului de încărcări (the uploads
directory).

De reținut: utilizatorul care execută o acțiune de copiere sau de mutarea a unui


fișier are nevoie să-i fie acordate drepturi de scriere în directorul destinatie.

Pagina Trimitere email (Send Email page)

Pentru trimiterea unui mesaj prin e-mail se va folosi pagina Trimitere email
(Send Email page).

Proprietățile specifice unei reguli de acțiune – pagina Trimitere email

Pentru a stabili proprietățile Recipient (Destinatar), Email (Email), Subject


(Subiect) și Email body (Textul email-ului) se vor introduce numele
destinatarului, adresa lui de e-mail, subiectul și textul e-mailului propriu-zis.

Acționând butonul având se vor putea include câmpurile de proces și de


sistem în valorile proprităților anterior specificate.

Pentru a stabili proprietatea Attachment (Anexe) se va alege din lista derulantă


denumirea unui din tabelul de proces (process tabel) care conține o referință la
un fișier (un câmp de tip attachment).

De reținut: Dacă se vor folosi câmpuri de proces și de sistem în cadrul


proprietăților paginii trimitere email atunci câmpurilor respective li se vor atribui
valori specifice în momentul execuției regulii de acțiune (în acest moment doar
se crează sablonul pentru e-mail).

43
Pagina Export (Export page)

Pentru a exporta datele pasului curent al fluxului de proces într-un fișier se va


folosi pagina Export (Export page). Fișierul va fi scris în directorul setat ca
director de ieșiri (output directory).

Proprietățile specifice unei reguli de acțiune – pagina Export

Există 3 tipuri de export: export într-un fișier de tip XML, export într-un fișier de
tip TXT și export într-un fișier de tip CSV

Export XML

Denumirea fișierului în care vor fi exportate datele conține: denumirea


procesului, ID-ul procesului, numărul instanței, numărul pasului și tipul
(extensia) fișierului .xml.

Exemplu:
pd_proces_decizional_0c556e63e81c561a69f63ccfc6df3d4a0000001049_1_11
0.xml

Fișierul conține toate datele pasului curent al fluxului de proces. Fiecare pas al
fluxului de proces va fi inclus între etichetele (tags) <PROCESS> și
</PROCESS>. În cadrul acestor etichete (tags), sunt create trei secțiuni, fiecare
încadrate în alte etichete (tags). Cele trei secțiuni prezentate mai jos.

•Processdetails (<PROCESSDETAILS> … </PROCESSDETAILS>) - în această


secțiune sunt sunt scrise datele generale despre proces.

<processname>pd_proces_decizional</processname>
<version>1</version>
<processid>0c556e63e81c561a69f63ccfc6df3d4a0000001049</processid>
<description>PD proces decional N decidenți (serial și paralel)</description>
<initiator>alinmihaila@gmail.com</initiator>
44
<startdate>17.12.2020</startdate>
<indate>07.02.2021</indate>
<step>110</step>
<workflowid>0c556e63e81c561a69f63ccfc6df3d4a0000623428</workflowid>
<jobfunction>PD_administratori</jobfunction>
<incident>1</incident>
<summary>proces decizional cu N decidenti </summary>

•Processdata (<PROCESSDATA> … </PROCESSDATA>) - în această secțiune


sunt sunt scrise toate câmpurile tabelului de proces (process tabel) și valorile
lor.

<field value="" name="DATA_INITIERE"/>


<field value="" name="DATA_TRANSMITERE"/>
<field value="" name="DECIZIE_FINALA"/>
<field value="" name="DECIZIE_INTERMEDIARA"/>
<field value="" name="DECIZIE_OBSERVATII"/>
<field value="" name="DECIZIE_RAPORT_PDF"/>
<field value="1" name="LANT_COD"/>
<field value="cerere de tip S3I" name="LANT_DENUMIRE"/>
<field value="serial" name="LANT_TIP"/>
<field value="0" name="PREL_NR_ORD_DECIDENT"/>
<field value="" name="PREL_S_JOBFUNCTION"/>
<field value="0" name="PREL_S_NR_ORDINE"/>
<field value="0" name="PREL_S_TOTAL"/>
<field value="" name="PREL_S_USER"/>
<field value="0" name="PREL_TOTAL_DECIDENTI"/>
<field value="" name="PREL_USER_DECIDENT"/>
<field value="" name="UTIL_EMAIL"/>
<field value="" name="UTIL_INFO_1"/>
<field value="" name="UTIL_INFO_2"/>
<field value="" name="UTIL_NUME"/>
<field value="" name="UTIL_PAROLA"/>
<field value="" name="UTIL_PRENUME"/>

•Subdata (<SUBDATA> … </SUBDATA>) - în această secțiune sunt sunt


scrise toate câmpurile din subtabele (subtables) și valorile lor.

45
<subtable name="PD_ST_CER_DECIDENTI"/>
<subtable name="PD_ST_CER_DOCUMENTE"/>
-<subtable name="PD_ST_LANT_DECIDENTI">
-<position>
<subfield value="" name="DENUMIRE_JOBFUNCTION"/>
<subfield value="ali.nmihaila@gmail.com" name="DENUMIRE_USER"/>
</position>
-<position>
<subfield value="" name="DENUMIRE_JOBFUNCTION"/>
<subfield value="alinm.ihaila@gmail.com" name="DENUMIRE_USER"/>
</position>
-<position>
<subfield value="" name="DENUMIRE_JOBFUNCTION"/>
<subfield value="alinmih.aila@gmail.com" name="DENUMIRE_USER"/>
</position>
</subtable>
-<subtable name="PD_ST_LANT_DEN_DOC">
-<position>
<subfield value="document A" name="DENUMIRE_DOCUMENT"/>
</position>
-<position>
<subfield value="document B" name="DENUMIRE_DOCUMENT"/>
</position>
</subtable>

TXT export

Denumirea fișierului în care vor fi exportate datele conține: denumirea


procesului, ID-ul procesului, numărul instanței, numărul pasului și tipul
(extensia) fișierului .txt.

Exemplu:
pd_proces_decizional_0c556e63e81c561a69f63ccfc6df3d4a0000001049_1_11
0.txt

46
Fișierul conține toate datele pasului curent al fluxului de proces. Fișierul începe
cu cuvântul [PROCESS]. În cadrul fișierului sunt create trei secțiuni. Cele trei
secțiuni prezentate mai jos.

•Processdetails ([PROCESSDETAILS]) - în această secțiune sunt sunt scrise


datele generale despre proces.

processname=pd_proces_decizional
version=1
processid=0c556e63e81c561a69f63ccfc6df3d4a0000001049
description=PD proces decional N decidenți (serial și paralel)
initiator=alinmihaila@gmail.com
startdate=17.12.2020
indate=07.02.2021
step=110
workflowid=0c556e63e81c561a69f63ccfc6df3d4a0000623428
jobfunction=PD_administratori
incident=1
summary=proces decizional cu N decidenti

•Processdata ([PROCESSDATA]) - în această secțiune sunt sunt scrise toate


câmpurile tabelului de proces (process tabel) și valorile lor.

DATA_INITIERE=
DATA_TRANSMITERE=
DECIZIE_FINALA=
DECIZIE_INTERMEDIARA=
DECIZIE_OBSERVATII=
DECIZIE_RAPORT_PDF=
LANT_COD=1
LANT_DENUMIRE=cerere de tip S3I
LANT_TIP=serial
PREL_NR_ORD_DECIDENT=0
PREL_S_JOBFUNCTION=
PREL_S_NR_ORDINE=0
PREL_S_TOTAL=0
PREL_S_USER=
PREL_TOTAL_DECIDENTI=0
47
PREL_USER_DECIDENT=
UTIL_EMAIL=
UTIL_INFO_1=
UTIL_INFO_2=
UTIL_NUME=
UTIL_PAROLA=
UTIL_PRENUME=

•Subdata ([SUBDATA]) - în această secțiune sunt sunt scrise toate câmpurile


din subtabele (subtables) și valorile lor.

[PD_ST_CER_DECIDENTI]
[PD_ST_CER_DOCUMENTE]
[PD_ST_LANT_DECIDENTI]
[position]
DENUMIRE_JOBFUNCTION=
DENUMIRE_USER=ali.nmihaila@gmail.com
[position]
DENUMIRE_JOBFUNCTION=
DENUMIRE_USER=alinm.ihaila@gmail.com
[position]
DENUMIRE_JOBFUNCTION=
DENUMIRE_USER=alinmih.aila@gmail.com
[PD_ST_LANT_DEN_DOC]
[position]
DENUMIRE_DOCUMENT=document A
[position]
DENUMIRE_DOCUMENT=document B

CSV export

Denumirea fișierului în care vor fi exportate datele conține: denumirea


procesului, ID-ul procesului și tipul (extensia) fișierului .csv.

Exemplu:

pd_proces_decizional_0c556e63e81c561a69f63ccfc6df3d4a0000001049.csv

48
Fișierul conține toate datele pasului curent al fluxului de proces și are câmpurile
separate prin punct și virgulă.

• Prima linie conține date generale despre process (denumirea procesului,


versiunea, pasul, ID-ul fluxului de lucru, ID-ul pasului), urmate de valorile
coloanelor din tabelul de process (process table).

Exemplu:
pd_proces_decizional;1;110;0c556e63e81c561a69f63ccfc6df3d4a00006
23428;0c556e63e81c561a69f63ccfc6df3d4a0000625662;;;;;;;1;cerere
de tip S3I;serial;0;;0;0;;0;;;;;;;

• Următoarele linii conțin toate datele din subtabele. Ele încep cu un rând de
câmpuri goale iar apoi sunt trecute valorile coloanelor subtabelului respectiv.

Exemplu:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;ali.nmihaila@gmail.com
;;;;;;;;;;;;;;;;;;;;;;;;;;;;alinm.ihaila@gmail.com
;;;;;;;;;;;;;;;;;;;;;;;;;;;;alinmih.aila@gmail.com
;;;;;;;;;;;;;;;;;;;;;;;;;;;document A
;;;;;;;;;;;;;;;;;;;;;;;;;;;document B

Pagina Export PDF (PDF Export page)

Pentru a exporta într-un fișier PDF un formular al unei instanțe active se va folosi
pagina Export PDF (PDF Export page). Fișierul PDF va fi creat automat la
executarea regulii de acțiune (action rule). Paltforma JobRouter va crea, în
directorul de ieșire (output directory), un subdirector având ca denumire numele
procesului iar fișierele PDF vor fi stocate în acest subdirector.

Proprietățile specifice unei reguli de acțiune – pagina Export PDF

49
Pentru a stabili proprietatea Forms (Formular) din lista derulantă se va selecta
denumirea formularul dorit. Structura de bază a documentului PDF va
corespunde formularului însă elementele formularului vor fi prezentate sub
formă tabelară.

De reținut: Următoarele tipuri de elemente de formular sunt ignorate în timpul


exportului PDF: Buton (Button), Câmp ascuns (Hidden), Fișier anexat (File),
Afișare fișier anexat (Attachment), Cadru integrat (Iframe). Suplimentar, toate
elementele de formular având proprietatea Hidden (Ascuns) bifată vor fi
ignorate. Același lucru este valabil și pentru elementele de afișare ale
subtabelelor (subtables).

Pentru a stabili proprietatea Filename (denumire fișier) se introduce o denumire


a fișierului PDF. Se poate introduce o denumire statică sau una dinamică prin
utilizarea câmpurilor de proces și de sistem, acesibile prin acționarea butonului

având simbolul .

De reținut: Caracterele nevalide din denumirile fișierelor sunt înlocuite cu


undescores (spre exemplu, câmpulProcesului:inputdialog este convertit în
valoareCâmpProces_inputdialog).

Proprietatea Process Information (Informații despre proces) specifică dacă


informațiile generale despre proces (denumirea procesului, versiunea,
descrierea etc.) vor apărea (dacă caseta de validare este bifată) sau nu (dacă
caseta de validare este debifată) în antetul fișierului PDF.

Proprietatea Instance History (Istoricul instanțelor) specifică dacă istoricul


instanțelor (denumirea procesului, versiunea, descrierea etc.) va apărea (dacă
caseta de validare este bifată) sau nu (dacă caseta de validare este debifată) în
fișierul PDF sub forma unui tabel, sortat după data de intrare (indate). Tabelul
va conține următoarele coloane: pas (step), etichetă (label), rol (Job Function),
nume utilizator (user name), indate (data de intrare), outdate (data de ieșire).

Proprietatea Attachment (Anexe) specifică dacă fisierul PDF creat va fi sau nu


anexat instanței. Dacă tabelul de proces (process tabel) are câmpuri anexă
definite (attachment fields) si se selectează un astfel de câmp din lista derulantă
atunci documentul PDF va fi anexat instanței de proces folosind acest câmp.
Dacă nu se dorește anexare documentului PDF creat instanței de proces atunci
nu se alege nimic din lista derulantă.
50
Pagina Baza de date (Database page)

Pentru citirea datelor dintr-o baza de date și/sau scriere datelor într-o bază de
date, cu ajutorul instrucțiunilor SQL, se folosește pagina Baza de date (Database
page).

Proprietățile specifice unei reguli de acțiune – pagina Baza de date

De reținut: Pentru informații suplimentare despre utilizarea interogărilor SQL


în cadrul unei reguli de acțiune (action rule) se recomandă consultarea
capitolului Instrucțiuni pentru folosirea câmpurilor SQL în JobRouter
(Instructions for working with SQL fields in JobRouter).

Proprietatea Connection (conexiune) specifică conexiunea la baza de date care


se dorește a fi utilizată pentru transmiterea interogării SQL. Această conexiune
poate fi o conexiune la baza de date JobRouter sau o conexiune la o altă baza
de date, care a fost în prealabil definită la nivelul procesului.

Proprietatea SQL Query specifică interogarea SQL efectivă.

Proprietatea Execute in Transaction (execută într-o tranzacție) specifică dacă


interogarea SQL este executată în cadrul unei tranzacții (dacă caseta de validare
este bifată) sau nu (dacă caseta de validare este debifată). Dacă interogarea
SQL este execută într-o tranzacție și dacă apare o eroare în timpul executării
interogării SQL atunci pasul este setat la un status de eroare (error status). Dacă
interogarea SQL nu este execută într-o tranzacție și dacă apare o eroare în

51
timpul executării interogării SQL atunci pasul nu este setat la un status de eroare
(error status).

De reținut: Dacă se dorește scrierea în tabele JobRouter ar trebui ca scrierea


să nu se realizeze în cadrul unei tranzacții. Dacă scrierea se realizeaza în cadrul
unei tranzacții modificările (prin scriere) realizate vor fi suprascrise atunci când
datele pasului sunt rescrise la finalizarea tranzacției.

Proprietatea Return number of affected rows (Returnează numărul de rânduri


afectate) specifică dacă rezultatul interogării bazei de date, ca număr de rânduri
afectate și nu ca rezultat al interogării în sine, este returnat (dacă caseta de
validare este bifată) sau nu (dacă caseta de validare este debifată).atunci când
se utilizează interogări SQL de tip INSERT (inserare), UPDATE (actualizare) sau
DELETE (ștergere). Această proprietate este disponibilă doar dacă proprietatea
Execute în transaction (Executare în tranzacție) este bifată.

De reținut: Nu se recomandă utilizarea proprietății Return number of affected


rows (Returnează numărul de rânduri afectate) pentru interogări SQL de tip
SELECT (selectare). Interogarea SELECT se va executa dar nu se va returna
nimic. Dacă se dorește determinarea numărului de rânduri afectate de o
interogare SELECT atunci se recomandă utilizarea funcției COUNT () SQL.

Proprietatea Return value in (Valoarea returnată în) specifică un câmp din tabelul
de proces (process tabel) în care se va reține rezultatul interogării bazei de date
(ca număr de rânduri afectate și nu rezultatul interogării în sine)

Pagina Funcții PHP (PHP Function page)

Pentru a executa o funcție PHP prin intermediul unei reguli de acțiune (action
rule) se va folosi pagina Funcții PHP (PHP Function page).

52
Proprietățile specifice unei reguli de acțiune – pagina Funcția PHP

Funcția PHP care se dorește a fi executată se alege din lista derulantă aferentă
proprietății PHP Function (funcție PHP). Această listă derulantă conține toate
funcțiile PHP de tip Execution Function (Funcție de execuție) care au fost definite
în cadrul procesului curent. După selectarea denumirii funcției PHP din lista
derulantă, dacă aceasta are parametrii, aceștia vor apărea sub denumirea
funcției PHP. Parametrii de apel ai funcției PHP pot fi asociați cu valori constante
sau cu valori din tabelul de proces (process tabel), subtabele (subtables),
elemente din formular (form fields) sau variabile JobRouter (JobRouter
variables).

Pagina Linie de comandă (Command Line page)

Pentru a executa instrucțiuni în linia de comandă pe serverul JobRouter se va


folosi Pagina Linie de comandă (Command Line page).

Proprietățile specifice unei reguli de acțiune – pagina Linie de comandă

53
În câmpul Command Line (linie de comandă) se introduce comanda care
apelează programul (set de comenzi recunoscut de interpretorul de comenzi
shell). Programul este lansat imediat în timpul executării regulii de acțiune
(action rule). Paltforma JobRouter așteaptă finalizarea programului apelat.

Această funcționalitate este adecvată doar pentru programe care au un timp de


execuție scurt. Programele care necesită un timp de execuție mai lung ar putea
cauza întârzieri ale trimiterii pasului și/sau ar putea genera expirări de timp
(timeouts) împiedicând astfel trimiterea cu succes a pasului.

De reținut: Dacă se dorește executarea unor programe în linia de comandă,


care să aibă un timp de execuție mai lung (mai mult decât câteva secunde), se
recomandă fie să se utilizeze pasul de sistem / activitatea de sistem ShellExecute
(pentru mai multe detalii se recomandă consultarea capitolului Pași de sistem /
Activitați de sistem) fie să se creeze o activitate proprie de sistemului (pentru
mai multe detalii se recomandă consultarea manualului Dezvoltarea activităților
de sistem/ Developing System Activities).

De reținut: Pentru a executa programe în linia de comandă utilizatorul are


nevoie de drepturi adecvate pentru fișierele program. Acesta poate fi atât
utilizatorul IIS cât și utilizatorul Windows conectat la JobRouter, dacă SSO este
activat. În funcție de configurarea din IIS, utilizatorii Windows și grupul
IIS_IUSRS pot avea nevoie de permisiuni corespunzătoare.

Pagina Mesaj după trimiterea unui pas (Message after


sending Step page)

Pentru afișarea unui mesaj de infomare după trimiterea (send) unui pas de către
un utilizator se va folosi pagina Mesaj după trimiterea unui pas (Message after
sending Step page).

54
Proprietățile specifice unei reguli de acțiune – pagina Mesaj după trimiterea unui pas

Pentru a stabili proprietățile Subject (Subiect) și Text (Textul) se vor introduce

subiectul și textul mesajului propriu-zis. Acționând butonul având se vor putea


include câmpurile de proces și de sistem în valorile proprităților anterior
specificate.

De reținut: Mesajul de informare afișat după trimiterea unui pas de către un


utilizator va fi afișat doar o singură dată, imediat după executarea regulii de
acțiune (action rule). Dacă funcționalitatea trimitere în fundal (background
sending) este activată în cadrul platformei JobRouter aceste mesajele de
informare nu vor fi afișate.

55
Grup de reguli (Rule group)

Un grup de reguli (rule group) reunește mai multe reguli care au aceleași condiții
de execuție într-un singur grup. Aceasta permite definirea într-un singur loc a
condiției de execuție comune mai multor reguli corelate logic. Regulile din cadrul
grupului vor fi analizate doar dacă este îndeplinită condiția de execuție a grupului
de reguli.

Pentru crearea unui grup de reguli (rule group) se va alege din interfața în care
sunt prezentate toate tipurile de reguli disponibile tipul rule group (grup de
reguli). Pentru mai multe detalii referitoare la asocierea unei reguli unui pas se
recomandă consultarea secțiunii Asocierea regulilor (Assign rule).

Un grup de reguli (rule group) are o serie de proprietăți comune cu celelalte


tipuri de reguli.

Proprietățile comune tuturor regulilor – pagina General

Pentru mai multe detalii referitoare la completarea proprietăților din pagina


General se recomandă consultarea secțiunii Structura regulilor (Rule structure).

56
Pentru un grup de reguli nu se poate stabili proprietatea Rule Group (grupul de
reguli), care se poate stabili pentru celelalte tipuri de reguli, deoarece nu se
permite definirea de grupuri de reguli imbricate (nested rule gruops).

Pentru a salva un grup de reguli (rule group) se acționează butonul Save


(Salvare). După salvarea unui grup de reguli se va afișa interfața de prezentare
a tuturor regulilor asociate anterior pasului respectiv.

Un grup de reguli este afișat în interfața de prezentare a tuturor regulilor


asociate anterior pasului respectiv, în mod similar cu toate celelalte tipuri de
reguli.

Dacă cel puțin o regulă a fost asociată unui grup de reguli, grupul de reguli poate
fi extins, acționând butonul având simbolul , pentru a se afișa toate regulile
asociate grupului de reguli respectiv.

Grup de reguli minimizat în interfața de prezentare a regulilor

Un grup de reguli poate fi restrâns, acționând butonul având simbolul , pentru


a se ascunde toate regulile asociate grupului de reguli respectiv.

Grup de reguli maximizat în interfața de prezentare a regulilor

57

S-ar putea să vă placă și