0

我在 Odoo 13.0 销售模块的sale.order中使用继承xpath在订单行下方创建了一个按钮“ +添加产品” ,我的目标是当我单击“+添加产品”按钮时,只需打开一个向导(如自定义表单视图,我可以在其中填写产品详细信息)并在向导中的“添加 ”按钮下方创建。

quotation_product.xml

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
    <data>
        <record model="ir.ui.view" id="view_order_form">
            <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="/form/sheet/notebook/page/field[@name='order_line']" 
            position="before">
                    <button name="my_button" string=" + Add Products" type="object" class="btn 
                btn-info btn- lg"/>
                </xpath>
            </field>
        </record>
    </data>
</odoo>

quotation_product.py

from odoo import api, fields, models, api

class SaleOrder(models.Model):
    _inherit = "sale.order"
    _name = "sale.order"

    def my_button(self, context=None):
        print("ghghhhghghghghg")

    return True
4

1 回答 1

1

欧普先生,

在您的按钮上,您可以像这样返回您的视图,因此传递object和您的模块view。在其中,您view添加了buttonon 页脚并同样添加了逻辑footer_button以按照您的自定义方式执行。

def my_button(self):
    return {
        'name': "Your String",
        'type': 'ir.actions.act_window',
        'view_type': 'form',
        'view_mode': 'form',
        'res_model': 'object',
        'view_id': self.env.ref('module.view_id').id,
        'target': 'new'
    }

并且在您的py文件中,如果您想继承 odoo 之defaul_object类的,sale.order则无需使用_name.

class SaleOrder(models.Model):
    _inherit = "sale.order"

您还可以参考并找到官方 odoo13 文档。

谢谢

于 2020-04-09T07:15:19.963 回答