我想在销售表单中的 order_line 树中添加一个按钮,我是这样添加的:
<xpath expr="/form/sheet/notebook/page[1]/field[@name='order_line']/tree/field[@name='price_subtotal']" position="after">
<button name="%{action_view_wizard}d" string="" type="action" icon="fa-archive" attrs="{'invisible':[('product_id','=', False)]}"/>
</xpath>
并定义了向导
<record id="check_stock" model="ir.ui.view">
<field name="name">sale_warehouse.check_stock_wizard</field>
<field name="model">sale_warehouse.check_stock_wizard</field>
<field name="arch" type="xml">
<form string="Stock by warehouse">
<group col="1">
<field name="stock" nolabel="1"/>
</group>
<footer>
<button string="Close" class="btn-default" special="cancel" />
</footer>
</form>
</field>
</record>
<record id="action_view_wizard" model="ir.actions.act_window">
<field name="name">Stock by warehouse</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sale_warehouse.check_stock_wizard</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="check_stock"/>
<field name="target">new</field>
</record>
按钮添加正常,但它的负载为禁用,因此当单击向导时没有调用,如果我将按钮从树中取出,向导被称为正常,但我需要从 order_line 调用,因为我需要传递上下文与行的 product_id 以获取每个仓库中的库存。
我正在使用odoo10。
我做错了什么?
最佳答案
尝试这个:
<xpath expr="/form/sheet/notebook/page[1]/field[@name='order_line']/tree position="inside">
<button name="open_view_wizard" string="" type="object" icon="fa-archive" attrs="{'invisible':[('product_id','=', False)]}"/>
</xpath>
然后添加函数 open_view_wizard 给您的 销售 模型,然后打开该函数内的向导:例如(您可能需要稍微更改此代码)。
def open_view_wizard(self, cr, uid, ids, context=None):
return {
'view_type': 'form',
'view_mode': 'form',
'res_model': 'sale_warehouse.check_stock_wizard',
'type': 'ir.actions.act_window',
'context': context
}
关于openerp - 如何在 Odoo 10 中的表单内的树上添加按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41021210/