如何在销售中的odoo 13中单击按钮后打开表单视图(向导)



我在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

Mr-op,

在你的按钮上,你可以像这样返回你的视图,因此,传递object和您的模块view。在这个模块中,您的view在页脚上添加了button,并在该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文件中,如果您想像sale.order一样继承odoodefaul_object,则无需使用_name

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

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

感谢

最新更新