Przeglądaj źródła

Mejorar en el código, implementación de rango de fecha Desde y Hasta y ajuste en la hoja de impresión

Adrielso 7 lat temu
rodzic
commit
0b9cd65539

+ 0 - 0
.scannerwork/.sonar_lock


+ 5 - 0
.scannerwork/report-task.txt

@@ -0,0 +1,5 @@
+projectKey=report:invoice:utility
+serverUrl=http://192.168.100.142:9600
+dashboardUrl=http://192.168.100.142:9600/dashboard/index/report:invoice:utility
+ceTaskId=AVuqp_usm9Hw3l9yF9oZ
+ceTaskUrl=http://192.168.100.142:9600/api/ce/task?id=AVuqp_usm9Hw3l9yF9oZ

+ 0 - 2
__init__.py

@@ -1,3 +1 @@
 # -*- coding : utf-8 -*-
-
-import model

BIN
__init__.pyc


+ 2 - 3
__openerp__.py

@@ -1,12 +1,11 @@
 # -*- encoding: utf-8 -*-
 {
     'name': 'Analisis de Utilidad de ventas',
-    'version': '0.1',
+    'version': '0.2',
     'category': 'Product',
     'author': 'Adrielso Kunert',
     'depends': ['account', 'sale'],
-    'data': ['view/report_invoice_utility.xml',
-             'view/templates.xml'],
+    'data': ['view/templates.xml'],
     'qweb': ['static/src/xml/*.xml'],
     'installable': True,
 }

+ 0 - 2
model/__init__.py

@@ -1,2 +0,0 @@
-# -*- coding : utf-8 -*-
-from . import report_invoice_utility

BIN
model/__init__.pyc


+ 0 - 134
model/report_invoice_utility.py

