Путь роли по экранам (user-flow). Узлы — экраны S-NN, события и решения; тип кодируется цветом (словарь §5). Внешние системы — пунктиром. Граф 1:1 с Mermaid-каноном cashier-close-shift.md.
user-flows/cashier-close-shift.md.
%%{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"},"flowchart":{"curve":"basis","nodeSpacing":40,"rankSpacing":52,"htmlLabels":true,"useMaxWidth":false,"padding":16}}}%%
flowchart TD
Start(["Кассир: конец рабочего дня"]) --> S02["S-02 · Экран заказа"]
S02 --> OPENCLOSE(["Нажать «Закрыть смену»"])
OPENCLOSE --> S08["S-08 · Закрытие смены + инкассация"]
S08 --> OPENORD{"Есть открытые /
неоплаченные заказы?"}
OPENORD -->|нет| BLIND["Слепой пересчёт (Blind Drop):
выручка скрыта, ввести факт наличных"]
OPENORD -->|да| FORCE{"Есть право на
принудительное закрытие?"}
FORCE -->|да| AUTH["Авторизация:
прокатка MSR-карты"]
AUTH --> BLIND
FORCE -->|нет| BLOCK["Смену закрыть нельзя"]
BLOCK --> S02
BLIND --> MATCH{"Факт = расчёт?"}
MATCH -->|нет| DIFF["Расхождение → бэк-офис:
«Требует проверки»"]
MATCH -->|да| OK["Сверка «Принята»"]
DIFF --> INK["Инкассация:
изъять крупные купюры, оставить размен"]
OK --> INK
INK --> ZR["Печать Z-отчёта"]
ZR -. "Z-отчёт" .-> WK["WebKassa"]
ZR --> S01["S-01 · Экран блокировки"]
S01 --> D1(["Смена закрыта"])
S02 -->|"опц., в течение смены:
внесение / изъятие"| S12["S-12 · Внесение / изъятие (РКО)"]
S12 --> RKO["Сумма + ФИО + статья →
нефискальный квиток"]
RKO --> DDS(["Учтено в ДДС (E-23)"])
DDS --> S02
classDef screen fill:#e5ecf6,stroke:#5b7bb0,color:#243a5f;
classDef ext fill:#f6efe2,stroke:#94866f,color:#5a4d3d,stroke-dasharray:5 3;
classDef gate fill:#f8e8cf,stroke:#c9791f,color:#7a4a10;
classDef event fill:#dcefe1,stroke:#3c8a5b,color:#1c4a30;
classDef auth fill:#ede7f6,stroke:#7e57c2,color:#4527a0;
classDef warn fill:#faedd0,stroke:#d99a2b,color:#7a4d06;
classDef stop fill:#f6dcd5,stroke:#bc3f2b,color:#7a241c;
class S02,S08,S01,S12,BLIND,INK,ZR,OK,RKO screen;
class WK ext;
class OPENORD,FORCE,MATCH gate;
class AUTH auth;
class DIFF warn;
class BLOCK stop;
class Start,OPENCLOSE,D1,DDS event;