Configurarea fazelor și pașilor fluxului de lucru în timp real

Atunci când proiectați fluxuri de lucru, aveți opțiunea de a cuprinde logica pe care doriți să o efectuați în etape și în pași.

  • Etape. Etapele fac mai ușor de citit logica fluxului de lucru în timp real și explică logica fluxului de lucru în timp real. Totuși, etapele nu afectează logica sau comportamentul fluxurilor de lucru. Dacă un proces are faze, toți pașii din cadrul procesului trebuie să fie cuprinși într-o fază.
  • Pași. Pașii sunt o unitate de logică de afaceri din cadrul unui flux de lucru. Etapele pot cuprinde condiţii, acţiuni, alte etape sau o combinaţie a acestor elemente.

Acțiuni pe care le pot efectua procesele de flux de lucru în timp real

Procesele de flux de lucru în timp real pot efectua acțiunile listate în tabelul următor.

Acțiune Descriere
Creați un rând Creați un nou rând pentru un tabel și atribuiți valori ale atributelor pe care le alegeți.
Actualizați rândul Puteți actualiza rândul pe care rulează fluxul de lucru în timp real, oricare din rândurile legate de acel rând într-o relație de tip N:1 sau orice rânduri create de pașii anteriori.
Atribuiți rând Puteți atribui rândul pe care rulează fluxul de lucru în timp real, oricare din rândurile legate de acel rând într-o relație de tip N:1 sau orice rânduri create de pașii anteriori.
Trimiteți e-mail Trimite un e-mail. Puteți alege să creați un nou mesaj de e-mail sau să utilizați un șablon de e-mail configurat pentru tabelul rândului pe care rulează fluxul de lucru în timp real, pentru orice tabele care au o relație N:1 cu tabelul sau pentru tabelul oricăror rânduri create de pașii anteriori.
Porniți fluxul de lucru copil Pornește un proces de flux de lucru în timp real configurat ca un flux de lucru copil.
Schimbare stare Modifică starea rândului pe care rulează procesul, a oricăreia din rândurile legate de acel rând într-o relație N:1 sau a oricărui rând creat de pașii anteriori.
Opriți fluxul de lucru Opreşte fluxul de lucru curent. Puteți seta o stare fie *Reușit*, fie *Anulat* și puteți specifica un mesaj de stare.

Atunci când fluxurile de lucru în timp real sunt configurate pentru un eveniment, oprirea unui flux de lucru în timp real cu starea anulat va împiedica finalizarea acțiunii eveniment. Mergi la Utilizarea fluxurilor de lucru în timp real pentru mai multe informații.
Pas personalizat Dezvoltatorii pot crea pași de flux de lucru în timp real particularizați care definesc acțiuni. Niciun pas particularizat nu este disponibil în mod implicit.

Setarea valorilor rândurilor

Atunci când creați un rând, puteți seta valorile pentru rând. Atunci când actualizați un rând, puteți să setați, să adăugați, să incrementați, să decrementați, să multiplicați sau să goliți valori.

Când selectați Setați proprietățile, se deschide o casetă de dialog care vă arată formularul implicit pentru tabel.

În partea de jos a casetei de dialog vezi o listă de coloane suplimentare care nu sunt prezente în formular.

Pentru orice coloană, poți seta o valoare statică care este setată de fluxul de lucru.

În partea dreaptă a casetei de dialog, Asistent de formulare vă oferă posibilitatea de a seta sau adăuga valori dinamice din contextul rândului curent. Aceasta include valorile din rândurile corelate, care pot fi accesate din relațiile N:1 (mai-mulți-la-unu) pentru tabel.

Opțiunile disponibile în Asistent de formulare depinde de coloana selectată în formular. Când setezi o valoare dinamică, vezi un înlocuitor galben cunoscut sub numele de "slug" care arată unde sunt incluse datele dinamice. Dacă doriți să eliminați valoarea, selectați câmpul de date dinamice și ștergeți-l. Pentru coloanele text, puteți utiliza o combinație de date statice și dinamice.

