...

BPMN 2.0 импорт

Тема в разделе "Проблемы/ошибки", создана пользователем Слава В, 13 ноя 2023.

Метки:
  1. Слава В

    Слава В New Member

    [ELMA 4 CE 4.1.39.11529 R.3506b376d158a6, вчера скачал]

    Hi,

    Пытался импортировать BPMN процесс из книжки, рекомендованной на сайте (https://www.elma-bpm.ru/journal/prakticheskij-kurs-bpmn-soderzhanie/). Удалось добиться импорта без ошибок. но никаких диаграмм не появилось. В правой панели процессы/подпроцессы перечислены, но основной диаграммы нет. Процесс "Покупатель" прилагаю (PS).

    tnx.

    PS:

    <?xml version="1.0" encoding="UTF-8"?>
    <definitions id="Definition"
    targetNamespace="http://www.example.org/UserTaskExample"
    typeLanguage="http://www.w3.org/2001/XMLSchema"
    expressionLanguage="http://www.w3.org/1999/XPath"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
    xmlns:tns="http://www.example.org/UserTaskExample">
    <resource id="regionalManager" name="Regional Manager">
    <resourceParameter id="buyerName" isRequired="true" name="Buyer Name" type="xsd:string"/>
    <resourceParameter id="region" isRequired="false" name="Region" type="xsd:string"/>
    </resource>
    <resource id="departmentalReviewer" name="Departmental Reviewer">
    <resourceParameter id="buyerName" isRequired="true" name="Buyer Name" type="xsd:string"/>
    </resource>
    <collaboration id="BuyerCollaboration" name="Buyer Collaboration">
    <participant id="BuyerParticipant" name="Buyer" processRef="BuyerProcess"/>
    </collaboration>
    <!-- Process definition -->
    <process id="BuyerProcess" name="Buyer Process">
    <laneSet id="BuyerLaneSet">
    <lane id="BuyerLane">
    <flowNodeRef>StartProcess</flowNodeRef>
    <flowNodeRef>QuotationHandling</flowNodeRef>
    <flowNodeRef>ApproveOrder</flowNodeRef>
    <flowNodeRef>OrderApprovedDecision</flowNodeRef>
    <flowNodeRef>TerminateProcess</flowNodeRef>
    <flowNodeRef>OrderAndShipment</flowNodeRef>
    <flowNodeRef>OrderHandling</flowNodeRef>
    <flowNodeRef>ShipmentHandling</flowNodeRef>
    <flowNodeRef>OrderAndShipmentMerge</flowNodeRef>
    <flowNodeRef>ReviewOrder</flowNodeRef>
    <flowNodeRef>EndProcess</flowNodeRef>
    </lane>
    </laneSet>
    <startEvent id="StartProcess"/>
    <sequenceFlow sourceRef="StartProcess" targetRef="QuotationHandling"/>
    <task id="QuotationHandling" name="Quotation Handling"/>
    <sequenceFlow sourceRef="QuotationHandling" targetRef="ApproveOrder"/>
    <userTask id="ApproveOrder" name="ApproveOrder">
    <potentialOwner>
    <resourceRef>tns:regionalManager</resourceRef>
    <resourceParameterBinding parameterRef="tns:buyerName">
    <formalExpression>getDataInput('order')/address/name</formalExpression>
    </resourceParameterBinding>
    <resourceParameterBinding parameterRef="tns:region">
    <formalExpression>getDataInput('order')/address/country</formalExpression>
    </resourceParameterBinding>
    </potentialOwner>
    </userTask>
    <sequenceFlow sourceRef="ApproveOrder" targetRef="OrderApprovedDecision"/>
    <exclusiveGateway id="OrderApprovedDecision" gatewayDirection="Diverging"/>
    <sequenceFlow sourceRef="OrderApprovedDecision" targetRef="OrderAndShipment">
    <conditionExpression>Was the Order Approved?</conditionExpression>
    </sequenceFlow>
    <sequenceFlow sourceRef="OrderApprovedDecision" targetRef="TerminateProcess">
    <conditionExpression>Was the Order NOT Approved?</conditionExpression>
    </sequenceFlow>
    <endEvent id="TerminateProcess">
    <terminateEventDefinition id="TerminateEvent"/>
    </endEvent>
    <parallelGateway id="OrderAndShipment" gatewayDirection="Diverging"/>
    <sequenceFlow sourceRef="OrderAndShipment" targetRef="OrderHandling"/>
    <sequenceFlow sourceRef="OrderAndShipment" targetRef="ShipmentHandling"/>
    <task id="OrderHandling" name="Order Handling"/>
    <task id="ShipmentHandling" name="Shipment Handling"/>
    <sequenceFlow sourceRef="OrderHandling" targetRef="OrderAndShipmentMerge"/>
    <sequenceFlow sourceRef="ShipmentHandling" targetRef="OrderAndShipmentMerge"/>
    <parallelGateway id="OrderAndShipmentMerge" gatewayDirection="Converging"/>
    <sequenceFlow sourceRef="OrderAndShipmentMerge" targetRef="ReviewOrder"/>
    <userTask id="ReviewOrder" name="Review Order">
    <potentialOwner>
    <resourceRef>tns:departmentalReviewer</resourceRef>
    <resourceParameterBinding parameterRef="tns:buyerName">
    <formalExpression>getDataInput('order')/address/name</formalExpression>
    </resourceParameterBinding>
    </potentialOwner>
    </userTask>
    <sequenceFlow sourceRef="ReviewOrder" targetRef="EndProcess"/>
    <endEvent id="EndProcess"/>
    </process>
    </definitions>
     
    Последнее редактирование: 13 ноя 2023
  2. Слава В

    Слава В New Member

    Лог импорта:

    Начинаем импорт бизнес-процесса: Buyer Process
    Создаем диаграмму: Buyer Process
    Задаем размер диаграммы:1600x1200px
    Создаем зоны ответственности:
    Создана зона ответственности: Buyer Process
    Создаем графические элементы:
    Создано стартовое событие:
    Создана задача: ApproveOrder
    Создано конечное событие:
    Создан шлюз:
    Создана задача: Order Handling
    Создана задача: Shipment Handling
    Создан шлюз:
    Создано стартовое событие:
    Создаем подпроцессы:
    Создаем артефакты:
    Создаем связи между элементами:
    Создана связь:<->Order Handling
    Создана связь:Order Handling<->
    Создание диаграммы закончено.

    Нажмите 'Далее' для открытия диаграммы.



    "Далее" - возникает ошибка "Недопустимый параметр".
    Диаграмма пустая.

    Правая панель содержит следующее:

    "Buyer Process"
    ApproveOrder
    Order Handling
    Shipment Handling
     
  3. Слава В

    Слава В New Member

    Если импортировать english версию "Buyer Process" (см. PS), то
    1) Шаг 1: Открытие bpmn-файла
    Средство моделирования: http://www.example.org/UserTaskExample
    Версия BPMN: http://www.omg.org/spec/BPMN/20100524/MODEL
    В файле содержится один бизнес процесс: Buyer Process
    2) Шаг 2: "Настройка Параметров"
    Все оставлено по умолчанию.
    Кстати - это окно не содержит скроллинга и если развернуть все параметры, то нельзя увидеть нижний (на небольших экранах ноутбуков, например). И скроллировать вниз средств нет (ни сайдбара, ни колесом мышки).
    3) Шаг 3: "Зоны ответственности"
    Перенёс элемент оргструктуры текущего проекта (Генеральный Директор). Требуется только одна зона.
    4) Шаг 4: "Результаты импорта"

    Начинаем импорт бизнес-процесса: Buyer Process
    Создаем диаграмму: Buyer Process
    Задаем размер диаграммы:1600x1200px
    Создаем зоны ответственности:
    Создана зона ответственности: Buyer Process
    Создаем графические элементы:
    Создано стартовое событие:
    Создана задача: ApproveOrder
    Создано конечное событие:
    Создан шлюз:
    Создана задача: Review Order
    Создаем подпроцессы:
    Создаем артефакты:
    Создаем связи между элементами:
    Создание диаграммы закончено.

    Нажмите 'Далее' для открытия диаграммы.

    5) В процессе импорта ошибок не возникает; Диаграмма пустая; Правая панель содержит следующее:
    Buyer Process
    ApproveOrder
    Review Order

    PS: BPMN текст процесса (bpmn-файл):

    <?xml version="1.0" encoding="UTF-8"?>
    <definitions id="Definition"
    targetNamespace="http://www.example.org/UserTaskExample"
    typeLanguage="http://www.w3.org/2001/XMLSchema"
    expressionLanguage="http://www.w3.org/1999/XPath"
    xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
    xmlns:tns="http://www.example.org/UserTaskExample">
    <resource id="regionalManager" name="Regional Manager">
    <resourceParameter id="buyerName" isRequired="true" name="Buyer Name" type="xsd:string"/>
    <resourceParameter id="region" isRequired="false" name="Region" type="xsd:string"/>
    </resource>
    <resource id="departmentalReviewer" name="Departmental Reviewer">
    <resourceParameter id="buyerName" isRequired="true" name="Buyer Name" type="xsd:string"/>
    </resource>
    <collaboration id="BuyerCollaboration" name="Buyer Collaboration">
    <participant id="BuyerParticipant" name="Buyer" processRef="BuyerProcess"/>
    </collaboration>
    <!-- Process definition -->
    <process id="BuyerProcess" name="Buyer Process">
    <laneSet id="BuyerLaneSet">
    <lane id="BuyerLane">
    <flowNodeRef>StartProcess</flowNodeRef>
    <flowNodeRef>QuotationHandling</flowNodeRef>
    <flowNodeRef>ApproveOrder</flowNodeRef>
    <flowNodeRef>OrderApprovedDecision</flowNodeRef>
    <flowNodeRef>TerminateProcess</flowNodeRef>
    <flowNodeRef>OrderAndShipment</flowNodeRef>
    <flowNodeRef>OrderHandling</flowNodeRef>
    <flowNodeRef>ShipmentHandling</flowNodeRef>
    <flowNodeRef>OrderAndShipmentMerge</flowNodeRef>
    <flowNodeRef>ReviewOrder</flowNodeRef>
    <flowNodeRef>EndProcess</flowNodeRef>
    </lane>
    </laneSet>
    <startEvent id="StartProcess"/>

    <sequenceFlow sourceRef="StartProcess" targetRef="QuotationHandling"/>

    <task id="QuotationHandling" name="Quotation Handling"/>

    <sequenceFlow sourceRef="QuotationHandling" targetRef="ApproveOrder"/>

    <userTask id="ApproveOrder" name="ApproveOrder">
    <potentialOwner>
    <resourceRef>tns:regionalManager</resourceRef>
    <resourceParameterBinding parameterRef="tns:buyerName">
    <formalExpression>getDataInput('order')/address/name</formalExpression>
    </resourceParameterBinding>
    <resourceParameterBinding parameterRef="tns:region">
    <formalExpression>getDataInput('order')/address/country</formalExpression>
    </resourceParameterBinding>
    </potentialOwner>
    </userTask>

    <sequenceFlow sourceRef="ApproveOrder" targetRef="OrderApprovedDecision"/>

    <exclusiveGateway id="OrderApprovedDecision" gatewayDirection="Diverging"/>
    <sequenceFlow sourceRef="OrderApprovedDecision" targetRef="OrderAndShipment">
    <conditionExpression>Was the Order Approved?</conditionExpression>
    </sequenceFlow>

    <sequenceFlow sourceRef="OrderApprovedDecision" targetRef="TerminateProcess">
    <conditionExpression>Was the Order NOT Approved?</conditionExpression>
    </sequenceFlow>

    <endEvent id="TerminateProcess">
    <terminateEventDefinition id="TerminateEvent"/>
    </endEvent>

    <parallelGateway id="OrderAndShipment" gatewayDirection="Diverging"/>[

    <sequenceFlow sourceRef="OrderAndShipment" targetRef="OrderHandling"/>
    <sequenceFlow sourceRef="OrderAndShipment" targetRef="ShipmentHandling"/>

    <task id="OrderHandling" name="Order Handling"/>

    <task id="ShipmentHandling" name="Shipment Handling"/>

    <sequenceFlow sourceRef="OrderHandling" targetRef="OrderAndShipmentMerge"/>
    <sequenceFlow sourceRef="ShipmentHandling" targetRef="OrderAndShipmentMerge"/>

    <parallelGateway id="OrderAndShipmentMerge" gatewayDirection="Converging"/>
    <sequenceFlow sourceRef="OrderAndShipmentMerge" targetRef="ReviewOrder"/>

    <userTask id="ReviewOrder" name="Review Order">
    <potentialOwner>
    <resourceRef>tns:departmentalReviewer</resourceRef>
    <resourceParameterBinding parameterRef="tns:buyerName">
    <formalExpression>getDataInput('order')/address/name</formalExpression>
    </resourceParameterBinding>
    </potentialOwner>
    </userTask>

    <sequenceFlow sourceRef="ReviewOrder" targetRef="EndProcess"/>

    <endEvent id="EndProcess"/>

    </process>
    </definitions>
     
  4. Слава В

    Слава В New Member

    Импорт BPMN 2.0 - ключевое отличие версии ELMA 4 от ELMA 3. Хорошо бы хоть какие-то разъяснения увидеть или хотя бы получить реально импортируемый bpmn-файл. Пример из "книжки, переведённой компанией ЭЛМА" не работает.
     

Поделиться: