Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ru:rule:different_rhytms [2024-08-27 20:41] – [Смотри также] Anatoly Belaychukru:rule:different_rhytms [2024-11-02 14:06] (текущий) – [Примечания] Anatoly Belaychuk
Строка 1: Строка 1:
-====== 0-TBD Действия, выполняющиеся в разных ритмах, следует моделировать разными процессами ======+====== Действия, выполняющиеся в разных ритмах, это разные процессы ======
  
-{{tag>ru-процесс}} +{{tag>процесс-ru взаимодействие}}
- +
-{{:ru:v_razrabotke.png?nolink&200|}} +
- +
-Краткое описание правила.+
  
 +Если одно действие выполняется раз в месяц, а другое - по каждому заказу клиента, то это два разных процесса.
 ===== ✔ Как надо ===== ===== ✔ Как надо =====
  
-<diagram><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="471px" height="556px" viewBox="-0.5 -0.5 471 556" content="&lt;mxfile host=&quot;embed.diagrams.net&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36&quot; version=&quot;24.7.7&quot;&gt;&lt;diagram id=&quot;H6X_qINhhoIvVAoZe0za&quot; name=&quot;Страница — 1&quot;&gt;7Vtdc6M2FP01fkwGSXyYx3WS3XZm22Ym0+n2UWsUmy5GLsixvb++kpEASfgLg814+hTrSlzE1eWcc4UyQk+LzZcML+e/0YgkI+hEmxF6HkEIIAj4H2HZFpYgcAvDLIsjOagyvMU/iTQ60rqKI5JrAxmlCYuXunFK05RMmWbDWUbX+rB3muh3XeIZsQxvU5zY1r/iiM0L6xgGlf0XEs/m6s7AD4ueBVaD5ZPkcxzRdc2EXkboKaOUFb8WmyeSiOCpuBTXfd7TW04sIyk75QJYXPCBk5V8tglOf4iJMczIQnjh7jI6JXkepzM5abZVkcjoKo2IcOaM0GQ9jxl5W+Kp6F3ztee2OVskvAX4T3tycr4fJGNkUzPJyX4hdEFYtuVDVK8nAyczx/O8or2u1gGp4M5ra+BLG5ZLPytdV9HhP2SAmoMVWI9PIp4XskkzNqczmuLkpbJOqgCJCFRjvlK6lMZ/CGNbmeR4xagetAjn8/J60XjFjJEs3Vmg43IrSaNPIqvFJJYkLSyfY/Ecu2XJWUZ/lJkq/JBNzL6J3keem7L9964dhmPZft7Iy3eNrWxMV9lHud78NnLeAO6aPKDfyj7eKHx6qlm53LW2tRu8kizmC0IyadubKzldZVMZfrn2DGczota5MImFOZhPGUkwiz/0F7opOXaX8vDibW3AksYpy2ueX4WhlqaBp6UpCo3X8Mh413eMxCxmUKVp+SgnZS4cW+/572QtBqQfNObhbErsr/g7x20tGXESz0TmTfmqiKWaiDc35sD4SXYs4igq8p7k8U/8fedPrKeMGHfuTUbec+MKB3vQoARy6U/DyiaUeHAeoaIUGdEH6em8da8WSg2h7+85zzUTNc5bDs9ajT+yiMdT0Jh4Wv6W3x5poY60SJFvDWndoCek9a0A/Vokam7FhTPoUvyMMMM5oxm5SnSgwUMusqPj9xSc8A5pyKuRkOppJqCKZB5dJ9SJxkHgGNXojGWwGR/Ziod8m4dgLzxkEUeZdwZxlC6KacqrDjCQ6chDhqPi4SxHbcgotN7uP9Ml5t0lH9mv+U0ISU30YkLiqQmAQUhoQIQE7DrgmSR8VhKZbklELtAzE4xtqAV9ERFABwLj5FOOiatkEIUR0hWkbwepLJ87D5JrBekpiclOITtUKJvB0PYJudQXbYM7Kh/bFnqH2LfUAo5fVwMPAjvRYUnQYf2ocrlv4ga+Ia+dlsSNxrojK1f3EPfZJa0H9PuAbktUpTesEpUWpdEQ9ADotEIdX6gAlCt9XR4UZXUrEMb3A16NRYdzGGGqosOrQ94l5cZJCKXgSIModB2IQq5BlmFbiDIclcVz97UFUpKgXltEhWIj0X45chs4UbtyncCJF+hAMKQNL2CXfLaMtnchbyMSXf+olO5LI5afhe4HZkEdZEvIPQaz3enK02AWNcBseB2YdY2tRNhWCVqOTlSCbbZwwN3l6Xl7kJfmW9iQb9faMgw6onXTUY+0DuFF+eYMMd/a4GKpN1vh4mmpCRtS80pFsbnVV/Lh2alpOhr3l5r25pf6mFfTnUOQm+ol6kRuOk4YDEhgQvQ/IR36rFU4hJ6vA4gDjkNI249iTaWrdx0c8cw9MZOZTsURaDgqP4J3vLkG3eb7dLa5Zn/GUCAlDnqtxEb9CPr/rsS5s0kNt5RpIAimHqMTBAu8QSGYd4cIFrTYYrtM45yvxRv0Tj+HyI5/vHfbyh3DETIlfYdyZ+/RnF2k46FoHXXEqpudeuN43pC21u7yVOo5sHGS8kForMNKGB7FlQ5PA11J97iGXHHNQzxtdY9r7kl1pXvM++i6xx4fhIfGX66T7GKuQrcGpVQA3sBEUpcfKR3HOEd7Q+jjzeofI4rh1b+XoJf/AA==&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="2"><g><rect x="30" y="495" width="320" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 525px; margin-left: 31px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Bank statement processing</div></div></div></foreignObject><text x="190" y="529" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Bank statement processing</text></switch></g></g></g><g data-cell-id="7"><g><path d="M 54.52 309.88 L 54.51 320 Q 54.5 330 54.57 340 L 54.93 390 Q 55 400 65 400 L 127.76 400" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="M 115.88 406.5 L 128.88 400 L 115.88 393.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="28"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 370px; margin-left: 54px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">New invoice</div></div></div></foreignObject><text x="54" y="374" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="11px" text-anchor="middle">New invoice</text></switch></g></g></g></g><g data-cell-id="5"><g><rect x="0" y="250" width="470" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 468px; height: 1px; padding-top: 280px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Order to cash</div></div></div></foreignObject><text x="235" y="284" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Order to cash</text></switch></g></g></g><g data-cell-id="6"><g><path d="M 130 378 C 130 367.33 190 367.33 190 378 L 190 422 C 190 432.67 130 432.67 130 422 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 130 378 C 130 386 190 386 190 378 M 130 382 C 130 390 190 390 190 382 M 130 386 C 130 394 190 394 190 386" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 410px; margin-left: 131px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Invoices</div></div></div></foreignObject><text x="160" y="414" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Invoices</text></switch></g></g></g><g data-cell-id="9"><g><path d="M 160 430 L 160 447.5 Q 160 457.5 160.22 467.5 L 160.83 494.62" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="M 154.07 482.89 L 160.86 495.74 L 167.06 482.6" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="29"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 464px; margin-left: 158px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Unpaid invoices</div></div></div></foreignObject><text x="158" y="467" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="11px" text-anchor="middle">Unpaid invoices</text></switch></g></g></g></g><g data-cell-id="12"><g><rect x="290" y="120" width="170" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 150px; margin-left: 291px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Delivery</div></div></div></foreignObject><text x="375" y="154" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Delivery</text></switch></g></g></g><g data-cell-id="13"><g><rect x="15" y="0" width="210" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 30px; margin-left: 16px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Delivery scheduling</div></div></div></foreignObject><text x="120" y="34" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Delivery scheduling</text></switch></g></g></g><g data-cell-id="14"><g><path d="90 128 90 117.33 150 117.33 150 128 150 172 150 182.67 90 182.67 90 172 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="90 128 90 136 150 136 150 128 90 132 90 140 150 140 150 132 90 136 90 144 150 144 150 136" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 160px; margin-left: 91px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Clients orders</div></div></div></foreignObject><text x="120" y="164" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Clients or...</text></switch></g></g></g><g data-cell-id="17"><g><path d="M 30.55 249.22 L 30.59 160 Q 30.6 150 40.6 150 L 87.76 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="M 75.88 156.5 L 88.88 150 L 75.88 143.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="30"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 180px; margin-left: 30px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">New order</div></div></div></foreignObject><text x="30" y="183" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="11px" text-anchor="middle">New order</text></switch></g></g></g></g><g data-cell-id="18"><g><path d="M 120 120 L 120 62.24" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="M 126.5 74.12 L 120 61.12 L 113.5 74.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="31"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 99px; margin-left: 120px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Undelivered orders</div></div></div></foreignObject><text x="120" y="102" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="11px" text-anchor="middle">Undelivered orders</text></switch></g></g></g></g><g data-cell-id="19"><g><path d="345 8 345 -2.67 405 -2.67 405 8 405 52 405 62.67 345 62.67 345 52 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="345 8 345 16 405 16 405 8 345 12 345 20 405 20 405 12 345 16 345 24 405 24 405 16" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 40px; margin-left: 346px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Delivery schedule</div></div></div></foreignObject><text x="375" y="44" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Delivery s...</text></switch></g></g></g><g data-cell-id="20"><g><path d="225 30 342.76 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="330.88 36.5 L 343.88 30 330.88 23.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="21"><g><path d="375 60 L 375 117.76" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="368.5 105.88 L 375 118.88 L 381.5 105.88" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="22"><g><path d="290 150 152.24 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="M 164.12 143.5 151.12 150 L 164.12 156.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="24"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 151px; margin-left: 222px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Order delivered</div></div></div></foreignObject><text x="222" y="154" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="11px" text-anchor="middle">Order delivered</text></switch></g></g></g></g><g data-cell-id="23"><g><path d="M 120.3 180 120.32 248.66" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="113.82 236.78 120.32 249.78 126.82 236.78" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="33"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 213px; margin-left: 121px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Order status "delivered"</div></div></div></foreignObject><text x="121" y="217" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="11px" text-anchor="middle">Order status "delivered"</text></switch></g></g></g></g><g data-cell-id="25"><g><path d="270 495 270 410 270 400 260 400 192.24 400" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="M 204.12 393.5 L 191.12 400 L 204.12 406.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="26"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 434px; margin-left: 270px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Invoice paid</div></div></div></foreignObject><text x="270" y="437" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="11px" text-anchor="middle">Invoice paid</text></switch></g></g></g></g><g data-cell-id="27"><g><path d="M 160 370 L 160 360 Q 160 350 159.45 350 L 159.18 350 Q 158.9 350 158.89 340 L 158.86 311.64" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="165.37 323.51 158.86 310.52 152.37 323.52" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="34"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 341px; margin-left: 158px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Invoice status "paid"</div></div></div></foreignObject><text x="158" y="344" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="11px" text-anchor="middle">Invoice status "paid"</text></switch></g></g></g></g></g></g></g></svg></diagram>+<diagram><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="384px" height="281px" viewBox="-0.5 -0.5 384 281" content="&lt;mxfile host=&quot;embed.diagrams.net&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36&quot; version=&quot;24.7.7&quot;&gt;&lt;diagram id=&quot;H6X_qINhhoIvVAoZe0za&quot; name=&quot;Страница — 1&quot;&gt;7VjJbtswEP0aHRNIpBb7GHlJDy0QIIe2R8JiLbWyKFD01q8vd1GLU8dAlALpheY8ztDkmzf0wB5c7E6PFNX5F5Lh0gN+dvLg0gMgAEHCPwRyVkiShArY0iLTTi3wXPzGGvQ1ui8y3HQcGSElK+ouuCFVhTesgyFKybHr9oOU3W+t0RYPgOcNKofo1yJjuUJnIGnxT7jY5uabg3iuVnbIOOubNDnKyNGB4MqDC0oIU7PdaYFLQZ7hRcWtL6zag1FcsWsCIhVwQOVe381b+t585S0DbyZWhJkmclTzB2ducO0WynFlzJUc13JMTZTcVoypJoCdDauU7KsMi4P5HkyPecHwc402YvXIdcSxnO1KbgV8OryovvsBU4ZPDqQv/ojJDjN65i561cpJq9Am5djmFCQay518xhpDWkZbu3XLNJ9osi9kCowy/2A4FBQpGhdynDmIIhY4iVgaHz5Ghv+FNkVgIMe1HBMnRG0Fu4nrpcw6+45D7zCh4xy/e2ZhPMxkkERvlEk4XkO2XKzkoUNS6mTMlhf3iZ1sr8f4VuNcZfWuu5dNtNHGeyciiMB9NGEqwvFUjAn6RinzB7sW0wwx1DBC8SQ8hqD7VAX+UODxW71U84ukvlaU/waZ/Xd/SjLBsCZxxnsLbRLKcrIlFSpXLZq2VSsYaH0+E1Jr8Cdm7KwbJbRnpEtahprcxgvjCTGGaSUR4IccxVX2IDojcYgaVwpZF+Ii8q1oGCW/bLcj9sGngn0Tq7zClfXdWVmedKA0zsaoOF9OkDC/u2ttmLTaONMF8t9NmG729GBfsYuKaMiebkzHph9phugWGzctbJGAF3VDcYlYceg2f2Mq0KFPpOBHaYs36vUZfk9I6qA6ym3W/rZRX5HqdoONpCjtfa7T6bBY/+t0Cp2CEZ2GE+n0Uj/8ap32N5q9nU7hB9fpZb05Gk7ijorv/Htf+r8sZW49YVrwbGD6Kg2HQw1H00g4mvWUF90o4djv9QhXSpjnHJ0dt1o4NNf/NgRz/8Vzheavk3F/PlEnuLWeYPTB68nWDJj44Z+/W9HAvtb7bcW1RdPfaNDo3Pzuc7P9T0y5t/8swtUf&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="5"><g><rect x="58" y="220" width="270" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 268px; height: 1px; padding-top: 250px; margin-left: 59px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">От заказа до оплаты</div></div></div></foreignObject><text x="193" y="254" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">От заказа до оплаты</text></switch></g></g></g><g data-cell-id="12"><g><rect x="208" y="0" width="175" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 173px; height: 1px; padding-top: 30px; margin-left: 209px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Формирование месячного плана продаж</div></div></div></foreignObject><text x="296" y="34" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Формирование месячного плана продаж</text></switch></g></g></g><g data-cell-id="13"><g><rect x="0.5" y="0" width="175" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 173px; height: 1px; padding-top: 30px; margin-left: 2px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Актуализация прайс-листа</div></div></div></foreignObject><text x="88" y="34" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Актуализация прайс-листа</text></switch></g></g></g><g data-cell-id="14"><g><path d="268 108 268 97.33 328 97.33 328 108 328 152 328 162.67 268 162.67 268 152 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="268 108 268 116 328 116 328 108 268 112 268 120 328 120 328 112 268 116 268 124 328 124 328 116" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 140px; margin-left: 269px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">План продаж</div></div></div></foreignObject><text x="298" y="144" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">План продаж</text></switch></g></g></g><g data-cell-id="19"><g><path d="58 108 58 97.33 118 97.33 118 108 118 152 118 162.67 58 162.67 58 152 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="58 108 58 116 118 116 118 108 58 112 58 120 118 120 118 112 58 116 58 124 118 124 118 116" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 140px; margin-left: 59px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Прайс-лист</div></div></div></foreignObject><text x="88" y="144" fill="rgb(0, 0, 0)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Прайс-лист</text></switch></g></g></g><g data-cell-id="20"><g><path d="88 60 88 97.76" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="81.5 85.88 L 88 98.88 L 94.5 85.88" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="22"><g><path d="295.5 60 L 296.75 60 Q 298 60 298 70 298 97.76" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="291.5 85.88 L 298 98.88 L 304.5 85.88" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="23"><g><path d="298 160 298 180 Q 298 190 288 190 274.6 190 Q 264.6 190 264.58 200 264.55 217.04" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="258.07 205.15 264.55 218.16 271.07 205.17" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="35"><g><path d="88 160 88 175 88 185 98 185 115.5 185 Q 125.5 185 125.5 195 L 125.5 217.76" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 4" pointer-events="stroke"/><path d="119 205.88 125.5 218.88 132 205.88" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g></g></g></g></svg></diagram>
  
 ===== ✘ Как НЕ надо ===== ===== ✘ Как НЕ надо =====
