ProductionOrder
Updated
A production order makes a product from a bill of materials. Draft reserves components. Released writes the components off and holds the product as work in progress. Finished receives the product.
| Kind | Document |
| Module | Production |
| Menu | Production → Documents → Production orders |
Fields#
| Field | Caption | Points at |
|---|---|---|
ID |
Number | number sequence |
Product |
Product | Item |
Quantity |
Quantity | decimal |
Location |
Location | StoreCell |
Unit |
Unit | UnitOfMeasure |
BaseQuantity |
Qty in base unit | decimal |
OutputLocation |
Output cell | StoreCell |
Priority |
Priority | integer |
RequiredBy |
Need by | date and time |
Product, Quantity, and Location are required. Unit, OutputLocation, Priority, and RequiredBy are optional. BaseQuantity is hidden. It is filled on save from Quantity and Unit. An empty Unit leaves it at zero, and posting uses Quantity. ID comes from ProductionOrderSeq, which starts at 1000 and steps by 1.
OutputLocation empty on a new order is filled from Default output location on production settings when that cell is set. An empty value on a later save keeps an OutputLocation that was already stored. Components are issued from Location. Work in progress stays on Location. The product is received on OutputLocation when it is filled, and on Location when it is empty.
Table parts#
Lines#
ProductionOrderComponents, caption Components.
| Field | Caption | Points at |
|---|---|---|
Component |
Component | Item |
QtyRequired |
Qty required | decimal |
Unit |
Unit | UnitOfMeasure |
BaseQuantity |
Qty in base unit | decimal |
Component and QtyRequired are required. Unit is optional. BaseQuantity is hidden. Posting uses it when it is not zero, and uses Qty required when it is zero.
ProductionOrderOperations, caption Operations. The fields are Sequence (Sequence), Name (Name), WorkCenter (Work center) → WorkCenter, SetupMinutes (Setup minutes), RunMinutes (Run minutes), ActualMinutes (Actual minutes), CompletedOn (Completed on), Employee (Operator), ScheduledOn (Scheduled on), and MachineNo (Machine). Expand bill of materials copies the first live Routing of the product. How those rows are planned and confirmed is Fill a routing, Schedule operations, and Confirm operations.
Commands and states#
| State | Command | What happens |
|---|---|---|
| Draft | Expand bill of materials | Replaces Components from the first bill of the product. Copies Operations when the product has a route. |
| Draft | Release to shop | Released. Components leave Location. WorkInProgress holds the output quantity on Location. |
| Draft | Finish production | Finished. Components leave Location. The product is received. No WorkInProgress row is written. |
| Released | Finish production | Finished. WorkInProgress from Released is removed. The product is received. |
| Released | Confirm operations | Fills unconfirmed operations. See Confirm operations. |
| Draft, Released | Schedule operations | Writes the operation day. See Schedule operations. |
| Draft, Released | Replan shop | Replans released orders and asks for confirmation. See Schedule operations. |
Expand bill of materials (ExpandBom) is bound to Draft. Release to shop (ReleaseProduction) is bound to Draft. Finish production (FinishProduction) is bound to Draft and Released. Draft is the initial state. Released stays editable. Finished is read-only. Saving posts the state the card is in. The stored captions match the names: Draft, Released, Finished.
The command text and the refusal text are fixed Russian sentences.
Registers#
On Draft, ProductionDraftReserveTx writes ReservedStock: analytic Item, analytic Cell = Location, resource Qty. Stock does not move.
On Released, ProductionConsumeTx writes Stock: dimension Item, dimension Cell = Location, resource Qty negative. ProductionWipTx writes WorkInProgress: analytic Item = Product, analytic Cell = Location, resource Qty.
On Finished, ProductionConsumeTx and ProductionOutputTx write Stock. The product cell is OutputLocation when it is filled, and Location when it is empty. The rollback of Released removes WorkInProgress.
When the order is Finished, the handler opens an ItemCostFifo layer for the product at the cost this document took off the component layers, and mirrors that amount into InventoryValue. Confirmed operations add labour to that amount.
BuySell on Trade profile refuses save and posting. Full, and an empty profile, allow the order.