Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ru:rule:external_event [2024-08-28 14:13] – [✔ Как надо] Anatoly Belaychukru:rule:external_event [2024-10-05 13:31] (текущий) – [Моделируйте обработку события, инициированного внешним участником, отдельным процессом] Anatoly Belaychuk
Строка 1: Строка 1:
-====== 0-TBD Моделируйте реакцию на событие, инициируемое внешним участником, отдельным процессом ======+====== Моделируйте обработку события, инициированного внешним участником, отдельным процессом ======
  
-{{tag>ru-процесс}}+{{tag>процесс-ru взаимодействие}}
  
-{{:ru:v_razrabotke.png?nolink&200|}} +В момент, когда происходит внешнее событие (например, приходит груз от поставщика), оно еще не привязано к контексту (заказ, по которому осуществляется доставка). 
- +Это значит, что внешнее событие нельзя обработать в рамках экземпляра уже запущенного процесса (у нас множество заказов, ожидающих доставки) -  
-Краткое описание правила.+следовательно, его следует обрабатывать стартовым событием отдельного процесса-обработчика (не путать с подпроцессом-обработчиком).
  
 ===== ✔ Как надо ===== ===== ✔ Как надо =====
Строка 13: Строка 13:
 <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1"> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">
   <collaboration id="Collaboration_0g7t6mq">   <collaboration id="Collaboration_0g7t6mq">
-    <participant id="Participant_144acff" name="Procure to pay" processRef="Process_1" /> +    <participant id="Participant_144acff" name="От потребности до закупки" processRef="Process_1" /> 
-    <participant id="Participant_0pa16ys" name="Supplier" /> +    <participant id="Participant_04mf8ql" name="Приемка товара от поставщика" processRef="Process_0ath8fq" /> 
-    <messageFlow id="Flow_0sp4o62" name="Purchased goods" sourceRef="Participant_0pa16ys" targetRef="Event_1nu1su1" />+    <messageFlow id="Flow_06phhio" sourceRef="Event_12lad3v" targetRef="Event_1nu1su1" />
   </collaboration>   </collaboration>
   <process id="Process_1" isExecutable="false">   <process id="Process_1" isExecutable="false">
Строка 21: Строка 21:
       <incoming>Flow_0fqr94i</incoming>       <incoming>Flow_0fqr94i</incoming>
       <outgoing>Flow_1qzqmrm</outgoing>       <outgoing>Flow_1qzqmrm</outgoing>
 +      <dataOutputAssociation id="DataOutputAssociation_1sbeyu0">
 +        <targetRef>DataStoreReference_0ptgekw</targetRef>
 +      </dataOutputAssociation>
     </task>     </task>
     <sequenceFlow id="Flow_0fqr94i" sourceRef="Event_1ng94pf" targetRef="Activity_0xko542" />     <sequenceFlow id="Flow_0fqr94i" sourceRef="Event_1ng94pf" targetRef="Activity_0xko542" />
     <sequenceFlow id="Flow_1qzqmrm" sourceRef="Activity_0xko542" targetRef="Event_1nu1su1" />     <sequenceFlow id="Flow_1qzqmrm" sourceRef="Activity_0xko542" targetRef="Event_1nu1su1" />
-    <intermediateCatchEvent id="Event_1nu1su1" name="Goods delivered">+    <intermediateCatchEvent id="Event_1nu1su1" name="Товар принят">
       <incoming>Flow_1qzqmrm</incoming>       <incoming>Flow_1qzqmrm</incoming>
       <outgoing>Flow_0mvecfq</outgoing>       <outgoing>Flow_0mvecfq</outgoing>
Строка 32: Строка 35:
       <outgoing>Flow_0fqr94i</outgoing>       <outgoing>Flow_0fqr94i</outgoing>
     </startEvent>     </startEvent>
-    <task id="Activity_0b0ddhtname="Accept goods"+    <sequenceFlow id="Flow_0mvecfqsourceRef="Event_1nu1su1" targetRef="Activity_1ashtyk" /> 
-      <incoming>Flow_0mvecfq</incoming> +    <sequenceFlow id="Flow_1uu5pmf" sourceRef="Activity_1ashtyk" targetRef="Event_1kmjuhs" /> 
-      <outgoing>Flow_0o10xoz</outgoing> +    <dataStoreReference id="DataStoreReference_0ptgekw" name="Заказы на закупку" />
-    </task+
-    <sequenceFlow id="Flow_0mvecfq" sourceRef="Event_1nu1su1" targetRef="Activity_0b0ddht" />+
     <task id="Activity_1ashtyk" name="...">     <task id="Activity_1ashtyk" name="...">