Строка 20: Строка 17:
       <outgoing>Flow_05txx3h</outgoing>       <outgoing>Flow_05txx3h</outgoing>
     </startEvent>     </startEvent>
-    <task id="Activity_1ply65i" name="Develop pricing model">+    <sequenceFlow id="Flow_05txx3h" sourceRef="Event_1v9pyzp" targetRef="Activity_1ply65i" /> 
 +    <sequenceFlow id="Flow_1i6r8h2" sourceRef="Activity_1ply65i" targetRef="Activity_10g5d68" /> 
 +    <sequenceFlow id="Flow_095hc6e" sourceRef="Activity_10g5d68" targetRef="Activity_0vus4rf" /> 
 +    <endEvent id="Event_17yscxm"> 
 +      <incoming>Flow_1fo0r26</incoming> 
 +    </endEvent> 
 +    <sequenceFlow id="Flow_1fo0r26" sourceRef="Activity_0vus4rf" targetRef="Event_17yscxm" /> 
 +    <subProcess id="Activity_1ply65i" name="Актуализировать прайс-лист">
       <incoming>Flow_05txx3h</incoming>       <incoming>Flow_05txx3h</incoming>
       <outgoing>Flow_1i6r8h2</outgoing>       <outgoing>Flow_1i6r8h2</outgoing>
