[ https://issues.apache.org/jira/browse/OFBIZ-12264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17516489#comment-17516489 ]
ASF subversion and git services commented on OFBIZ-12264: --------------------------------------------------------- Commit ae37f446d7054c9b2e513a3af36752b802a03af5 in ofbiz-framework's branch refs/heads/release22.01 from Giulio Speri [ https://gitbox.apache.org/repos/asf?p=ofbiz-framework.git;h=ae37f44 ] Fixed: multiple facility inventory reservation issue (OFBIZ-12264) The ProductStore is set up to reserve inventory from more than one facility, so the flag oneInventoryFacility is set to N. Flags requireInventory and reserveInventory are both to Y. Flag allocateInventory is N. A product can be anyway reserved in a ProductStoreFacility with its thru date set and past, so is disabled, and if is not present enough inventory quantity on other facilities. Added filtering by date on multiple facility code in reserveStoreInventoryMethod() and on isStoreInventoryAvailable(). This is the first part of the problem resolution; the second part is accomplished by path to OFBIZ-12455 Jira. Thanks: Jacques Le Roux and Pierre SMith for Jira feedbacks, Nicola Mazzoni for helping in bug analaysis and Jacopo Cappellato for path review. > Multiple Facility Inventory reservation does not consider store facility thru > date > ---------------------------------------------------------------------------------- > > Key: OFBIZ-12264 > URL: https://issues.apache.org/jira/browse/OFBIZ-12264 > Project: OFBiz > Issue Type: Bug > Components: ecommerce, product > Affects Versions: Release Branch 18.12, 17.12.03, Trunk, 17.12.04, > 17.12.05, 17.12.06, 17.12.07, 18.12.06 > Environment: Linux/Ubuntu 18.04 LTS, Java jdk 8, OFBiz v13.07.03 > > Reporter: Giulio Speri > Assignee: Giulio Speri > Priority: Major > Labels: backport-needed > Attachments: OFBIZ-12264_13122021_trunk.patch, > OFBIZ-12264_v130703.patch, OFBIZ-12264_v17.patch, Screenshot from 2021-11-12 > 01-58-45.png, image-2021-06-24-00-35-10-392.png, > image-2021-06-24-00-37-21-890.png, image-2021-06-24-00-40-41-737.png, > image-2021-06-24-00-41-56-344.png, image-2021-06-24-00-43-33-640.png, > image-2021-06-24-00-46-17-924.png, image-2021-06-24-00-49-23-904.png > > > The ProductStore is set up to reserve inventory from more than one facility, > so the flag oneInventoryFacility is set to N. > The we have 8 different facilities configured (each with a specific sequence > num from 1 to 8) in the entity ProductStoreFacility. > > Due to customer requests I had to disable 6 out of 8 facilities associated > with the store, so basically only facilities with (sequence) numbers 1 and 2 > are left. To achieve this I set the thruDate on the other six records. > > After that, an order came in with a variant product that had only 1 quantity > left available in one of the disabled facilities and 0 in both the two > facilities left enabled, but despite this the system reserved inventory from > the disabled facility: I wouldn't expect that. > > The service responsible for the reservation is reserveStoreInventory that in > our ofbiz version (13.07.03) is minilang and is implemented in > ProductStoreServices.xml: I checked that service and I noticed that when the > ProductStore is set to multi facility (oneInventoryFacility to N) and the > list of productStoreFacility records are retrieved, they are not filtered by > date, and this lead to a "bad" reservation. > I took a look also at the current revision of ofbiz and the code (groovy > script) is basically the same, so the issue is present there also. > > ADDITIONAL NOTE: > The the reservation should not be done for this product, but this part is > only the last step of the ecommerce sales order flow. > I think that with a scenario like the one above, the specific product variant > should not even be added to the cart, so in the item page (productdetail) > this particular variant should not have been visible/selected by the user. > But I have to take a better look at this part. -- This message was sent by Atlassian Jira (v8.20.1#820001)