Show inventory as document on lot trace

Closes #12929
This commit is contained in:
Sergi Almacellas Abellana
2024-07-30 08:36:27 +02:00
parent a272672f9c
commit d83ed4e37c
2 changed files with 20 additions and 2 deletions
+1
View File
@@ -1,3 +1,4 @@
* Show inventory as document on lot trace
Version 7.2.0 - 2024-04-29
--------------------------
+19 -2
View File
@@ -196,6 +196,7 @@ class LotTrace(ModelSQL, ModelView):
company = fields.Many2One('company.company', "Company")
date = fields.Date("Date")
shipment = fields.Reference("Shipment", 'get_shipments')
origin = fields.Reference("Origin", 'get_origins')
document = fields.Function(
fields.Reference("Document", 'get_documents'), 'get_document')
@@ -240,6 +241,7 @@ class LotTrace(ModelSQL, ModelView):
move.company.as_('company'),
move.effective_date.as_('date'),
move.shipment.as_('shipment'),
move.origin.as_('origin'),
]
def get_rec_name(self, name):
@@ -251,13 +253,28 @@ class LotTrace(ModelSQL, ModelView):
Move = pool.get('stock.move')
return Move.get_shipment()
@classmethod
def get_origins(cls):
pool = Pool()
Move = pool.get('stock.move')
return Move.get_origin()
@classmethod
def get_documents(cls):
return cls.get_shipments()
pool = Pool()
Model = pool.get('ir.model')
return cls.get_shipments() + [
('stock.inventory', Model.get_name('stock.inventory'))]
def get_document(self, name):
pool = Pool()
InventoryLine = pool.get('stock.inventory.line')
document = None
if self.shipment:
return str(self.shipment)
document = str(self.shipment)
elif isinstance(self.origin, InventoryLine):
document = str(self.origin.inventory)
return str(document) if document else None
@classmethod
def _is_trace_move(cls, move):