-    </task+    </subProcess
-    <sequenceFlow id="Flow_05txx3h" sourceRef="Event_1v9pyzp" targetRef="Activity_1ply65i" /> +    <subProcess id="Activity_10g5d68" name="Сформировать месячный план продаж">
-    <task id="Activity_10g5d68" name="Develop monthly sales targets">+
       <incoming>Flow_1i6r8h2</incoming>       <incoming>Flow_1i6r8h2</incoming>
       <outgoing>Flow_095hc6e</outgoing>       <outgoing>Flow_095hc6e</outgoing>
-    </task+    </subProcess
-    <sequenceFlow id="Flow_1i6r8h2" sourceRef="Activity_1ply65i" targetRef="Activity_10g5d68" /> +    <subProcess id="Activity_0vus4rf" name="От заказа до оплаты">
-    <task id="Activity_131r6bz" name="Inquiry to sale">+
       <incoming>Flow_095hc6e</incoming>       <incoming>Flow_095hc6e</incoming>
-      <outgoing>Flow_10snzg3</outgoing> 
-    </task> 
-    <sequenceFlow id="Flow_095hc6e" sourceRef="Activity_10g5d68" targetRef="Activity_131r6bz" /> 
-    <task id="Activity_0vus4rf" name="Order to cash"> 
-      <incoming>Flow_10snzg3</incoming> 
       <outgoing>Flow_1fo0r26</outgoing>       <outgoing>Flow_1fo0r26</outgoing>
