Konfigurace kooperací¶
Stavový model¶
| Stav | Jak vzniká | Hook/akce |
|---|---|---|
| Draft | Nově vytvořená kooperace (ručně nebo z Order BOM) | CooperationManager |
| Ready | Výchozí pro operace s pořadím 1 nebo pokud předchozí operace jsou Done |
determineCooperationStatus |
| Waiting | Pokud předcházející operace nejsou hotové | determineCooperationStatus |
| Ordered | Odeslán e‑mail s PDF nebo ručně nastaveno | Email/UpdateCooperationStatus / uživatel |
| Delivered | Všechny CooperationItem mají stav Delivered |
SetItemsStatus / ProcessCooperationItem |
| Rejected / Canceled | Ručně | -- |
PreventDeliveredStatusChange brání změně stavu po doručení.
Položky kooperace¶
- Vznikají v
CooperationManager::createCooperationItemWithRelations– vazba na operaci, zakázku, produkt a projekt (pokud modul ProjectManagement). ProcessCooperationItem:- u stavu
WaitingForDeliverynastaví na operaci příznakisOrdered, - při
DelivereddoplníquantityDeliveredna množství a propíše data potvrzení/dodání do položky kusovníku výrobní zakázky. SetItemsStatussynchronizuje stav všech položek s kooperací a naopak, pokud všechny položky jsou doručené.
Objednání kusovníku¶
OrderBomProcessor generuje kooperace pro operace isPurchased=true a se zadaným dodavatelem:
- Zkontroluje, že u všech nakupovaných operací/dílů je vyplněn dodavatel (jinak vyhodí chybu
missingSupplierForOperations). - Vytvoří nebo najde
Cooperationve stavuReady/Waitingpodle pořadí operace. - Vytvoří
CooperationItem(množství podleProductionOrder.quantityPlannednebo předchozích operací) a propojí jej s operací. - Nastaví na operaci
hasOrderCreated = truea uloží ji.
Účetní a projektové dopady¶
- Pokud je nainstalován modul Accounting, lze na kooperaci navázat přijaté faktury (
supplierInvoice) – jejichgrandTotalAmountvstupuje do nákladů zakázky. - Pokud je nainstalován ProjectManagement,
CooperationManagerpřipojí kooperaci k projektu získanému z hierarchie zakázky.