尝试在Odoo10的销售订单行中返回产品的价值

时间:2017-10-26 06:31:19

标签: python-2.7 return-value onchange odoo-10 sales

我在销售订单中有一个基于product.product的Many2one('product_weight')字段。我尝试在销售订单行(产品)中返回该字段值。在product.template中我添加了一个check_box('is_weight')。因此,在'product_weight'的销售订单中,只有重量产品可用。那么,如何在销售订单行(product_id)中返回'product_weight'值?

我的代码在这里:

class sale_order_pet(models.Model):

    _inherit = "sale.order"

 product_weight = fields.Many2one('product.product', string='Service products', domain="[('is_weight','=',True)]")



    @api.onchange('product_id')

    def _onchange_action_weight_add(self):

        res = self.product_id

        print"resss:::", res

        if res:

            line_values = {'product_id': self.product_weight.id,

                           }

            sale_order_line = self.env['sale.order.line'].create(line_values)

提前致谢

2 个答案:

答案 0 :(得分:0)

您可以使用此代码:

    @api.onchange('product_weight ')

    def _onchange_action_weight_add(self):

        res = self.product_id

        print"resss:::", res

        if res:

            line_values = {
                  'order_id': self.id,
                  'product_id': self.product_weight.id,

                           }

            sale_order_line = self.env['sale.order.line'].create(line_values)

答案 1 :(得分:0)

试试这个:

<强> sale_order_line.py

  

class sale_order_line(models.Model):

     

_inherit =&#34; sale.order.line&#34;

     

product_weight = fields.Float(&#39;重量&#39;,

     

相关=&#39; product_id.weight&#39;,

     

digits = dp.get_precision(&#39;产品重量&#39;),

     

help =&#34; Kg内容物的重量,不包括任何包装,    。等&#34)

对于xml,您可以继承sale.view_order_form:

<强> sale_order_views.xml

<record id="view_weight_order_form" model="ir.ui.view">
            <field name="name">sale.order.form</field>
            <field name="model">sale.order</field>
            <field name="inherit_id" ref="sale.view_order_form"/>
            <field name="arch" type="xml">
                <xpath expr="//field[@name='order_line']/tree/field[@name='product_id']"
                  position="after">
                    <field name="product_weight "/>
                </xpath>
            </field>
        </record>

我希望这可以帮助你...