-    </task> +    </subProcess>
-    <sequenceFlow id="Flow_10snzg3" sourceRef="Activity_131r6bz" targetRef="Activity_0vus4rf" /> +
-    <endEvent id="Event_17yscxm"> +
-      <incoming>Flow_1fo0r26</incoming> +
-    </endEvent> +
-    <sequenceFlow id="Flow_1fo0r26" sourceRef="Activity_0vus4rf" targetRef="Event_17yscxm" />+
   </process>   </process>
   <bpmndi:BPMNDiagram id="BPMNDiagram_1">   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
Строка 50: Строка 42:
         <omgdc:Bounds x="192" y="112" width="36" height="36" />         <omgdc:Bounds x="192" y="112" width="36" height="36" />
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="Activity_1ply65i_di" bpmnElement="Activity_1ply65i">+      <bpmndi:BPMNShape id="Event_17yscxm_di" bpmnElement="Event_17yscxm"> 
 +        <omgdc:Bounds x="712" y="112" width="36" height="36" /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_13i10st_di" bpmnElement="Activity_1ply65i">
         <omgdc:Bounds x="270" y="90" width="100" height="80" />         <omgdc:Bounds x="270" y="90" width="100" height="80" />
         <bpmndi:BPMNLabel />         <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="Activity_10g5d68_di" bpmnElement="Activity_10g5d68">+      <bpmndi:BPMNShape id="Activity_0ycqnvr_di" bpmnElement="Activity_10g5d68">
         <omgdc:Bounds x="420" y="90" width="100" height="80" />         <omgdc:Bounds x="420" y="90" width="100" height="80" />
