Skip to main content

By Container tab

The By Container tab shows one row for each container (pallet, case, tote) with the total of the stock in it. Containers are drawn in parent and child order: a case that stands on a pallet is shown under the pallet and indented. The form is inventory_balance_container_list. The data object is inventory_balance_by_container, over the view of the same name. The list is read by list_inventory_balance_by_container, and the tree order comes from get_container_hierarchy (action generic_flat_hierarchy, crates/services/web-ui-server/src/extensions/generic/tree_query_action.rs:315).

The list is read only. A click on a row does nothing.

Which containers are shown​

All containers except those with status Disposed or Planned (crates/libs/wms-lib-sql/sql/wms-app/migrations/001_baseline.sql:2335-2362). A container with no stock is shown with quantity 0.

Columns​

LabelColumnTypeFilterQuick filterShown at firstWhat it shows
IDidWhole numberNumberNoNoThe id of the container.
ContainercodeTextTextYesYesThe container code (LPN). Drawn with a glyph and an indent by depth.
Typecontainer_typeTextTextYesYesPallet, Case, Tote or Generic.
Parentparent_codeTextTextNoYesThe code of the container this one stands in. Empty for a top container.
LocationlocationTextTextYesYesThe current location of the container (container.current_loc).
StatusstatusTextTextYesYesOn hold when a hold that is on names this container's code. Otherwise the status of the container: Active, Empty, InTransit.
SKUsku_countWhole numberNumberNoYesHow many different SKUs are in the container. The header says SKU, the value is a count.
QtyqtyDecimalNumberNoYesThe sum of qty over the balance rows of the container itself.
Allocqty_allocatedDecimalNumberNoYesThe sum of qty_allocated.
ATPatpDecimalNumberNoYesThe sum of atp. See ATP.
OriginoriginTextTextNoYesHow the container came to exist (container.origin).
CreatedcreatedDate and timeDateNoYesWhen the container was created (container.add_when).
Ownerowner_idWhole numberNumberYesYesShown as the owner code.

What each column affects​

Qty, Alloc, ATP​

  • Only the balance rows whose container_id is this container are added. The stock of a child container is shown on the child's own row, not added to the parent. The tree view is only a layout.

Status​

  • The view uses On hold for any hold that is on and has this container's code in lpn, whether or not the hold blocks anything.
  • The statuses Disposed and Planned never show, because those containers are left out.

Not confirmed by code: whether the child rows are added to the parent row's Qty when the screen draws the tree. The view groups by container only. To verify: open a pallet with a case on it that holds stock, and compare the pallet's Qty with the case's.