Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ru:rule:start_and_end_of_process [2023-08-06 18:59] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1ru:rule:start_and_end_of_process [2024-09-11 15:10] (текущий) – [Показывайте явно начало и завершение процесса] Anatoly Belaychuk
Строка 1: Строка 1:
 +====== Показывайте явно начало и завершение процесса ======
 +
 +{{tag>событие начальное_событие конечное_событие}}
 +
 +Всегда изображайте на диаграмме начальные и конечные события процесса.
 +
 +===== ✔ Как надо =====
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<bpmn:definitions 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" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_0qxq8xr" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.12.0" modeler:executionPlatform="Camunda Platform" modeler:executionPlatformVersion="7.19.0">
 +  <bpmn:process id="Process_1p6tfv2" isExecutable="true">
 +    <bpmn:task id="Activity_0fwkokl" name="Отправить запрос на отпуск">
 +      <bpmn:incoming>Flow_0skr8v5</bpmn:incoming>
 +      <bpmn:outgoing>Flow_0vqa3yk</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:task id="Activity_107dx0f" name="Согласовать отпуск">
 +      <bpmn:incoming>Flow_0vqa3yk</bpmn:incoming>
 +      <bpmn:outgoing>Flow_0wup8w6</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_0vqa3yk" sourceRef="Activity_0fwkokl" targetRef="Activity_107dx0f" />
 +    <bpmn:startEvent id="Event_1vlzy6q" name="Необходимо согласовать отпуск">
 +      <bpmn:outgoing>Flow_0skr8v5</bpmn:outgoing>
 +    </bpmn:startEvent>
 +    <bpmn:sequenceFlow id="Flow_0skr8v5" sourceRef="Event_1vlzy6q" targetRef="Activity_0fwkokl" />
 +    <bpmn:endEvent id="Event_1k3tu5c" name="Отпуск согласован">
 +      <bpmn:incoming>Flow_0wup8w6</bpmn:incoming>
 +    </bpmn:endEvent>
 +    <bpmn:sequenceFlow id="Flow_0wup8w6" sourceRef="Activity_107dx0f" targetRef="Event_1k3tu5c" />
 +  </bpmn:process>
 +  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
 +    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1p6tfv2">
 +      <bpmndi:BPMNShape id="Activity_0fwkokl_di" bpmnElement="Activity_0fwkokl">
 +        <dc:Bounds x="260" y="90" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_107dx0f_di" bpmnElement="Activity_107dx0f">
 +        <dc:Bounds x="440" y="90" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1vlzy6q_di" bpmnElement="Event_1vlzy6q">
 +        <dc:Bounds x="172" y="112" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="158" y="155" width="64" height="40" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1k3tu5c_di" bpmnElement="Event_1k3tu5c">
 +        <dc:Bounds x="592" y="112" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <dc:Bounds x="581" y="155" width="58" height="27" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_0vqa3yk_di" bpmnElement="Flow_0vqa3yk">
 +        <di:waypoint x="360" y="130" />
 +        <di:waypoint x="440" y="130" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0skr8v5_di" bpmnElement="Flow_0skr8v5">
 +        <di:waypoint x="208" y="130" />
 +        <di:waypoint x="260" y="130" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0wup8w6_di" bpmnElement="Flow_0wup8w6">
 +        <di:waypoint x="540" y="130" />
 +        <di:waypoint x="592" y="130" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</bpmn:definitions>
 +
 +</bpmnio>
 +
 +
 +===== ✘ Как не надо =====
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<bpmn:definitions 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" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_0qxq8xr" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.12.0" modeler:executionPlatform="Camunda Platform" modeler:executionPlatformVersion="7.19.0">
 +  <bpmn:process id="Process_1p6tfv2" isExecutable="true">
 +    <bpmn:task id="Activity_0fwkokl" name="Отправить запрос на отпуск">
 +      <bpmn:outgoing>Flow_0vqa3yk</bpmn:outgoing>
 +    </bpmn:task>
 +    <bpmn:task id="Activity_107dx0f" name="Согласовать отпуск">
 +      <bpmn:incoming>Flow_0vqa3yk</bpmn:incoming>
 +    </bpmn:task>
 +    <bpmn:sequenceFlow id="Flow_0vqa3yk" sourceRef="Activity_0fwkokl" targetRef="Activity_107dx0f" />
 +  </bpmn:process>
 +  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
 +    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1p6tfv2">
 +      <bpmndi:BPMNShape id="Activity_0fwkokl_di" bpmnElement="Activity_0fwkokl">
 +        <dc:Bounds x="130" y="90" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_107dx0f_di" bpmnElement="Activity_107dx0f">
 +        <dc:Bounds x="310" y="90" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_0vqa3yk_di" bpmnElement="Flow_0vqa3yk">
 +        <di:waypoint x="230" y="130" />
 +        <di:waypoint x="310" y="130" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</bpmn:definitions>
 +</bpmnio>
 +
 +===== Примечания =====
 +
 +Согласно [[https://www.omg.org/spec/BPMN/2.0.2/PDF | спецификации BPMN]] начальное и конечное события не являются обязательными -
 +действие без входящих потоков управления считается неявным стартом, действие без исходящих потоков управления - неявным завершением.
 +Но диаграммы с неявным стартом и/или завершением могут трактоваться неправильно, поэтому их следует избегать.
 +
 +===== Исключения =====
 +
 +Подпроцесс по требованию:
 +
 +<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: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_1" isExecutable="false">
 +    <adHocSubProcess id="Activity_13s14cp">
 +      <task id="Activity_0wa6qlo" />
 +      <task id="Activity_0mqzleb" />
 +    </adHocSubProcess>
 +  </process>
 +  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
 +    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
 +      <bpmndi:BPMNShape id="Activity_0d71fwc_di" bpmnElement="Activity_13s14cp" isExpanded="true">
 +        <omgdc:Bounds x="210" y="160" width="290" height="150" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0wa6qlo_di" bpmnElement="Activity_0wa6qlo">
 +        <omgdc:Bounds x="240" y="190" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0mqzleb_di" bpmnElement="Activity_0mqzleb">
 +        <omgdc:Bounds x="370" y="190" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 +
 +
 +===== Автор(ы) =====
 +
 + --- //[[user:jjjores|Георгий Ржавин]] 2023-09-12 10:27//