在销售中的 odoo 13 中单击按钮后如何打开表单视图(向导)
How to open a form view (wizard) after button click in odoo 13 in Sales
我使用 inheritance 和 xpath[=19 在订单行下方创建了一个按钮“+添加产品” =] 在 Odoo 13.0 销售模块的 sale.order 中,我的目标是当我点击“+添加产品”按钮时,只需打开向导(如自定义表单视图,我可以在其中填写产品详细信息)并在向导中创建下面的 Add 按钮。
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
运营先生,
在您的按钮上,您可以 return 您的视图是这样的,
所以传递 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
一样继承 odoo defaul_object
那么不需要使用 _name
.
class SaleOrder(models.Model):
_inherit = "sale.order"
您也可以参考odoo13官方文档。
谢谢
我使用 inheritance 和 xpath[=19 在订单行下方创建了一个按钮“+添加产品” =] 在 Odoo 13.0 销售模块的 sale.order 中,我的目标是当我点击“+添加产品”按钮时,只需打开向导(如自定义表单视图,我可以在其中填写产品详细信息)并在向导中创建下面的 Add 按钮。
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
运营先生,
在您的按钮上,您可以 return 您的视图是这样的,
所以传递 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
一样继承 odoo defaul_object
那么不需要使用 _name
.
class SaleOrder(models.Model):
_inherit = "sale.order"
您也可以参考odoo13官方文档。
谢谢