← Back to team overview

openerp-wms-expert team mailing list archive

[Bug 1008099] [NEW] stock inventory - wrong stock_moves if moves with prodlots and without exists for one product and location

 

You have been subscribed to a public bug by Numérigraphe (numerigraphe):

the following code in
stock/product.py
does not distinguish between
* select all move_lines without prodlots
* select all move_lines with prodlot = null

a query without prodlot returns all moves regardless if these have lots
and not

this gives very wrong results for inventory postings

the fix is complex and for now I put in into the module
http://bazaar.launchpad.net/~c2c/c2c-rd-addons/trunk/files/head:/c2c_stock_accounting/
stock.py
wizard/stock_fill_inventory.py

I didn't want to patch stock/product.py because it might break some
applications which rely on exaclty this behavior.

257     # TODO: perhaps merge in one query.
258         if date_values:
259             where.append(tuple(date_values))
260         if 'in' in what:
261             # all moves from a location out of the set to a location in the set
262             cr.execute(
263                 'select sum(product_qty), product_id, product_uom '\
264                 'from stock_move '\
265                 'where location_dest_id IN %s '\
266                 'and product_id IN %s '\
267                 '' + (prodlot_id and ('and prodlot_id = ' + str(prodlot_id)) or '') + ' '\
268                 'and state IN %s ' + (date_str and 'and '+date_str+' ' or '') +' '\
269                 'group by product_id,product_uom',tuple(where))
270             results = cr.fetchall()
271         if 'out' in what:
272             # all moves from a location in the set to a location out of the set
273             cr.execute(
274                 'select sum(product_qty), product_id, product_uom '\
275                 'from stock_move '\
276                 'where location_id IN %s '\
277                 'and product_id  IN %s '\
278                 '' + (prodlot_id and ('and prodlot_id = ' + str(prodlot_id)) or '') + ' '\
279                 'and state in %s ' + (date_str and 'and '+date_str+' ' or '') + ' '\
280                 'group by product_id,product_uom',tuple(where))
281             results2 = cr.fetchall()

** Affects: openobject-addons
     Importance: Undecided
         Status: New

-- 
stock inventory - wrong stock_moves if moves with prodlots and without exists for one  product and location
https://bugs.launchpad.net/bugs/1008099
You received this bug notification because you are a member of OpenERP WMS Expert, which is subscribed to the bug report.