În cazul valorilor dinamice, nu puteți ști cu siguranță că o coloană sau un tabel corelat are valoarea pe care doriți să o setați. În realitate, puteți seta un număr de coloane pentru a încerca să setați valoarea și le puteți sorta în ordine, utilizând săgețile verzi. Dacă prima coloană nu are date, încearcă pe a doua coloană și așa. Dacă niciuna din coloane nu are date, puteți specifica o valoare implicită de utilizat.

Setarea condițiilor pentru acțiunile de flux de lucru în timp real

Acțiunile pe care le aplici depind adesea de condiții. Procesele de flux de lucru în timp real oferă mai multe modalități de a stabili condiții și de a crea logica de ramificare pentru a obține rezultatele dorite. Puteți verifica valorile rândului în raport cu care rulează procesul de flux de lucru în timp real, ale oricăruia dintre rândurile legate de acel rând cu o relație N:1 sau valorile din cadrul procesului însuși.

Tip condiție Descriere
Verificați starea O instrucțiune logică de tipul „dacă <condiție> atunci”.

Puteți verifica valorile curente ale rândului pe care rulează fluxul de lucru în timp real, oricare dintre rândurile legate de acel rând într-o relație N:1 sau oricare rânduri create de pașii anteriori. Pe baza acestor valori, puteți defini pași suplimentari atunci când condiția este adevărată.

În „dacă” < stare> În instrucțiunea „then”, puteți utiliza următorii operatori: Egal, Nu este egal cu, Conține date, Nu conține date, Sub şi Nu sub.

Nota: Cel/Cea/Cei/Cele Sub şi Nu sub sunt operatori ierarhici. Acestea pot fi utilizate doar pentru tabelele care au o relație ierarhică definită. Dacă încerci să folosești acești operatori pe tabele care nu au definită relația ierarhică, vezi mesajul de eroare: "Folosești un operator ierarhic pe un tabel care nu are o relație ierarhică definită. Fie ierarhizați tabelul (marcând o relație ca ierarhică), fie folosiți un operator diferit.”

Pentru mai multe informații despre relațiile ierarhice, accesați Definiți și interogați date corelate ierarhic. O captură de ecran care urmează tabelului este un exemplu de definiție a procesului de flux de lucru în timp real care utilizează Sub şi Nu sub operatori ierarhici.
Ramificare condiționată O instrucțiune logică de tipul „altfel-dacă-atunci”, editorul folosește textul „Altfel, dacă < stare> apoi:"

Selectați o condiție de verificare pe care ați definit-o anterior și puteți adăuga o ramură condiționată pentru a defini pași suplimentari atunci când condiția de verificare returnează fals.
Acțiune implicită O declarație logică „else”. Editorul utilizează textul „Altfel:”

Selectați o condiție de verificare, ramură condiționată, condiție de așteptare sau ramură paralelă de așteptare pe care le-ați definit anterior și puteți folosi o acțiune implicită pentru a defini pași pentru toate cazurile care nu corespund criteriilor definite în condiție sau elemente de ramificație.
Condiție de așteptare Fluxurile de lucru în timp real nu pot utiliza condiții de așteptare. Totuși, condițiile de așteptare pot fi utilizate cu fluxuri de lucru în fundal. Mai multe informații: Setarea condițiilor pentru acțiunile fluxului de lucru în fundal
Ramură de așteptare paralelă Definește o condiție de așteptare alternativă pentru un flux de lucru în timp real de fundal cu un set corespunzător de pași suplimentari care sunt efectuați numai atunci când este îndeplinit criteriul inițial. Puteți utiliza ramificări de așteptare paralele pentru a crea limite de timp în logica de flux de lucru în timp real. Acestea ajută la prevenirea așteptării la nesfârșit a fluxului de lucru în timp real până când criteriile definite în condiția de așteptare sunt îndeplinite.
Pas personalizat Dezvoltatorii pot crea pași de flux de lucru în timp real particularizați care definesc condiții. Nu există pași particularizați disponibili în mod implicit.

