Help

3

sale_stock not working in Odoo v8

Avatar
E.M.

Hi,


I am trying to deploy a custom module which relates certain fields from order to stock.picking.

I was about to use sale_id relation in stock_picking,and  I just realized that sale_id is not in stock_picking table.

I checked sale_stock installation, it seems to be properly installed but the field is not there.

Is there any known issue with sale_stock in Odoo v8?


Avatar
Discard
2 Answers
7

Hello E.M.,

You are right. There is a field given named "sale_id" in the module. If you go to stock_picking table in the database, you won't see sale_id field.

The reason is that, the field is a function (auto compute) field and is not stored (store=True/False) into the database picking table. That is why you can't use this field in database query but you can access the function field using browse, read method.

Hope this will help you.

5 Comments
Avatar
Discard
Avatar
E.M.
-

It helps a lot. Now I understand. A side question (which is the one that originated this finding), can I reach a field in account_invoice from sales_order? I am trying to reach payment_method from stock_picking via this sale_id.

There is a m2m field called "invoice_ids" in Sale Order which contains all the Invoices related to the SO. https://github.com/odoo/odoo/blob/8.0/addons/sale/sale.py#L220

Avatar
E.M.
-

Thanks. I tried to extend stock.picking class: @api.depends(''sale_id.invoice_ids','sale_id.invoice_ids.payment_method_id','sale_id.invoice_ids.payment_method_id.name') def _get_payment_terms(self): ... self.payment_method = self.sale_id.invoice_ids and self.sale_id.invoice_ids[0].payment_method_id and self.sale_id.invoice_ids[0].payment_method_id.name or False ... payment_method = fields.Char(compute='_get_payment_terms',string='Payment Method',readonly=True) But when loading the module it says fields = [model._fields[head]] KeyError: 'payment_method_id' Is there anything obvious I could be missing?

Would you please create a new question for this? It will be hard to answer in comment.

Avatar
E.M.
-

You are right, I will do it right now.

0
Avatar
Dr Obx
Best Answer

Great job ;)

Avatar
Discard