Попробуйте вернуть стоимость товара в строке заказа на продажу для Odoo10

У меня есть поле Many2one('product_weight') в заказе клиента на основе product.product. И я пытаюсь вернуть значения этого поля в строке заказа на продажу (продукт). В product.template я добавил флажок (is_weight). Таким образом, в заказе на продажу для product_weight доступны только весовые продукты. Итак, как вернуть это значение product_weight в строке заказа на продажу (product_id)?

Мой код здесь:

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 ответа

Вы можете использовать этот код:

    @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)

Попробуйте с этим:

sale_order_line.py

Класс sale_order_line (models.Model):

_inherit = "sale.order.line"

product_weight = fields.Float ('Weight',

связанных с = 'product_id.weight',

digits = dp.get_precision ("Вес продукта"),

help = "Вес содержимого в кг, не включая упаковку и т. д.")

А для 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>

Я надеюсь это тебе поможет...

Другие вопросы по тегам