Процесс Волны 1. Пулы-дорожки Кассир · Внешн. система, три гейта решений (открытые заказы · право на принуд. закрытие · сверка факта) и danger-ветка «принудительное закрытие чужих заказов → авторизация MSR». Слепой пересчёт Blind Drop, Z-отчёт → WebKassa. Граф 1:1 с Mermaid-каноном front/close-shift.md.
business-rules §5.
%%{init:{
"theme":"base",
"themeVariables":{
"fontFamily":"Hanken Grotesk, ui-sans-serif, sans-serif",
"fontSize":"14px",
"lineColor":"#5a4d3d",
"primaryColor":"#f6e6cd",
"primaryBorderColor":"#d5842a",
"primaryTextColor":"#241b12",
"clusterBkg":"#fbf7ef",
"clusterBorder":"#d0c1a6",
"edgeLabelBackground":"#fbf7ef",
"tertiaryColor":"#f6efe2"
},
"flowchart":{"curve":"basis","nodeSpacing":42,"rankSpacing":52,"htmlLabels":true}
}}%%
flowchart TD
subgraph Cash["Кассир"]
S1(["Нажать «Закрыть смену»"]) --> GO{"Есть открытые /
неоплаченные заказы?"}
GO -->|да| GP{"Есть право на
принудительное закрытие?"}
GP -->|нет| BLK["Смену закрыть нельзя"]
GP -->|да| AU["Авторизация: прокатка MSR-карты"]
AU --> BLIND
GO -->|нет| BLIND["Слепой пересчёт (Blind Drop):
касса скрывает выручку, ввести факт"]
BLIND --> GC{"Факт = расчёт?"}
GC -->|нет| DIFF["Расхождение → бэк-офис:
«Требует проверки»"]
GC -->|да| OK["Сверка: «Принята»"]
DIFF --> INK
OK --> INK["Инкассация: изъять крупные купюры,
оставить размен"]
INK --> ZR["Печать Z-отчёта"]
ZR --> LOCK["Терминал блокируется
(экран авторизации)"]
LOCK --> D1(["Смена закрыта"])
RS(["Внесение / изъятие в течение смены"]) --> RKO["РКО: сумма + ФИО + статья →
нефискальный квиток → ДДС (E-23)"]
RKO --> RD(["Учтено в ДДС / P&L"])
end
subgraph Ext["Внешн. система"]
WK["WebKassa"]
end
ZR -. "Z-отчёт" .-> WK
classDef actor fill:#fbf7ef,stroke:#94866f,color:#241b12,stroke-dasharray:5 3;
classDef ext fill:#e5ecf6,stroke:#5b7bb0,color:#243a5f;
classDef gate fill:#f8e8cf,stroke:#c9791f,color:#7a4a10;
classDef event fill:#dcefe1,stroke:#3c8a5b,color:#1c4a30;
classDef task fill:#f6e6cd,stroke:#d5842a,color:#241b12;
classDef auth fill:#ede7f6,stroke:#7e57c2,color:#4527a0;
classDef danger fill:#f6dcd5,stroke:#bc3f2b,color:#7a241c;
class BLIND,OK,INK,ZR,LOCK,RKO,DIFF task;
class WK ext;
class GO,GP,GC gate;
class S1,D1,RS,RD event;
class AU auth;
class BLK danger;
style Cash fill:#fbf7ef,stroke:#e2d6c1;
style Ext fill:#f6efe2,stroke:#d0c1a6;
GP «нет») — тупик BLK «смену закрыть нельзя». При наличии права (ветка «да») — обязательная AU авторизация прокаткой MSR-карты, затем слепой пересчёт BLIND. Опасная операция не выполняется без права и авторизации.