Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
ru:rule:check_subprocess_results [2023-08-19 13:27] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | ru:rule:check_subprocess_results [2024-09-19 22:05] (текущий) – [Исключения] Anatoly Belaychuk |
---|
| ====== На выходе из подпроцесса проверяйте его результат ====== |
| |
| {{tag>подпроцесс развилка}} |
| |
| ===== ✔ Как надо ===== |
| |
| <bpmnio type="bpmn"> |
| <?xml version="1.0" encoding="UTF-8"?> |
| <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1"> |
| <process id="Process_18m1du3"> |
| <subProcess id="Activity_1hd1dgq" name="Согласование условий договора"> |
| <incoming>Flow_017eh8n</incoming> |
| <outgoing>Flow_1gmtur1</outgoing> |
| </subProcess> |
| <exclusiveGateway id="Gateway_08zcsvd" name="Согласовано?"> |
| <incoming>Flow_1gmtur1</incoming> |
| <outgoing>Flow_0znuxn6</outgoing> |
| <outgoing>Flow_0eaj2kq</outgoing> |
| </exclusiveGateway> |
| <sequenceFlow id="Flow_1gmtur1" sourceRef="Activity_1hd1dgq" targetRef="Gateway_08zcsvd" /> |
| <task id="Activity_0p0yxli" name="Продолжить"> |
| <incoming>Flow_0znuxn6</incoming> |
| <outgoing>Flow_1pbytyb</outgoing> |
| </task> |
| <sequenceFlow id="Flow_0znuxn6" name="да" sourceRef="Gateway_08zcsvd" targetRef="Activity_0p0yxli" /> |
| <endEvent id="Event_1tr3rn1" name="Не согласовано"> |
| <incoming>Flow_0eaj2kq</incoming> |
| </endEvent> |
| <sequenceFlow id="Flow_0eaj2kq" name="нет" sourceRef="Gateway_08zcsvd" targetRef="Event_1tr3rn1" /> |
| <startEvent id="Event_1mad8sj"> |
| <outgoing>Flow_017eh8n</outgoing> |
| </startEvent> |
| <sequenceFlow id="Flow_017eh8n" sourceRef="Event_1mad8sj" targetRef="Activity_1hd1dgq" /> |
| <endEvent id="Event_0j7s04q" name="Успех"> |
| <incoming>Flow_1pbytyb</incoming> |
| </endEvent> |
| <sequenceFlow id="Flow_1pbytyb" sourceRef="Activity_0p0yxli" targetRef="Event_0j7s04q" /> |
| </process> |
| <bpmndi:BPMNDiagram id="BpmnDiagram_1"> |
| <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_18m1du3"> |
| <bpmndi:BPMNShape id="Activity_0s12n49_di" bpmnElement="Activity_1hd1dgq"> |
| <omgdc:Bounds x="190" y="90" width="100" height="80" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Gateway_08zcsvd_di" bpmnElement="Gateway_08zcsvd" isMarkerVisible="true"> |
| <omgdc:Bounds x="335" y="105" width="50" height="50" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="345" y="75" width="30" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Activity_0p0yxli_di" bpmnElement="Activity_0p0yxli"> |
| <omgdc:Bounds x="440" y="90" width="100" height="80" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_1tr3rn1_di" bpmnElement="Event_1tr3rn1"> |
| <omgdc:Bounds x="342" y="212" width="36" height="36" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="341" y="255" width="38" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_1mad8sj_di" bpmnElement="Event_1mad8sj"> |
| <omgdc:Bounds x="112" y="112" width="36" height="36" /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_0j7s04q_di" bpmnElement="Event_0j7s04q"> |
| <omgdc:Bounds x="582" y="112" width="36" height="36" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="579" y="155" width="42" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNEdge id="Flow_1gmtur1_di" bpmnElement="Flow_1gmtur1"> |
| <omgdi:waypoint x="290" y="130" /> |
| <omgdi:waypoint x="335" y="130" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_0znuxn6_di" bpmnElement="Flow_0znuxn6"> |
| <omgdi:waypoint x="385" y="130" /> |
| <omgdi:waypoint x="440" y="130" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="404" y="112" width="17" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_0eaj2kq_di" bpmnElement="Flow_0eaj2kq"> |
| <omgdi:waypoint x="360" y="155" /> |
| <omgdi:waypoint x="360" y="212" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="369" y="181" width="13" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_017eh8n_di" bpmnElement="Flow_017eh8n"> |
| <omgdi:waypoint x="148" y="130" /> |
| <omgdi:waypoint x="190" y="130" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_1pbytyb_di" bpmnElement="Flow_1pbytyb"> |
| <omgdi:waypoint x="540" y="130" /> |
| <omgdi:waypoint x="582" y="130" /> |
| </bpmndi:BPMNEdge> |
| </bpmndi:BPMNPlane> |
| </bpmndi:BPMNDiagram> |
| <bpmndi:BPMNDiagram id="BPMNDiagram_0k8h0e8"> |
| <bpmndi:BPMNPlane id="BPMNPlane_05v2aah" bpmnElement="Activity_1hd1dgq" /> |
| </bpmndi:BPMNDiagram> |
| </definitions> |
| </bpmnio> |
| ===== ✘ Как НЕ надо ===== |
| |
| <bpmnio type="bpmn"> |
| <?xml version="1.0" encoding="UTF-8"?> |
| <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1"> |
| <process id="Process_18m1du3"> |
| <subProcess id="Activity_1hd1dgq" name="Согласование условий договора"> |
| <incoming>Flow_014fv7m</incoming> |
| <outgoing>Flow_15xjhk7</outgoing> |
| </subProcess> |
| <sequenceFlow id="Flow_15xjhk7" sourceRef="Activity_1hd1dgq" targetRef="Activity_0xmeje2" /> |
| <subProcess id="Activity_0xmeje2" name="Подготовка и подписание договора"> |
| <incoming>Flow_15xjhk7</incoming> |
| <outgoing>Flow_1pveezk</outgoing> |
| </subProcess> |
| <endEvent id="Event_096q8k8" name="Успех"> |
| <incoming>Flow_1pveezk</incoming> |
| </endEvent> |
| <sequenceFlow id="Flow_1pveezk" sourceRef="Activity_0xmeje2" targetRef="Event_096q8k8" /> |
| <startEvent id="Event_0u89g2q"> |
| <outgoing>Flow_014fv7m</outgoing> |
| </startEvent> |
| <sequenceFlow id="Flow_014fv7m" sourceRef="Event_0u89g2q" targetRef="Activity_1hd1dgq" /> |
| </process> |
| <bpmndi:BPMNDiagram id="BpmnDiagram_1"> |
| <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_18m1du3"> |
| <bpmndi:BPMNShape id="Event_096q8k8_di" bpmnElement="Event_096q8k8"> |
| <omgdc:Bounds x="482" y="112" width="36" height="36" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="479" y="155" width="42" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_0u89g2q_di" bpmnElement="Event_0u89g2q"> |
| <omgdc:Bounds x="112" y="112" width="36" height="36" /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Activity_0s12n49_di" bpmnElement="Activity_1hd1dgq"> |
| <omgdc:Bounds x="190" y="90" width="100" height="80" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Activity_1k3mm3u_di" bpmnElement="Activity_0xmeje2"> |
| <omgdc:Bounds x="340" y="90" width="100" height="80" /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNEdge id="Flow_15xjhk7_di" bpmnElement="Flow_15xjhk7"> |
| <omgdi:waypoint x="290" y="130" /> |
| <omgdi:waypoint x="340" y="130" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_1pveezk_di" bpmnElement="Flow_1pveezk"> |
| <omgdi:waypoint x="440" y="130" /> |
| <omgdi:waypoint x="482" y="130" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_014fv7m_di" bpmnElement="Flow_014fv7m"> |
| <omgdi:waypoint x="148" y="130" /> |
| <omgdi:waypoint x="190" y="130" /> |
| </bpmndi:BPMNEdge> |
| </bpmndi:BPMNPlane> |
| </bpmndi:BPMNDiagram> |
| <bpmndi:BPMNDiagram id="BPMNDiagram_0k8h0e8"> |
| <bpmndi:BPMNPlane id="BPMNPlane_05v2aah" bpmnElement="Activity_1hd1dgq" /> |
| </bpmndi:BPMNDiagram> |
| <bpmndi:BPMNDiagram id="BPMNDiagram_1gsascs"> |
| <bpmndi:BPMNPlane id="BPMNPlane_0qs6irk" bpmnElement="Activity_0xmeje2" /> |
| </bpmndi:BPMNDiagram> |
| </definitions> |
| </bpmnio> |
| |
| ===== Примечания ===== |
| |
| * Если за подпроцессом не следует развилка, то это означает, что он всегда заканчивается успехом. Как правило, это не так - подпроцесс может закончиться успехом, а может неудачей. Поэтому если на схеме процесса после подпроцесса отсутствует развилка, то это если и не ошибка, то повод присмотреться и задать вопрос - предусматриваем ли мы здесь возможность неудачи. |
| * Данное правило справедливо как по отношению к встроенному подпроцессу, так и к процессу, вызываемому как подпроцесс. |
| |
| ===== Исключения ===== |
| |
| * Согласование условий договора может всегда заканчиваться успехом, если договор заключается между юридическими лицами внутри одной группы компаний - например, бизнес-единицей и общим центром обслуживания. В этом случае развилка после подпроцесса не потребуется. |
| ===== Смотри также ===== |
| |
| * [[ru:rule:business_exception_error]] |
| * [[ru:rule:human_decision]] |
| ===== Автор(ы) ===== |
| |
| --- //[[user:bell|Анатолий Белайчук]] 2023-08-06 13:49// |
| |