Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ru:rule:avoid_mixed_gateways [2023-09-11 15:23] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1ru:rule:avoid_mixed_gateways [2024-08-22 20:15] (текущий) – [Не используйте смешанные развилки] Anatoly Belaychuk
Строка 1: Строка 1:
 +====== Не используйте смешанные развилки ======
  
 +{{tag>развилка смешанная_развилка}}
 +
 +Развилки бывают
 +
 +  * расходящиеся - один входящий поток, несколько исходящих
 +  * сходящиеся - несколько входящих потоков, один исходящих
 +  * смешанные - несколько входящих и несколько исходящих потоков
 +
 +Хотя смешанные развилки стандартом не запрещены, лучше их не использовать.
 +===== ✔ Как надо =====
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0rf5t2r" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="14.0.0">
 +  <bpmn:process id="Process_0jcgoyf" isExecutable="false">
 +    <bpmn:startEvent id="StartEvent_1768r1t">
 +      <bpmn:outgoing>Flow_1jordbm</bpmn:outgoing>
 +    </bpmn:startEvent>
 +    <bpmn:task id="Activity_0cluktb" name="Подготовить счет">
 +      <bpmn:incoming>Flow_1jordbm</bpmn:incoming>
 +      <bpmn:outgoing>Flow_01zzd72</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_1jordbm" sourceRef="StartEvent_1768r1t" targetRef="Activity_0cluktb" />
 +    <bpmn:parallelGateway id="Gateway_0g36lb6">
 +      <bpmn:incoming>Flow_1x6y5gb</bpmn:incoming>
 +      <bpmn:outgoing>Flow_1khoqyb</bpmn:outgoing>
 +      <bpmn:outgoing>Flow_0toczow</bpmn:outgoing>
 +    </bpmn:parallelGateway>
 +    <bpmn:task id="Activity_0bvkw53" name="Отправить по email">
 +      <bpmn:incoming>Flow_1khoqyb</bpmn:incoming>
 +      <bpmn:outgoing>Flow_11mz79l</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_1khoqyb" sourceRef="Gateway_0g36lb6" targetRef="Activity_0bvkw53" />
 +    <bpmn:task id="Activity_0qxhw3m" name="Отправить оригинал по почте">
 +      <bpmn:incoming>Flow_0toczow</bpmn:incoming>
 +      <bpmn:outgoing>Flow_00s8ucj</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_0toczow" sourceRef="Gateway_0g36lb6" targetRef="Activity_0qxhw3m" />
 +    <bpmn:sequenceFlow id="Flow_11mz79l" sourceRef="Activity_0bvkw53" targetRef="Gateway_1rlhvyt" />
 +    <bpmn:parallelGateway id="Gateway_1rlhvyt">
 +      <bpmn:incoming>Flow_11mz79l</bpmn:incoming>
 +      <bpmn:incoming>Flow_00s8ucj</bpmn:incoming>
 +      <bpmn:outgoing>Flow_0znw93f</bpmn:outgoing>
 +    </bpmn:parallelGateway>
 +    <bpmn:sequenceFlow id="Flow_00s8ucj" sourceRef="Activity_0qxhw3m" targetRef="Gateway_1rlhvyt" />
 +    <bpmn:task id="Activity_15ssh3b" name="Получить согласие клиента">
 +      <bpmn:incoming>Flow_0znw93f</bpmn:incoming>
 +      <bpmn:outgoing>Flow_0wcisla</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_0znw93f" sourceRef="Gateway_1rlhvyt" targetRef="Activity_15ssh3b" />
 +    <bpmn:exclusiveGateway id="Gateway_13c67li" name="Клиент согласен?">
 +      <bpmn:incoming>Flow_0wcisla</bpmn:incoming>
 +      <bpmn:outgoing>Flow_1fiuctz</bpmn:outgoing>
 +      <bpmn:outgoing>Flow_0c7pvuu</bpmn:outgoing>
 +    </bpmn:exclusiveGateway>
 +    <bpmn:sequenceFlow id="Flow_0wcisla" sourceRef="Activity_15ssh3b" targetRef="Gateway_13c67li" />
 +    <bpmn:endEvent id="Event_0pbbdwp" name="OK">
 +      <bpmn:incoming>Flow_1fiuctz</bpmn:incoming>
 +    </bpmn:endEvent>
 +    <bpmn:sequenceFlow id="Flow_1fiuctz" name="да" sourceRef="Gateway_13c67li" targetRef="Event_0pbbdwp" />
 +    <bpmn:exclusiveGateway id="Gateway_19y1h4n" name="Согласны с возражениями клиента?">
 +      <bpmn:incoming>Flow_0c7pvuu</bpmn:incoming>
 +      <bpmn:outgoing>Flow_08y6k5p</bpmn:outgoing>
 +      <bpmn:outgoing>Flow_0cucewu</bpmn:outgoing>
 +    </bpmn:exclusiveGateway>
 +    <bpmn:sequenceFlow id="Flow_0c7pvuu" name="нет" sourceRef="Gateway_13c67li" targetRef="Gateway_19y1h4n" />
 +    <bpmn:task id="Activity_1e1ossc" name="Переделать счет">
 +      <bpmn:incoming>Flow_08y6k5p</bpmn:incoming>
 +      <bpmn:outgoing>Flow_04qddb7</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_08y6k5p" name="да" sourceRef="Gateway_19y1h4n" targetRef="Activity_1e1ossc" />
 +    <bpmn:endEvent id="Event_1nvvmu7" name="Не согласовано">
 +      <bpmn:incoming>Flow_0cucewu</bpmn:incoming>
 +    </bpmn:endEvent>
 +    <bpmn:sequenceFlow id="Flow_0cucewu" name="нет" sourceRef="Gateway_19y1h4n" targetRef="Event_1nvvmu7" />
 +    <bpmn:sequenceFlow id="Flow_04qddb7" sourceRef="Activity_1e1ossc" targetRef="Gateway_1mnvgwo" />
 +    <bpmn:exclusiveGateway id="Gateway_1mnvgwo">
 +      <bpmn:incoming>Flow_01zzd72</bpmn:incoming>
 +      <bpmn:incoming>Flow_04qddb7</bpmn:incoming>
 +      <bpmn:outgoing>Flow_1x6y5gb</bpmn:outgoing>
 +    </bpmn:exclusiveGateway>
 +    <bpmn:sequenceFlow id="Flow_1x6y5gb" sourceRef="Gateway_1mnvgwo" targetRef="Gateway_0g36lb6" />
 +    <bpmn:sequenceFlow id="Flow_01zzd72" sourceRef="Activity_0cluktb" targetRef="Gateway_1mnvgwo" />
 +  </bpmn:process>
 +  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
 +    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0jcgoyf">
 +      <bpmndi:BPMNShape id="Activity_0bvkw53_di" bpmnElement="Activity_0bvkw53">
 +        <dc:Bounds x="560" y="220" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0qxhw3m_di" bpmnElement="Activity_0qxhw3m">
 +        <dc:Bounds x="560" y="350" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_0yi6h4y_di" bpmnElement="Gateway_1rlhvyt">
 +        <dc:Bounds x="705" y="235" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_15ssh3b_di" bpmnElement="Activity_15ssh3b">
 +        <dc:Bounds x="790" y="220" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_13c67li_di" bpmnElement="Gateway_13c67li" isMarkerVisible="true">
 +        <dc:Bounds x="925" y="235" width="50" height="50" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="924" y="292" width="53" height="27" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_19y1h4n_di" bpmnElement="Gateway_19y1h4n" isMarkerVisible="true">
 +        <dc:Bounds x="925" y="115" width="50" height="50" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="912" y="80" width="75" height="40" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1nvvmu7_di" bpmnElement="Event_1nvvmu7">
 +        <dc:Bounds x="1022" y="122" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="1000" y="165" width="82" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_0pbbdwp_di" bpmnElement="Event_0pbbdwp">
 +        <dc:Bounds x="1022" y="242" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="1032" y="285" width="17" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_0ik101c_di" bpmnElement="Gateway_0g36lb6">
 +        <dc:Bounds x="465" y="235" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1768r1t">
 +        <dc:Bounds x="152" y="242" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0cluktb_di" bpmnElement="Activity_0cluktb">
 +        <dc:Bounds x="230" y="220" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_1mnvgwo_di" bpmnElement="Gateway_1mnvgwo" isMarkerVisible="true">
 +        <dc:Bounds x="375" y="235" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1e1ossc_di" bpmnElement="Activity_1e1ossc">
 +        <dc:Bounds x="350" y="100" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_1khoqyb_di" bpmnElement="Flow_1khoqyb">
 +        <di:waypoint x="515" y="260" />
 +        <di:waypoint x="560" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_11mz79l_di" bpmnElement="Flow_11mz79l">
 +        <di:waypoint x="660" y="260" />
 +        <di:waypoint x="705" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0toczow_di" bpmnElement="Flow_0toczow">
 +        <di:waypoint x="490" y="285" />
 +        <di:waypoint x="490" y="390" />
 +        <di:waypoint x="560" y="390" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_00s8ucj_di" bpmnElement="Flow_00s8ucj">
 +        <di:waypoint x="660" y="390" />
 +        <di:waypoint x="730" y="390" />
 +        <di:waypoint x="730" y="285" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0znw93f_di" bpmnElement="Flow_0znw93f">
 +        <di:waypoint x="755" y="260" />
 +        <di:waypoint x="790" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0wcisla_di" bpmnElement="Flow_0wcisla">
 +        <di:waypoint x="890" y="260" />
 +        <di:waypoint x="925" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1fiuctz_di" bpmnElement="Flow_1fiuctz">
 +        <di:waypoint x="975" y="260" />
 +        <di:waypoint x="1022" y="260" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="992" y="242" width="13" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0c7pvuu_di" bpmnElement="Flow_0c7pvuu">
 +        <di:waypoint x="950" y="235" />
 +        <di:waypoint x="950" y="165" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="957" y="197" width="18" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_08y6k5p_di" bpmnElement="Flow_08y6k5p">
 +        <di:waypoint x="925" y="140" />
 +        <di:waypoint x="450" y="140" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="681" y="122" width="13" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0cucewu_di" bpmnElement="Flow_0cucewu">
 +        <di:waypoint x="975" y="140" />
 +        <di:waypoint x="1022" y="140" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="990" y="122" width="18" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_04qddb7_di" bpmnElement="Flow_04qddb7">
 +        <di:waypoint x="400" y="180" />
 +        <di:waypoint x="400" y="235" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1jordbm_di" bpmnElement="Flow_1jordbm">
 +        <di:waypoint x="188" y="260" />
 +        <di:waypoint x="230" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1x6y5gb_di" bpmnElement="Flow_1x6y5gb">
 +        <di:waypoint x="425" y="260" />
 +        <di:waypoint x="465" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_01zzd72_di" bpmnElement="Flow_01zzd72">
 +        <di:waypoint x="330" y="260" />
 +        <di:waypoint x="375" y="260" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</bpmn:definitions>
 +</bpmnio>
 +===== ✘ Как НЕ надо =====
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0rf5t2r" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="14.0.0">
 +  <bpmn:process id="Process_0jcgoyf" isExecutable="false">
 +    <bpmn:startEvent id="StartEvent_1768r1t">
 +      <bpmn:outgoing>Flow_1jordbm</bpmn:outgoing>
 +    </bpmn:startEvent>
 +    <bpmn:task id="Activity_0cluktb" name="Подготовить счет">
 +      <bpmn:incoming>Flow_1jordbm</bpmn:incoming>
 +      <bpmn:outgoing>Flow_0j8a89p</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_1jordbm" sourceRef="StartEvent_1768r1t" targetRef="Activity_0cluktb" />
 +    <bpmn:parallelGateway id="Gateway_0g36lb6">
 +      <bpmn:incoming>Flow_04qddb7</bpmn:incoming>
 +      <bpmn:incoming>Flow_0j8a89p</bpmn:incoming>
 +      <bpmn:outgoing>Flow_1khoqyb</bpmn:outgoing>
 +      <bpmn:outgoing>Flow_0toczow</bpmn:outgoing>
 +    </bpmn:parallelGateway>
 +    <bpmn:task id="Activity_0bvkw53" name="Отправить по email">
 +      <bpmn:incoming>Flow_1khoqyb</bpmn:incoming>
 +      <bpmn:outgoing>Flow_11mz79l</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_1khoqyb" sourceRef="Gateway_0g36lb6" targetRef="Activity_0bvkw53" />
 +    <bpmn:task id="Activity_0qxhw3m" name="Отправить оригинал по почте">
 +      <bpmn:incoming>Flow_0toczow</bpmn:incoming>
 +      <bpmn:outgoing>Flow_00s8ucj</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_0toczow" sourceRef="Gateway_0g36lb6" targetRef="Activity_0qxhw3m" />
 +    <bpmn:sequenceFlow id="Flow_11mz79l" sourceRef="Activity_0bvkw53" targetRef="Gateway_1rlhvyt" />
 +    <bpmn:parallelGateway id="Gateway_1rlhvyt">
 +      <bpmn:incoming>Flow_11mz79l</bpmn:incoming>
 +      <bpmn:incoming>Flow_00s8ucj</bpmn:incoming>
 +      <bpmn:outgoing>Flow_0znw93f</bpmn:outgoing>
 +    </bpmn:parallelGateway>
 +    <bpmn:sequenceFlow id="Flow_00s8ucj" sourceRef="Activity_0qxhw3m" targetRef="Gateway_1rlhvyt" />
 +    <bpmn:task id="Activity_15ssh3b" name="Получить согласие клиента">
 +      <bpmn:incoming>Flow_0znw93f</bpmn:incoming>
 +      <bpmn:outgoing>Flow_0wcisla</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_0znw93f" sourceRef="Gateway_1rlhvyt" targetRef="Activity_15ssh3b" />
 +    <bpmn:exclusiveGateway id="Gateway_13c67li" name="Клиент согласен?">
 +      <bpmn:incoming>Flow_0wcisla</bpmn:incoming>
 +      <bpmn:outgoing>Flow_1fiuctz</bpmn:outgoing>
 +      <bpmn:outgoing>Flow_0c7pvuu</bpmn:outgoing>
 +    </bpmn:exclusiveGateway>
 +    <bpmn:sequenceFlow id="Flow_0wcisla" sourceRef="Activity_15ssh3b" targetRef="Gateway_13c67li" />
 +    <bpmn:endEvent id="Event_0pbbdwp" name="OK">
 +      <bpmn:incoming>Flow_1fiuctz</bpmn:incoming>
 +    </bpmn:endEvent>
 +    <bpmn:sequenceFlow id="Flow_1fiuctz" name="да" sourceRef="Gateway_13c67li" targetRef="Event_0pbbdwp" />
 +    <bpmn:exclusiveGateway id="Gateway_19y1h4n" name="Согласны с возражениями клиента?">
 +      <bpmn:incoming>Flow_0c7pvuu</bpmn:incoming>
 +      <bpmn:outgoing>Flow_08y6k5p</bpmn:outgoing>
 +      <bpmn:outgoing>Flow_0cucewu</bpmn:outgoing>
 +    </bpmn:exclusiveGateway>
 +    <bpmn:sequenceFlow id="Flow_0c7pvuu" name="нет" sourceRef="Gateway_13c67li" targetRef="Gateway_19y1h4n" />
 +    <bpmn:task id="Activity_1e1ossc" name="Переделать счет">
 +      <bpmn:incoming>Flow_08y6k5p</bpmn:incoming>
 +      <bpmn:outgoing>Flow_04qddb7</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_08y6k5p" name="да" sourceRef="Gateway_19y1h4n" targetRef="Activity_1e1ossc" />
 +    <bpmn:endEvent id="Event_1nvvmu7" name="Не согласовано">
 +      <bpmn:incoming>Flow_0cucewu</bpmn:incoming>
 +    </bpmn:endEvent>
 +    <bpmn:sequenceFlow id="Flow_0cucewu" name="нет" sourceRef="Gateway_19y1h4n" targetRef="Event_1nvvmu7" />
 +    <bpmn:sequenceFlow id="Flow_04qddb7" sourceRef="Activity_1e1ossc" targetRef="Gateway_0g36lb6" />
 +    <bpmn:sequenceFlow id="Flow_0j8a89p" sourceRef="Activity_0cluktb" targetRef="Gateway_0g36lb6" />
 +  </bpmn:process>
 +  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
 +    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0jcgoyf">
 +      <bpmndi:BPMNShape id="Activity_0bvkw53_di" bpmnElement="Activity_0bvkw53">
 +        <dc:Bounds x="470" y="220" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0qxhw3m_di" bpmnElement="Activity_0qxhw3m">
 +        <dc:Bounds x="470" y="350" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_0yi6h4y_di" bpmnElement="Gateway_1rlhvyt">
 +        <dc:Bounds x="615" y="235" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_15ssh3b_di" bpmnElement="Activity_15ssh3b">
 +        <dc:Bounds x="700" y="220" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_13c67li_di" bpmnElement="Gateway_13c67li" isMarkerVisible="true">
 +        <dc:Bounds x="835" y="235" width="50" height="50" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="834" y="292" width="53" height="27" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_19y1h4n_di" bpmnElement="Gateway_19y1h4n" isMarkerVisible="true">
 +        <dc:Bounds x="835" y="115" width="50" height="50" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="822" y="80" width="75" height="40" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1nvvmu7_di" bpmnElement="Event_1nvvmu7">
 +        <dc:Bounds x="932" y="122" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="910" y="165" width="82" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_0pbbdwp_di" bpmnElement="Event_0pbbdwp">
 +        <dc:Bounds x="932" y="242" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="942" y="285" width="17" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_0ik101c_di" bpmnElement="Gateway_0g36lb6">
 +        <dc:Bounds x="375" y="235" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1e1ossc_di" bpmnElement="Activity_1e1ossc">
 +        <dc:Bounds x="350" y="100" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0cluktb_di" bpmnElement="Activity_0cluktb">
 +        <dc:Bounds x="230" y="220" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1768r1t">
 +        <dc:Bounds x="152" y="242" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_1khoqyb_di" bpmnElement="Flow_1khoqyb">
 +        <di:waypoint x="425" y="260" />
 +        <di:waypoint x="470" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_11mz79l_di" bpmnElement="Flow_11mz79l">
 +        <di:waypoint x="570" y="260" />
 +        <di:waypoint x="615" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0toczow_di" bpmnElement="Flow_0toczow">
 +        <di:waypoint x="400" y="285" />
 +        <di:waypoint x="400" y="390" />
 +        <di:waypoint x="470" y="390" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_00s8ucj_di" bpmnElement="Flow_00s8ucj">
 +        <di:waypoint x="570" y="390" />
 +        <di:waypoint x="640" y="390" />
 +        <di:waypoint x="640" y="285" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0znw93f_di" bpmnElement="Flow_0znw93f">
 +        <di:waypoint x="665" y="260" />
 +        <di:waypoint x="700" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0wcisla_di" bpmnElement="Flow_0wcisla">
 +        <di:waypoint x="800" y="260" />
 +        <di:waypoint x="835" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1fiuctz_di" bpmnElement="Flow_1fiuctz">
 +        <di:waypoint x="885" y="260" />
 +        <di:waypoint x="932" y="260" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="902" y="242" width="13" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0c7pvuu_di" bpmnElement="Flow_0c7pvuu">
 +        <di:waypoint x="860" y="235" />
 +        <di:waypoint x="860" y="165" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="867" y="197" width="18" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_08y6k5p_di" bpmnElement="Flow_08y6k5p">
 +        <di:waypoint x="835" y="140" />
 +        <di:waypoint x="450" y="140" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="636" y="122" width="13" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0cucewu_di" bpmnElement="Flow_0cucewu">
 +        <di:waypoint x="885" y="140" />
 +        <di:waypoint x="932" y="140" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="900" y="122" width="18" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_04qddb7_di" bpmnElement="Flow_04qddb7">
 +        <di:waypoint x="400" y="180" />
 +        <di:waypoint x="400" y="235" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0j8a89p_di" bpmnElement="Flow_0j8a89p">
 +        <di:waypoint x="330" y="260" />
 +        <di:waypoint x="375" y="260" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1jordbm_di" bpmnElement="Flow_1jordbm">
 +        <di:waypoint x="188" y="260" />
 +        <di:waypoint x="230" y="260" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</bpmn:definitions>
 +</bpmnio>
 +
 +Процесс зависнет на первой развилке, т.к. она будет ожидать прихода двух токенов, а придет только один.
 +===== Примечания =====
 +
 +[[https://www.omg.org/spec/BPMN/2.0.2/PDF|Спецификация BPMN 2.0.2]] (стр. 287), хотя и не запрещает смешанные развилки, называет их плохой практикой:
 +
 +> Развилки управляют схождением и расхождением потоков управления, т.е. одна и та же развилка может иметь несколько входящих и несколько исходящих потоков. Аналитики и программное обеспечение для моделирования могут принять в качестве лучшей практики правило, согласно которому развилки должны выполнять только одну из этих функций. Таким образом, понадобятся две развилки, чтобы выполнить сначала схождение, а затем расхождение потоков управления.
 +
 +Как показывают примеры выше, смешанные развилки делают диаграмму менее понятной и потенциально ошибочной, поэтому их лучше избегать. Разделите смешанную развилку на две - сходящуюся и следующую за ней расходящуюся.
 +===== Автор(ы) =====
 +
 + --- //[[user:wjulia|Юлия Вагнер]] 2023-09-11 13:03//