Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:rule:control_branch [2024-08-22 19:15] – [✔ How to] Anatoly Belaychuken:rule:control_branch [2024-11-02 13:36] (current) – [Edit diagram] Anatoly Belaychuk
Line 1: Line 1:
 ====== A subprocess and a control branch may be used as an alternative to the attached event ====== ====== A subprocess and a control branch may be used as an alternative to the attached event ======
  
-{{tag>subprocess event attached_event}}+{{tag>subprocess event attached_event terminate_event}}
  
 Use a subprocess containing the control branch to implement versatile event processing logic. Use a subprocess containing the control branch to implement versatile event processing logic.
Line 251: Line 251:
     <sequenceFlow id="Flow_1mqvexf" sourceRef="Event_0jid81n" targetRef="Activity_1mnvjuz" />     <sequenceFlow id="Flow_1mqvexf" sourceRef="Event_0jid81n" targetRef="Activity_1mnvjuz" />
     <sequenceFlow id="Flow_1fkn8r9" sourceRef="Event_0r0tew3" targetRef="Activity_1skmlnn" />     <sequenceFlow id="Flow_1fkn8r9" sourceRef="Event_0r0tew3" targetRef="Activity_1skmlnn" />
-    <endEvent id="Event_1k1tn88" name="Paid"> 
-      <incoming>Flow_0b5yo8b</incoming> 
-    </endEvent> 
     <sequenceFlow id="Flow_0b5yo8b" sourceRef="Activity_1mnvjuz" targetRef="Event_1k1tn88" />     <sequenceFlow id="Flow_0b5yo8b" sourceRef="Activity_1mnvjuz" targetRef="Event_1k1tn88" />
     <boundaryEvent id="Event_0r0tew3" name="Payment due date" cancelActivity="false" attachedToRef="Activity_1mnvjuz">     <boundaryEvent id="Event_0r0tew3" name="Payment due date" cancelActivity="false" attachedToRef="Activity_1mnvjuz">
Line 278: Line 275:
     </endEvent>     </endEvent>
     <sequenceFlow id="Flow_16a0qq5" name="yes" sourceRef="Gateway_1sygjo0" targetRef="Event_1ltc3ao" />     <sequenceFlow id="Flow_16a0qq5" name="yes" sourceRef="Gateway_1sygjo0" targetRef="Event_1ltc3ao" />
 +    <endEvent id="Event_1k1tn88" name="Paid">
 +      <incoming>Flow_0b5yo8b</incoming>
 +      <terminateEventDefinition id="TerminateEventDefinition_1srmvcb" />
 +    </endEvent>
   </process>   </process>
   <bpmndi:BPMNDiagram id="BpmnDiagram_1">   <bpmndi:BPMNDiagram id="BpmnDiagram_1">
Line 287: Line 288:
       <bpmndi:BPMNShape id="Event_0jid81n_di" bpmnElement="Event_0jid81n">       <bpmndi:BPMNShape id="Event_0jid81n_di" bpmnElement="Event_0jid81n">
         <omgdc:Bounds x="112" y="-138" width="36" height="36" />         <omgdc:Bounds x="112" y="-138" width="36" height="36" />
-      </bpmndi:BPMNShape> 
-      <bpmndi:BPMNShape id="Event_0ok4f4i_di" bpmnElement="Event_1k1tn88"> 
-        <omgdc:Bounds x="352" y="-138" width="36" height="36" /> 
-        <bpmndi:BPMNLabel> 
-          <omgdc:Bounds x="359" y="-95" width="23" height="14" /> 
-        </bpmndi:BPMNLabel> 
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1skmlnn_di" bpmnElement="Activity_1skmlnn">       <bpmndi:BPMNShape id="Activity_1skmlnn_di" bpmnElement="Activity_1skmlnn">
Line 314: Line 309:
         <bpmndi:BPMNLabel>         <bpmndi:BPMNLabel>
           <omgdc:Bounds x="349" y="155" width="43" height="14" />           <omgdc:Bounds x="349" y="155" width="43" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_05jo8b9_di" bpmnElement="Event_1k1tn88">
 +        <omgdc:Bounds x="352" y="-138" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="359" y="-95" width="23" height="14" />
         </bpmndi:BPMNLabel>         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
Line 358: Line 359:
 ===== Notes ===== ===== Notes =====
  
-  - Although it's usually better to use [[en:rule:collapsed_subprocess | collapsed representation of a subprocess ]] to isolate its internals, it may make sence to depict the subprocess expanded in this technique to make the logic clear. +  - Although it's usually better to use [[en:rule:collapsed_subprocess|collapsed representation of a subprocess]] to isolate its internals, it may make sence to depict the subprocess expanded in this technique to make the logic clear. 
-  - As an exception to the [[en:rule:one_outgoing_sequence_flow| general rule ]], one may initiate work and control flows directly from the start event:+  - As an exception to the [[en:rule:explicit_parallel_split|general rule]], one may initiate work and control flows directly from the start event:
  
 <bpmnio type="bpmn"> <bpmnio type="bpmn">