@@ -1,134 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from openerp import tools, models, fields, api
-from openerp.osv import fields, osv
-
-class report_invoice_utility(models.Model):
-
-    _name = "report.invoice.utility"
-    _description = "report.invoice.utility"
-    _auto = False
-
-    # _columns = {
-    #     'id': fields.integer('id',required=True),
-	# 	'product_id': fields.many2one('product.product', 'Product', required=True, select=True, readonly=True),
-	# 	'quantity': fields.float('Cantidad', readonly=True),
-    #     'brand_id': fields.many2one('product.brand', 'Marca', readonly=True),
-    #     'genre_id': fields.many2one('product.genre', 'Genero', readonly=True),
-    #     'categ_id': fields.many2one('product.category', 'Categoria', readonly=True),
-	# 	'factory_reference': fields.char('Referencia', readonly=True),
-	# 	'location_id': fields.many2one('stock.location', 'Ubicacion',  readonly=True),
-	# 	'id_parent' : fields.many2one('product.category', 'Categoria Padre', readonly=True),
-    # }
-    _columns ={
-                'id': fields.integer('id',required=True),
-                'id_invoice' : fields.many2one('account.invoice', 'invoice',readonly=True),
-                'type' : fields.char('type'),
-                'number' : fields.char('number'),
-                'origin' : fields.char('origin'),
-                'state' : fields.char('state'),
-                'journal_id' : fields.many2one('account.journal', 'journal', readonly=True),
-                'currency_id' : fields.many2one('res.currency', 'currency', readonly=True),
-                'rate' : fields.float('rate', readonly=True),
-                'id_line' : fields.many2one('account.invoice.line', 'Line invoice', readonly=True),
-                'quantity' : fields.float('quantity', readonly=True),
-                'price_unit_original' : fields.float('price_unit_original', readonly=True),
-                'price_unit' : fields.float('price_unit', readonly=True),
-                'discount' : fields.float('discount', readonly=True),
-                'name' : fields.char('name', readonly=True),
-                'id_product' : fields.many2one('product.product', 'Product', readonly=True),
-                'default_code' : fields.char('default_code', readonly=True),
-                'name_template' : fields.char('name_template', readonly=True),
-                'factory_code' : fields.char('factory_code', readonly=True),
-                'factory_reference' : fields.char('factory_reference', readonly=True),
-                'factory_barcode' : fields.char('factory_barcode', readonly=True),
-                'standard_price' : fields.float('standard_price', readonly=True),
-                'price_subtotal' : fields.float('price_subtotal', readonly=True),
-                'cost_subtotal' : fields.float('cost_subtotal', readonly=True),
-                'utilidad' : fields.float('utilidad', readonly=True),
-    }
-
-    _order = 'id asc'
-
-    def init(self, cr):
-		tools.sql.drop_view_if_exists(cr, 'report_invoice_utility')
-		cr.execute("""
-            CREATE OR REPLACE VIEW report_invoice_utility as (
-            SELECT row_number() over (ORDER BY il.id)as id,
-	               i.id as id_invoice,
-                   i.type as type,
-                   i.number as number,
-                   i.origin as origin,
-                   i.state as state,
-                   i.journal_id as journal_id,
-                   i.currency_id as currency_id,
-                   rcr.rate as rate,
-                   il.id as id_line,
-                   il.quantity as quantity,
-                   il.price_unit as price_unit_original,
-                   trunc(il.price_unit / rcr.rate,2) as price_unit,
-                   il.discount as discount,
-                   il.name as name,
-                   pp.id as id_product,
-                   pp.default_code as default_code,
-                   pp.name_template as name_template,
-                   pp.factory_code as factory_code,
-                   pp.factory_reference as factory_reference,
-                   pp.factory_barcode as factory_barcode,
-                   (pph.cost)::numeric as standard_price,
-                   trunc(il.quantity * (trunc(il.price_unit / rcr.rate,2)),2) as price_subtotal,
-                   trunc((il.quantity) * (pph.cost)::numeric ,2) as cost_subtotal,
-                   (trunc(il.quantity * (trunc(il.price_unit / rcr.rate,2)),2)-trunc((il.quantity) * (pph.cost)::numeric ,2))as utilidad
-            FROM account_invoice i
-                  left join res_currency_rate rcr on(rcr.currency_id= i.currency_id)
- 	              left join account_invoice_line il on (il.invoice_id =i.id)
- 	              left join product_product pp on (pp.id =il.product_id)
- 	              left join (SELECT cost, product_template_id FROM product_price_history ppa
- 		               where create_date=(select max(create_date) FROM product_price_history pps where ppa.product_template_id = pps.product_template_id))
- 		                pph on(pph.product_template_id = pp.product_tmpl_id)
-            where trim(upper(i.type))=trim(upper('out_invoice')) AND (i.state='open' OR i.state='paid'))
-		""")
-
-# Select i.id as id_invoice, i.type as type,  i.number as number, i.origin as origin, i.state as state,
-# 	il.id as id_line,  il.quantity as quantity, il.price_unit as price_unit, il.discount as discount, il.name as name,
-# 	pp.id as id_product, pp.default_code as default_code, pp.name_template as name_template, pp.factory_code as factory_code,
-# 	pp.factory_reference as factory_reference, pp.factory_barcode as factory_barcode, pp.product_tmpl_id,
-# 	pph.cost as standard_price, pph.product_template_id as product_template_id
-# FROM account_invoice i
-# 	left join account_invoice_line il on (il.invoice_id =i.id)
-# 	left join product_product pp on (pp.id =il.product_id)
-# 	left join (SELECT cost, product_template_id FROM product_price_history ppa
-# 		    where create_date=(select max(create_date) FROM product_price_history pps where ppa.product_template_id = pps.product_template_id))
-# 		    pph on(pph.product_template_id = pp.product_tmpl_id)
-# where i.type='out_invoice' and i.state='open' or i.state='paid'
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
-#
-# def init(self, cr):
-#     tools.sql.drop_view_if_exists(cr, 'report_invoice_utility')
-#     cr.execute("""
-#         CREATE OR REPLACE VIEW report_invoice_utility as (
-#         SELECT	row_number() over (ORDER BY product_id)as id,
-#                s.product_id as product_id,
-#                SUM(s.qty) as quantity,
-#                pt.product_brand_id as brand_id,
-#                pt.product_genre_id as genre_id,
-#                pt.categ_id as categ_id,
-#                pt.factory_reference as factory_reference,
-#                s.location_id as location_id,
-#                pcc.id_parent as id_parent
-#         FROM stock_quant s
-#            left join stock_location r on (r.id=s.location_id)
-#            left join product_product p on (p.id=s.product_id)
-#            left join product_template pt on (pt.id=p.product_tmpl_id)
-#            left join product_brand z on (pt.product_brand_id=z.id)
-#            left join product_genre t on (pt.product_genre_id=t.id)
-#            left join product_category g on (g.id=pt.categ_id)
-#            left join (SELECT pp.id, pp.parent_id,
-#                 case when (select ppp.parent_id from product_category ppp where ppp.id= pp.parent_id and ppp.parent_id !=1) is NULL
-#                 then pp.parent_id  ELSE
-#                 (select ppp.parent_id from product_category ppp where ppp.id= pp.parent_id and ppp.parent_id !=1) END as id_parent
-#                 from product_category pp) as pcc on pcc.id = pt.categ_id
-#             WHERE r.usage='internal' and  s.qty>0 and  pt.active=True
-#             GROUP BY s.location_id, s.product_id, pt.product_brand_id, pt.product_genre_id, pt.factory_reference, pt.categ_id, pcc.id_parent)
-#     """)

