OpenERP ir.rule记录在security.xml中

Pri*_*ckZ 2 python xml openerp

    <record model="ir.rule" id="stock_inventory_comp_rule">
        <field name="name">Inventory multi-company</field>
        <field name="model_id" ref="model_stock_inventory" />
        <field name="global" eval="True" />
        <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
        </field>
    </record>
Run Code Online (Sandbox Code Playgroud)

我对security.xml文件中的上述代码片段感到困惑,这是由下面的标签表示的.

id="stock_inventory_comp_rule" 这个行的意思是它的标签with.or只是用于保存和保存以通过id目的识别记录.

<field name="name">Inventory multi-company</field> 这条线的意思是.这只用于显示目的.

<field name="model_id" ref="model_stock_inventory" /> 哪一个是model_stock_inventory的意思,这是什么用法.

<field name="global" eval="True" /> 为什么这个设置全局True.如果我们将其设置为False,那么预期的结果是什么.

<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])] 这里显示了字段中的域过滤器.这个标准设置为上面提到的模型类.这个片段的用法是什么?

use*_*199 5

ir.rule与群组一起使用,就像在销售订单中你想要一个案例,每个用户只看到他自己的记录而不是其他用户销售订单,所以你在ir.rule制作一个记录规则,以阻止其他用户看到彼此的销售订单,并在将此组分配给用户时将此规则分配给某个组,它会自动应用此规则

<record id="sale_order_user_rule" model="ir.rule">
            <field name="name">Quotations/Sale Orders</field>
            <field name="model_id" ref="sale.model_sale_order"/>
            <field name="domain_force">[('user_id','in',[user.id])]</field>
            <field name="groups" eval="[(4, ref('group_purcase_manager'))]"/>
            <field eval="1" name="perm_unlink"/>
            <field eval="1" name="perm_write"/>
            <field eval="1" name="perm_read"/>
            <field eval="1" name="perm_create"/>
        </record>
Run Code Online (Sandbox Code Playgroud)

正如您在示例中所看到的,我创建了一条规则来限制其他用户查看彼此的记录并将此规则分配给组购买管理器,您可以通过此规则限制用户访问权限,如读取,写入,创建,删除等

就像在你的例子中你制定一个规则,看到公司和他的孩子reocrd所有记录全球意味着它的规则适用于所有人,而不是任何组