-        <bpmndi:BPMNLabel /> 
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="Activity_131r6bz_di" bpmnElement="Activity_131r6bz">+      <bpmndi:BPMNShape id="Activity_0wavgor_di" bpmnElement="Activity_0vus4rf">
         <omgdc:Bounds x="570" y="90" width="100" height="80" />         <omgdc:Bounds x="570" y="90" width="100" height="80" />
-        <bpmndi:BPMNLabel /> 
-      </bpmndi:BPMNShape> 
-      <bpmndi:BPMNShape id="Activity_0vus4rf_di" bpmnElement="Activity_0vus4rf"> 
-        <omgdc:Bounds x="720" y="90" width="100" height="80" /> 
-        <bpmndi:BPMNLabel /> 
-      </bpmndi:BPMNShape> 
-      <bpmndi:BPMNShape id="Event_17yscxm_di" bpmnElement="Event_17yscxm"> 
-        <omgdc:Bounds x="862" y="112" width="36" height="36" /> 
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="Flow_05txx3h_di" bpmnElement="Flow_05txx3h">       <bpmndi:BPMNEdge id="Flow_05txx3h_di" bpmnElement="Flow_05txx3h">
Строка 81: Строка 67:
         <omgdi:waypoint x="570" y="130" />         <omgdi:waypoint x="570" y="130" />
       </bpmndi:BPMNEdge>       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="Flow_10snzg3_di" bpmnElement="Flow_10snzg3">+      <bpmndi:BPMNEdge id="Flow_1fo0r26_di" bpmnElement="Flow_1fo0r26">
         <omgdi:waypoint x="670" y="130" />         <omgdi:waypoint x="670" y="130" />
