Tooling was free text on the specification and a manual select on the Work
Order. The register records each cylinder/plate with its specification,
colour station, dimensions, ownership, location, condition and impressions.
Work Order release now reads it: a job needing print tooling is blocked until
every registered cylinder for its specification is Ready.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Work Order: copy the Packaging Specification from the Sales Order Item
(walking back through the Production Plan for sub-assembly orders), and
re-derive release blockers on submit instead of trusting a stored status.
Tooling readiness is now derived and enforced (B6/M1/M2).
- Whitelisted operations no longer save with ignore_permissions: callers
need the right role and write permission on the document (B6).
- Dispatch Gate matches final/outgoing inspections by exact batch and needs
a batch on every controlled line; Reserved mode needs stock reservation (M3).
- Returns check read a field Delivery Note Item doesn't have.
- Drop the credit-note rule that blocked legitimate partial credits; ERPNext
already caps cumulative returned qty (m5).
- Billing recompute and Supply Close query only this order's documents (m6).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>