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:15]
marcin
opis_plikow_xml_workflow [2015/10/20 11:35] (aktualna)
marcin
Linia 137: Linia 137:
    * default="​user:​b"​ - domyślnie tylko jeden pracownik ​    * 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.1445332500.txt.gz · ostatnio zmienione: 2015/10/20 11:15 przez marcin