From 3354ea3717c334ef74a08871f89cc53feb20dbf1 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 4 Mar 2022 17:20:28 +1100 Subject: [PATCH] Adds documentation for new "auto allocation" feature --- _includes/config.yaml | 5 ++ .../images/build/auto_allocate_dialog.png | Bin 0 -> 34925 bytes docs/build/allocate.md | 43 ++++++++++++++---- 3 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 docs/assets/images/build/auto_allocate_dialog.png diff --git a/_includes/config.yaml b/_includes/config.yaml index b14c122..65dd20d 100644 --- a/_includes/config.yaml +++ b/_includes/config.yaml @@ -154,6 +154,11 @@ static_root: '/home/inventree/data/static' # Use environment variable INVENTREE_LOGIN_ATTEMPTS #login_attempts: 5 +# Add new user on first startup +#admin_user: admin +#admin_email: info@example.com +#admin_password: inventree + # Permit custom authentication backends #authentication_backends: # - 'django.contrib.auth.backends.ModelBackend' diff --git a/docs/assets/images/build/auto_allocate_dialog.png b/docs/assets/images/build/auto_allocate_dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..66c8775aade978f0974663920d97a422c8a5e1eb GIT binary patch literal 34925 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 icon expands the row {% include "img.html" %} {% endwith %} -### Auto Allocation - -To speed up the allocation process, the *Auto Allocate* button can be used to allocate untracked stock items to the build. Automatic allocation of stock items does not work in every situation, as a number of criteria must be met. +## Manual Stock Allocation For each line in the BOM, stock will be automatically allocated if one (and only one) stock item (for the referenced part) is found (within the specified *source location* for the build): -!!! warning "Multiple Stock Items" - If multiple stock items are available, the InvenTree auto allocation system cannot make a determination about which stock item to allocate. - -Selecting *Auto Allocate* opens a dialog window which displays the stock items which will be allocated to the build during the auto allocation process: +Selecting *Allocate Stock* opens a dialog window which displays the stock items which will be allocated to the build during the auto allocation process: {% with id="build_auto", url="build/build_auto_allocate.png", description="Auto allocate" %} {% include "img.html" %} {% endwith %} -!!! info "Note" - Note here that the *SAM-M8Q-0-10* part can be automatically allocated as it only exists in a single stock location. However the other BOM line item exists in multiple locations, and thus cannot be automatically allocated +Note here that there are two parts in the BOM which can be automatically allocated, as they only have a single corresponding StockItem available. +However the other BOM line item exists in multiple locations, and thus cannot be automatically allocated. These will need to be manually selected by the user. -### Manual Allocation +### Row Allocation Stock can be manually allocated to the build as required, using the *Allocate stock* button available in each row of the allocation table @@ -91,6 +86,34 @@ Stock allocations can be manually adjusted or deleted using the action buttons a The *Unallocate Stock* button can be used to remove all allocations of untracked stock items against the build order. +## Automatic Stock Allocation + +To speed up the allocation process, the *Auto Allocate* button can be used to allocate untracked stock items to the build. Automatic allocation of stock items does not work in every situation, as a number of criteria must be met. + +The *Automatic Allocation* dialog is presented as shown below: + +{% with id="auto_allocate_dialog", url="build/auto_allocate_dialog.png", description="Automatic allocation dialog" %} +{% include "img.html" %} +{% endwith %} + +**Source Location** + +Select the master location where stock items are to be allocated from. Leave this input blank to allocate stock items from any available location. + +**Interchangeable Stock** + +Set this option to *True* to signal that stock items can be used interchangeably. This means that in the case where multiple stock items are available, the auto-allocation routine does not care which stock item it uses. + +!!! warning "Take Care" + If the *Interchangeable Stock* option is enabled, and there are multiple stock items available, the results of the automatic allocation algorithm may somewhat unexpected. + +!!! info "Example" + Let's say that we have 5 reels of our *C_100nF_0603* capacitor, each with 4,000 parts available. If we do not mind which of these reels the stock should be taken from, we enable the *Interchangeable Stock* option in the dialog above. In this case, the stock will be allocated from one of these reels, and eventually subtracted from stock when the build is completed. + +**Substitute Stock** + +Set this option to *True* to allow substitute parts (as specifed by the BOM) to be allocated, if the primary parts are not available. + ## Allocating Tracked Stock Allocation of tracked stock items is slightly more complex. Instead of being allocated against the *Build Order*, tracked stock items must be allocated against an individual *Build Output*.