items:master_lists

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
items:master_lists [2019/06/19 01:34] – [Import Item List] markitems:master_lists [2023/03/23 02:19] (current) – [Removing an item from a master list when it is currently in stock] Mark Glover
Line 1: Line 1:
 {{indexmenu_n>40}} {{indexmenu_n>40}}
 +
 + ======4.04. Item master lists ======
 +
 <wrap info>Updated: Version 3.1</wrap> <wrap info>Updated: Version 3.1</wrap>
- =====Item master lists ===== 
  
 Master lists are standard lists of items you would supply to wards, clinics, etc. on a regular basis. Once set up, a master lists can be assigned to customers or [[other_stuff:virtual_stores|Virtual stores]], and then used to support [[issuing_goods:stock_control_methods|Stock Control]] including [[faq:imprest_work_flow|imprest]] orders.  Master Lists are useful to stores which have a number of customers or virtual stores that they supply whose lists of stock items are either identical or very similar. Master lists are standard lists of items you would supply to wards, clinics, etc. on a regular basis. Once set up, a master lists can be assigned to customers or [[other_stuff:virtual_stores|Virtual stores]], and then used to support [[issuing_goods:stock_control_methods|Stock Control]] including [[faq:imprest_work_flow|imprest]] orders.  Master Lists are useful to stores which have a number of customers or virtual stores that they supply whose lists of stock items are either identical or very similar.
  
-Choosing the **Item > Show item master lists...** menu item or clicking on the //Show master lists// icon{{:items:masterlisticon.jpg?30}}on the //Item// tab of the navigator displays this window:+Choosing the **Item > Show item master lists...** menu item or clicking on the **Master lists** button {{:items:masterlisticon.jpg?30}} on the //Item// tab of the navigator displays a list of the current master lists in your datafile in this window:
  
 {{ :items:item_mstr_list.png?300 }} {{ :items:item_mstr_list.png?300 }}
  
-=== Adding (and importing) a master list === +<WRAP center round important 60%> 
-Click on the //Add Master List// icon and you are presented with this window:+Master lists can only be managed (created, deleted, edited, applied to stores or customers) on the Central Server 
 +</WRAP> 
 + 
 +===== Buttons on the Show master lists window ===== 
 + 
 +==== Add master list ===
 + 
 +Click on the //Add Master List// button and you are presented with this window:
  
 {{ :items:add_mstr_list.png?550 }} {{ :items:add_mstr_list.png?550 }}
 +{{ :items:add_mstr_list2.png?550 |}}
  
-//Description// field: Enter the name of the master list here - this is the list name that everyone will see e.g. ''Health Posts Standard List''.+== Description == 
 +Enter the name of the master list here - this is the list name that everyone will see e.g. ''All items: General warehouse''. Any non-printable characters entered before or after the description will be removed. Any entered in the description will be replaced with an underscore (''_'').
  
-//Note// field: Add any note or information here that will help you and others understand what the list is for.+== Note == 
 +Add any note or information here that will help you and others understand what the list is for.
  
