FlowPOS · tochka
hi-fi · схема L1 · BPMN

E-12 — Акт списания и HACCP

Процесс Волны 2. Один пул-дорожка Завсклад, гейт решения «Остаток > 0?» и danger-ветка «возврат готового блюда (HACCP) → на склад нельзя → авто-акт списания / утилизации». Граф 1:1 с Mermaid-каноном warehouse/write-off.md. Правила — business-rules §8.

ДисплейFraunces
ИнтерфейсHanken Grotesk
Цифры / кодыJetBrains Mono
1 · Роль · связки · danger-оп Контекст процесса Роль-исполнитель, связки-источники авто-акта и одна опасная операция. Правила — business-rules §8.
Роль-исполнитель Завсклад — создаёт акт списания, указывает склад/счёт/концепцию, добавляет товары и проводит акт.
Связки Служебное питание (E-14) и возврат готового блюда (E-04 / E-06) → авто-акт списания.
△ Опасная операция Возврат готового блюда (HACCP): готовое на склад нельзя → авто-акт списания / утилизации в убыток.
Гонка остатка Гейт «Остаток > 0 в этот момент?» ловит race-condition: между добавлением товара и проведением акта позицию успели продать → блок «нечего списывать». При проведении списываются ингредиенты по ТТК → стоимость уходит в убыток. Альтитуда → слой 4/5: транзакционная блокировка остатка, идемпотентность проведения акта, формат акта утилизации HACCP.
2 · Пулы-дорожки Дорожка-исполнитель Один пул канона: роль Завсклад. Тип узла = цвет + метка-kicker + значок-форма (не цветом одним).
Завскладроль-исполнитель
◆ задачи + гейт
S1Создать акт списаниясобытие
H1Указать: склад · счёт списания (стоимость товара → расход) · концепциязадача
H2Добавить товары + количествозадача
GCОстаток > 0 в этот момент?гейт
BLKБлок: нечего списыватьrace — успели продатьблок
PROVПровести актзадача
WOСписать ингредиенты по ТТК→ стоимость в убытокзадача
D1Списание проведенособытие
H0Возврат готового блюда (HACCP)вход-триггер авто-актасобытие
AUTOГотовое на склад нельзя →
авто-акт списания / утилизации△ danger-оп HACCP
danger·HACCP
3 · BPMN-граф Поток процесса Режим fallback-mermaid (§5/§7): тёплая тема поверх канона. Граф-паритет — узлы/гейт/рёбра 1:1 с write-off.md.
событие задача / шаг гейт (решение) danger-оп / блок sequence flow вход-триггер (HACCP)
%%{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 WH["Завсклад"]
        S1(["Создать акт списания"]) --> H1["Указать: склад · счёт списания
(стоимость товара → расход) · концепция"] H1 --> H2["Добавить товары + количество"] H2 --> GC{"Остаток > 0
в этот момент?"} GC -->|нет| BLK["Блок: нечего списывать
(race — успели продать)"] GC -->|да| PROV["Провести акт"] PROV --> WO["Списать ингредиенты по ТТК
→ стоимость в убыток"] WO --> D1(["Списание проведено"]) H0(["Возврат готового блюда (HACCP)"]) --> AUTO["Готовое на склад нельзя →
авто-акт списания / утилизации"] AUTO --> PROV end 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 danger fill:#f6dcd5,stroke:#bc3f2b,color:#7a241c; class H1,H2,PROV,WO task; class GC gate; class S1,H0,D1 event; class BLK,AUTO danger; style WH fill:#fbf7ef,stroke:#e2d6c1;
◍ fallback-mermaid Санкционировано design-system §5/§7 для всех L1: гейт + двойной вход в «Провести акт» (обычный поток и HACCP-вход) + danger-ветка делают hand-authored CSS-grid хрупким.
Danger-ветки канона. (1) HACCP: возврат готового блюда H0 → готовое на склад нельзя AUTO → авто-акт списания / утилизации, далее PROV провести акт. (2) Гонка остатка: гейт GC «нет» → BLK блок «нечего списывать» (позицию успели продать между добавлением и проведением). Проведённое списание уводит стоимость ингредиентов по ТТК в убыток — операция необратима без обратного акта.