Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0042870Openbravo ERP04. Warehouse managementpublic2020-01-14 12:432020-01-20 12:38
gorkaion 
AtulOpenbravo 
immediatemajoralways
closedfixed 
5
 
3.0PR19Q3.43.0PR19Q3.4 
dmiguelez
Core
Production - Confirmed Stable
3.0PR19Q3
https://code.openbravo.com/erp/devel/pi/rev/e4ecb0f34be7fcdd0626f218bf39fe5573ea0fff [^]
No
0042870: Inventory Amount Update process tries to create Physical Inventories in organizations no trx allowed
The Inventory Amount Update process generates closing and init inventories to adjust the cost. These inventories as per fix of issue 0040539 are created on the organization where the warehouse adjusted is created.

If the warehouse is defined in a organization of type "Organization" that do not allow transaction the process fails. As it is trying to generate the Physical Inventories on that organization.

In this scenario it should search the first parent organization that allows transactions (business unit or legal entity) and generate the physical inventories on it.
On F&B client.

1. Create a new organization (name: Org A) child of F&B España, S.A of type Organization.
2. Create a new organization (name: Generic) child of "Org A" of type Generic.
3. Create a new warehouse (name: Test WH) on organization "Org A"
3. Create a new Product (name: Test) of type item and stocked.
4. Create a physical inventory to initialize the stock of the product "Test" on the warehouse "Test WH" set a cost of 10 EUR before processing the inventory.
5. Ensure that the coting background process is executed and that the transaction of the physical inventory is calculated.
6. Create a new Inventory Amount Update headed on "F&B España, S.A"
7. Create a new line of product "Test" and change the cost to 15.
8. Process the Inventory Amount Update.

The process fails as it is trying to create an inventory on the organization "Org A" which is not allowed.
In case the warehouse is defined on a organization that does not allow transactions the process should search the first parent organization that allow transactions and create the physical inventory on it.

This parent organization can be a Business Unit or the Legal Organization. Initialize a OrganziationStructureProvider and calculate the org as:
invOrg = osp.getLegalEntityOrBusinessUnit(closeInv.getWarehouse().getOrganization());
No tags attached.
blocks defect 0042847 closed AtulOpenbravo Inventory Amount Update process tries to create Physical Inventories in organizations no trx allowed 
Issue History
2020-01-14 16:48AtulOpenbravoTypedefect => backport
2020-01-14 16:48AtulOpenbravoTarget Version => 3.0PR19Q3.4
2020-01-15 20:14AtulOpenbravoNote Added: 0116912
2020-01-17 05:22AtulOpenbravoNote Added: 0116955
2020-01-20 12:27hgbotCheckin
2020-01-20 12:27hgbotNote Added: 0117058
2020-01-20 12:27hgbotStatusscheduled => resolved
2020-01-20 12:27hgbotResolutionopen => fixed
2020-01-20 12:27hgbotFixed in SCM revision => http://code.openbravo.com/erp/backports/3.0PR19Q3.4/rev/1d4371e10299996a651ce92cd969bcb2013ab9a8 [^]
2020-01-20 12:27hgbotCheckin
2020-01-20 12:27hgbotNote Added: 0117059
2020-01-20 12:38dmiguelezReview Assigned To => dmiguelez
2020-01-20 12:38dmiguelezNote Added: 0117066
2020-01-20 12:38dmiguelezStatusresolved => closed
2020-01-20 12:38dmiguelezFixed in Version => 3.0PR19Q3.4

Notes
(0116912)
AtulOpenbravo   
2020-01-15 20:14   
Test Plan

Login with F&B International Group Admin.

- Using Initial Organization Setup, create a new organization (name: Org A) child of F&B España, S.A of type Organization.
- Navigate to Organization window, select organization created in above step, set Summary Level = Yes, Set it as Ready.
- Using Initial Organization setup, Create a new organization (name: Generic) child of "Org A" of type Generic.
- Navigate to Organization window, select above created organization, Set it as Ready
- Create a new warehouse (name: Test WH) on organization "Org A"
- Create a new Product (name: Test) of type item and stocked.
- Create a physical inventory to initialize the stock of the product "Test" on the warehouse "Test WH" set a cost of 10 EUR before processing the inventory.
- Ensure that the costing background process is executed and that the transaction of the physical inventory is calculated.
- Create a new Inventory Amount Update headed on "F&B España, S.A"
- Create a new line of product "Test" and change the cost to 15.
- Process the Inventory Amount Update.
- Realize that process is completed successfully, Physical Inventory transactions for Inventory Amount Update Closing & Opening Inventory are created in Organization F&B España, S.A as this is organization in parent organization list of Org A having Org Type where Transactions are allowed.
(0116955)
AtulOpenbravo   
2020-01-17 05:22   
Login with F&B International Group Admin.

- Create a new warehouse (name: Test WH) in organization "F&B International Group Org" and create a Storage Bin under it.
- Create a new Product (name: Test) of type item and stocked in same Org as above.
- Create a physical inventory in "F&B España, S.A" org to initialize the stock of the product "Test" in the warehouse "Test WH", set a cost of 10 EUR before processing the inventory.
- Ensure that the costing background process is executed and that the transaction of the physical inventory is calculated.
- Create a new Inventory Amount Update headed on "F&B España, S.A"
- Create a new line of product "Test" and change the cost to 15.
- Process the Inventory Amount Update.
- Realize that process is completed successfully, Physical Inventory transactions for Inventory Amount Update Closing & Opening Inventory are created in Organization F&B España, S.A. (Is the one referred from Inventory Line)
(0117058)
hgbot   
2020-01-20 12:27   
Repository: erp/backports/3.0PR19Q3.4
Changeset: 1d4371e10299996a651ce92cd969bcb2013ab9a8
Author: Atul Gaware <atul.gaware <at> openbravo.com>
Date: Fri Jan 17 09:49:06 2020 +0530
URL: http://code.openbravo.com/erp/backports/3.0PR19Q3.4/rev/1d4371e10299996a651ce92cd969bcb2013ab9a8 [^]

Fixes BUG-42870:Inventory Amount Update process tries to create
Physical Inventories in organizations no trx allowed

**Use Organization from the Parent list of Warehouse Organization
whose organization type has transaction allowed flag set as Yes,
if no such organization is found, the use Organization from the
Inventory Line.

---
M src/org/openbravo/costing/InventoryAmountUpdateProcess.java
---
(0117059)
hgbot   
2020-01-20 12:27   
Repository: erp/backports/3.0PR19Q3.4
Changeset: 9bb45c7a8667b06c65b69d4be7e10effd5cfda91
Author: David Miguelez <david.miguelez <at> openbravo.com>
Date: Mon Jan 20 11:37:25 2020 +0100
URL: http://code.openbravo.com/erp/backports/3.0PR19Q3.4/rev/9bb45c7a8667b06c65b69d4be7e10effd5cfda91 [^]

Related to ISSUE-42870: Code Review Changes.

* Added final modifier to variables and parameters
* Extracted code to it's own method to improve redability

---
M src/org/openbravo/costing/InventoryAmountUpdateProcess.java
---
(0117066)
dmiguelez   
2020-01-20 12:38   
Code Review + Testing Ok