# Consumables Assembly ## Overview The Consumables Assembly widget is designed to support explicit long-running assembly processes where materials are assembled by barcode scan or background equipment integration and automatically assembled This widget: - Displays the structure and required quantities of a selected **BOM Instance** - Matches scanned materials against BOM products - Assembles materials automatically when possible - Opens a wizard when additional information is required !!! note The Consumables widget also allows the scanning of a **Product**. The **Material** can be defined after scanning in the wizard. - The checkbox labeled "Auto Consume Max Quantity", when set to true, will assume the maximum quantity possible to be assembled, avoiding opening the wizard in most scenarios. - In case a consumable is disassembled, the widget displays the quantity as a negative value in red. It is particularly useful in environments where materials are scanned continuously and must be assembled quickly. ![entityDetailsGeneral](widgets.images/consumables-assembly/consumables-assembly-example.png) ## General Steps To use the **Consumables Assembly** widget in a UI Page, follow the steps below: 1. In any UI Page in Build mode, select the **Consumables Assembly** from the widgets list located on the left side of the page. Drag and drop to the desired place in the UI Page. 2. Enter the **Settings** section of the widget through the three vertical dots. 3. In the **General** tab, provide a name and a description for the widget. Use the toggle buttons to specify whether the widget should be visible, display the header, or allow full screen mode. ## Widget Customization 1. Optionally, in the **Style** tab, you can define a Border Width and Color. ![style](widgets.images/consumables-assembly/consumables-assembly-style.png) 2. Optionally, define the **Links** between this widget and other elements of the UI Page. 3. By saving and closing the settings, the widget will be changed accordingly. ## Real Use Case Because this widget was designed with Operator Cockpits in mind, it often makes sense to link a **Perform Checklist Component** to this widget. For example purposes, this will be replicated by creating a BOM Instance property on the UIPage. 1. Add an BOM Instance property to the page: ![BOMInstanceProperty](widgets.images/consumables-assembly/consumables-assembly-BOMInstanceProperty.png) 2. Open the widget settings and link the **BOM Instance** input to the property created. As a result the assembly information will be displayed. ![BOMInstanceLink](widgets.images/consumables-assembly/consumables-assembly-BOMInstanceLink.png) 3. Add a Barcode DataSource. ![barcode_DS](widgets.images/consumables-assembly/consumables-assembly-barcode_ds.png) 4. Link the datasource to the widget: ![code](widgets.images/consumables-assembly/consumables-assembly-code.png) 5. The final result should look like this: ![FinalResult](widgets.images/consumables-assembly/consumables-assembly-finalresult.png) !!! note The Consumables widget also has a Refresh input. This can be used to refresh the widget everytime a consumable is assembled, or linked to a refresh button.