Tuesday, January 9, 2024
2 changes
Resolved issues and error corrections
This update fixes three critical issues in the Barcode App: it now properly converts between barcode formats (EAN-13 to UPC-A), prevents scanning products from other companies, and correctly identifies products when using GS1 barcode standards. These fixes ensure that products are reliably found during scanning operations regardless of barcode format or company assignment.
Original PR description
This PR fixes 3 issues in `stock_barcode`: 1. Using the default barcode nomenclature, it's possible to convert EAN-13 to UPC-A and vice versa, but until now, it didn't work in the Barcode App; 2. In the Barcode App, it was possible to scan products who belong to another company thant the user's one; 3. While using the GS1 nomenclautre, it's possible some records barcode (like product's barcode or package's name) are interpreted as GS1 barcode because they match an AI rule. In case those parsed AI rule is not relevant and does nothing, we should also search records by their barcode to see if the barcode is simply a product or package. See commits for more information. task-3472884 Forward-Port-Of: odoo/enterprise#52780 Forward-Port-Of: odoo/enterprise#50715
This fix resolves a system crash that occurred when creating return orders for products with serial number tracking. The issue was caused by a recursive loop in the return processing logic that would cause the system to freeze. Users can now successfully process product returns without encountering errors.
Original PR description
Steps to reproduce the bug: - Create a storable product “P1”: - Tracking: SN - Update the qty: 1 unit, “SN1” - Create a SO with and validate it - Go to the delivery and validate it - Create a return and validate - Create a return of return Problem: error message: RecursionError: maximum recursion depth exceeded while calling a Python object The `_get_origin_moves` and `_get_destination_moves` functions add the list of origin or destination moves, but the functions themselves are called with that list, creating an infinite loop. opw-3659818