-//Automatically add new items to this master list// checkbox: If you check this, any new items created, whether manually or during import, will be added to the master list. This is a particularly helpful setting when you are using master lists to [[other_stuff:virtual_stores#controlling_item_visibility|control the visibility of items in stores]].+== Automatically add new items to this master list == 
 +If you check this, any new items created, whether manually or during import, will be added to the master list. This is a particularly helpful setting when you are using master lists to [[other_stuff:virtual_stores#controlling_item_visibility|control the visibility of items in stores]].
  
-The //Items// tab shown in the screenshot shows the list of items on the master list. The //In use by// tab shows which customers the master list has been assigned to (see below).+== This master list is a patient list == 
 +If checked, this tells mSupply to use the prices on this master list for any of the items on this list on prescriptions (not customer invoices).
  
-You then populate the list with the required items by clicking the //Add Item// icon:+=== Buttons on the Master list window ===
  
-{{ :items:add_itm_mstr_list.jpg }}+== Add item ==
  
-On entering the first few characters of the item to be ordered and pressing the Tab key, the (by now!) familiar list will appear from which the desired item is selected by double clicking.+You then populate the list with the required items by clicking the **Add Item** button:
  
-If the imprest system is used in your organisation, the quantity is entered in the //Imprest Quantity// field.  If the imprest system is not being used, you don't have to enter anything in this field.+{{ :items:pasted:20201123-221315.png?500 }} 
  
-If you want this list to determine the price of this item for customers using it, the price is entered in the //Price// field.  If not, no entry is required in this field.+  * On entering the first few characters of the item to be ordered and pressing the Tab key, the (by now!) familiar list will appear from which the desired item is selected by double-clicking. 
 +  * If the imprest system is used in your organisation, the quantity is entered in the //Imprest Quantity// field.  If the imprest system is not being used, you don't have to enter anything in this field. 
 +  * If you want this list to determine the price of this item for customers using it, the price is entered in the //Price// field.  If not, no entry is required in this field.
  
-In our example, a number of master lists have been created.  A sample ''Health Posts - Standard List'' master list is shown below.+== Remove item(s) == 
 +To remove one or more items from the master list, select (click) the row(s) and then click on the **Remove item(s)** button.
  
-{{ :items:edit_itm_mstr_list.png?500 |}}+== Save sort order ==
  
-**Sorting: **Clicking on any of the column headings allows you to sort the list according to that heading; you also have the ability to click on an item in the list, and drag it to a new position; once the list is sorted to meet your requirementsyou can click on the //Save Sort Order// icon, and mSupply(r) will retain the list in the order in which you have set it, and display it in that order next time it is accessed.+  The order in which the items are ordered dictates the order in which they populate various transaction forms in mSupply. 
 +  * Clicking on any of the column headings allows you to sort the list according to that heading
 +  * You also have the ability to click on an item in the list, and drag it to a new position
 +  * Once you are happy with the sort order, click this button to save the order.
  
-**Copy to clipboard: **The master list is copied to the clipboard when this button is clicked so that you can paste it into other applications on your computer e.g. a word processor or spreadsheet application.+== Copy to clipboard ==
  
-=== Import Item List ===+The master list is copied to the clipboard when this button is clicked so that you can paste it into other applications on your computer e.g. a word processor or spreadsheet application.
  
- You can import a list of items created elsewhere e.g. an accounting application or a spreadsheet. This can save you a lot of time! The file to be imported must be tab delimited text and must contain, in this order:+== Update prices to 12 month average ==
  
-  * **Item code** Must match an existing item code +Also only visible if the **Use program pricing** preference is turned on (see the [[preferences:invoices#use_program_pricing|15.03. Invoice preferences]] page for details). When you click this button, mSupply calculates weighted average price for each item from all the cost prices on all supplier invoice lines that were confirmed in the 12 months previous to the current day for each item. That calculated price is then shown for each item in the //Price// column. When you click on the **OK** or **OK & Next** buttons these prices will be saved on the master list, if you click on the **Cancel** button the prices will revert to what they were beforemSupply will create logs when the function is run so that you have a record of the old and new prices - see the [[admin:the_log|]] page for details on viewing the logs.
-  **Item name** For information purposes only and is not actually imported You can leave blank column in its place if you like) +
-  * **Imprest quantity** Optional and can be left blank.  You would leave it blank if the master list is not going to be used for an imprest. +
-  * **Price** Optional and can be left blank You would leave it blank if the master list is not going to be used for pricing+
  
-Records in the file are, of course, separated by the end of line character.+== Import item list == 
 + 
 +You can import a list of items created elsewhere e.g. an accounting application or a spreadsheet. This can save you a lot of time when creating a master list! 
 + 
 +The file to be imported must be tab delimited text file, which is most easily created in a spreadsheet.  The file must contain columns in this order: 
 + 
 +  * **Item code** Must match an existing item code.  <WRAP center round tip 60%> 
 +If you are //not// importing imprest quantity or price, then this is the only column needed.  The following columns are not required. 
 +</WRAP> 
 + 
 +  * **Item name** For information purposes only and is not actually imported.  You can leave this column blank if you like, however, if you are importing imprest and / or price data, then you must include the column, it's just that the entries can be blank. 
 +  * **Imprest quantity** Optional and can be left blank.  You would leave the entries blank if the master list is not going to be used for an imprest. 
 +  * **Price** Optional and can be left blank.  You would leave the entries blank if the master list is not going to be used for pricing 
 + 
 +Records in the file are, of course, separated by the end of line character, which will be created by the spreadsheet when you save the file as a **Text (Tab delimited)** format.
  
 For example: For example:
  
-^  code  ^  item  ^  imprest quantity  ^  Price  ^+^  Item code  ^  Item name  ^  Imprest quantity  ^  Price  ^
 | amo250t  | amoxycillin 250mg tab  | 800  | 4.50  | | amo250t  | amoxycillin 250mg tab  | 800  | 4.50  |
 | amo500t  | amoxycillin 500mg tab  | 300  | 5.50  | | amo500t  | amoxycillin 500mg tab  | 300  | 5.50  |
Line 73: Line 104:
 The //Remove quote characters on import// checkbox, if checked, tells mSupply(r) to strip all ''"'' characters from the data.  This is recommended. In fact, this option can be selected anyway without detriment to the import. The //Remove quote characters on import// checkbox, if checked, tells mSupply(r) to strip all ''"'' characters from the data.  This is recommended. In fact, this option can be selected anyway without detriment to the import.
  
-<WRAP center round info 60%> +<WRAP center round important 60%> 
-The imported items are added to the master list, nothing is overwritten by the import.+  * Any new items on in the import will be added to the end of the master list. 
 +  * If you import items that are already on the master list, they will not be added to the end of the list.  The existing entries will have their **Imprest Quantity** and **Price** details //updated// with the imported values.
 </WRAP> </WRAP>
  
- +Clicking the //Import now// button executes the import with the settings you made and takes you back to the master list screen with the imported items now showing in your master list. 
-Clicking the //Import now// button executes the import with the settings you made and takes you back to the master list screen with the imported items now showing in your master list.+
  
 The //Cancel// button also takes you back to the master list screen but, obviously, does not execute the import. The //Cancel// button also takes you back to the master list screen but, obviously, does not execute the import.
  
 +== Search field ==
 +If you need to find a specific item in the master list you can type something in the //Search items// field just below the buttons. Only the items in the list with a name or code that contains what you typed will be shown, all others will be hidden.
 +=== Tabs the Master list window  ===
  
-**Editing imprest quantities or price:** If you click once on the row you wish to edit, and then click on the imprest quantity or price, it becomes editable. Enter the new value, and you can then use the <tab> key to advance to editing the next imprest quantity or price field.+== Items ==
  
 +Shows the list of items on the master list.
  
-**The //In use by// tab:**  Under this tab you'll find the list of customers who have been assigned to this master group (i.e. are using this master list). +== In use by ==
-=== Deleting a master list ===+
  
-From the // Item Master lists// window, selecting the // Delete Master List// icon allows you to delete a list which is no longer required.  **This action has significant consequences for any customers who are users of the list.  So to prevent accidental deletion, this action cannot be completed until any customers who are users of it have their association with it removed.**+Shows which customers the master list has been assigned to (see below).
  
-=== Duplicate a Master list ===+==== Delete master list ====
  
-Should you wish to create a Master list which is very similar to an existing one, click on this icon, and a new Master list entitled `// Duplicate of .....// .' is created; this can then be edited and renamed to suit your requirements.+From the //Item Master lists// window, selecting the //Delete Master List// button allows you to delete a list which is no longer required.  <WRAP center round alert 60%> 
 +  * This action has significant consequences for any customers who are users of the list. So to prevent accidental deletion, this action cannot be completed until any customers who are users of it have their assignment with it removed. 
 +  * To find out which customers and stores the list is assigned to, open the master list and click on the //In use by// tab.  If the list on this tab is empty, you will be able to remove the master list. Refer to the [[items:master_lists#assigning_a_list_to_a_customer|Assigning a list to a customer]] section below and the [[other_stuff:virtual_stores#master_lists_tab|25.08. Virtual stores]] page to remove the master lists from customers and stores respectively. 
 +</WRAP> 
 +
 +==== Duplicate master list ==== 
 +Should you wish to create a Master list which is very similar to an existing one, click on this icon, and a new Master list with the same name (description) but with  `// (Copy)//' appended to it is created; this can then be edited and renamed to suit your requirements.
  
-===Assigning a list to a customer===+==== Report ==== 
 +To create a custom master list report, click on the **Report** button on the Master list window. This will open the custom report editor and you can create your custom report there. 
 + 
 +==== Print ==== 
 +To generate a built-in report based on all the master lists in the list, click on the **Print** button on the Master list window. You will be given the following options: 
 +  * **General:** This report shows some of the simple settings for all the master lists (whether it is a program, whether it is a patient list, whether it will have new items automatically added to it etc.){{ :items:master_list_general_report.png?800 |}} 
 +  * **Cross tab: Item vs Master list:** Opens directly in Excel. The rows are all the items on master lists, the columns are all the master lists and the cells contain //Yes// if the item is on that master list. {{ :items:master_list_cross_tab.png?800 |}} 
 +  * **Items without master list:** This shows all the items in your datafile that are not included on any master list. {{ :items:master_list_items_not_on.png?800 |}} 
 + 
 + 
 + 
 +=====Assigning a list to a customer=====
  
 To assign a list to a customer, the customer's details need to be on screen; Choose **Customer > Show customers** , or using the Navigator, select // Show customers// , fill in the appropriate details, and press //Find//, or just press //Find//, then double click the entry required on the // Names // list To assign a list to a customer, the customer's details need to be on screen; Choose **Customer > Show customers** , or using the Navigator, select // Show customers// , fill in the appropriate details, and press //Find//, or just press //Find//, then double click the entry required on the // Names // list
Line 103: Line 154:
  
 == Buttons in the Item Lists section: == == Buttons in the Item Lists section: ==
 +  * **Add Master list:** Click this to select a master list to add to the customer from a list of all master lists which have been created.
  
- +{{ :items:names-item-masterlists.png?650 |}} 
-  * **Add Master list: **From the list of master lists which have been created, double click on the name of the desired list. +  
-  * **Add Local list: **This serves to cater, for example, for the situation where a patient with a rare disease requiring medicines not normally stocked, collects these medicines from the local Health Centre. In this example, a patient attending London Dispensary requires tetracosactide, and so a local list (London local) has been created with a single entry, //Griseofulvin// +  * **Delete list:** Select master list and click on this button to un-assign it from this customer. The master list remains in mSupply, it is not deleted.
- +
-{{ :items:edit_customer_supplier.jpg |}} +
- +
-  * **Copy from Master list: **This feature would normally be used where specific customer's drug needs differ to a minor degree from the drugs listed in one of the Master lists, or under the Imprest system where the stock levels are different from those defined on a Master list; first click on the // Add Master list // icon, select the appropriate Master list, add it, and it will appear under List name. With that list highlighted, click on the // Copy from Master // icon, and a new entry appears displaying the name of the Master list followed by `(local)'. The Master list may then be deleted, and the local copy modified and renamed as appropriate. +
-  * **Delete list: ** Two distinct functions are performed, depending on whether a Master list or a Local list is selected +
-   if applied to a Master list of which the present customer is a member, it has the effect of removing that list from this customer's Favourites. The Master list remains in mSupply+
-   - If applied to a Local list, it allows deletion of the list, but only after all the items have been removed from the list by making use of the // Delete Lines// feature. +
-  * **Add item:** Once you have selected a list, this allows you to add an item to that list. +
- +
-<WRAP center round tip 60%> +
-You can only add items to a local list. If there are no buttons visible above the item list, it is because you don't have any local lists for this customer (or if you do, you haven't clicked on that local list to highlight it first) +
-</WRAP>+
  
 <WRAP center round important 60%> <WRAP center round important 60%>
Line 133: Line 173:
     * Choose whether to send to Excel(r) or your printer.     * Choose whether to send to Excel(r) or your printer.
     * Click **Generate**     * Click **Generate**
-== Buttons in the Items section: == 
  
-<WRAP center round info 60%> 
-These icons appear only when a local list is selected; for obvious reasons, Master lists cannot be edited here. 
-</WRAP> 
- 
- 
-  * **Add Item** Self explanatory! Allows you to add required lines to the local list. 
-  * **Delete Item(s)** Lines may be deleted, either singly or, by selecting multiple lines, they may be deleted together. 
-  * **Save sort order** Allows you to save the list according to how you have sorted it here. 
  
 == Information button == == Information button ==
Line 158: Line 189:
   * **Imprest**: If checked, this list will populate an [[issuing_goods:stock_control_methods#the_stock_history_method#the_imprest_method|imprest customer stock history]] created for the customer.   * **Imprest**: If checked, this list will populate an [[issuing_goods:stock_control_methods#the_stock_history_method#the_imprest_method|imprest customer stock history]] created for the customer.
   * **Customer stock history**: If checked, this list will populate a [[issuing_goods:stock_control_methods#the_stock_history_method|customer stock history]] created for the customer.   * **Customer stock history**: If checked, this list will populate a [[issuing_goods:stock_control_methods#the_stock_history_method|customer stock history]] created for the customer.
-  * **Ordering list for web**: Means that the list represents all items that the customer can order using the [[web_interface:msupply_customer|mSupply Customer interface]]. If a customer who uses the customer interface for ordering stock does not have a list with this option checked, they will not be able to order any items.+  * **Ordering list for web**: Means that the list represents all items that the customer can order using the [[web_interface:msupply_customer_setup|mSupply Customer interface]]. If a customer who uses the customer interface for ordering stock does not have a list with this option checked, they will not be able to order any items.
   * **Price list**: Means that the prices on this list will be used for these items when they are being distributed to this customer on a customer invoice. The price on this list will override any sell prices that individual stock lines have. Only one list can have this option checked for each customer.   * **Price list**: Means that the prices on this list will be used for these items when they are being distributed to this customer on a customer invoice. The price on this list will override any sell prices that individual stock lines have. Only one list can have this option checked for each customer.
  
-==== Using Master Lists to control Item visibility in Stores ====+===== Using master lists to control item visibility in stores =====
  
-You can use master lists to control item visibility in each store, by checking the [[preferences:general#item| Items ]] preference box //'Automatically update item visibility in all stores to match master lists used by each store'//. This will make the items visible in each individual store match exactly the items included in the master list(s) selected for that store. <WRAP clear/>+You can use master lists to control item visibility in each store. This will make the items visible in each individual store match exactly the items included in the master list(s) selected for that store.
  
-**Example** <WRAP clear/> +<WRAP center round alert 60%> 
-There are 100 satellite stores, and you want all of them to have the same item visibility:<WRAP clear/>+<wrap em>Control of item visibility by master list can have drastic unintended consequences!\\ It affects **ALL** stores in the system.</wrap
 +  * Do not turn it on unless you know what you are doing! 
 +</WRAP>
  
-1. Create a master list and add some items<WRAP clear/+<WRAP center round important
-2Go to each store and make sure that the master list is selected<WRAP clear/> +One unintended consequence:  An mSupply store can only order from another mSupply store those items that are on master lists which have been assigned to //both// stores. 
-3Turn on the [[preferences:general#item|preference]] //'Automatically update item visibility in all stores to match master lists used by each store'//+ 
 +For example: 
 + 
 +**Central store** has the following master lists assigned: 
 +  * **All items** (includes all items in the system) 
 +  * **HIV items** 
 + 
 +**Kathmandu store** has the following master lists assigned: 
 +  * **HIV items** 
 +  * **TB items** 
 + 
 +**Kathmandu store** tries to place order from the **Central store** for: 
 +  * Items on the **HIV items** master list.  This succeeds, because both stores have been assigned the **HIV items** master list. 
 +  * Items on the **TB items** master list.  This <wrap em>fails</wrap> because the **TB items** master list has not been assigned to the **Central store**, //even though// the TB items are all included in the **All items** master list .
  
-<WRAP center round tip 60%> 
-This preference can drastically affect item visibility.<WRAP clear/> 
-A temporary list is created for each store containing items that cannot be removed from visibility when the master list preference is activated.<WRAP clear/> 
- Do not turn it on unless you know what you are doing! 
-It affects **ALL** stores in the system. 
 </WRAP> </WRAP>
  
-Now whenever an item is added or removed from this master list, the preference will automatically update the visibility for all of the 100 stores, so that the items visible for each individual store matches the items included in the master list.<WRAP clear/>+=== Procedure - item visibility ===
  
-  * Adding an item to a master list will automatically add that item to visibility for all stores using that master list +For example, let's say there are 100 stores, and you want all of them to have the same item visibility:
-  * Deleting an item from a master list will automatically remove that item from visibility for each store using that master list, given it is not included in another master list in use by each store respectively.+
  
-<WRAP center round tip 60%>+  - Create a master list and add some items 
 +  - Go to each store and make sure that the master list is selected 
 +  - Turn on the [[preferences:general#item_tab|preference]]:\\ **Automatically update item visibility in all stores to match master lists used by each store**<WRAP center round info 60%> 
 +A temporary list is created for each store containing items that cannot be removed from visibility when the master list preference is activated, normally because there is stock of the item in the store. 
 +</WRAP> 
 +  - Now whenever an item is added or removed from this master list, the preference will automatically update the visibility for all of the 100 stores, so that the items visible for each individual store matches the items included in the master list. 
 +  - Adding an item to a master list will automatically add that item to visibility for all stores using that master list 
 +  - Deleting an item from a master list will automatically remove that item from visibility for each store using that master list, given it is not included in another master list in use by each store respectively. 
 + 
 +<WRAP center round important 60%>
 When deleting items from a master list, mSupply will first check all stores using the master list to make sure it is safe to remove that item. It is unsafe if the item has //stock on hand and isn't included in another master list// for any stores using master list you are editing.  When deleting items from a master list, mSupply will first check all stores using the master list to make sure it is safe to remove that item. It is unsafe if the item has //stock on hand and isn't included in another master list// for any stores using master list you are editing. 
 </WRAP> </WRAP>
  
-To create a large master list, you can export all items to be added to mSupply, and then import them to the master list [[items:master_lists#import_item_list|see above]].+<WRAP center round tip 60%> 
 +If you've been running your mSupply for some time without controlling item visibility by master list and you now want to move to it, you will likely want to start by creating a master list containing **ALL items** and applying visibility to all existing stores according to that **ALL items** master list.  Then, over time, different master lists can be created and applied to those existing stores. 
 + 
 +To create a **ALL items** master list, you can export all items, and then import them to the master list, refer [[items:master_lists#import_item_list|above]]
 +</WRAP> 
 + 
 +===== Master list Tips ===== 
 + 
 +=== Creating a re-ordered master list === 
 + 
 +You may need to create a new master list which is similar to an existing one, but with significant changes, including, particularly, changing the sort order.   
 + 
 +== Small master list: == 
 + 
 +If this is a small list, this is relatively easily achievable by: 
 + 
 +  - Select 'source' master list 
 +  - Duplicate it to the new master list 
 +  - Add any new items to the temporary master list 
 +  - Re-organise the list to the desired sort order 
 + 
 +== Large master list: == 
 + 
 +However, if the list is a long one, then the re-organising can be extremely tedious, especially over a dodgy internet connection to the Central server (editing master lists must happen on the Central Server)!  This is best achieved by: 
 + 
 +  - Select 'source' master list 
 +  - **Duplicate** it to a temporary master list 
 +  - Add any new items to the temporary master list 
 +  - **Copy to clipboard** (using button) 
 +  - Open a blank Excel sheet and Paste the clipboard in to cell A1 
 +  - Delete the first four lines in the spreadsheet 
 +  - [[https://support.office.com/en-us/article/quick-start-filter-data-by-using-an-autofilter-08647e19-11d1-42f6-b376-27b932e186e0|Filter]] the table of data 
 +  - Do the necessary edits including any re-ordering 
 +  - Save as a tab separated values text file 
 +  - Back in mSupply, create your new master list from scratch (**Add master list** button). 
 +  - **Import master list** (using button) 
 +  - Once you've verified that it worked the way you wanted it to, **Delete** the temporary master list 
 + 
 +== Re-order existing master list == 
 + 
 +This method can even be used to effectively re-order an existing master list, but be careful; stop any syncing if in a synced system, and take a backup of your datafile before embarking on this: 
 + 
 +Method 1: 
 + 
 +  - Stop syncing (if in a synced system) and make a backup. 
 +  - Create your new, correctly ordered master list as described above. 
 +  - Assign this list to all the same names as the original master list was assigned to. 
 +  - Unassign the original master list to all names 
 +  - Delete the original master list 
 +  - Rename new list 
 + 
 +Method 2: 
 + 
 +  - Stop syncing (if in a synced system) and make a backup. 
 +  - Create the tab delimited text file for your new, correctly ordered master list as described above. 
 +  - Delete all but one of the items on the original master list.  This one item is ideally the item that will be at the 'top' of the reordered list. 
 +  - Import the tab delimited text file to the original master list. 
 + 
 +This is scarier (deleting items of master lists is a big deal), but avoids the need for steps 3 - 6 of Method 1. 
 + 
 +=== Removing an item from a master list when it is currently in stock === 
 +There are a number of circumstances under which you will need to remove an item from a master list when it is currently in stock including: 
 +  * The item is being phased out and you don't want facilities to be able to order it 
 +  * The item should never have been on the master list and users have accidentally recorded stock of the item 
 + 
 +In these cases, it is relatively straightforward to [[items:master_lists#remove_item_s|remove an item from a master list]] - //except// that if your system is [[items:master_lists#using_master_lists_to_control_item_visibility_in_stores|using master lists to control item visibility in stores]], then: 
 +<WRAP center round box 90%> 
 +mSupply will <wrap em>not allow you to remove an item from a master list</wrap> IF **any** store that is assigned to that master list has: 
 +  * The item currently in stock AND 
 +  * The item is not on any //other// master list assigned to that store. 
 +</WRAP> 
 + 
 + 
 +There are two options open to you: 
 +== Wait for all stock to be removed == 
 +Wait for //all// stock to be removed from //all// the affected stores before you remove the item(s) from the master list.  This is a particularly painful process if there are many affected stores.  While you are waiting for the last store to remove the item, other stores can continue to receive and stock the item! 
 + 
 +== Use a temporary master list to assist with the process == 
 +  - Create a temporary master list with the item(s) to be removed. 
 +  - Assign the temporary master list to all the affected stores that still hold stock of the item(s). 
 +  - Remove the item from the original master list.  This should now be possible as the condition above should be met. 
 +  - As each store removes the stock of the item(s), un-assign the temporary master list from the store. 
 +  - Once all stores have removed stock of the item(s), the temporary master list can be deleted.
  
  
-// Previous: [[items:item_categories|Item categories]]     Next: [[items:item_locations|Item locations]]//+\\ 
 +\\ 
 +|  //  Previous:  **[[items:item_categories]]** | | Next: **[[items:programs]]** //  |
 ---- struct data ---- ---- struct data ----
 +pagestatus.status    : 
 ---- ----
  
  • Last modified: 2019/06/19 01:34
  • by mark