Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
2 Odpowiedzi
5448 Widoki

Hello,

 I built a view like this, in which I would like to filter the lines of the Notebook (O2M), following the values ​​that I will select at the main field of the view ( banque and projet) . as i have dificulties to put image here, you can see my screenshot \here ( \https://www.developpez.net/forums/d2011774/logiciels/solutions-d-entreprise/erp/odoo-ex-openerp/filtrer-one2many-l-aide-d-chant-many2one-odoo12/ ).  

view code:  
{{<record id="view_btp_etatcaution_form" model="ir.ui.view">
            <field name="name">etatcaution</field>
            <field name="model">btp.etatcaution</field>
            <field name="arch" type="xml">
				 <form string="etatcaution" class="oe_form_configuration" create="false">
                  ...
					<sheet>
						<group>
							<field name="banque_id" class="oe_inline"/>
							<field name="projet_id" class="oe_inline"/>
						</group>
					</sheet>
					<notebook>
                        <page string="Etat caution">
 
                                <field name="ligne_caution_etat" widget="select">
 
                                    <tree editable="bottom" string="Etat caution" create="false">
 
                                        <field name="name"/>
										....
										<field name="banque_id"  domain="[('banque_id', '=', parent.banque_id)]"/>
										<field name="projet_id" domain="[('projet_id', '=', parent.projet_id)]" />
										<field name="date_debut"/>
										....
                                    </tree>
                                </field>
                        </page>
				    </notebook>
                </form>
            </field>
        </record>
		 <record id="action_etatcaution" model="ir.actions.act_window">
			<field name="name">etatcaution</field>
			<field name="type">ir.actions.act_window</field>
			<field name="res_model">btp.etatcaution</field>
			<field name="view_type">form</field>
			<field name="view_mode">tree,form</field>
			<field name="res_id">1</field>
			<field name="view_id" ref="view_btp_etatcaution_form"/>
		</record>}}

i dont know why this part doesn't filter my list:
{{ <field name="banque_id"  domain="[('banque_id', '=', parent.banque_id)]"/>
<field name="projet_id" domain="[('projet_id', '=', parent.projet_id)]" /> }}

Awatar
Odrzuć

The code is not clear, normally parent in one2many will be the inverse relation. ie, relation. please update the python code also

Najlepsza odpowiedź

Hi,

If you want to filter datas in the list view, you can use dynamic domain when you select bank_id or project_id.

e.g.:

@api.onchange('project_id', 'bank_id')
def onchange_values(self):
return {'domain': {'ligne_caution_etat': ['|', ('project_id', '=', self.project_id), ('bank_id', '=', self.bank_id)]}}

Best regards!

Awatar
Odrzuć

This doesn't works anymore like this in odoo14, I get a depreciated-warning.

Do you have any idea how this works in odoo14?