Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

2

Utilizzo di AND e OR sui filtri in una search view

Avatar
Luigi Gregori

Salve,

ho un problema che non riesco a risolvere: ho creato un modulo con una vista "Search" e dei filtri personalizzati (es log di oggi, log di ieri, , flag settato, ecc...) ma mi ritrovo un comportamento che non so come controllare: le varie condizioni di filtro vengono messe in "OR" anzichè in "AND".

In realtà mi andrebbe bene che alcune andassero in "OR" ( es "ieri" e "oggi") mentre altre in AND ( es. "chiave accesa").

<search>
          <field name="device_id"/>
          <field name="vehicle_id"/>
          <field name="event_id"/>
          <field name="event_time"/>
          <group>
            <filter name="filter_yesterday" string="Ieri" domain="['&amp;',('event_time','&gt;=',((context_today()-datetime.timedelta(days=1)).strftime('%Y-%m-%d'))), ('event_time','&lt;',((context_today()+datetime.timedelta(days=0)).strftime('%Y-%m-%d')))]"/>
            <filter name="fileter_today" string="Oggi" domain="['&amp;',('event_time','&gt;=',((context_today()).strftime('%Y-%m-%d'))), ('event_time','&lt;',((context_today()+datetime.timedelta(days=1)).strftime('%Y-%m-%d')))]"/>
            <filter name="filter_event_time" date="event_time" string="Data Evento"/>
          </group>
          <group>
            <filter name="filter_on_off" domain="[('event_id.code','in',['7','8'])]" string="Key On Off"/>
            <filter name="filter_tracking" domain="[('event_id.code','in',['0','7','8'])]" string="Tracking"/>
          </group>
          <group expand="1" string="Group By">
            <filter string="Device" name="group_by_device_id" context="{'group_by':'device_id'}"/>
            <filter string="Inizio" name="group_by_event_time" context="{'group_by':'event_time'}"/>
          </group>
        </search>

Avatar
Abbandona
2 Risposte
5
Avatar
Alex Comba
Migliore risposta

Ciao Luigi,

per mettere due condizioni di filtro in AND devi intervallare i due <filter> con <separator/>.

Esempio:

<filter name="filter_on_off" domain="[('event_id.code','in',['7','8'])]" string="Key On Off"/>
<separator/>
<filter name="filter_tracking" domain="[('event_id.code','in',['0','7','8'])]" string="Tracking"/>
Avatar
Abbandona
0
Avatar
Luigi Gregori
Migliore risposta

G R A Z I E ! ! ! !

Avatar
Abbandona