2016-08-17 2 views
-1

다음 기록 규칙은 내가 당신이 사용할 수있는Odoo에서 기본 모듈에 정의되어 있고 noupdate = '1'로 설정된 레코드 규칙을 강제로 덮어 쓰는 방법은 무엇입니까?</p> <pre><code><function name="fix_er_role" model="ir.rule"/> </code></pre> <p>후 :

<record id="product.product_comp_rule" model="ir.rule"> 
    <field name="name" >All Products (Parent Company)</field> 
    <field name="model_id" ref="product.model_product_template"/> 
    <field name="global" eval="True"/> 
    <field name="domain_force">['|','|',('company_id','=',user.company_id.id),('company_id','=','False'),('company_id','child_of',[user.company_id.id])] </field> 
</record> 

답변

1

을 할 내 사용자 지정 모듈을 편집 할 제품 모듈

<data noupdate="1"> 
    <record id="product_comp_rule" model="ir.rule"> 
     <field name="name" >Product multi-company</field> 
     <field name="model_id" ref="model_product_template"/> 
     <field name="global" eval="True"/> 
     <field name="domain_force"> ['|',('company_id','=',user.company_id.id),('company_id','=',False)]</field> 
    </record> 
</data> 

에 정의되어 있습니다 ir.rule에 메소드를 추가하고 데이터를 수정하십시오.

당신이 당신의 모듈을 업그레이드하거나이 방법 여기 당신은 파이썬 코드에 의해 당신에게 데이터를 수정할 수를 호출합니다 설치
class IRRule(models.Model): 
    _inherit = 'ir.rule' 

    def fix_er_role(self): 
     rol_id = self.env.ref('product.product_comp_rule') 
     rol_id = self.env['ir.rule'].search([('id','=',rol_id)]) 
     rol_id.write({'domain_force':['|','|',('company_id','=',user.company_id.id),('company_id','=','False'),('company_id','child_of',[user.company_id.id])]}) 

515,. 나는이 접근법을 사용했고 그것이 나를 위해 일했다. 구문을 점검하지 않았으므로, 나는 어떻게해야하는지에 대한 아이디어를 제공합니다. .

0

우리는 = "0"NOUPDATE를 사용하여 다른 샘플 방법으로 그것을 할 수

<data noupdate="0"> 
    <record id="product.product_comp_rule" model="ir.rule"> 
     <field name="name" >All Products (Parent Company)</field> 
     <field name="model_id" ref="product.model_product_template"/> 
     <field name="global" eval="True"/> 
     <field name="domain_force">['|','|',('company_id','=',user.company_id.id),('company_id','=','False'),('company_id','child_of',[user.company_id.id])] </field> 
    </record> 
</data>