-        <omgdi:waypoint x="720" y="130" /> +        <omgdi:waypoint x="712" y="130" />
-      </bpmndi:BPMNEdge> +
-      <bpmndi:BPMNEdge id="Flow_1fo0r26_di" bpmnElement="Flow_1fo0r26"> +
-        <omgdi:waypoint x="820" y="130" /> +
-        <omgdi:waypoint x="862" y="130" />+
       </bpmndi:BPMNEdge>       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>     </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +  <bpmndi:BPMNDiagram id="BPMNDiagram_1rfm59p">
 +    <bpmndi:BPMNPlane id="BPMNPlane_1k3oqrm" bpmnElement="Activity_1ply65i" />
 +  </bpmndi:BPMNDiagram>
 +  <bpmndi:BPMNDiagram id="BPMNDiagram_11m113l">
 +    <bpmndi:BPMNPlane id="BPMNPlane_1jedytr" bpmnElement="Activity_10g5d68" />
 +  </bpmndi:BPMNDiagram>
 +  <bpmndi:BPMNDiagram id="BPMNDiagram_1v7zgtm">
 +    <bpmndi:BPMNPlane id="BPMNPlane_19iqxul" bpmnElement="Activity_0vus4rf" />
   </bpmndi:BPMNDiagram>   </bpmndi:BPMNDiagram>
 </definitions> </definitions>
Строка 96: Строка 87:
 ===== Примечания ===== ===== Примечания =====
  
-  * Дополнительные комментарии (опционально)+С точки зрения исполнителя (подразделения, функции) он сначала актуализирует прайс-лист, потом составляет план продаж, потом закрывает сделки и выполняет обязательства по ним. 
 +Но BPMN - вещь буквальная, и если мы так и изобразим процесс (см. [[#как не надо]]), то это будет означать, что мы закрываем ровно одну сделку в месяц, что, очевидно, не так.
  
-===== Исключения =====+Да и прайс-лист обычно обновляется не по расписанию, а в связи с событиями на рынке, которые могут произойти в любое время. 
 +Поэтому в данном случае у нас три разных события - волевое решение о необходимости корректировки прайс-листа, ежемесячный срок формирования плана продаж и заявка на покупку от клиента -  
 +что означает три разных (хотя и связанных через данные) процесса.
  
-  * Исключения из правила (если есть)+На диаграмме [[#как надо]] они изображены в виде черных ящиков, подразумевая, что каждый процесс изображен в развернутом виде на отдельной диаграмме
 +Спецификация BPMN не разрешает соединять пулы с потоками данных, поэтому используем направленные ассоциации, которые выглядят точно так же.
  
 ===== Смотри также ===== ===== Смотри также =====