diff --git a/modules/purchase_trade/docs/business-rules.md b/modules/purchase_trade/docs/business-rules.md
index aae36ba..6520797 100644
--- a/modules/purchase_trade/docs/business-rules.md
+++ b/modules/purchase_trade/docs/business-rules.md
@@ -710,7 +710,7 @@ Owner technique: `a completer`
`sale_date`.
- Si le filtre `Side` vaut `All`, une ligne est conservee si son
`purchase_date` ou son `sale_date` entre dans les bornes.
- - Le filtre `Book` du rapport cible une valeur de dimension analytique
+ - Le filtre `Dimension` du rapport cible une valeur de dimension analytique
rattachee au contrat achat ou vente via `analytic.dimension.assignment`.
- Le filtre `Strategy` cible les strategies MTM rattachees aux lignes achat
ou vente (`purchase.strategy` / `sale.strategy`).
diff --git a/modules/purchase_trade/lot.py b/modules/purchase_trade/lot.py
index 46ce27b..97a6df5 100755
--- a/modules/purchase_trade/lot.py
+++ b/modules/purchase_trade/lot.py
@@ -1223,7 +1223,7 @@ class LotQt(
state=None, qttype=None, supplier=None, client=None, ps=None,
lot_status=None, group=None, product=None, location=None,
origin=None, finished=False, shipping_status=None, asof=None,
- todate=None, book=None, strategy=None):
+ todate=None, dimension=None, strategy=None):
pool = Pool()
LotQt = pool.get('lot.qt')
lqt = LotQt.__table__()
@@ -1289,20 +1289,21 @@ class LotQt(
return sale_clause
return purchase_clause | sale_clause
- def book_filter(purchase_id, sale_id):
- if not book:
+ def dimension_filter(purchase_id, sale_id):
+ if not dimension:
return None
- purchase_book = Exists(ada.select(
+ purchase_dimension = Exists(ada.select(
ada.id,
- where=((ada.purchase == purchase_id) & (ada.value == book))))
- sale_book = Exists(ada.select(
+ where=((ada.purchase == purchase_id)
+ & (ada.value == dimension))))
+ sale_dimension = Exists(ada.select(
ada.id,
- where=((ada.sale == sale_id) & (ada.value == book))))
+ where=((ada.sale == sale_id) & (ada.value == dimension))))
if ps == 'P':
- return purchase_book
+ return purchase_dimension
elif ps == 'S':
- return sale_book
- return purchase_book | sale_book
+ return sale_dimension
+ return purchase_dimension | sale_dimension
wh = ((lqt.lot_quantity > 0) & ((lp.lot_type == 'virtual') | (ls.lot_type == 'virtual')))
@@ -1330,9 +1331,9 @@ class LotQt(
date_clause = date_filter(pu.purchase_date, sa.sale_date)
if date_clause is not None:
wh &= date_clause
- book_clause = book_filter(pu.id, sa.id)
- if book_clause is not None:
- wh &= book_clause
+ dimension_clause = dimension_filter(pu.id, sa.id)
+ if dimension_clause is not None:
+ wh &= dimension_clause
if strategy:
purchase_strategy = Exists(pstr.select(
pstr.id,
@@ -1468,9 +1469,9 @@ class LotQt(
date_clause = date_filter(pu.purchase_date, sa.sale_date)
if date_clause is not None:
wh2 &= date_clause
- book_clause = book_filter(pu.id, sa.id)
- if book_clause is not None:
- wh2 &= book_clause
+ dimension_clause = dimension_filter(pu.id, sa.id)
+ if dimension_clause is not None:
+ wh2 &= dimension_clause
if strategy:
purchase_strategy = Exists(pstr.select(
pstr.id,
@@ -2017,7 +2018,7 @@ class LotReport(
shipping_status = context.get('shipping_status')
asof = context.get('asof')
todate = context.get('todate')
- book = context.get('book')
+ dimension = context.get('dimension')
strategy = context.get('strategy')
finished = context.get('finished')
query = LotQT.getQuery(
@@ -2038,7 +2039,7 @@ class LotReport(
shipping_status=shipping_status,
asof=asof,
todate=todate,
- book=book,
+ dimension=dimension,
strategy=strategy)
return query
@@ -2090,7 +2091,7 @@ class LotContext(ModelView):
client = fields.Many2One('party.party', "Client")
sale = fields.Many2One('sale.sale', "Sale")
shipment = fields.Many2One('stock.shipment.in', "Shipment")
- book = fields.Many2One('analytic.dimension.value', "Book")
+ dimension = fields.Many2One('analytic.dimension.value', "Dimension")
strategy = fields.Many2One('mtm.strategy', "Strategy")
product = fields.Many2One('product.product',"Product")
location = fields.Many2One('stock.location',"Location")
@@ -2149,19 +2150,7 @@ class LotContext(ModelView):
def default_finished(cls):
return False
- @classmethod
- def default_asof(cls):
- pool = Pool()
- Date = pool.get('ir.date')
- return Date.today().replace(day=1,month=1,year=1999)
-
- @classmethod
- def default_todate(cls):
- pool = Pool()
- Date = pool.get('ir.date')
- return Date.today()
-
- @classmethod
+ @classmethod
def default_type(cls):
return 'all'
@@ -2198,7 +2187,7 @@ class LotContext(ModelView):
fields_names = fields_names.copy() if fields_names is not None else []
for field_name in [
'purchase', 'sale', 'shipment', 'supplier', 'client',
- 'book', 'strategy', 'product', 'location', 'type',
+ 'dimension', 'strategy', 'product', 'location', 'type',
'shipping_status', 'ps', 'state', 'wh', 'mode', 'group',
'origin', 'finished', 'asof', 'todate']:
if field_name not in fields_names:
diff --git a/modules/purchase_trade/view/lot_report_context_form.xml b/modules/purchase_trade/view/lot_report_context_form.xml
index 805d5ce..0ec0c39 100755
--- a/modules/purchase_trade/view/lot_report_context_form.xml
+++ b/modules/purchase_trade/view/lot_report_context_form.xml
@@ -9,8 +9,8 @@
-
-
+
+