2013-03-16 66 views
1

我创建了一个字段名“链接到机会”: - 模块: - hr.applicant 字段类型: - many2many 对象关系: - crm.lead一个模块现场使用其他模块中的OpenERP

和我用在crm.lead模块中。

现在我想在“hr.recruitment”中使用这个字段。 但我尝试了很多方法,但没有成功。请告诉我。如何在其他模块中使用此字段,如crm.lead到hr.recruitment

感谢您的时间。

此代码我使用: -

'sale_o_ids' : fields.related('job_id', 'x_link_to_jobposition', 
            readonly=True, 
            relation='crm.lead', 
            string='Opportunity Name'), 
+0

你能提供更多的信息吗? – user1576199 2013-03-17 13:44:59

+0

您可以在hr.applicant中添加此字段,并且希望在hr.recruitment中使用相同的字段,或者希望在hr.recruitment中添加相同的新字段? – user1576199 2013-03-17 13:47:18

+0

谢谢你。我希望在hr.applicant中添加这个字段,并且这个字段也要在hr.recruitment中使用。所以无论何时此字段将在hr.applicant中更新,我都可以在hr.recruitment中看到此值。此字段将只创建一个。但用于其他两个模块。谢谢你,请建议我 – user2160008 2013-03-18 06:15:49

回答

0

这里是例如:

many2many的

class hr_job(osv.osv): 
    _inherit = 'hr.job' 
    _columns = { 
     'sale_ids': fields.many2many('sale.order', 'hr_job_sale_order_rel', 'job_id', 'sale_id', 'Sale order'), 
    } 

hr_job() 

这里创建sale.order的many2many字段现在

我想要使用hr.employee中的hr.job字段。

class hr_employee(osv.osv): 
    _inherit = "hr.employee" 
    def _get_sale_order(self, cr, uid, ids, field_name, arg, context=None): 
     if context is None: 
      context = {} 
     result = {} 
     list_o = [] 
     for order in self.browse(cr, uid, ids, context=context): 
      for i in order.job_id.sale_ids: 
       list_o.append(i.id) 
     result[order.id] = list_o 
     return result 
_columns = { 
    'sale_order_ids': fields.function(_get_sale_order, type='many2many', relation="sale.order", string="Sale Orders"), 
} 

hr_employee() 

所以,当你在hr.job many2many场更新那么它的更新值显示在hr.employee对象时,在工作选择这份工作

你可以使用相关的另一种方法

'sale_o_ids' : fields.related('job_id', 'sale_ids', 
             type='many2many', 
             readonly=True, 
             relation='sale.order', 
             string='Available Sale Order'), 

希望这件事清楚

+0

非常感谢。我用你的第二选择方法。但我得到错误: - KeyError:“字段'job_id'不存在于对象'browse_record(hr.job,6)'”中。我在写我的代码。一次检查谢谢你的时间。 – user2160008 2013-03-25 12:14:58

+0

嗨,我的第二个代码只是一个例子来解释你是如何工作的第二个代码,我在hr.employee中添加了sale_o_ids字段,所以job_id是hr.employee中的hr.job字段的many2one。对于你的代码,你有许多领域hr.applicant,所以你有一个many2one字段hr.recruitment像**'applicant_id':fields.many2one('hr.applicant','申请人')**然后相关的领域,你可以创建如下:**'sale_o_ids':fields.related('applicant_id','crm_lead_ids',type ='many2many',readonly = True,relation ='crm.lead',string ='Crm Leads'),** – user1576199 2013-03-26 05:06:28

+0

这里** crm_lead_ids **在很多2个字段中退出hr.applicant希望它清楚你现在! – user1576199 2013-03-26 05:07:52

相关问题