-      <incoming>Flow_0o10xoz</incoming>+      <incoming>Flow_0mvecfq</incoming>
       <outgoing>Flow_1uu5pmf</outgoing>       <outgoing>Flow_1uu5pmf</outgoing>
     </task>     </task>
-    <sequenceFlow id="Flow_0o10xoz" sourceRef="Activity_0b0ddht" targetRef="Activity_1ashtyk" /> 
     <endEvent id="Event_1kmjuhs">     <endEvent id="Event_1kmjuhs">
       <incoming>Flow_1uu5pmf</incoming>       <incoming>Flow_1uu5pmf</incoming>
     </endEvent>     </endEvent>
-    <sequenceFlow id="Flow_1uu5pmf" sourceRef="Activity_1ashtyk" targetRef="Event_1kmjuhs" />+  </process> 
 +  <process id="Process_0ath8fq"> 
 +    <startEvent id="Event_0djxenp" name="Товар доставлен"> 
 +      <outgoing>Flow_0za1h4b</outgoing> 
 +    </startEvent> 
 +    <sequenceFlow id="Flow_0za1h4b" sourceRef="Event_0djxenp" targetRef="Activity_16ezjxr" /
 +    <sequenceFlow id="Flow_12cq0dp" sourceRef="Activity_16ezjxr" targetRef="Gateway_1gih9c0" /> 
 +    <sequenceFlow id="Flow_1or7fxn" name="нет" sourceRef="Gateway_1m9hhay" targetRef="Event_1lai5qt" /> 
 +    <task id="Activity_1eay84c" name="Проверить качество и количество"> 
 +      <incoming>Flow_0g7l5fa</incoming> 
 +      <outgoing>Flow_0xz7y35</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_0g7l5fa" name="да" sourceRef="Gateway_1gih9c0" targetRef="Activity_1eay84c" /> 
 +    <exclusiveGateway id="Gateway_1m9hhay" name="В порядке?"> 
 +      <incoming>Flow_0xz7y35</incoming> 
 +      <outgoing>Flow_1or7fxn</outgoing> 
 +      <outgoing>Flow_1l6vlkb</outgoing> 
 +    </exclusiveGateway> 
 +    <sequenceFlow id="Flow_0xz7y35" sourceRef="Activity_1eay84c" targetRef="Gateway_1m9hhay" /> 
 +    <endEvent id="Event_1lai5qt" name="Товар не принят"> 
 +      <incoming>Flow_1or7fxn</incoming> 
 +    </endEvent> 
 +    <sequenceFlow id="Flow_14lwxg3" name="нет" sourceRef="Gateway_1gih9c0" targetRef="Event_1xx98wd" /> 
 +    <sequenceFlow id="Flow_1l6vlkb" name="да" sourceRef="Gateway_1m9hhay" targetRef="Event_12lad3v" /> 
 +    <endEvent id="Event_12lad3v" name="Товар принят"> 
 +      <incoming>Flow_1l6vlkb</incoming> 
 +      <messageEventDefinition id="MessageEventDefinition_0ypnf1d" /> 
 +    </endEvent> 
 +    <task id="Activity_16ezjxr" name="Идентифицировать заказ"> 
 +      <incoming>Flow_0za1h4b</incoming> 
 +      <outgoing>Flow_12cq0dp</outgoing> 
 +      <property id="Property_1tojodc" name="__targetRef_placeholder" /> 
 +      <dataInputAssociation id="DataInputAssociation_0rbyde0"> 
 +        <sourceRef>DataStoreReference_0ptgekw</sourceRef> 
 +        <targetRef>Property_1tojodc</targetRef> 
 +      </dataInputAssociation> 
 +    </task> 
 +    <exclusiveGateway id="Gateway_1gih9c0" name="Есть заказ на закупку?"> 
 +      <incoming>Flow_12cq0dp</incoming> 
 +      <outgoing>Flow_0g7l5fa</outgoing> 
 +      <outgoing>Flow_14lwxg3</outgoing> 
 +    </exclusiveGateway> 
 +    <endEvent id="Event_1xx98wd" name="Ошибочная доставка"> 
 +      <incoming>Flow_14lwxg3</incoming> 
 +    </endEvent>
   </process>   </process>
   <bpmndi:BPMNDiagram id="BPMNDiagram_1">   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_0g7t6mq">     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_0g7t6mq">
       <bpmndi:BPMNShape id="Participant_144acff_di" bpmnElement="Participant_144acff" isHorizontal="true">       <bpmndi:BPMNShape id="Participant_144acff_di" bpmnElement="Participant_144acff" isHorizontal="true">
