如何在Openerp中仅显示一个组的按钮

如何在Openerp中仅显示一个组的按钮,openerp,openerp-7,Openerp,Openerp 7,我只想在销售订单中为一个组显示“创建发票”按钮。可以吗? 我在Sales中创建了一个新组,它是Sales/Branch Head。可以为所有用户隐藏“Create Invoice”(创建发票)按钮,并仅为“Sales/Branch Head”(销售/分支机构负责人)组显示该按钮。提前感谢,您可以使用“组”属性。帐户模块中的示例: <record id="view_invoice_line_tree" model="ir.ui.view"> <fi

我只想在销售订单中为一个组显示“创建发票”按钮。可以吗?
我在Sales中创建了一个新组,它是Sales/Branch Head。可以为所有用户隐藏“Create Invoice”(创建发票)按钮,并仅为“Sales/Branch Head”(销售/分支机构负责人)组显示该按钮。提前感谢,您可以使用“组”属性。帐户模块中的示例:

        <record id="view_invoice_line_tree" model="ir.ui.view">
        <field name="name">account.invoice.line.tree</field>
        <field name="model">account.invoice.line</field>
        <field name="type">tree</field>
        <field name="arch" type="xml">
            <tree string="Invoice Line">
                <field name="name"/>
                <field name="account_id" groups="account.group_account_user"/>
                <field name="quantity"/>
                <field name="uos_id"/>
                <field name="price_unit"/>
                <field name="discount" groups="base.group_extended"/>
                <field name="price_subtotal"/>
            </tree>
        </field>
    </record>

account.invoice.line.tree
账户、发票、行
树

您可以为所有其他用户创建一个视图,而无需使用要显示的按钮。然后创建继承第一个视图的其他视图,并将要显示的按钮添加到所需的组中。下面是我正在使用的一个例子,它为我工作

<?xml version="1.0"?>
<openerp>
    <data>
        <!-- ##################################################### SHOW BUTTON ONLY TO MEMBERS OF SOME_GROUP ############################################################ -->
        <record model="ir.ui.view"  id="unique_id_of_your_new_view">
            <field name="name">view.unique.id.of.your.new.view</field>
            <field name="model">your.model</field>
            <field name="inherit_id" ref="id_of_view_youre_inheriting"/>
            <field name="groups_id" eval="[(6, 0, [ref('name_of_your_group') ])]"/>
            <field name="arch" type="xml">
                <field name="some_field_in_your_main_view" position="after">
                    <!-- whatever you will place here will be shown only to members of 'name_of_your_group' -->
                    <button name="your_button" class="oe_highlight" string="This button is not shown to everybody"  /> 
                </field>
            </field>
        </record>
    </data>
</openerp>

view.unique.id.of.your.new.view
你的模型

谢谢您的快速回答。您能告诉我如何找到我创建的组的组名吗?该组的组名应该是xml\u id。它位于一个
ir.model.data
对象中。它应该是来自\u xml的\u组\u的
module\u name.id\u。2查找xml\u id的可能性(在本例中为组):1。在调试模式下使用openerp并打开记录(此处在设置->…->组和您的组下)。现在只需使用调试菜单“perm read”,就可以得到xml|id | 2。进入数据库,查看ir_model_数据表。在这里,您可以找到由字段“module”和“name”(module.name将是xml\u id)组合而成的所有xml\u id。请注意,如果从UI创建组,您将得到xml id:false。因此,只有模块创建的组才能获得组ID。