Următoarea captură de ecran conține un exemplu de definiție a procesului de flux de lucru cu Sub şi Nu sub operatori ierarhici. În exemplul nostru, vom aplica două discounturi diferite la două grupe de conturi. În Adăugați un pas, am selectat Verificați starea a specifica dacă-atunci condiție care conține Sub sau Nu sub operatori. Primul dacă-atunci condiția se aplică tuturor conturilor care sunt Sub contul Alpine Ski House. Aceste conturi beneficiază de un discount de 10% pentru bunurile și serviciile achiziționate. Al doilea dacă-atunci condiția se aplică tuturor conturilor care sunt Nu sub contul Alpine Ski House și primesc o reducere de 5%. Apoi, am selectat Actualizați rândul pentru a defini acțiunea care trebuie efectuată pe baza condiției.

Proces de lucru cu operatori Sub/Nu Sub.

Inițierea fluxurilor de lucru în timp real înainte sau după modificarea stării

Când configurați Opțiuni pentru procese automate pentru fluxuri de lucru în timp real, opțiunile Începe când pentru evenimentul de modificare a stării vă permit să selectați După sau Înainte pentru momentul în care se modifică starea. Opțiunea implicită este După.

Când selectezi Înainte , spui că vrei ca logica din fluxul de lucru în timp real să fie aplicată înainte ca datele să fie salvate, statusul este salvat. Acest lucru vă oferă posibilitatea de a verifica valorile înainte de aplicarea altei logici, după operație, și de a împiedica aplicarea unei logici suplimentare. De exemplu, ai putea avea logică suplimentară într-un plug-in sau o acțiune personalizată de flux de lucru în timp real care ar putea iniția acțiuni pe un alt sistem. Prin oprirea procesării ulterioare, poți evita cazurile în care sistemele externe sunt afectate. Aplicarea fluxurilor de lucru în timp real înainte de acest eveniment înseamnă, de asemenea, că alte fluxuri de lucru în timp real sau acțiuni plug-in care ar putea salva date nu trebuie să fie "anulate" atunci când operațiunea este anulată.

Acțiune Pornire când Explicație
Rândul este creat După Doar opțiunea După este disponibilă. Rândul nu va avea un identificator unic decât după etapa principală MainOperation, deci nu poate apărea înainte de crearea rândului.
Modificări ale stării rândului Înainte
După
Corespunde unei operații de actualizare care oferă posibilitatea de a aplica logica fluxului de lucru în timp real, fie după, fie înainte de modificarea stării. Înainte corespunde etapei preoperatorii. După corespunde etapei postoperatorii.
Rândul este atribuit Înainte
După
Corespunde unei operații de actualizare care oferă posibilitatea de a aplica logica fluxului de lucru în timp real, fie după, fie înainte de modificarea stării. Înainte corespunde etapei preoperatorii. După corespunde etapei postoperatorii.
Coloanele rândului se modifică Înainte
După
Corespunde unei operații de actualizare care oferă posibilitatea de a aplica logica fluxului de lucru în timp real, fie după, fie înainte de modificarea stării. Înainte corespunde etapei preoperatorii. După corespunde etapei postoperatorii.
Rândul este șters Înainte Este disponibilă doar opțiunea *Înainte*. Ștergerea rândurilor corespunde etapei preoperatorii. După ce are loc MainOperation, rândul este șters și nu mai poate avea loc nicio schimbare de status.

Pentru mai multe informații despre etapele de preoperare, operare principală și postoperare, consultați Conducta de execuție a evenimentelor.

Utilizarea fluxurilor de lucru în timp real

