--- alias: user-guide-weigh-and-dispense-material description: "This documentation outlines the process for weighing and dispensing materials into a target material, including preconditions, step-by-step instructions, and considerations" --- # Weigh and Dispense Material :lock: Material.**WeighAndDispense** In order to be able to enter the weight manually, it's necessary to have access to the Material.WeighAndDispenseManual feature. In case it's intended to add an electronic signature at the end of the transactions, it's necessary to enable the *Force signature* option on the Material.CompleteWeighAndDispense feature. ## Overview This operation is used to **Weigh & Dispense** ingredients or components of source **Materials** into a target **Material**. As a naming convention, the **Materials** which are consumed are referred to as *Source Materials* and the consumed quantity is referred to as *Consumed Quantity*, whereas the assembled **Material** is referred to as *Assembled Material*. !!! note Note: This transaction must be completed in one single transaction. !!! note Note: *Technical Data Sheets* and *Safety Data Sheet* displayed in this transaction are based on the respective Product attachments that have a type matching the `/Cmf/System/Configuration/Product/SafetyDataSheet` and `/Cmf/System/Configuration/Product/TechnicalDataSheet` configuration entries. ## Setup No special setup is required other than to meet the preconditions of the transaction. ## Preconditions * The current user is associated to an Employee object. * The *Assembled Material* exists and it is Active. * The *Assembled Material* is topmost, its *PrimaryQuantity* must be >= 0 and < QuantityToAssemble of the BOM Instance Material. The BOM Instance System State must be *Open* and the *Assembled Material* *SecondaryQuantity* must not be defined for the **Material** (Null). * The *Assembled Material* is not On Hold and not InTransit. * The *Assembled Material* does not have Sub-Materials. * There is a *CurrentBOMVersion* defined for the *AssembledMaterial* and the AssemblyType is *WeighAndDispense*. * The *Assembled Material* must be *InProcess* (that is - it needs to be performed after Track-In and before Track-Out). * *Source Materials* exist, are Active, Queued or Consumable and are not On Hold. * *Source Materials* have the MaintenanceHoldCount = 0 and have not Expired (ExpirationDate >= CurrentDate Or ExpirationDate = Null) and (MaximumAssembleDate >= CurrentDate Or MaximumAssembleDate = Null), do not have Sub-Materials and must be in the Step defined in the BOM. * Source Materials Floor Life must still be valid: Either Floor Remaining Life is Null OR (Floor Life Remaining Life > 0 AND Floor Life Counter State = *Stopped*) OR (Floor Life Counter State = *Running* AND [Floor Life Remaining Hours - (Now() - Floor Life Open Date) in Hours > 0] ). * *Source Materials* must not have any open defects (Open Defect Count is zero). * For all BOM Products, if the Material Reservation Mode is different to None: * If the Material Reservation Mode is Production Order, and the TopMost Material of the Assembled Material has a Production Order defined, the Source Material for the BOM Product must have the same Production Order associated to it. * If the Material Reservation Mode is Material Dependency, there must be an Active Material Dependency from the Source Material to the TopMost Material of the Assembled Material. * For TopMost of Source Materials: * the PickListItemCount must be Null. * the IsInTransferOrderItem must be Null. * the Material Product InventoryLocked must be false. * the IsApproved must be different from false (could be null). * *Source Materials* must not include the **Material** being Assembled. * *Source Materials* must be in the same Facility of the *Assembled Material* and must be in the Step as defined in the BOM. * BOM must exist and be Active or Effective. * The BOM Products for which the Product's *Is Discrete* property can only be consumed in discrete quantities. * If the properties *EnableCheckIn* and *RequireCheckInForMaterialOperationsResource* of the topmost Material are set to true and the user's current *IsIntegrationUser* property is false, there must be an Employee associated to the current user who is currently associated with the Resource. * The Resource has an *Instrument Service* defined. * The Electronic Scale Measurement Units must have a unit of conversion different from the *Assemble Material Primary Units* (converted within the Generic Table *UnitConversionFactors*) if the BOM Formula Type is *Absolute*, or to the BOM Units if the BOM Formula Type is *Percentage*. * The selected Electronic Scale is a Resource which provides the service as defined by the Resource's Instrument Service. The Service is enabled at the Electronic Scale and enabled globally at the service. The Calibration Status must be *Calibrated*, must not be on hold due to maintenance, its system state must be *Up*, the Electronic Scale's Resource must exist and be Active and exist in the same Facility (not Area by design) as the Resource where the Weigh&Dispense will take place. !!! note When using Weigh and Dispense with a single BOM across multiple Steps, it's important to begin with the Material Primary Quantity set to zero. The reason is that when the *Target Material Quantity* and *Target Material Units* are set, the system will increment the Material Primary Quantity (either directly in the mode *Consume* or indirectly in the mode Attach) with the dispensed quantity of every Weigh and Dispense operation. This contrasts with the case where the Target Material Quantity is not used, where the Weigh and Dispense operation will set the Material Primary Quantity (directly or indirectly) with the dispensed quantity. !!! info Sub-Materials created during the Weigh and Dispense process do not inherit the Production Order from the Parent Material. ## Sequence of Steps ### Step 1: Scale & Printer 1. Once the **Material** is selected and the Weigh & Dispense wizard is open, proceed to selecting the printer to be used (values are taken from the [PrinterTypePrintersContext](../../administration/tables/smart-tables/printertypeprinterscontext.md)/) Smart Table. 1. Confirm the **Resource Details** and select **Next**. !!! note If the BOM contains a *WeighAndDispenseLabel*, it is mandatory to select a printer. If no printers are returned or selected, the system is not allowed to proceed. ![weigh_dispense_printer][weigh_dispense_printer] ### Step 2: Safety Information 1. A consolidated list of all the potential hazards and protective equipment needed to handle the **Assembled Material** (gathered from all the BOM Products) is displayed. This list is also available for visualization purposes at any stage of the transaction. 2. Once reviewed, click **Proceed to W&D**. ![weigh_dispense_safety][weigh_dispense_safety] ### Step 3: Weigh & Dispense Page 1. In case the selected scale is disconnected, a warning sign will be displayed. Otherwise, you can proceed with the weighing. 2. The information regarding the ingredients to be dispensed will be displayed in the wizard. In addition, information on the Source Product, such as its required and dispensed quantities, as well as the *Warnings and Documents* (Technical and Safety Data Sheets) will be shown. 3. On the top of the page, information on the current operation will be displayed and instructions for the operator on the proper steps to take to continue the process. 4. If the current dispensed quantity is zero, it is possible to select the weighing method: Positive (default) or Negative. The positive weighing is additive and it measures the content of the target **Container** or *ContainerType*. On the other hand, the negative weighing is subtracting and it measures the source **Material** or **Container**. It is to be used when you wish to reduce the content of the **Container**, therefore reducing its weight. In this case, the weighing shown on the screen will be the weight amount that has been taken from the **Container**. 5. Proceed to choosing the *Source Material* and **Container** as well as the target *Container* and *ContainerType*. If necessary, check the corresponding **Material** details on the right-hand side panel. 6. In *Positive Weighing*, the **Container** tare will be shown. Click **Set Tare and Begin** to acknowledge the tare value and to begin the weighing. However, depending on the scale used, it may be necessary to enter the tare by hand. If the option *Negative Weighing* has been selected, click **Begin Weighing**. ![weigh_dispense_weighing][weigh_dispense_weighing] !!! note If the current BOM Product has a Quantity Calculation Rule set, after pressing the **Begin Weighing** button the system must call the defined rule, which will return the values for Lower Tolerance, Required Quantity and Upper Tolerance, expressed in the Units defined by the BOM. A visual notation will be displayed next to the BOM Product currently being weighed. If the rule returns an error, this will be presented to the user and the operation cannot begin. If the rule is successful, the values for Lower Tolerance, Required Quantity and Upper Tolerance will be updated on-screen and the user can proceed with the operation. 7. The ingredient's weight will be shown. If the weighed-in quantity is less than the required quantity, the button **Partial Dispense** will be made available. Click on it to dispense the indicated amount and the remaining quantity (to complete the required quantity) will be shown in a value bar. If necessary, repeat until the required quantity is achieved (or surpassed, depending on the lower and upper tolerance margins that have been defined beforehand in the BOM). 8. When the dispensed quantity matches (or surpasses) the required quantity, a label is automatically printed, so that the product can be identified. 9. Repeat the process for every ingredient listed in the BOM. 10. When all the BOM Products have been dispensed completely and successfully, click **Complete W&D**. 11. The system will require an electronic signature. Enter your credentials to complete the transaction. !!! note If the scale to be used has been pre-configured to use a specific weighing measurement unit (either kilograms, pounds or ounces) and the material to be weighed in is in a different weighing measurement unit, the system will display an error, since there is a mismatch between measurement units. !!! info For more information, see the [Weigh and Dispense](../../../tutorials/modules/weigh-and-dispense/weighanddispense.md) tutorial. [weigh_dispense_printer]: images/weigh_dispense_printer.png [weigh_dispense_safety]: images/weigh_dispense_safety.png [weigh_dispense_weighing]: images/weigh_dispense_weighing.png