From d85f8a092f4033d62c08856f994e92aeb986051b Mon Sep 17 00:00:00 2001 From: "John Holton (hojo)" Date: Wed, 1 Nov 2023 14:50:43 -0700 Subject: [PATCH] [ADD] MRP: Shop Floor Overview closes odoo/documentation#6330 X-original-commit: cd881656b8c5bb2b5c94f6f1e9f397bcd06d8069 Signed-off-by: Zachary Straub (zst) --- content/administration/upgrade.rst | 5 + .../inventory_and_mrp/manufacturing.rst | 1 + .../manufacturing/shop_floor.rst | 10 + .../shop_floor/shop_floor_overview.rst | 207 ++++++++++++++++++ .../shop_floor_overview/mo-card.png | Bin 0 -> 13890 bytes .../shop_floor_overview/operator-panel.png | Bin 0 -> 7814 bytes .../shop_floor_overview/sidebar-button.png | Bin 0 -> 609 bytes .../shop_floor_overview/wo-card.png | Bin 0 -> 13167 bytes 8 files changed, 223 insertions(+) create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor.rst create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview.rst create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview/mo-card.png create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview/operator-panel.png create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview/sidebar-button.png create mode 100644 content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview/wo-card.png diff --git a/content/administration/upgrade.rst b/content/administration/upgrade.rst index 00c8992e4..ac2e2d758 100644 --- a/content/administration/upgrade.rst +++ b/content/administration/upgrade.rst @@ -2,10 +2,15 @@ Upgrade ======= +.. _administration/upgrade: + An upgrade is the process of moving your database from an older version to a newer :doc:`supported version ` (e.g., Odoo 14.0 to Odoo 16.0). Frequently upgrading is essential as each version comes with new and improved features, bug fixes, and security patches. +.. toctree:: + :titlesonly: + .. _upgrade_faq/rolling_release: .. spoiler:: Automatic upgrades: Odoo Online's Rolling Release process diff --git a/content/applications/inventory_and_mrp/manufacturing.rst b/content/applications/inventory_and_mrp/manufacturing.rst index 2a99afa67..5a2a7654d 100644 --- a/content/applications/inventory_and_mrp/manufacturing.rst +++ b/content/applications/inventory_and_mrp/manufacturing.rst @@ -20,3 +20,4 @@ allow workers to trigger maintenance operations, feedback loops, quality issues, :titlesonly: manufacturing/management + manufacturing/shop_floor diff --git a/content/applications/inventory_and_mrp/manufacturing/shop_floor.rst b/content/applications/inventory_and_mrp/manufacturing/shop_floor.rst new file mode 100644 index 000000000..2e1138460 --- /dev/null +++ b/content/applications/inventory_and_mrp/manufacturing/shop_floor.rst @@ -0,0 +1,10 @@ +:nosearch: + +========== +Shop Floor +========== + +.. toctree:: + :titlesonly: + + shop_floor/shop_floor_overview diff --git a/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview.rst b/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview.rst new file mode 100644 index 000000000..f54096f31 --- /dev/null +++ b/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview.rst @@ -0,0 +1,207 @@ +=================== +Shop Floor overview +=================== + +.. _manufacturing/shop_floor/shop_floor_overview: +.. |MO| replace:: :abbr:`MO (Manufacturing Order)` +.. |MOs| replace:: :abbr:`MOs (Manufacturing Orders)` + +The *Shop Floor* module is a companion module to the *Manufacturing* app. *Shop Floor* provides a +visual interface for processing manufacturing orders (MOs) and work orders. It also allows +manufacturing employees to track the amount of time spent working on manufacturing and work orders. + +The *Shop Floor* module is installed alongside the *Manufacturing* app. It cannot be installed by +itself. To install the *Manufacturing* app, navigate to :menuselection:`Apps`, search for +`manufacturing` in the :guilabel:`Search...` bar, and then click :guilabel:`Install` on the +:guilabel:`Manufacturing` app card. + +.. important:: + The *Shop Floor* module replaces the tablet view functionality of the *Manufacturing* app, and is + only available in Odoo versions 16.4 and later. + + To check the version number of an Odoo database, navigate to :menuselection:`Settings` and scroll + down to the :guilabel:`About` section at the bottom of the page. The version number is displayed + there. + + To switch to a newer version of Odoo, see the documentation on :ref:`upgrading a database + `. + +Navigation +========== + +*Shop Floor* is broken down into three main views, which can be selected from the navigation bar at +the top of the module: + +- The :guilabel:`All` page serves as the main dashboard for the module, and displays information + cards for |MOs|. +- Each work center also has a dedicated page, which shows information cards for work orders assigned + to that work center. Work center pages can be toggled on or off by clicking the :guilabel:`+ + (plus)` button in the navigation bar, selecting or deselecting them on the pop-up window that + appears, and then clicking :guilabel:`Confirm`. +- The :guilabel:`My` page shows information cards for all work orders assigned to the employee whose + profile is currently active in the operator panel on the left side of the module. Other than only + showing work orders assigned to the active employee, this page functions the same as the pages for + each work center. + +.. tip:: + To isolate an |MO| or work order, so that no other orders appear, simply search the reference + number of the |MO| in the :guilabel:`Search...` bar at the top of the module. This search filter + remains active while switching between the different module views. + +On the left side of the module is the operator panel, which shows all of the employees currently +signed in to *Shop Floor*, and allows new employees to sign in. The operator panel is always +available in the module, regardless of which view is selected. It can be toggled on or off by +clicking the :guilabel:`sidebar` button at the extreme left of the navigation bar. + +.. image:: shop_floor_overview/sidebar-button.png + :align: center + :alt: The "sidebar" button, which is used to toggle the operator panel on or off. + +All page +-------- + +By default, the :guilabel:`All` page shows an information card for every |MO| that is *ready to +start*. An |MO| is considered ready to start once it has been confirmed, and all required components +are available. + +To view every confirmed |MO| regardless of readiness, click the :guilabel:`x` button on the +:guilabel:`Ready to Start` filter to remove it from the :guilabel:`Search...` bar. + +MO information card +~~~~~~~~~~~~~~~~~~~ + +An |MO| information card on the :guilabel:`All` page shows all of the relevant details of the +associated |MO|, and also provides employees with options for processing the |MO|. + +The header for an |MO| card shows the |MO| number, the product and number of units being produced, +and the status of the |MO|. If work has not yet begun on the |MO|, the status appears as +:guilabel:`Confirmed`. Once work has begun, the status updates to :guilabel:`In Progress`. If all +work orders for an |MO| have been completed and the |MO| is ready to close, the status updates to +:guilabel:`To Close`. + +The main body of an |MO| card shows a line for each completed work order, if any, followed by the +current work order that needs to be completed. Completed work orders are indicated by a green check +mark to the right of title of the work order. The current work order is indicated by a button that +opens the page for the work center to which the order is assigned. + +Below the current work order is a line titled :guilabel:`Register Production`, which is used to +record the number of product units produced. To manually enter the number of units produced, click +on the :guilabel:`Register Production` line, enter a value in the :guilabel:`Units` field of the +resulting pop-up window, then click :guilabel:`Validate`. + +Alternatively, click the :guilabel:`# Units` button on the right side of the line, which +automatically records the number of units the |MO| was created for as the number of units produced. +For example, if an |MO| is created for 10 units of a dining table, clicking the :guilabel:`10 units` +button records that 10 units were produced. + +The footer of the |MO| card displays a :guilabel:`Close Production` button. This is used to close +the |MO| once production is completed. However, if there are any quality checks required for the +|MO| as a whole (not the work orders within it), a :guilabel:`Quality Checks` button appears +instead. Clicking :guilabel:`Quality Checks` opens a pop-up window, from which any required quality +checks can be completed. + +After clicking :guilabel:`Close Production`, the |MO| card begins to fade away, and an +:guilabel:`Undo` button appears on the footer. Clicking :guilabel:`Undo` causes the |MO| to remain +open. Once the |MO| card disappears completely, the work order is closed. + +On the right side of the footer is an :guilabel:`⋮ (options)` button, which opens a pop-up window +with additional options for the |MO|: + +- :guilabel:`Scrap` is used to send components to a scrap location when they are found to be + defective. +- :guilabel:`Add Work Order` is used to add an additional work order to the |MO|. +- :guilabel:`Add Component` is used to add an additional component to the |MO|. +- :guilabel:`Open Backend MO` opens the |MO| in the Manufacturing app. + +.. image:: shop_floor_overview/mo-card.png + :align: center + :alt: An information card for an MO on the "All" page of the Shop Floor module. + +Work center pages +----------------- + +By default, the page for each work center shows an information card for every work order assigned to +it that is *ready to start*. A work order is considered ready to start once the |MO| it is a part of +is ready to start, and any preceding work orders have been completed. + +To view every confirmed work order assigned to a work center regardless of readiness, click the +:guilabel:`x` button on the :guilabel:`Ready to Start` filter to remove it from the +:guilabel:`Search...` bar. + +Work order information card +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A work order information card on a work center's page shows all of the relevant details of the +associated work order, and also provides employees with options for processing the work order. + +The header for a work order card shows the reference number of the |MO| that the work order is a +part of, the product and number of units being produced, and the status of the work order. If work +has not yet begun on the work order, the status appears as :guilabel:`To Do`. Once work has begun, +the status updates to display a timer showing the total time the work order has been worked on. + +The main body of a work order card shows a line for each step required to complete the work order. +Work order steps can be completed by clicking on the line, then following the instructions on the +pop-up window that appears. Alternatively, clicking the checkbox on the right side of each line +automatically marks the step as completed. + +Below the final step of the work order is a line titled :guilabel:`Register Production`, which +functions the same as the :guilabel:`Register Production` line on an |MO| card. Registering the +number of units produced using the :guilabel:`Register Production` line on a work order card also +completes the step for the associated |MO| card. + +If the work order being processed is the final work order for the |MO|, a :guilabel:`Close +Production` button appears on the footer of the work order card. Clicking :guilabel:`Close +Production` closes both the work order and the |MO|, unless a quality check is required for the +|MO|. In this case, the quality check must be completed from the |MO| card before the |MO| can be +closed. + +Alternatively, if the |MO| requires the completion of additional work orders, a :guilabel:`Mark as +Done` button appears instead. Clicking :guilabel:`Mark as Done` marks the current work order as +completed, and causes the next work order to appear on the page for the work center it is assigned +to. + +After clicking :guilabel:`Close Production` or :guilabel:`Mark as Done`, the work order card begins +to fade away, and an :guilabel:`Undo` button appears on the footer. Clicking :guilabel:`Undo` causes +the work order to remain open. Once the work order card disappears completely, the work order is +marked as :guilabel:`Finished` on the |MO|. + +On the right side of the footer is an :guilabel:`⋮ (options)` button, which opens a pop-up window +with additional options for the work order: + +- :guilabel:`Scrap` is used to send components to a scrap location when they are found to be + defective. +- :guilabel:`Add Component` is used to add an additional component to the |MO|. +- :guilabel:`Move to work center` is used to transfer the work order to a different work center. +- :guilabel:`Suggest a Worksheet improvement` allows the user to propose a change to the work + order's instructions or steps. +- :guilabel:`Create a Quality Alert` opens a quality alert form that can be filled out to alert a + quality team about a potential issue. + +.. image:: shop_floor_overview/wo-card.png + :align: center + :alt: An information card for a work order in the Shop Floor module. + +Operator panel +-------------- + +The operator panel is used to manage the employees that are signed in to the *Shop Floor* module. +The panel shows the name and profile picture of every employee that is currently signed in across +all instances of the database. + +To interact with *Shop Floor* as a specific employee, click the employee's name to activate their +profile. Profiles that are not active appear with their names and profile pictures greyed-out. + +When an employee is selected in the operator panel, they can begin working on a work order by +clicking the work order's heading. If an employee is working on one or more work orders, the work +order title(s) appear under their name, along with a timer showing how long they've been working on +each order. + +To add a new employee to the operator panel, click the :guilabel:`+ Add Operator` button at the +bottom of the panel. Then, select an employee from the :guilabel:`Select Employee` pop-up window. + +To remove an employee from the operator panel, simply click the :guilabel:`x` button next to their +name in the panel. + +.. image:: shop_floor_overview/operator-panel.png + :align: center + :alt: The operator panel of the Shop Floor module, showing three employees signed in. diff --git a/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview/mo-card.png b/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview/mo-card.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a1bb914e61e3c29cebf91f933e5472f4c7d272 GIT binary patch literal 13890 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 YOT1PRXL01|Phd#zq?9DfVef|flqRi4ll_pmLV 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 literal 0 HcmV?d00001 diff --git a/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview/sidebar-button.png b/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview/sidebar-button.png new file mode 100644 index 0000000000000000000000000000000000000000..cf218fbb6c1eaa4d967dd0c267076d2c386b731a GIT binary patch literal 609 zcmeAS@N?(olHy`uVBq!ia0vp^bAfm=2Q!dd{OR=+AjOjI=U}oXkrg$2Gtw#P$FG|HV6Y-?(w({rmU7fB*jSEaktaqI1! zT>rxgB5jGQ3Ib{zm;U-+zv_b9=GutN#jTgWJo`M$u6oBT)!P=&&S}J4i^!h4+g$7N z)B?+S=Sqsr?%rMLn=ZP1Gy98kE8m`b_3m6oUE0fc=jBC9w)b1>7uIBKIHpmTUB1$H z%lwASZfkws&Ava^{fd64ceKcL%7j1fv{`4qpBA=j_MxK_^hL`(LN5`*`Y`+sd-%$$}RW zQ{P^^erM`;fvP3kspqrqP8DA&_cG{DtzO>l$$K`|UV6HAYE=29&buuBS?@xYSUZ&W zy(?(9zVi@D`PG-}ulMhteeLt_XzTLox?4pS*M)t* znY{S-oo%m--yeH5PrSe|d*R%jS2v4IIlnT%?y>XF8j-h~Q)jRrwb6LycoAq6&?X?| c_w1dtRO_~RDKkVXfysiw)78&qol`;+0J6qBH~;_u literal 0 HcmV?d00001 diff --git a/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview/wo-card.png b/content/applications/inventory_and_mrp/manufacturing/shop_floor/shop_floor_overview/wo-card.png new file mode 100644 index 0000000000000000000000000000000000000000..b4033db32d31d6917f12e4702b2effeb64c0798d GIT binary patch literal 13167 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 literal 0 HcmV?d00001