Narzędzia użytkownika

Narzędzia witryny


opis_plikow_xml_workflow

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

opis_plikow_xml_workflow [2015/10/20 11:12]
marcin
opis_plikow_xml_workflow [2015/10/20 11:35] (aktualna)
marcin
Linia 133: Linia 133:
   * REQUIRED_IF_EXPR - pole to będzie wymagane jeżeli zostanie spełnione wyrażenie   * REQUIRED_IF_EXPR - pole to będzie wymagane jeżeli zostanie spełnione wyrażenie
  
 +== Wartości domyślne w polach z użytkownikami ==
 +   * default="​list:​szef"​ - domyślnie lista szef (= wszyscy pracownicy z tej listy)
 +   * default="​user:​b"​ - domyślnie tylko jeden pracownik ​
 +
 +===== Przepływy i warunki =====
 +Ogólnie o przepływach i warunkach należy przeczytać w dokumentacji do Activiti.
 +
 +W **startEvent** lub **userTask** można zdefiniować pole logiczne lub enum które będzie użyte w sterowaniu przepływem.
 +
 +==== Przepływ po zmiennej logicznej ====
 +Najpierw w **userTask** definiujemy zmienną logiczną:
 +<code xml>
 +<​activiti:​formProperty id="​ID:​is_claim_valid;"​ name="​Czy reklamacja zasadna?"​ type="​boolean"​ variable="​is_claim_valid"​ />
 +</​code>​
 +  * variable="​is_claim_valid"​ - pozwala na odnoszenie się do tej zmiennej w innych punktach xml-a
 +Następnie możemy zdefiniować warunek:
 +<code xml>
 +<​sequenceFlow sourceRef="​do_work"​ targetRef="​after_worker_decision"​ />
 +    ​
 +<​exclusiveGateway id="​after_worker_decision"​ />
 +<​sequenceFlow sourceRef="​after_worker_decision"​ targetRef="​claim_denied_work">​
 +      <​conditionExpression xsi:​type="​tFormalExpression">​${is_claim_valid == '​false'​}</​conditionExpression>​
 +</​sequenceFlow>​
 +    ​
 +<​sequenceFlow sourceRef="​after_worker_decision"​ targetRef="​claim_accept_work">​
 +      <​conditionExpression xsi:​type="​tFormalExpression">​${is_claim_valid == '​true'​}</​conditionExpression>​
 +</​sequenceFlow>​
 +</​code>​
 +
 +==== Przepływ po zmiennej enum ====
 +Najpierw w **userTask** definiujemy zmienną enum:
 +<code xml>
 +<​activiti:​formProperty id="​ID:​is_to_board_approval;​DEFAULT:;"​ name="​Czy skierować do zarządu?"​ type="​enum"​ required="​true"​ variable="​is_to_board_approval">​
 + <​activiti:​value id="​toBoard"​ name="​Skierować do zarządu (ostateczne zatwierdzenie)"​ />
 + <​activiti:​value id="​sendToWorker"​ name="​Do kolejnej osoby (opis pozycji)"​ />
 +</​activiti:​formProperty>​
 +</​code>​
 +  * variable="​is_to_board_approval"​
 +Następnie możemy zdefiniować warunek:
 +<code xml>
 +<​sequenceFlow sourceRef="​describe_invoice"​ targetRef="​after_describe_decision"​ />
 +<​exclusiveGateway id="​after_describe_decision"​ default="​after_describe_decision_flow3"​ />
 +
 +<!-- do zatwierdzenia do zarządu -->
 +<​sequenceFlow id="​after_describe_decision_flow1"​ sourceRef="​after_describe_decision"​ targetRef="​board_approval">​
 + <​conditionExpression xsi:​type="​tFormalExpression">​${is_to_board_approval == '​toBoard'​}</​conditionExpression>​
 +</​sequenceFlow>​
 +
 +<!-- do kolejnego pracownika -->
 +<​sequenceFlow id="​after_describe_decision_flow3"​ sourceRef="​after_describe_decision"​ targetRef="​describe_invoice">​
 +</​sequenceFlow>​
 +</​code>​
 +  * z uwagi na default="​after_describe_decision_flow3",​ nie trzeba definiować warunku przepływu w <​sequenceFlow id="​after_describe_decision_flow3"​
opis_plikow_xml_workflow.1445332373.txt.gz · ostatnio zmienione: 2015/10/20 11:12 przez marcin