我想覆盖"反向"选股按钮仅对stock.group_stock_manager可见。
我使用了与往常相同的方法来覆盖按钮:
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_picking_form_extend" model="ir.ui.view">
<field name="name">stock.picking.form.extend</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_form"/>
<field name="arch" type="xml">
<xpath expr="/form/header/button[@name='%(act_stock_return_picking)d']" position="replace">
<button name="%(act_stock_return_picking)d" string="Reverse" states="done" type="action" groups="stock.group_stock_manager"/>
</xpath>
</field>
</record>
</data>
</openerp>
但是我收到了一个错误。它表示该元素不能位于父视图中。
我在父视图中有这个:
<button name="%(act_stock_return_picking)d" string="Reverse" states="done" type="action" groups="base.group_user"/>
注意:如果我覆盖其他按钮(没有&#39; %&#39;&#39; d & #39;字符)它工作正常。
我做错了什么?
答案 0 :(得分:2)
当你有%(xml_id)d
时,这意味着Odoo将在该XML ID的数据库中搜索ID(string
),并用PostgreSQL ID替换它({{1 }})。因此,作为每个XML ID,如果您尚未在模块中声明它,则必须指定声明它的模块。
尝试在操作名称之前编写创建源按钮的模块名称,如果只修改integer
,请不要替换整个按钮,而是使用groups
,像这样:
attributes