2

我需要从 xml 导入员工(hr.employee对象)并将它们与用户(res.users对象)和联系人(res.partner对象)联系起来。与用户工作的关系很好(导入后的屏幕如下)。

在此处输入图像描述

但我的联系人有问题。当系统导入用户时,她会自动创建适用于用户的新联系人。如果我不知道 ID,我如何才能将此联系人与员工联系起来?

在此处输入图像描述

我尝试将联系人记录添加到 xml 文件并设置关系。但在这种情况下,系统会创建 2 个联系人。其中之一与用户无关。

这里我的 xml 用于从我的模块导入。

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">
        <record id="user_test" model="res.users">
            <field name="name">My Name</field>
            <field name="login">my_name</field>
            <field name="password">1111</field>
        </record>
        <!-- I tried create contact like this...
             but then will be created 2 contacts
             instead 1 + one of them is not related with user -->

        <!--<record id="contact_test" model="res.partner">-->
            <!--<field name="name">My Name</field>-->
            <!--<field name="user_id" ref="user_test"/>-->
        <!--</record>-->
        <record id="employee_test" model="hr.employee">
            <field name="name">My Name</field>
            <field name="work_email">my_name@gmail.com</field>
            <field name="user_id" ref="user_test"/>
        </record>
    </data>
</openerp>

所以,我的问题是:如何将联系人(由用户自动创建)设置为员工?

4

2 回答 2

1

尝试这个:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">

        <record id="contact_test" model="res.partner">
            <field name="name">My Name</field>
        </record>

        <record id="user_test" model="res.users">
            <field name="name">My Name</field>
            <field name="login">my_name</field>
            <field name="password">1111</field>
            <field name="partner_id ref="contact_test"/>
        </record>

        <record id="employee_test" model="hr.employee">
            <field name="name">My Name</field>
            <field name="work_email">my_name@gmail.com</field>
            <field name="user_id" ref="user_test"/>
            <field name="partner_id" ref="contact_test"/>
        </record>
    </data>
</openerp>
于 2015-11-12T12:50:57.440 回答
0

Here solution:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">
        <!-- at first create contact -->
        <record id="contact_test" model="res.partner">
            <field name="name">My Name</field>
        </record>
        <record id="user_test" model="res.users">
            <field name="name">My Name</field>
            <field name="login">my_name</field>
            <field name="password">1111</field>
            <!-- relation between user and contact -->
            <field name="partner_id" ref="contact_test"/>
        </record>
        <record id="employee_test" model="hr.employee">
            <field name="name">My Name</field>
            <field name="work_email">my_name@gmail.com</field>
            <field name="user_id" ref="user_test"/>
            <!-- relation employee and contact -->
            <field name="address_home_id" ref="contact_test"/>
        </record>
    </data>
</openerp>

In this case will be created 1 contact, 1 user and 1 employee. Employee will have relation with contact.

于 2015-11-12T12:48:56.407 回答