Puteți configura fluxuri de lucru în timp real, dar trebuie să le utilizați cu atenție. Fluxurile de lucru de fundal sunt, în general, recomandate, deoarece permit sistemului să le aplice când sunt disponibile resursele de pe server. Acest lucru ajută la fluidizarea acțiunii serverului și ajută la menținerea celei mai bune performanțe pentru toată lumea care folosește sistemul. Dezavantajul este că acțiunile definite de fluxurile de lucru în fundal nu sunt imediate. Nu poți prezice când sunt aplicate, dar în general durează câteva minute. Pentru cele mai multe procese de automatizare a acțiunilor, acesta este un lucru bun, deoarece persoanele care folosesc sistemul nu trebuie să fie conștiente de rularea procesului.

Utilizați fluxuri de lucru în timp real atunci când un proces de business are nevoie ca o persoană să vadă imediat rezultatele procesului sau dacă doriți abilitatea de a anula o operație. De exemplu, poate vrei să setezi anumite valori implicite pentru un rând prima dată când este salvat sau să te asiguri că unele rânduri nu sunt șterse.

Conversia între fluxuri de lucru în timp real și de fundal

Puteți transforma un flux de lucru în timp real într-un flux de lucru în fundal selectând Convertiți într-un flux de lucru în fundal din bara de instrumente.

Puteți transforma un flux de lucru în fundal într-un flux de lucru în timp real selectând Convertiți într-un flux de lucru în timp real din bara de instrumente. Dacă fluxul de lucru în fundal folosește o condiție de așteptare, devine invalidă și nu o vei putea activa până nu elimini condiția de așteptare.

Inițierea fluxurilor de lucru în timp real înainte sau după modificarea stării

Când configurați Opțiuni pentru procese automate pentru fluxuri de lucru în timp real, opțiunile Începe când pentru evenimentul de modificare a stării vă permit să selectați După sau Înainte pentru momentul în care se modifică starea. Opțiunea implicită este După.

Când selectezi Înainte, spui că vrei ca logica din fluxul de lucru în timp real să fie aplicată înainte ca datele care schimbă statusul să fie salvate. Acest lucru îți oferă posibilitatea de a verifica valorile înainte ca alte logice să fie aplicate după operație și previne efectuarea unor logice suplimentare. De exemplu, ați putea avea logică suplimentară într-un insert sau într-o acțiune flux de lucru particularizată în timp real care ar putea iniția acțiuni pe un alt sistem. Prin oprirea procesării ulterioare, poți evita cazurile în care sistemele externe sunt afectate. Aplicarea de fluxuri de lucru în timp real înaintea acestui eveniment înseamnă și că alte acțiuni insert sau flux de lucru în timp real care ar putea avea date salvate nu au nevoie să fie aduse la starea anterioară atunci când operațiunea este anulată.

Utilizarea acțiunii Oprire flux de lucru cu fluxuri de lucru în timp real

Când aplicați o acțiune Opriți fluxul de lucru într-un flux de lucru în timp real, aveți opțiunea de a specifica o condiție de stare care poate fi Reușită sau Anulată. Când setați starea la Anulat, împiedicați operațiunea. Un mesaj de eroare care conține textul din mesajul de stare a acțiunii de oprire va fi afișat utilizatorului, cu titlul Eroare proces de business.

Configurarea cine rulează fluxul de lucru în timp real

În designerul fluxului de lucru, poți seta pe cine ar trebui să ruleze fluxul de lucru fie ca "Proprietarul fluxului de lucru", fie "Utilizatorul care a făcut modificări la înregistrare." Pentru a schimba proprietarul înregistrării într-un alt utilizator, deschide fila Administrare din editorul de workflow și folosește căutarea pentru a selecta un nou proprietar pentru workflow. Ai nevoie de rolul de Administrator de Sistem sau Personalizator de Sistem sau de un rol care să conțină privilegiul prvChangeOwnerIdOfWorkflow de a schimba proprietarul fluxului de lucru.

Pașii următori

Monitorizați și gestionați procesele de lucru în timp real
Cele mai bune practici pentru procesele de flux de lucru în timp real