Переглянути джерело

Filtros de fechas para ventas y lineas de venta en producto

sebas 3 роки тому
батько
коміт
bb3c641405
4 змінених файлів з 40 додано та 1 видалено
  1. BIN
      __init__.pyc
  2. 10 0
      sale.py
  3. BIN
      sale.pyc
  4. 30 1
      view/sale_view.xml

+ 10 - 0
sale.py

@@ -6,3 +6,13 @@
 from openerp import models, api, fields, _
 from datetime import datetime
 import json
+
+# 
+#
+# class SaleOrderLine(models.Model):
+#     _inherit = 'sale.order.line'
+#
+#     ord_date = fields.Date(
+#         string='Fecha',
+#         related='order_id.date_order',
+#         store=True)


+ 30 - 1
view/sale_view.xml

@@ -10,7 +10,7 @@
               <search>
 
                   <separator/>
-                  <filter string="Este año" name="year" domain="[('date_order','&lt;=', time.strftime('%%Y-12-31')),('date_order','&gt;=',time.strftime('%%Y-01-01'))]"/>
+                  <filter string="Este año" name="year" domain="[('create_date','&lt;=', time.strftime('%%Y-12-31')),('date_order','&gt;=',time.strftime('%%Y-01-01'))]"/>
                   <filter string="Año pasado " domain="[('date_order','&gt;=',(context_today()-relativedelta(years=1)).strftime('%%Y-01-01')),('date_order','&lt;=', time.strftime('%%Y-01-01'))]"/>
                   <filter string="Mes actual" domain="[('date_order','&lt;',(context_today()+relativedelta(months=1)).strftime('%%Y-%%m-01')), ('date_order','&gt;=',time.strftime('%%Y-%%m-01'))]"/>
                   <filter string="Mes pasado" domain="[('date_order','&gt;=',(context_today()-relativedelta(months=1)).strftime('%%Y-%%m-01')),('date_order','&lt;',time.strftime('%%Y-%%m-01'))]"/>
@@ -23,6 +23,7 @@
                   <separator/>
                   <group string="">
                       <filter string="Por dia" context="{'group_by':'date_order:day'}"/>
+                      <filter string="Por mes" context="{'group_by':'date_order:month'}"/>
                       <filter string="Creado por" context="{'group_by':'create_uid'}"/>
                       <filter string="Por sucursal" context="{'group_by':'warehouse_id'}"/>
                   </group>
@@ -30,5 +31,33 @@
             </field>
         </record>
 
+        <record id="view_sale_orderline_filter_search1" model="ir.ui.view">
+            <field name="name">sale.order.line.filter.search1</field>
+            <field name="model">sale.order.line</field>
+            <field name="inherit_id" ref="sale.view_sales_order_line_filter" />
+            <field name="arch" type="xml">
+              <search>
+
+                  <separator/>
+                  <filter string="Este año" name="year" domain="[('create_date','&lt;=', time.strftime('%%Y-12-31')),('create_date','&gt;=',time.strftime('%%Y-01-01'))]"/>
+                  <filter string="Año pasado " domain="[('create_date','&gt;=',(context_today()-relativedelta(years=1)).strftime('%%Y-01-01')),('create_date','&lt;=', time.strftime('%%Y-01-01'))]"/>
+                  <filter string="Mes actual" domain="[('create_date','&lt;',(context_today()+relativedelta(months=1)).strftime('%%Y-%%m-01')), ('create_date','&gt;=',time.strftime('%%Y-%%m-01'))]"/>
+                  <filter string="Mes pasado" domain="[('create_date','&gt;=',(context_today()-relativedelta(months=1)).strftime('%%Y-%%m-01')),('create_date','&lt;',time.strftime('%%Y-%%m-01'))]"/>
+                  <filter string="Semana anterior" domain="[('create_date', '&gt;=', ((context_today()+relativedelta(weeks=-2, days=1, weekday=0)).strftime('%%Y-%%m-%%d'))),('create_date', '&lt;=', ((context_today()+relativedelta(weeks=-1, weekday=6)).strftime('%%Y-%%m-%%d')))]"/>
+                  <filter string="Esta semana" domain="[('create_date', '&gt;=', ((context_today()+relativedelta(weeks=-1, days=1, weekday=0)).strftime('%%Y-%%m-%%d'))),('create_date', '&lt;=', ((context_today()+relativedelta(weeks=0, weekday=6)).strftime('%%Y-%%m-%%d')))]"/>
+                  <filter string="Hoy" domain="[('create_date', '&gt;=', datetime.datetime.now().strftime('%Y-%m-%d 00:00:00')),('create_date', '&lt;=',datetime.datetime.now().strftime('%Y-%m-%d 23:23:59'))]"/>
+                  <filter string="Ayer" domain="[('create_date','&lt;=', (datetime.date.today()-relativedelta(days=1)).strftime('%%Y-%%m-%%d')),('create_date','&gt;=',(datetime.date.today()-relativedelta(days=1)).strftime('%%Y-%%m-%%d'))]"/>
+
+                  <separator/>
+                  <group string="">
+                      <filter string="Por dia" context="{'group_by':'create_date:day'}"/>
+                      <filter string="Por mes" context="{'group_by':'create_date:month'}"/>
+                      <filter string="Creado por" context="{'group_by':'create_uid'}"/>
+                      <!-- <filter string="Por sucursal" context="{'group_by':'warehouse_id'}"/> -->
+                  </group>
+               </search>
+            </field>
+        </record>
+
     </data>
 </openerp>