0

我正在尝试在“机会”中使用“工作职位”的某些字段,我们可以将其称为合并字段。但我无法完成这项任务。我对 Python 语言一无所知。

我创建了一个用户定义的字段,并通过开发人员选项的 XML 编码在机会中使用它。我知道这很容易,因为用户定义的字段具有“crm.lead”命名模块,在机会上是相同的。

但是现在当我想在“hr.job”中使用这个字段时,它会给我错误“未找到字段”。我知道这个字段不在当前模块中,它是“crm.lead”而不是“hr.job”的一部分。

是否可以在另一个模块中使用一个模块字段?

4

2 回答 2

1

是的,你可以这样做。首先,您必须为此创建一个对象,然后浏览记录并获取所需字段的值。
例如创建一种方法,然后浏览 crm.lead 记录:

crm_obj = self.pool.get('crm.lead')
crm_brw = crm_obj.browse(cr, uid, crm_rec_id, context=context)
print "my field value::  ", crm_brw.your_field

这里,“crm_rec_id”是crm.lead对象的记录id

插件中有很多例子。

于 2012-11-27T07:34:33.713 回答
1

是的,您可以通过_inherits 来完成。例如。hr 模块中的 hr_job 。

class hr_job(osv.osv):
    _name = "hr.job"
    _description = "job position"
        _columns = {
        'name': fields.char('job name', size=64)

      }

crm 模块中的 crm_lead。

class crm_lead(osv.osv):
    _name = "crm.lead"
   _inherits = {'hr.job': 'job_id'}
    _description = "Lead/Opportunity"
        _columns = {
        'partner_id': fields.many2one('res.partner', 'Partner')

      }

在 crm 的 xml 文件中创建表单视图。

<record id="crm_lead_form" model="ir.ui.view">
        <field name="name">crm.lead</field>
        <field name="model">crm.lead</field>
        <field name="arch" type="xml">
            <form>
             <field name="name"/> # job name from hr_job
             <field name="partner_id"/> # partner_id from crm.lead
           </form>
       </field>
 </record>

不要忘记添加依赖项。

于 2012-11-27T11:58:55.950 回答