Skip to main content

Task Board

The task board lists every task of the active warehouse, in any status. It is the supervisor's view of the dispatch pool and of the work in hand. The form is task_board_list_form. The data comes from the database view task_board.

How to open it​

  1. In the left sidebar open Task Manager.
  2. Click Task Board.

The menu item is task_board_menu.

What the screen has​

PartWhat it is
ToolbarThree buttons: Return to Pool, Reassign, Delete Task.
Filter barFilters for the columns that have a filter (all of them except Pick Assignment).
GridOne row per task, 50 rows per page. A check box at the start of each row ticks it. You can tick many rows.
ColumnsShows or hides columns. 25 of 28 are shown at first.
ViewsSaves a set of filters and columns.

A click on a row does not open anything. The board has no card. The grid cannot be edited. All columns are read only.

Not confirmed by code: in which order the rows come when you open the board. The metadata sets no sort for this list. To verify: open the board on a warehouse with several tasks and read the Created column.

Columns​

Table: task (read through the view task_board). Every column is read only.

LabelColumnTypeFilterShown at firstWhat it shows
IDidWhole numberNumberNoThe row key.
TaskcodeText, 20TextYesThe task code.
Typetask_typeListSet of valuesYesPick, Putaway, Replenish, Move, Count.
StatusstatusBadgeSet of valuesYesCreated, Assigned, InProgress, Completed, Shorted, Cancelled. See Task statuses.
PrioritypriorityWhole number, 16 bitNumberYesDefault 50. A lower number is more urgent: the pool is read in ascending order.
SKUsku_codeText, 50TextYesThe item. Empty if the task has no item.
LotlotText, 10TextYesThe lot.
QtyqtyNumberNumberYesThe planned quantity. A Count task has none.
UOMuomText, 10TextYesUnit of the quantity.
Qty Doneqty_doneNumberNumberYesQuantity done so far. Default 0. It is kept when the task goes back to the pool.
Fromfrom_locationText, 20TextYesThe source location. The pool is filtered by the zone of this location.
Toto_locationText, 20TextYesThe destination location, if any.
ZonezoneTextTextYesThe putaway zone of the From location.
Assignee IDassigneeWhole numberNumberNoThe operator id. Empty when the task is in the pool.
Assigneeassignee_usernameText, 128TextYesThe login of the holder.
Assignee Nameassignee_nameText, 200TextYesThe full name of the holder.
Createdcreated_atDate and timeDateYesWhen the task was made.
Claimedclaimed_atDate and timeDateYesWhen the holder took it. Cleared when the task goes back to the pool.
Startedstarted_atDate and timeDateYesWhen the first progress was reported. Cleared on return to the pool.
Endedended_atDate and timeDateYesWhen the task finished.
Lease Expireslease_expires_atDate and timeDateYesWhen the holder loses the task if nothing renews the lease. See below.
Available Fromavailable_fromDate and timeDateYesUntil this time nobody is offered the task. See below.
Return Reasonskip_reasonText, 80TextYesThe reason text of the last return to the pool.
How Returnedreturn_kindListSet of valuesYesRefused, HandedBack, Seized, Expired.
Refusalsrefused_countWhole numberNumberYesHow many times operators refused the task. Default 0.
Escalatedescalated_atDate and timeDateYesWhen the task was escalated to a supervisor. Empty if it was not.
VersionversionWhole numberNumberNoThe change counter. Return to Pool and Reassign send it back.
Pick Assignmentpick_assignment_codeTextnoneYesThe code of the live pick assignment that holds this task. Empty otherwise.

The Pick Assignment column shows only a live assignment (Building, Ready, Picking, Delivering). A task of a dissolved assignment shows no code. Source: crates/libs/wms-lib-sql/sql/wms-app/migrations/051_the_supervisor_sees_pick_assignments.sql:27-80.

Lease Expires​

A claim sets the lease to now plus the setting TASK_LEASE_TTL_MIN (15 minutes by default). The RF terminal renews it with task_heartbeat and with each progress report. The system returns a task to the pool when the lease time is past. The result is Created, no holder, How Returned = Expired, Return Reason = auto-release (lease expired). Source: crates/libs/wms-lib-core/src/model/tasks/task.rs:1886-1923.

Available From​

The column is the time of the last refusal plus the cooldown. The cooldown is the setting TASK_SKIP_COOLDOWN_MIN (10 minutes by default). Until that time nobody is offered the task, not even the operator who refused it. The column is empty for a task that was handed back, taken back by a supervisor, or returned by an expired lease. These doors do not start a cooldown. Source: view task_board in 051_the_supervisor_sees_pick_assignments.sql:61-64; task.rs:1546-1551 and task.rs:1685-1708.

Escalated​

When the number of refusals reaches the setting TASK_SKIP_ESCALATE_AFTER (3 by default), the system sets Escalated. An escalated task is offered to nobody, even after the cooldown. Only Reassign takes it out. Reassign also sets Refusals back to 0 and clears Escalated. Source: task.rs:1550-1552 (escalation), task.rs:1627-1637 (reassign).

Toolbar buttons​

The buttons are in the toolbar task_board_tb. A button is grey when the ticked rows do not fit. The grey text says why when you point at the button.

ButtonNeedsWhat it doesTask page
Return to PoolExactly one ticked task with status Assigned or InProgressOpens the window Return Task to Pool.Returning a task to the pool
ReassignExactly one ticked task that is Assigned, InProgress, or escalatedOpens the window Reassign Task.Reassigning a task
Delete TaskOne or more ticked tasksOpens the window Delete Selected Tasks?.Deleting tasks

The grey texts are:

ButtonText when grey
Return to PoolSelect a task that is Assigned or InProgress
ReassignSelect a task that is Assigned, InProgress, or escalated to a supervisor
Delete TaskSelect at least one task

Source: the rows for form 294 in crates/libs/wms-lib-sql/sql/wms-meta-ui/migrations/001_baseline.sql:5517-5520. The toolbar is drawn again each time you tick or untick a row (interaction int_task_board_selection). With no row or with several rows ticked, the two one-row buttons stay grey, because there is no single row to read the status from. Source: the note in 086_the_supervisor_sees_and_dissolves_pick_assignments.sql:553-566, which describes the same kind of gate.

The test for Reassign reads a value of the board view that is not a column on the screen. The value is yes for Assigned, InProgress, and for Created with Escalated set. Source: view task_board, 051_the_supervisor_sees_pick_assignments.sql:53-57.

Who can use it​

RoleOpen the boardReturn to Pool, ReassignDelete Task
ADMINYesYesYes
MANAGERYesYesYes
SUPERVISORNot confirmed (see the overview)No by defaultNo by default
OPERATORYes (read only)NoNo
VIEWERYes (read only)NoNo

The reason for each cell is on Who can do what.

What this screen affects​

  • Return to Pool and Reassign change the holder, the status and the lease of a task. The terminal of the old holder loses the task.
  • Delete Task removes the task and puts its pick back into reserve.
  • Nothing on this screen changes stock.
  • Task Board windows
  • Task statuses and transitions
  • Skip History
  • API: read list_task, get_task; commands task_force_release, task_reassign, task_delete_many
  • RF terminal: PICK01 "Get Pick Work" claims a pick task (pick_dispatch_next). A pick operator gives a task back with Reject Pick (PICK11, method pick_reject). That is always a refusal, with a reason.