2017-02-23 6 views
1

Ich habe ein Problem mit zwei oder mehr Filtern gleichzeitig.odoo mit zwei Filtern zur gleichen Zeit

Wenn ich zum Beispiel zwei Filter "Heute" und "Morgen" aktiviere, erkennt die SQL-Abfrage es als "Today OR Tomorrow" -Satz.

Gibt es eine Möglichkeit, es als Today AND Tomorrow Satz zu machen, so würde die SQL-Abfrage beide berücksichtigen? Ich will nicht einen dritten Filter Today and Tomorrow

Mein XML-Code machen, ist hier:

<record id="view_klient_tellimus" model="ir.ui.view"> 
    <field name="name">picking.klient.tellimus.filter</field> 
    <field name="model">stock.picking</field> 
    <field name="arch" type="xml"> 
     <search string="Search Picking"> 
      <filter name="today" string="Today" domain="[('route_time','&lt;=', datetime.datetime.combine(context_today(), datetime.time(23,59,59))), ('route_time','&gt;=', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]"/> 
      <filter name="tomorrow" string="Tomorrow" domain="[('route_time','&lt;=', datetime.datetime.combine(context_today()+datetime.timedelta(days=1), datetime.time(23,59,59))), ('route_time','&gt;=', datetime.datetime.combine(context_today()+datetime.timedelta(days=1), datetime.time(0,0,0)))]"/> 
     </search> 
    </field> 
</record> 

Antwort

1

Hallo Sie müssen separator s für AND Filter verwenden.

diese So versuchen:

<record id="view_klient_tellimus" model="ir.ui.view"> 
    <field name="name">picking.klient.tellimus.filter</field> 
    <field name="model">stock.picking</field> 
    <field name="arch" type="xml"> 
     <search string="Search Picking"> 
      <filter name="today" string="Today" domain="[('route_time','&lt;=', datetime.datetime.combine(context_today(), datetime.time(23,59,59))), ('route_time','&gt;=', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]"/> 
      <separator /> 
      <filter name="tomorrow" string="Tomorrow" domain="[('route_time','&lt;=', datetime.datetime.combine(context_today()+datetime.timedelta(days=1), datetime.time(23,59,59))), ('route_time','&gt;=', datetime.datetime.combine(context_today()+datetime.timedelta(days=1), datetime.time(0,0,0)))]"/> 
     </search> 
    </field> 
</record> 
+0

Danke, arbeitete diese. Kennen Sie Webseiten, auf denen ich diese Art von Dokumentation lesen kann? – Madis

+0

Es gibt einige Blogs, aber ich bevorzuge die [offiziellen Odoo Doc] (https://www.odoo.com/documentation/10.0/), Stack-Überlauf und den Code selbst. Die [OCA] (https://github.com/OCA) hat einige sehr gute Module, von denen man auch viel lernen kann. – CZoellner

Verwandte Themen