diff --git a/issue53451002_1_10001.diff b/issue53451002_1_10001.diff index 2bd02f5..c740398 100644 --- a/issue53451002_1_10001.diff +++ b/issue53451002_1_10001.diff @@ -1,7 +1,7 @@ -diff -r ead64e2dd6eb move.py ---- a/trytond/trytond/modules/stock/move.py Thu Apr 04 17:11:50 2019 +0200 -+++ b/trytond/trytond/modules/stock/move.py Thu Apr 04 17:18:03 2019 +0200 -@@ -937,7 +937,8 @@ +diff -r f95dbecc064f trytond/trytond/modules/stock/move.py +--- a/trytond/trytond/modules/stock/move.py Thu May 02 09:50:09 2019 +0200 ++++ b/trytond/trytond/modules/stock/move.py Thu May 02 09:52:21 2019 +0200 +@@ -904,7 +904,8 @@ @classmethod def compute_quantities_query(cls, location_ids, with_childs=False, @@ -11,7 +11,7 @@ diff -r ead64e2dd6eb move.py """ Prepare a query object to compute for each location and product the stock quantity in the default uom of the product. -@@ -955,6 +956,8 @@ +@@ -922,6 +923,8 @@ stock_skip_warehouse: if set, quantities on a warehouse are no more quantities of all child locations but quantities of the storage zone. @@ -20,7 +20,7 @@ diff -r ead64e2dd6eb move.py If with_childs, it computes also for child locations. grouping is a tuple of Move (or Product if prefixed by 'product.') field names and defines how stock moves are grouped. -@@ -1007,7 +1010,7 @@ +@@ -974,7 +977,7 @@ if use_product: product = Product.__table__() columns = ['id', 'state', 'effective_date', 'planned_date', @@ -29,7 +29,7 @@ diff -r ead64e2dd6eb move.py columns += [c for c in grouping if c not in columns] columns = [get_column(c, move, product) for c in columns] move = (move -@@ -1020,7 +1023,7 @@ +@@ -987,7 +990,7 @@ period_cache = PeriodCache.__table__() if use_product: product_cache = Product.__table__() @@ -38,7 +38,7 @@ diff -r ead64e2dd6eb move.py columns += [c for c in grouping if c not in columns] columns = [get_column(c, period_cache, product_cache) for c in columns] -@@ -1037,7 +1040,7 @@ +@@ -1004,7 +1007,7 @@ to_location = Location.__table__() to_parent_location = Location.__table__() columns = ['id', 'state', 'effective_date', 'planned_date', @@ -47,7 +47,7 @@ diff -r ead64e2dd6eb move.py columns += [c for c in grouping if c not in columns] columns = [Column(move, c).as_(c) for c in columns] -@@ -1092,7 +1095,7 @@ +@@ -1059,7 +1062,7 @@ if PeriodCache: location = Location.__table__() parent_location = Location.__table__() @@ -56,7 +56,7 @@ diff -r ead64e2dd6eb move.py columns = [Column(period_cache, c).as_(c) for c in columns] period_cache = Union( period_cache.select( -@@ -1290,7 +1293,7 @@ +@@ -1257,7 +1260,7 @@ move_keys_alias = [Column(move, key).as_(key) for key in grouping] move_keys = [Column(move, key) for key in grouping] query = move.select(move.to_location.as_('location'), @@ -65,7 +65,7 @@ diff -r ead64e2dd6eb move.py *move_keys_alias, where=state_date_clause_in & where -@@ -1300,7 +1303,7 @@ +@@ -1267,7 +1270,7 @@ & dest_clause_from, group_by=[move.to_location] + move_keys) query = Union(query, move.select(move.from_location.as_('location'), @@ -74,7 +74,7 @@ diff -r ead64e2dd6eb move.py *move_keys_alias, where=state_date_clause_out & where -@@ -1315,7 +1318,7 @@ +@@ -1282,7 +1285,7 @@ for key in grouping] query = Union(query, from_period.select( period_cache.location.as_('location'), @@ -83,3 +83,11 @@ diff -r ead64e2dd6eb move.py *period_keys, where=(period_cache.period == (period.id if period else None)) +@@ -1391,7 +1394,7 @@ + for key, quantity in quantities.items(): + location = key[0] + uom = default_uom[id_getter(key)] +- quantities[key] = uom.round(quantity) ++ quantities[key] = uom.round(quantity) if quantity else 0 + + return quantities