From aebf17267d52d1602c738583c4f90fdbb6356397 Mon Sep 17 00:00:00 2001 From: "John Holton (hojo)" Date: Thu, 28 Mar 2024 14:06:36 -0700 Subject: [PATCH] [ADD] Manufacturing: Shop Floor time tracking closes odoo/documentation#8507 X-original-commit: ee2cfe2bb55896c1d9afd810671ed34002d6190d Signed-off-by: Samuel Lieber (sali) Signed-off-by: John Holton (hojo) --- .../manufacturing/shop_floor.rst | 1 + .../shop_floor/shop_floor_tracking.rst | 119 ++++++++++++++++++ .../shop_floor_tracking/employee-timer.png | Bin 0 -> 3406 bytes .../shop_floor_tracking/operator-panel.png | Bin 0 -> 7494 bytes .../shop_floor_tracking/pin-code.png | Bin 0 -> 4654 bytes .../shop_floor_tracking/work-order-timer.png | Bin 0 -> 5883 bytes 6 files changed, 120 insertions(+) create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking.rst create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking/employee-timer.png create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking/operator-panel.png create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking/pin-code.png create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking/work-order-timer.png diff --git a/content/applications/inventory_and_mrp/manufacturing/shop_floor.rst b/content/applications/inventory_and_mrp/manufacturing/shop_floor.rst index 2e1138460..2b4c5dc5b 100644 --- a/content/applications/inventory_and_mrp/manufacturing/shop_floor.rst +++ b/content/applications/inventory_and_mrp/manufacturing/shop_floor.rst @@ -8,3 +8,4 @@ Shop Floor :titlesonly: shop_floor/shop_floor_overview + shop_floor/shop_floor_tracking diff --git a/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking.rst b/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking.rst new file mode 100644 index 000000000..cdc75d77a --- /dev/null +++ b/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking.rst @@ -0,0 +1,119 @@ +======================== +Shop Floor time tracking +======================== + +.. |MO| replace:: :abbr:`MO (Manufacturing Order)` +.. |MOs| replace:: :abbr:`MOs (Manufacturing Orders)` + +By signing in to the Odoo *Shop Floor* module as *operators*, employees are able to track the amount +of time they spend working on each work order. + +Odoo tracks the time it takes to complete each work order, as well as the time each operator spends +on each work order. + +Operator sign in +================ + +To sign in to the *Shop Floor* module as an operator, sign in to the Odoo database, and open the +:menuselection:`Shop Floor` module. The employee profile that is signed in to the database is +automatically signed in as an operator. + +All active operators are listed in the operator panel on the left side of the module. The panel can +be opened or collapsed by clicking the :guilabel:`show/hide panel (white square with black column on +left side)` button, located in the top-left corner of the module. + +.. image:: shop_floor_tracking/operator-panel.png + :align: center + :alt: The operator panel in the Shop Floor module, with the show/hide panel button above it. + +To sign in to *Shop Floor* as a different employee, click the :guilabel:`+ Add Operator` button at +the bottom of the panel. Doing so opens the :guilabel:`Select Employee` pop-up window, which lists +every employee that is able to sign in to the module. + +Click on a specific employee to sign in using their profile. If no PIN code is required to sign in +as that employee, the profile will be signed in automatically. + +If a PIN code is required, a :guilabel:`Password?` pop-up window appears, showing a number pad, from +which the code can be entered. Enter the code using the number pad, and click :guilabel:`Confirm` to +sign in to the *Shop Floor* module. + +.. image:: shop_floor_tracking/pin-code.png + :align: center + :alt: The "Password?" pop-up window, which is used to enter an operator PIN code. + +.. note:: + A PIN code can be set for each employee, which must be entered each time they sign in to the + *Shop Floor* module, check in or out in the *Kiosk Mode* of the *Attendances* application, or + sign in as a cashier in the *Point of Sale* application. + + To set an employee PIN, navigate to the :menuselection:`Employees` app, and select a specific + employee. At the bottom of the employee's form, click on the :guilabel:`HR Settings` tab, and + enter a numerical code in the :guilabel:`PIN Code` field. + +Once an employee is signed in to the module, their name appears in the operator panel, along with +every other employee that has signed in. While the panel can list multiple employees, only one +employee can be active at any given time, on a single instance of the *Shop Floor* module. + +Click on an employee's name to make their profile active. The active employee appears highlighted +in blue, while employees that are signed in, but not active, have their names faded out. + +To sign out a specific employee from the module, click the :guilabel:`X (remove)` button next to +their name, in the operator panel. + +Track work order duration +========================= + +To track time spent working on a work order, begin by selecting the employee working on it from the +operator panel. + +Next, navigate to the page for the work center where the work order is scheduled to be carried out. +This can be done by selecting the work center from the top navigation in the *Shop Floor* module, or +by clicking the name of the work center on the card for the manufacturing order (MO) that the work +order is a part of. + +On the page for the work center, find the card for the work order. Once work begins, click the +header of the work order card to start timing the duration it takes to complete. This duration is +displayed by a timer on the header of the work order card, which tracks the collective time spent +working on the work order, by all employees. + +.. image:: shop_floor_tracking/work-order-timer.png + :align: center + :alt: A work order card with an active timer. + +In addition, the reference number of the work order appears in the operator panel, under the name of +the employee working on it, along with a second timer, which tracks the amount of time the employee +has spent on the work order individually. This timer only reflects work done during the current +session, even if the employee has previously worked on the work order. + +Employees are able to work on multiple work orders simultaneously, and track their time for each. +The reference number for each work order being worked on appears below the employee's name, along +with a timer. + +.. image:: shop_floor_tracking/employee-timer.png + :align: center + :alt: An employee card in the operator panel, showing two work order timers. + +To pause the timer on the work order card, and remove the work order from below the employee's name +on the operator panel, click the header a second time. + +Once the work order is completed, click the :guilabel:`Mark as Done` button at the bottom of the +work order card, which causes the card to fade away. If the timer is still active, it stops once the +card disappears completely. + +View work order duration +======================== + +To view the duration of a work order, navigate to :menuselection:`Manufacturing app --> Operations +--> Manufacturing Orders`, and select an |MO|. + +To view and select |MOs| that have been completed and marked as *Done*, remove the :guilabel:`To Do` +filter from the :guilabel:`Search...` bar, by clicking on the :guilabel:`X (close)` button on the +right side of the filter. + +On the page for the |MO|, click on the :guilabel:`Work Orders` tab to see a list of all work orders +included in the |MO|. The time it took to complete each work order is displayed in the +:guilabel:`Real Duration` column of the tab. + +The *Real Duration* represents the total time spent working on the work order by all workers who +worked on it. It includes time tracked in the *Shop Floor* module, as well as time tracked on the +:guilabel:`Work Orders` tab of the |MO| itself. diff --git a/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking/employee-timer.png b/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking/employee-timer.png new file mode 100644 index 0000000000000000000000000000000000000000..aca093fb65ab7c36a19544b5b55ea50b9b4ec7c6 GIT binary patch literal 3406 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 literal 0 HcmV?d00001 diff --git a/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking/pin-code.png b/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_tracking/pin-code.png new file mode 100644 index 0000000000000000000000000000000000000000..a8f0be4b166a656bd004eb72a37c907dda8bb23e GIT binary patch literal 4654 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 literal 0 HcmV?d00001