3

私は odoo 9 の従業員向けにモジュールを拡張しました。すべての従業員には子供がいます。ここに私のモデル:

class Employee(models.Model):
    _name = 'hr.employee'
    _inherit = 'hr.employee'

    children_ids = fields.One2many('my_module', 'employee_id', string="Children")


class Child(models.Model):
    _name = 'my_module'

    name = fields.Char(required=True, string='Name')

    birthday = fields.Date(required=True, string='Birthday')

    employee_id = fields.Many2one('hr.employee', ondelete='cascade', string="Employee")

ここに画像の説明を入力

誕生日による検索を設定するにはどうすればよいですか? たとえば、誕生日(または日付の間隔)の検索日付を設定したい場合、システムは検索から誕生日を持つ子供を持つすべての従業員を表示する必要があります。

ここに画像の説明を入力

ここで私の検索ビュー(これは子の名前で機能します):

<record id="view_urspectr_employee_filter" model="ir.ui.view">
    <field name="name">Employees</field>
    <field name="model">hr.employee</field>
    <field name="inherit_id" ref="hr.view_employee_filter" />
    <field name="arch" type="xml">
        <search position="inside">
            <field name="children_ids"/>
        </search>
    </field>
</record>

モジュールアカウント(../addons/account/views/account_view.xml)で同様の状況を見つけました。

<record id="view_account_move_filter" model="ir.ui.view">
            <field name="name">account.move.select</field>
            <field name="model">account.move</field>
            <field name="arch" type="xml">
                <search string="Search Move">
                    <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Move"/>
                    <field name="date"/>

日付による検索はうまくいきます。ただし、この場合、関係One2Manyなしで使用される日付フィールド。

解決策を教えていただけますか? One2Many で検索しても例が見つかりません。前もって感謝します。

4

2 に答える 2

3

ここで解決策:

<record id="view_urspectr_employee_filter" model="ir.ui.view">
    <field name="name">Employees</field>
    <field name="model">hr.employee</field>
    <field name="inherit_id" ref="hr.view_employee_filter"/>
    <field name="arch" type="xml">
        <search position="inside">
            <field name="children_ids" filter_domain="[('children_ids.birthday', '=', self)]" widget="date"/>
        </search>
    </field>
</record>
于 2015-11-16T12:35:13.830 に答える
0

ここでは、「children_ids」に関連して「hr.employee」テーブルに「birthday」の関連フィールドを追加してみますが、「birthday」フィールドのデータ型が異なるため、「2015」だけを検索できない可能性があります。単なる文字列ではなく、「日付」です。ただし、試してみることができます。

于 2015-11-14T06:12:21.980 に答える