Skip to main content

Pick assignment card

The card opens when you click a row of Pick Assignments. It shows one assignment: its header on top and its positions below. Nothing on the card can be edited. The form is pick_assignment_board_shell_form (kind Shell). It has two parts:

PartFormShows
Top (slot_1)pick_assignment_board_normal_formThe header of the assignment.
Bottom (slot_2)pick_assignment_position_list_formThe positions of the assignment.

The header is read by the method pick_assignment_board_get. The positions are read by pick_assignment_position_list, filtered by the assignment. The card has no toolbar of its own.

Not confirmed by code: how to go back from the card to the list. The shell has no back button in its metadata. To verify: open a row, then look for a breadcrumb or a back button on the page.

Table: pick_assignment (view pick_assignment_board). All fields are read only.

LabelColumnTypeRequiredAllowed values / defaultWhat it does
IDidWhole numberNoHiddenThe row key.
CodecodeText, 20NoUniqueThe assignment code.
StatusstatusTextNoBuilding, Ready, Picking, Delivering, Completed, DissolvedWhere the assignment stands.
VersionversionWhole numberNoThe change counter.
Work Areawork_area_codeTextNoThe work area.
Operatorassignee_usernameTextNoThe holder.
Carriercarrier_codeTextNoEmpty if noneThe cart.
Positions Boundpositions_boundWhole numberNoPositions in status Bound or Closed.
Positionspositions_totalWhole numberNoAll positions.
Created Atcreated_atDate and timeNoWhen it was started.
Ready Atready_atDate and timeNoWhen every position had a box.
Dissolved Atdissolved_atDate and timeNoWhen it was dissolved.

The fields come four to a row. Fields that have no value are shown empty.

Positions​

Table: pick_assignment_position (view pick_assignment_position_board). The list has a Refresh button (pap_refresh). All columns are read only. One row can be selected at a time. No check boxes.

LabelColumnTypeShown at firstWhat it shows
IDidWhole numberNoThe row key.
Positionposition_noWhole numberYesThe place on the cart, from 1.
Orderorder_numberTextYesThe sales order whose goods go into this box.
Planned Cartonplanned_carton_codeTextYesThe box the cartonization plan named. Empty for a Bypassed target.
Boxbox_codeTextYesThe real box that stands on the position now. Empty until it is bound.
Target Kindplanned_target_kindTextYesPlannedCarton, Bypassed, ShipAsIs.
StatusstatusTextYesOpen, Bound, Closed, Released.
Bound Atbound_atDate and timeYesWhen the box was put on the position.

Meaning of the values:

ValueMeaning
PlannedCartonA box the cartonization plan named. The whole carton goes into one position.
BypassedPicks the plan did not put in a carton. All Bypassed picks of one order share a position.
ShipAsIsA target that stands on the cart as it is and takes no box. The comment of the start says slice 3 does not make such targets.
OpenThe position waits for a box.
BoundA box stands on it.
ClosedThe box was reported full, or delivered. The box stays on the cart until delivery.
ReleasedThe position was let go (dissolve). It is history.

Source: crates/libs/wms-lib-core/src/model/outbound/pick_assignment.rs:49-70, crates/libs/wms-outbound/src/domain/pick_assignment/aggregate.rs (the doc comments of PlannedTarget and plan_dissolve).

Not confirmed by code: whether any position with Target Kind = ShipAsIs exists today. The comment in aggregate.rs:58-60 says it is never a target in slice 3, and judge_position handles it (aggregate.rs:266). To verify: look for ShipAsIs in the positions of a test warehouse.

Who can use it​

The same as the list. See Pick Assignments.