-        <omgdc:Bounds x="30" y="130" width="700" height="160" />+        <omgdc:Bounds x="30" y="130" width="570" height="160" />
         <bpmndi:BPMNLabel />         <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
Строка 60: Строка 104:
         <omgdc:Bounds x="312" y="192" width="36" height="36" />         <omgdc:Bounds x="312" y="192" width="36" height="36" />
         <bpmndi:BPMNLabel>         <bpmndi:BPMNLabel>
-          <omgdc:Bounds x="290" y="235" width="81" height="14" />+          <omgdc:Bounds x="289" y="168" width="81" height="14" />
         </bpmndi:BPMNLabel>         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_1ng94pf_di" bpmnElement="Event_1ng94pf">       <bpmndi:BPMNShape id="Event_1ng94pf_di" bpmnElement="Event_1ng94pf">
         <omgdc:Bounds x="92" y="192" width="36" height="36" />         <omgdc:Bounds x="92" y="192" width="36" height="36" />
-      </bpmndi:BPMNShape> 
-      <bpmndi:BPMNShape id="Activity_0b0ddht_di" bpmnElement="Activity_0b0ddht"> 
-        <omgdc:Bounds x="380" y="170" width="100" height="80" /> 
-        <bpmndi:BPMNLabel /> 
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1ashtyk_di" bpmnElement="Activity_1ashtyk">       <bpmndi:BPMNShape id="Activity_1ashtyk_di" bpmnElement="Activity_1ashtyk">
-        <omgdc:Bounds x="530" y="170" width="100" height="80" />+        <omgdc:Bounds x="390" y="170" width="100" height="80" />
         <bpmndi:BPMNLabel />         <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_1kmjuhs_di" bpmnElement="Event_1kmjuhs">       <bpmndi:BPMNShape id="Event_1kmjuhs_di" bpmnElement="Event_1kmjuhs">
-        <omgdc:Bounds x="662" y="192" width="36" height="36" />+        <omgdc:Bounds x="532" y="192" width="36" height="36" />
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="Flow_0fqr94i_di" bpmnElement="Flow_0fqr94i">       <bpmndi:BPMNEdge id="Flow_0fqr94i_di" bpmnElement="Flow_0fqr94i">
Строка 87: Строка 127:
       <bpmndi:BPMNEdge id="Flow_0mvecfq_di" bpmnElement="Flow_0mvecfq">       <bpmndi:BPMNEdge id="Flow_0mvecfq_di" bpmnElement="Flow_0mvecfq">
         <di:waypoint x="348" y="210" />         <di:waypoint x="348" y="210" />
-        <di:waypoint x="380" y="210" /> +        <di:waypoint x="390" y="210" />
-      </bpmndi:BPMNEdge> +
-      <bpmndi:BPMNEdge id="Flow_0o10xoz_di" bpmnElement="Flow_0o10xoz"> +
-        <di:waypoint x="480" y="210" /> +
-        <di:waypoint x="530" y="210" />+
       </bpmndi:BPMNEdge>       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1uu5pmf_di" bpmnElement="Flow_1uu5pmf">       <bpmndi:BPMNEdge id="Flow_1uu5pmf_di" bpmnElement="Flow_1uu5pmf">
-        <di:waypoint x="630" y="210" /> +        <di:waypoint x="490" y="210" /> 
-        <di:waypoint x="662" y="210" />+        <di:waypoint x="532" y="210" />
       </bpmndi:BPMNEdge>       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="Participant_0xjrlh6_di" bpmnElement="Participant_0pa16ys" isHorizontal="true"> +      <bpmndi:BPMNShape id="Participant_04mf8ql_di" bpmnElement="Participant_04mf8ql" isHorizontal="true"> 