BIN
model/report_invoice_utility.pyc


+ 6 - 0
sonar-project.properties

@@ -0,0 +1,6 @@
+sonar.projectKey=report:invoice:utility
+sonar.projectName=report_invoice_utility
+sonar.projectVersion=1.0
+sonar.sources=.
+sonar.login=c42234f3b85885cbfe1df231cda399d3e1661cf3
+sonar.javascript.globals=openerp,accounting

BIN
static/description/icon.png


Plik diff jest za duży
+ 0 - 5
static/src/js/moment.min.js


+ 122 - 81
static/src/js/report_invoice_utility.js

@@ -1,16 +1,51 @@
 openerp.report_invoice_utility = function (instance, local) {
 
     local.ReportWidget = instance.Widget.extend({
-        template: 'ReportContainerTemplate1',
-        invoices: [],
-        invoiceLines: [],
-        productProduct:[],
-        Currency:[],
+         template: 'ReportContainerTemplate1',
+         invoices: [],
+         invoiceLines: [],
+         productProduct:[],
+         Currency:[],
 
         start: function () {
           this.fetchJournal();
+          this.fecthFecha();
           this.$el.find('#report_form').submit(_.bind(this.submitForm, this));
         },
+
+        fecthFecha: function() {
+            var to;
+            var dateFormat1 = "mm/dd/yy",
+              from = $( "#from" )
+                .datepicker({
+                  dateFormat: "dd/mm/yy",
+                  changeMonth: true,
+                  numberOfMonths: 1,
+                })
+                .on( "change", function() {
+                  to.datepicker( "option", "minDate", getDate(this), "dd/mm/yyyy");
+                });
+              to = $( "#to" ).datepicker({
+                dateFormat: "dd/mm/yy",
+                defaultDate: "+7d",
+                changeMonth: true,
+                numberOfMonths: 1,
+              })
+              .on( "change", function() {
+                from.datepicker( "option", "maxDate", getDate(this));
+              });
+
+            function getDate( element ) {
+              var fechaSel =element.value.split('/');
+              var date;
+              try {
+                date = $.datepicker.parseDate( dateFormat1, (fechaSel[1]+"/"+fechaSel[0]+"/"+fechaSel[2]));
+              } catch( error ) {
+                date = null;
+              }
+              return date;
+            }
+          },
         // Buscar Diario
         fetchJournal: function () {
           var self = this;
@@ -23,34 +58,35 @@ openerp.report_invoice_utility = function (instance, local) {
                 self.$el.find('#current-journal').append('<option value="9999999">TODAS LAS SUC.</option>');
             });
         },
-
+        // Buscar Cambio de Monedas USD,PYG,ARG,BRL
         fetchCurency: function () {
             var defer = $.Deferred();
             var currency_Rate = new instance.web.Model('res.currency.rate');
-            fields = ['id', 'name', 'currency_id', 'rate', 'create_date'];
-            domain = [['currency_id', '=', [166 , 20, 7, 3]]];
+            var fields = ['id', 'name', 'currency_id', 'rate', 'create_date'];
+            var domain = [['currency_id', '=', [166 , 20, 7, 3]]];
             currency_Rate.query(fields).filter(domain).all().then(function (results) {
               defer.resolve(results);
             });
             return defer;
           },
-
         // Invoice (FACTURAS)
         fetchInvoiceV2: function (journalId) {
-            var domain = null;
-            if( journalId == 9999999){
-              domain = [['state', '=',['open','paid']],['type', '=', 'out_invoice']];
-            }else{
-              domain = [['state', '=',['open','paid']],['type', '=', 'out_invoice'],['journal_id.id', '=', journalId]];
-            }
+            var desde =(this.$el.find('#from').val());
+            var hasta =(this.$el.find('#to').val());
 
+            var domain ="[['state', '=',['open','paid']],['type', '=', 'out_invoice']";
+            if( journalId != 9999999){
+              domain += ",['journal_id.id', '=', "+journalId+"]";
+            }
+            if (desde.length > 0 ){
+                domain += ",['date_invoice','>=', '"+desde+"'], ['date_invoice', '<=', '"+hasta+"']";
+            }
+            domain += "]";
             var defer = $.Deferred();
-
             var Invoice = new instance.web.Model('account.invoice');
-            Invoice.query(['id', 'type', 'number', 'origin', 'state', 'journal_id', 'currency_id', 'invoice_line']).filter(domain).all().then(function (results) {
+            Invoice.query(['id', 'type', 'number', 'origin', 'state', 'journal_id', 'currency_id', 'invoice_line','date_invoice']).filter(domain).all().then(function (results) {
                 defer.resolve(results);
             });
-
             return defer;
         },
         // Invoice line (Linea de Factura)
@@ -59,12 +95,10 @@ openerp.report_invoice_utility = function (instance, local) {
           var linesIds = _.flatten(_.map(invoices, function (item) {
             return item.invoice_line;
           }));
-
           var InvoiceLine = new instance.web.Model('account.invoice.line');
           InvoiceLine.query(['id', 'quantity', 'price_unit', 'discount', 'name', 'product_id', 'origin','invoice_id']).filter([['id', 'in', linesIds]]).all().then(function (results) {
             defer.resolve(results)
           });
-
           return defer;
         },
         // Product Product
@@ -73,21 +107,20 @@ openerp.report_invoice_utility = function (instance, local) {
           var porductIDS = _.flatten(_.map(invoiceLines, function (item) {
             return item.product_id[0];
           }));
-
           var ProductProdcut =  new instance.web.Model('product.product');
-          var fields = ['id', 'default_code', 'name_template', 'factory_code', 'factory_reference', 'factory_barcode', 'standard_price'];
+          var fields = ['id', 'default_code', 'name_template', 'factory_code', 'factory_reference', 'factory_barcode', 'standard_price','type'];
           ProductProdcut.query(fields).filter([['id', 'in', porductIDS]]).all().then(function (results) {
             defer.resolve(results)
           });
-
           return defer;
         },
-
         // Cansultar
         submitForm: function (e) {
+          var desde =this.$el.find('#from').val();
+          var hasta =this.$el.find('#to').val();
             e.preventDefault();
             var formData = this.$(e.currentTarget).serializeJSON();
-            if (formData.journal == 0) {
+            if ((formData.journal == 0) || (((desde.length == 0) && (hasta.length > 0)) || ((desde.length > 0) && (hasta.length == 0)))){
                 $("#dialog" ).dialog({
                     autoOpen: true,
                     resizable: false,
@@ -111,11 +144,11 @@ openerp.report_invoice_utility = function (instance, local) {
                     }
                 });
                 return;
-            }
+           }
+           var self = this;
             this.fetchCurency().then(function(currency) {
                 self.Currency = currency;
             });
-            var self = this;
             this.fetchInvoiceV2(formData.journal).then(function (invoices) {
               self.invoices = invoices;
               return invoices;
@@ -128,47 +161,58 @@ openerp.report_invoice_utility = function (instance, local) {
               self.productProduct = productProduct;
               return self.invoice_Currency();
             });
-
             return false;
         },
-
-        invoice_Currency: function(){
-          var currency_new = null;
+      // Obtener Monedas de la Factura
+      getCutrrency: function (id){
+       return _.find(this.Currency,function (curr) {
+            return _.contains(curr.currency_id,id);
+          });
+      },
+      // Actualizar cambio de las moneda de Factura
+      invoice_Currency: function(){
           for (var i = 0; i < this.invoices.length; i++) {
-              item = this.invoices[i];
-              currency_new = _.find(this.Currency, function(curr){
-                  return _.contains(curr.currency_id, item.currency_id[0]);
-                });
-                if (!currency_new){
+              var currency_new;
+              var item = this.invoices[i];
+              var id = item.currency_id[0];
+              currency_new = this.getCutrrency(id)
+              if (!currency_new){
                   currency_new={};
                   currency_new.rate=1;
-                }
-                this.invoices[i].rate=(currency_new.rate);
+              }
+              this.invoices[i].rate=(currency_new.rate);
           }
-            return this.fectUtility();
+          return this.fectUtility();
         },
-
+        // Obtener la Detalles de la Factura
+        getInvoice: function (id_line){
+           return _.find(this.invoices, function (inv) {
+            return _.contains(inv.invoice_line, id_line);
+          });
+        },
+        // Obtener las lineas de las Facturas
+        getProduct: function(pro_id){
+          return _.find(this.productProduct, function(prod){
+            return _.contains(pro_id, prod.id);
+          });
+        },
+        // unir los objetos
         fectUtility: function(){
-          var data = [];
-          var item = null;
-          var invoice = null;
-          var producto =null;
+          var data=[];
+          var item;
+          var invoice;
+          var producto;
 
           for (var i = 0; i < this.invoiceLines.length; i++) {
             item = this.invoiceLines[i];
-
-            invoice = _.find(this.invoices, function (inv) {
-              return _.contains(inv.invoice_line, item.id);
-            });
-            producto =_.find(this.productProduct, function(prod){
-              return _.contains(item.product_id, prod.id);
-            });
+            invoice = this.getInvoice(item.id)
+            producto =this.getProduct(item.product_id)
             if (!producto){
               producto={};
               producto.standard_price=0;
             }
-
-            data.push({number : (invoice.number),
+            if (producto.type =="product"){
+                data.push({number : (invoice.number),
                        name : (item.name),
                        quantity : (item.quantity),
                        price_unity : (item.price_unit.toFixed(2) / invoice.rate.toFixed(2)),
@@ -176,16 +220,18 @@ openerp.report_invoice_utility = function (instance, local) {
                        price_tot : (item.quantity * (item.price_unit.toFixed(2) / invoice.rate.toFixed(2))),
                        standar_tot : (item.quantity * producto.standard_price.toFixed(2)),
                        utility : ((item.quantity * (item.price_unit.toFixed(2) / invoice.rate.toFixed(2))) - (item.quantity * producto.standard_price)).toFixed(2)});
-
+            }
           }
           this.drawPDF(data);
         },
-
+        // Generar el pdfDoc
         drawPDF: function (rows) {
-          rows2=[];
+            var rows2=[];
             var sucusal = this.sucDescrip = this.$el.find('#current-journal option:selected').text();
+            var desde =(this.$el.find('#from').val());
+            var hasta =(this.$el.find('#to').val());
             var totalPagesExp = "{total_pages_count_string}";
-            getColumns = [
+            var getColumns = [
                     {title: "Factura", dataKey: "number"},
                     {title: "Producto", dataKey: "name"},
                     {title: "Cantidad", dataKey: "quantity"},
@@ -197,7 +243,7 @@ openerp.report_invoice_utility = function (instance, local) {
                 ];
 
             var pdfDoc = new window.jsPDF();
-            var quantity=precio_cost=precio_unit=tol_cost=tot_unit=utility=0;
+            var quantity=0,precio_cost=0,precio_unit=0,tol_cost=0,tot_unit=0,utility=0;
             _.each(rows, function (datos) {
               quantity  += datos.quantity;
               precio_unit += datos.price_unity;
@@ -233,54 +279,49 @@ openerp.report_invoice_utility = function (instance, local) {
                                 standar_price : accounting.formatNumber(rows1.standar_price, 2, ".", ","),
                                 price_tot : accounting.formatNumber(rows1.price_tot, 2, ".", ","),
                                 standar_tot : accounting.formatNumber(rows1.standar_tot, 2, ".", ","),
-                                utility :accounting.formatNumber(rows1.utility, 2, ".", ",")});
+                                utility : accounting.formatNumber(rows1.utility, 2, ".", ",")});
             });
 
             pdfDoc.autoTable(getColumns, rows2, {
-
-                theme: 'striped', // 'striped', 'grid' or 'plain',
-                // startY: pdfDoc.autoTable.previous.finalY + 15,
-                // margin: {},
-                // tableLineWidth: 0.75,
-                styles: { overflow: 'hidden',
-                          fontSize: 7,
-                          columnWidth: 'wrap'},
-                columnStyles: {
-                            // text: {columnWidth: 'auto'},
-                              number: {fontStyle: 'bold'},
+                styles: { overflow: 'linebreak', fontSize: 8, columnWidth: 'wrap'},
+                columnStyles: {number: {fontStyle: 'bold'},
                               name :{columnWidth: '10px'},
                               quantity :{halign:'right' },
                               price_unity : {halign:'right' },
                               standar_price : {halign:'right' },
                               price_tot : {halign:'right' },
                               standar_tot : {halign:'right' },
-                              utility : {halign:'right'},
-
-                            },
-
-                margin: { top: 15, horizontal: 7},
+                              utility : {halign:'right'},},
+                margin: { top: 16, horizontal: 7},
 
                 addPageContent: function (data) {
-                    pdfDoc.text('Análisis de Utilidad '+ sucusal, 10, 10);
+                  pdfDoc.setFontSize(12);
+                  pdfDoc.setFontStyle('bold');
+                  pdfDoc.setTextColor(40);
+                    pdfDoc.text('Análisis de Utilidad '+ sucusal, data.settings.margin.left, 10);
+                    if(desde.length > 0 ){
+                      pdfDoc.setFontSize(10);
+                      pdfDoc.setFontStyle('bold');
+                      pdfDoc.setTextColor(40)
+                      pdfDoc.text('Desde: '+desde+' Hasta: '+hasta, data.settings.margin.left,14);
+                    }
                     // FOOTER
                     var str = "Pagina  " + data.pageCount;
                     // Total page number plugin only available in jspdf v1.0+
                     if (typeof pdfDoc.putTotalPages === 'function') {
                         str = str + " de " + totalPagesExp;
                     }
-                    pdfDoc.setFontSize(7);
+                    pdfDoc.setFontSize(9);
                     pdfDoc.setFontStyle('bold');
                     pdfDoc.setTextColor(40);
-                    pdfDoc.text(str, data.settings.margin.left, pdfDoc.internal.pageSize.height - 10);
+                    pdfDoc.text(str, data.settings.margin.left, pdfDoc.internal.pageSize.height - 5);
                 }
-
             });
             if (typeof pdfDoc.putTotalPages === 'function') {
                 pdfDoc.putTotalPages(totalPagesExp);
             }
             pdfDoc.save('Analisis de utilidad.pdf')
-            // pdfDoc.output('dataurlnewwindow');
-        },
+/        },
 
     });
     instance.web.client_actions.add('report_invoice_utility.action_report', 'instance.report_invoice_utility.ReportWidget');

+ 28 - 8
static/src/xml/report_utility.xml

@@ -11,20 +11,40 @@
               </header>
               <div class="oe_form_sheetbg">
                 <div class="oe_form_sheet oe_form_sheet_width">
-                  <div class="oe_title">
+                  <div class=""  style=" text-align: center">
                     <h2>Analisis de Utilidad</h2>
                   </div>
                   <div class="oe_clear"></div>
                   <hr/>
                   <form id="report_form" class="form-horizontal">
-                        <label for="current-journal" class="col-sm-3 control-label">Suc.</label>
-                        <div class="form-group">
-                        <div class="col-sm-5">
-                            <select id="current-journal" class="form-control" name="journal">
+                        <div class="col-sm-12">
+                            <div class="col-sm-6">
+                              <div class="col-sm-2">
+                                <label for="current-journal">Sucursal:</label>
+                              </div>
+                              <div class="col-sm-4">
+                              <select id="current-journal" class=" ui-autocomplete-input" name="journal">
                                 <option value="0">Seleccione una Suc.</option>
-                            </select>
-                        </div>
-                    </div>
+                              </select>
+                            </div>
+                            </div>
+                            <div class="col-sm-6">
+                              <div class="col-sm-3">
+                                <label for="from">Desde </label>
+                              </div>
+                              <div class="col-sm-3">
+                                <input type="text" id="from" name="from"/>
+                              </div>
+                              <div class="row"/>
+                              <div class="row"/>
+                              <div class="col-sm-3">
+                                <label for="to">Hasta </label>
+                              </div>
+                              <div class="col-sm-3">
+                                <input type="text" id="to" name="to"/>
+                              </div>
+                            </div>
+                      </div>
                   </form>
                 </div>
               </div>

+ 0 - 37
view/report_invoice_utility.xml

@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<openerp>
-  <data>
-
-    <record id="account_invoice_utility"  model="ir.actions.act_window">
-        <field name="name">Analisis de Utilidad</field>
-        <field name="res_model">report.invoice.utility</field>
-        <field name="view_type">form</field>
-        <field name="view_mode">tree</field>
-    </record>
-
-
-    <record id="account_invoice_utility_tree" model="ir.ui.view">
-            <field name="name">account.invoice.utility.tree</field>
-            <field name="model">report.invoice.utility</field>
-            <field name="view_type">tree</field>
-            <field name="arch" type="xml">
-              <tree ditable='bottom' delete='false' create='false'>
-                  <field name="number" string="Factura"/>
-                  <field name="name" string="Pordcuto"/>
-                  <field name="quantity" sum="quantity"/>
-                  <field name='standard_price' string="Precio de Costo" sum="standard_price"/>
-                  <field name='price_unit' string="Precio Venta" sum="price_unit" />
-                  <field name="cost_subtotal" string="Total Costo" sum="cost_subtotal" />
-                  <field name='price_subtotal' string="Total Venta" sum="price_subtotal"/>
-                  <field name='utilidad' string="utilidad" sum="utilidad"/>
-              </tree>
-            </field>
-      </record>
-
-
-
-    <menuitem id="invoice_utility" name="Analisis de Utilidad" parent="account.menu_finance_reports"/>
-    <menuitem id="invoice_utility_menu" name="Analisis de Utilidad de Ventas" action="account_invoice_utility" parent="invoice_utility"/>
-
-  </data>
-</openerp>

+ 2 - 8
view/templates.xml

@@ -2,14 +2,11 @@
     <data>
         <template id="report_invoice_utility.assets_backend" name="report_invoice_utility" inherit_id="web.assets_backend">
             <xpath expr="." position="inside">
-                <!-- <link rel="stylesheet" href="/report_invoice_utility/static/src/css/main.css" /> -->
                 <script type="text/javascript" src="/report_invoice_utility/static/src/js/jquery.serializejson.min.js" />
                 <script type="text/javascript" src="/report_invoice_utility/static/src/js/jspdf.min.js" />
                 <script type="text/javascript" src="/report_invoice_utility/static/src/js/jspdf.plugin.autotable.min.js" />
                 <script type="text/javascript" src="/report_invoice_utility/static/src/js/report_invoice_utility.js" />
                 <script type="text/javascript" src="/report_invoice_utility/static/src/js/accounting.min.js" />
-                <!-- <script type="text/javascript" src="/report_invoice_utility/static/src/js/moment.min.js"/> -->
-                <!-- <script type="text/javascript" src="/report_invoice_utility/static/src/js/jquery.formatNumber-0.1.1.min.js"/> -->
             </xpath>
         </template>
 
@@ -18,10 +15,7 @@
             <field name="tag">report_invoice_utility.action_report</field>
         </record>
 
-        <!-- <menuitem id="others_report_menu" name="Otros Reportes" parent="base.menu_reporting" /> -->
-        <menuitem id="invoice_utility_menu2"
-                  parent="report_invoice_utility.invoice_utility"
-                  name="Analisis de Utilidad Javascript"
-                  action="report_invoice_utility_action"/>
+        <menuitem id="invoice_utility" name="Analisis de Utilidad" parent="account.menu_finance_reports"/>
+        <menuitem id="invoice_utility_menu2" parent="invoice_utility" name="Analisis de Utilidad" action="report_invoice_utility_action"/>
     </data>
 </openerp>

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików