flowchart TD
A[Beregn / Kjør / Nattjobb] --> B["DP Management KBS.Execute<br/>slett gamle kjøringer, opprett DP Run, Commit"]
B --> C["Codeunit.Run(DP Worker KBS)<br/>én transaksjon, CommitBehavior::Error"]
C --> D[Valider hovedoppsett og kladd]
D --> E["BuildSnapshots<br/>oppsettskontroll, leveringsplan, salgstakt, behov per linje"]
E --> F[CheckSalesImport]
F --> G["CalculateStandardPlan<br/>standard planmotor per lagerføringsenhet"]
G --> H[CaptureProposals]
H --> I["AllocateStock<br/>fordeling etter dager med dekning"]
I --> J["ApplyAllocations<br/>mengder i kladden, avvik per linje"]
J -->|Kjør / nattjobb| K["CarryOutAndRelease<br/>opprett ordrer, frigi eller hold for godkjenning"]
J -->|Beregn| L[Status Beregnet]
K --> M[Status Fullført]
C -->|feil| N["Status Mislykket, Commit<br/>e-post fra nattjobben, feilen kastes videre"]
M --> O["Commit, telemetri, e-postoppsummering"]
Loading
Én transaksjon:DP Worker KBS har [CommitBehavior(CommitBehavior::Error)]. Feiler noe, rulles alle nye ordrer og kladdlinjer tilbake, mens kjøringen beholdes med status Mislykket og feilmelding.
Ingen samtidige kjøringer:Setup.LockTable() sørger for at bare én kjøring går om gangen.
Alle butikker samtidig: Kjøringen er bevisst ikke delt opp, fordi fordelingen må se alle butikker for en vare på én gang.
Bruk av standard planmotor
Utvidelsen lar BC sin egen planlegging (Inventory Profile Offsetting) lage forslagene. Planparametrene overstyres bare i minnet, gjennom manuelt bundne event subscribers i DP Planning Adapter KBS:
Carry Out Action.OnInsertTransHeaderOnBeforeTransHeaderInsert / OnAfterInsertTransLine
Kjørings-ID på ordren og kobling til forslagsloggen
DP Worksheet Guard KBS.OnCheckAccess
Skrivetilgang til den låste kladden mens kjøringen pågår
DP Worksheet Guard KBS stopper alle endringer i den dedikerte kladden utenfor kjøringen: innsetting, endring, sletting, omdøping og «Utfør handlingsmeldinger». DP Approval KBS abonnerer på Release Transfer Document.OnAfterReleaseTransferDoc, slik at standard Frigi godkjenner en ventende ordre.