-        <omgdc:Bounds x="180" y="-10" width="300" height="60" />+        <omgdc:Bounds x="30" y="430" width="714" height="240/> 
 +        <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="Flow_0sp4o62_di" bpmnElement="Flow_0sp4o62"> +      <bpmndi:BPMNShape id="Event_0djxenp_di" bpmnElement="Event_0djxenp"> 
-        <di:waypoint x="330" y="50/> +        <omgdc:Bounds x="92" y="482width="36height="36" />
-        <di:waypoint x="330y="192" />+
         <bpmndi:BPMNLabel>         <bpmndi:BPMNLabel>
-          <omgdc:Bounds x="286" y="103" width="87" height="14" />+          <omgdc:Bounds x="75" y="525" width="70" height="14" />
         </bpmndi:BPMNLabel>         </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1eay84c_di" bpmnElement="Activity_1eay84c">
 +        <omgdc:Bounds x="420" y="460" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_1m9hhay_di" bpmnElement="Gateway_1m9hhay" isMarkerVisible="true">
 +        <omgdc:Bounds x="565" y="475" width="50" height="50" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="578" y="451" width="23" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1lai5qt_di" bpmnElement="Event_1lai5qt">
 +        <omgdc:Bounds x="572" y="572" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="564" y="615" width="52" height="27" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1ipj0il_di" bpmnElement="Event_12lad3v">
 +        <omgdc:Bounds x="662" y="482" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="637" y="525" width="87" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_16ezjxr_di" bpmnElement="Activity_16ezjxr">
 +        <omgdc:Bounds x="170" y="460" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_1gih9c0_di" bpmnElement="Gateway_1gih9c0" isMarkerVisible="true">
 +        <omgdc:Bounds x="305" y="475" width="50" height="50" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="285" y="451" width="89" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1xx98wd_di" bpmnElement="Event_1xx98wd">
 +        <omgdc:Bounds x="312" y="572" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="294" y="615" width="73" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_0za1h4b_di" bpmnElement="Flow_0za1h4b">
 +        <di:waypoint x="128" y="500" />
 +        <di:waypoint x="170" y="500" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_12cq0dp_di" bpmnElement="Flow_12cq0dp">
 +        <di:waypoint x="270" y="500" />
 +        <di:waypoint x="305" y="500" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1or7fxn_di" bpmnElement="Flow_1or7fxn">
 +        <di:waypoint x="590" y="525" />
 +        <di:waypoint x="590" y="572" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="599" y="546" width="13" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0g7l5fa_di" bpmnElement="Flow_0g7l5fa">
 +        <di:waypoint x="355" y="500" />
 +        <di:waypoint x="420" y="500" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="379" y="482" width="17" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0xz7y35_di" bpmnElement="Flow_0xz7y35">
 +        <di:waypoint x="520" y="500" />
 +        <di:waypoint x="565" y="500" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_14lwxg3_di" bpmnElement="Flow_14lwxg3">
 +        <di:waypoint x="330" y="525" />
 +        <di:waypoint x="330" y="572" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="339" y="546" width="13" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1l6vlkb_di" bpmnElement="Flow_1l6vlkb">
 +        <di:waypoint x="615" y="500" />
 +        <di:waypoint x="662" y="500" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="630" y="482" width="17" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNShape id="DataStoreReference_0ptgekw_di" bpmnElement="DataStoreReference_0ptgekw">
 +        <omgdc:Bounds x="195" y="345" width="50" height="50" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="103" y="363" width="82" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="DataInputAssociation_0rbyde0_di" bpmnElement="DataInputAssociation_0rbyde0">
 +        <di:waypoint x="220" y="395" />
 +        <di:waypoint x="220" y="460" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_06phhio_di" bpmnElement="Flow_06phhio">
 +        <di:waypoint x="680" y="482" />
 +        <di:waypoint x="680" y="355" />
 +        <di:waypoint x="330" y="355" />
 +        <di:waypoint x="330" y="228" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="DataOutputAssociation_1sbeyu0_di" bpmnElement="DataOutputAssociation_1sbeyu0">
 +        <di:waypoint x="220" y="250" />
 +        <di:waypoint x="220" y="345" />
       </bpmndi:BPMNEdge>       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>     </bpmndi:BPMNPlane>
Строка 118: Строка 252:
 <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1"> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">
   <collaboration id="Collaboration_0g7t6mq">   <collaboration id="Collaboration_0g7t6mq">
