2
    <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>

タグの下にある security.xml ファイルの上記のコード フラグメントと混同しています。

id="stock_inventory_comp_rule"この行の意味とそのタグの場所。または、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])] ここでは、フィールドのドメイン フィルターのように表示されます。この基準は上記のモデル クラスに設定されていますか?このフラグメントの使用法は何ですか?

4

1 に答える 1

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>

例でわかるように、他のユーザーがお互いのレコードを表示できるように制限するルールを作成し、このルールをグループ購入マネージャーに割り当てました。このルールによって、読み取り、書き込み、作成、削除などのユーザー アクセス権限を制限できます。

あなたの例のように、会社と彼の子供がすべてのレコードをグローバルに記録することを確認するルールを作成すると、グループに割り当てずにルールがすべてに適用されることを意味します

于 2013-04-26T10:43:14.387 に答える