-    <participant id="Participant_144acff" name="Procure to pay" processRef="Process_1" /> +    <participant id="Participant_144acff" name="От потребности до закупки" processRef="Process_1" /> 
-    <participant id="Participant_0pa16ys" name="Supplier" /> +    <participant id="Participant_0pa16ys" name="Поставщик" /> 
-    <messageFlow id="Flow_0sp4o62" name="Purchased goods" sourceRef="Participant_0pa16ys" targetRef="Event_1nu1su1" />+    <messageFlow id="Flow_0sp4o62" name="Доставленный товар" sourceRef="Participant_0pa16ys" targetRef="Event_1nu1su1" />
   </collaboration>   </collaboration>
   <process id="Process_1" isExecutable="false">   <process id="Process_1" isExecutable="false">
Строка 129: Строка 263:
     <sequenceFlow id="Flow_0fqr94i" sourceRef="Event_1ng94pf" targetRef="Activity_0xko542" />     <sequenceFlow id="Flow_0fqr94i" sourceRef="Event_1ng94pf" targetRef="Activity_0xko542" />
     <sequenceFlow id="Flow_1qzqmrm" sourceRef="Activity_0xko542" targetRef="Event_1nu1su1" />     <sequenceFlow id="Flow_1qzqmrm" sourceRef="Activity_0xko542" targetRef="Event_1nu1su1" />
-    <intermediateCatchEvent id="Event_1nu1su1" name="Goods delivered">+    <intermediateCatchEvent id="Event_1nu1su1" name="Товар доставлен">
       <incoming>Flow_1qzqmrm</incoming>       <incoming>Flow_1qzqmrm</incoming>
       <outgoing>Flow_0mvecfq</outgoing>       <outgoing>Flow_0mvecfq</outgoing>
Строка 137: Строка 271:
       <outgoing>Flow_0fqr94i</outgoing>       <outgoing>Flow_0fqr94i</outgoing>
     </startEvent>     </startEvent>
-    <task id="Activity_0b0ddht" name="Accept goods">+    <task id="Activity_0b0ddht" name="Принять товар">
       <incoming>Flow_0mvecfq</incoming>       <incoming>Flow_0mvecfq</incoming>
       <outgoing>Flow_0o10xoz</outgoing>       <outgoing>Flow_0o10xoz</outgoing>
Строка 219: Строка 353:
 ===== Примечания ===== ===== Примечания =====
  
-  * Дополнительные комментарии (опционально)+  * Обратите внимание на задачу "Идентифицировать доставку" на диаграмме [[#как надо]]. Эта задача имеет место в реальности: когда на наш склад прибывает фура от поставщика, то первое, что делает наш сотрудник - проверяет сопроводительные документы и выясняет, заказывали ли мы этот груз (возможно, он доставлен по ошибке). Но на диаграмме [[#как не надо]] для этой задачи нет места! 
 +  * Еще одно преимущество схемы [[#как надо]] - она предусматривает возможность, что груз не был принят (например, из-за претензий по качеству и/или количеству) с первой попытке, но был благополучно принят при повторной доставке поставщиком. В этом случае просто будет два экземпляра процесса приемки груза на один экземпляр процесса закупки. 
 +  * В приведенных примерах опущен таймер (процесс ждет доставки бесконечно) и другие подробности. 
 +  * На диаграмме [[#как надо]] изображены два развернутых процесса. При моделировании реальных (а не учебныхпроцессов лучше изображать каждый процесс [[single_process|на отдельной диаграмме]]. 
 +  * Для моделирования взаимодействия между процессами предпочтительнее использовать не событие-сообщение, а [[conditional_event_collaboration|событие-условие]].
  
 ===== Исключения ===== ===== Исключения =====
  
-  * Исключения из правила (если есть)+Процесс-обработчик может не потребоваться, если модель процесса является исполняемой, а внешний участник процесса - не человек, а робот (информационная система, веб-портал)
 +Поток сообщений в этом случае моделирует вызов веб-сервиса.
  
 ===== Смотри также ===== ===== Смотри также =====
  
-  * Ссылки на страницы со схожим контентом (опционально)+  * [[single_process]] 
 +  * [[conditional_event_collaboration]]
  
 ===== Автор(ы) ===== ===== Автор(ы) =====
  
  --- //[[user:bell|Anatoly Belaychuk]] 2024-08-27 17:17//  --- //[[user:bell|Anatoly Belaychuk]] 2024-08-27 17:17//