Explorar el Código

Corregir formato de ruc

SEBAS hace 2 años
padre
commit
6fa1076255
Se han modificado 5 ficheros con 58 adiciones y 42 borrados
  1. BIN
      __init__.pyc
  2. 1 1
      __openerp__.py
  3. 27 20
      static/src/js/reports/report_purchases.js
  4. 29 20
      static/src/js/reports/report_sales.js
  5. 1 1
      templates.xml

BIN
__init__.pyc


+ 1 - 1
__openerp__.py

@@ -4,7 +4,7 @@
     'author': "Eiru Software",
     'category': 'Reporte',
     'version': '0.1',
-    'depends': ['base','eiru_assets','eiru_set_dependencies'],
+    'depends': ['base','eiru_assets','eiru_set_dependencies''eiru_reports',],
     'data': [
         'templates.xml',
     ],

+ 27 - 20
static/src/js/reports/report_purchases.js

@@ -1,6 +1,6 @@
 function report_purchases (reporting){
     "use strict";
-    
+
     var instance = openerp;
 
     reporting.ReportPurchasesWidget = reporting.Base.extend({
@@ -210,18 +210,20 @@ function report_purchases (reporting){
             var img;
             _.each(invoices, function(invoice){
                 // Obtener el ruc y el DV del proveedor
-                supplier_ruc = self.getSupplier(invoice.partner_id[0]);
-                ruc = supplier_ruc.ruc.split("-");
 
+                supplier_ruc = self.getSupplier(invoice.partner_id[0]);
+                if(supplier_ruc.ruc){
+                    ruc = supplier_ruc.ruc.split("-");
+                }
                 // Determinar la cantidad de cuotas.
                 cuota = _.flatten(self.getPaymentTerm(invoice.payment_term[0])).length - 2;
-                
+
                 // Determinar si la factura es a credito o al contado.
                 condicion = 1;
                 if (cuota > 1){
                     condicion = 2;
                 }
-                
+
                 // Validar. Si la factura es al contado, la cuota debe ser cero.
                 if (condicion == 1){
                     cuota = 0;
@@ -242,12 +244,12 @@ function report_purchases (reporting){
                 tasa_5 = 0;
                 // Determinar si fue aplicado algun impuesto a la factura.
                 if(invoice.amount_total == invoice.amount_untaxed){
-                    untaxed = accounting.formatNumber(invoice.amount_untaxed,"","");        
+                    untaxed = accounting.formatNumber(invoice.amount_untaxed,"","");
                 }else{
                     // Si fue aplicado impuesto, determina si fue de 10% o 5%.
                     if(IVA == TAX){
                         iva_10 = accounting.formatNumber(invoice.amount_tax,"","");;
-                        tasa_10 = accounting.formatNumber(invoice.amount_untaxed,"","");   
+                        tasa_10 = accounting.formatNumber(invoice.amount_untaxed,"","");
                     }else{
                         iva_5 = accounting.formatNumber(invoice.amount_tax,"","");;
                         tasa_5 = accounting.formatNumber(invoice.amount_untaxed,"","");
@@ -261,10 +263,10 @@ function report_purchases (reporting){
                     icons = '<a class="" href="javascript:void(0)" title="Descarga no disponible"><i class="fa fa-file fa-lg" aria-hidden="true"></i></a>&nbsp;&nbsp;&nbsp;<a class="" href="javascript:void(0)" title="Vista previa no disponible"><i class="fa fa-eye-slash fa-lg" aria-hidden="true"></i></a>';
                 }else{
                     if(imagen[1]=='image/png' || imagen[1]=='image/jpeg'){
-                        icons = '<a class="download" href="javascript:void(0)" title="Descargar"><i class="fa fa-download fa-lg" aria-hidden="true"></i></a>&nbsp;&nbsp;&nbsp;<a class="preview" title="Vista previa"><i class="fa fa-eye fa-lg" aria-hidden="true"></i></a>';    
+                        icons = '<a class="download" href="javascript:void(0)" title="Descargar"><i class="fa fa-download fa-lg" aria-hidden="true"></i></a>&nbsp;&nbsp;&nbsp;<a class="preview" title="Vista previa"><i class="fa fa-eye fa-lg" aria-hidden="true"></i></a>';
                     }else{
                         icons = '<a class="download" href="javascript:void(0)" title="Descargar"><i class="fa fa-download fa-lg" aria-hidden="true"></i></a>&nbsp;&nbsp;&nbsp;<a class="" href="javascript:void(0)" title="Vista previa no disponible"><i class="fa fa-eye-slash fa-lg" aria-hidden="true"></i></a>';
-                    }  
+                    }
                 }
                 // Indice de la tabla
                 contador += 1;
@@ -272,10 +274,10 @@ function report_purchases (reporting){
                 data.push({
                     linea: contador,
                     tipo_registro: 2,
-                    ruc_proveedor: ruc[0], 
+                    ruc_proveedor: ruc[0],
                     dv: ruc[1],
                     partner : invoice.partner_id[1],
-                    supplier_invoice_number: self.valorNull(invoice.timbrado), 
+                    supplier_invoice_number: self.valorNull(invoice.timbrado),
                     tipo_documento : tipo,
                     number: self.valorNull(invoice.supplier_invoice_number),
                     date: moment(invoice.date_invoice).format("DD/MM/YYYY"),
@@ -294,7 +296,7 @@ function report_purchases (reporting){
                 });
             });
         self.newInvoice = data;
-        this.loadTable(data);  
+        this.loadTable(data);
         },
 
         // Informacion para el txt.
@@ -315,7 +317,12 @@ function report_purchases (reporting){
             var period =this.$el.find('#current-period').val();
             _.each(resCompanys, function(resCompany){
                 // Obtener el RUC y el DV de la compania
-                company_ruc = resCompany.company_ruc.split("-");
+                if(resCompany.ruc){
+                    company_ruc = resCompany.company_ruc.split("-");
+                  }else {
+
+                    company_ruc = ""
+                 }
                 // Determinar si la persona es fisica o juridica
                 if(resCompany.juridico == true){
                     agent = resCompany.agent_ruc.split("-");
@@ -368,9 +375,9 @@ function report_purchases (reporting){
                 datos.push('\t');
                 // Version
                 datos.push(version);
-                datos.push('\r\n');                
+                datos.push('\r\n');
             });
-            
+
             // detalles
             _.each(invoices, function(newInvoice){
                 if(newInvoice.period_id == period){
@@ -379,7 +386,7 @@ function report_purchases (reporting){
                     datos.push('\t');
                     // ruc del proveedor
                     datos.push(newInvoice.ruc_proveedor);
-                    datos.push('\t'); 
+                    datos.push('\t');
                     // dv del proveedor
                     datos.push(newInvoice.dv);
                     datos.push('\t');
@@ -388,7 +395,7 @@ function report_purchases (reporting){
                     datos.push('\t');
                     // Numero de timbrado
                     datos.push(newInvoice.supplier_invoice_number);
-                    datos.push('\t'); 
+                    datos.push('\t');
                     // Tipo de documento
                     datos.push(newInvoice.tipo_documento);
                     datos.push('\t');
@@ -471,7 +478,7 @@ function report_purchases (reporting){
                     var periodo = newInvoice[0].period_name.split("/");
                     var fileName = "Compras " + periodo[1] + periodo[0];
                     self.fect_cabecera(self.resCompany, self.newInvoice);
-                    download(self.newCabecera, fileName, "text/plain");   
+                    download(self.newCabecera, fileName, "text/plain");
                 }else{
                     self.showMensajeRegistro();
                 }
@@ -489,7 +496,7 @@ function report_purchases (reporting){
             var dato = newInvoice[orden - 1].attachment_ids;
             download("data:"+dato.file_type+";base64,"+dato.datas+"",dato.name,dato.file_type);
         },
-        // Vista previa del archivo 
+        // Vista previa del archivo
         previewAttachment: function (e) {
             var self = this;
             var newInvoice = self.newInvoice;
@@ -561,4 +568,4 @@ function report_purchases (reporting){
             return
         },
     });
-}
+}

+ 29 - 20
static/src/js/reports/report_sales.js

@@ -1,6 +1,6 @@
 function report_sales (reporting){
     "use strict";
-    
+
     var instance = openerp;
 
     reporting.ReportSalesWidget = reporting.Base.extend({
@@ -10,7 +10,7 @@ function report_sales (reporting){
         resCurrency :[],
         resCompany:[],
         accountJournal:[],
-        customer:[], 
+        customer:[],
         newInvoice:[],
         rowsData :[],
         // event
@@ -161,7 +161,7 @@ function report_sales (reporting){
                 return item.id === partner_id;
             }).shift();
         },
-        // Obtener el metodo de pago 
+        // Obtener el metodo de pago
         getPaymentTerm : function(id){
             var self = this;
             return _.filter(self.paymentTerm,function(item){
@@ -207,12 +207,16 @@ function report_sales (reporting){
             var imagen;
             var valor_timbrado;
             _.each(invoices, function(invoice){
+
                 // Obtener el timbrado desde el journal
                 valor_timbrado = self.getJournal(invoice.journal_id[0]);
 
                 // obtener el ruc y el DV del cliente
                 customer_ruc = self.getCustomer(invoice.partner_id[0]);
-                ruc = customer_ruc.ruc.split("-");
+                if(customer_ruc.ruc){
+                    ruc = customer_ruc.ruc.split("-");
+                }
+
                 // Determinar el tipo de factura.
                 if(invoice.type == 'out_invoice'){
                     tipo = 1;
@@ -244,12 +248,12 @@ function report_sales (reporting){
                 tasa_5 = 0;
                 // Determinar si fue aplicado algun impuesto a la factura.
                 if(invoice.amount_total == invoice.amount_untaxed){
-                    untaxed = accounting.formatNumber(invoice.amount_untaxed,"","");        
+                    untaxed = accounting.formatNumber(invoice.amount_untaxed,"","");
                 }else{
                     // Si fue aplicado impuesto, determina si fue de 10% o 5%.
                     if(IVA == TAX){
                         iva_10 = accounting.formatNumber(invoice.amount_tax,"","");;
-                        tasa_10 = accounting.formatNumber(invoice.amount_untaxed,"","");   
+                        tasa_10 = accounting.formatNumber(invoice.amount_untaxed,"","");
                     }else{
                         iva_5 = accounting.formatNumber(invoice.amount_tax,"","");;
                         tasa_5 = accounting.formatNumber(invoice.amount_untaxed,"","");
@@ -266,11 +270,11 @@ function report_sales (reporting){
                     icons = '<a class="" href="javascript:void(0)" title="Descarga no disponible"><i class="fa fa-file fa-lg" aria-hidden="true"></i></a>&nbsp;&nbsp;&nbsp;<a class="" href="javascript:void(0)" title="Vista previa no disponible"><i class="fa fa-eye-slash fa-lg" aria-hidden="true"></i></a>';
                 }else{
                     if(imagen[1]=='image/png' || imagen[1]=='image/jpeg'){
-                        icons = '<a class="download" href="javascript:void(0)" title="Descargar"><i class="fa fa-download fa-lg" aria-hidden="true"></i></a>&nbsp;&nbsp;&nbsp;<a class="preview" title="Vista previa"><i class="fa fa-eye fa-lg" aria-hidden="true"></i></a>';    
+                        icons = '<a class="download" href="javascript:void(0)" title="Descargar"><i class="fa fa-download fa-lg" aria-hidden="true"></i></a>&nbsp;&nbsp;&nbsp;<a class="preview" title="Vista previa"><i class="fa fa-eye fa-lg" aria-hidden="true"></i></a>';
                     }else{
                         icons = '<a class="download" href="javascript:void(0)" title="Descargar"><i class="fa fa-download fa-lg" aria-hidden="true"></i></a>&nbsp;&nbsp;&nbsp;<a class="" href="javascript:void(0)" title="Vista previa no disponible"><i class="fa fa-eye-slash fa-lg" aria-hidden="true"></i></a>';
                     }
-                    
+
                 }
                 // Indice de columnas
                 contador += 1;
@@ -298,7 +302,7 @@ function report_sales (reporting){
                     period_name : invoice.period_id[1],
                     attachment_ids : adjunto,
                     download_icon : icons,
-                });      
+                });
             });
             self.newInvoice = data;
             this.loadTable(data);
@@ -327,7 +331,12 @@ function report_sales (reporting){
             }
             _.each(resCompanys, function(resCompany){
                 // Obtener el RUC y el DV de la compania
-                company_ruc = resCompany.company_ruc.split("-");
+                if(resCompany.ruc){
+                    company_ruc = resCompany.company_ruc.split("-");
+                  }else {
+
+                    company_ruc = ""
+                 }
                 // Verificar si es una persona fisica o juridica
                 if(resCompany.juridico == true){
                     agent = resCompany.agent_ruc.split("-");
@@ -376,7 +385,7 @@ function report_sales (reporting){
                 datos.push('\t');
                 // Version
                 datos.push(version);
-                datos.push('\r\n');                
+                datos.push('\r\n');
             });
             // detalles
             var customer_ruc;
@@ -402,7 +411,7 @@ function report_sales (reporting){
                     datos.push('\t');
                     // ruc del cliente
                     datos.push(newInvoice.ruc_cliente);
-                    datos.push('\t'); 
+                    datos.push('\t');
                     // dv del cliente
                     datos.push(newInvoice.dv);
                     datos.push('\t');
@@ -411,7 +420,7 @@ function report_sales (reporting){
                     datos.push('\t');
                     // tipo de documento
                     datos.push(newInvoice.tipo_documento);
-                    datos.push('\t'); 
+                    datos.push('\t');
                     // Numero de documento
                     datos.push(newInvoice.numero_documento);
                     datos.push('\t');
@@ -447,8 +456,8 @@ function report_sales (reporting){
                     datos.push('\r\n');
                     cantidad += 1;
                     ingreso += parseInt(newInvoice.total);
-                    periodo = newInvoice.period_name.split("/");    
-                }         
+                    periodo = newInvoice.period_name.split("/");
+                }
             });
             datos.splice(2,0);
             datos[2] = periodo[1] + periodo[0];
@@ -456,7 +465,7 @@ function report_sales (reporting){
             datos[22] = cantidad;
             datos.splice(24,0);
             datos[24] = ingreso;
-            // console.log(datos);
+
             self.newCabecera = new Blob(datos, {type: 'text/plain'});
         },
 
@@ -480,7 +489,7 @@ function report_sales (reporting){
             var table = this.$el.find('#table');
             table.bootstrapTable('load',rowsTable);
         },
-        
+
         // Genera el archivo txt, con el nombre correspondiente
         generarTxt: function () {
             var self = this;
@@ -497,7 +506,7 @@ function report_sales (reporting){
                     download(self.newCabecera, fileName, "text/plain");
                 }else{
                     self.showMensajeRegistro();
-                }     
+                }
             }else{
                 self.showMensaje();
             }
@@ -513,7 +522,7 @@ function report_sales (reporting){
             var dato = newInvoice[orden - 1].attachment_ids;
             download("data:"+dato.file_type+";base64,"+dato.datas+"",dato.name,dato.file_type);
         },
-        // Vista previa del archivo adjunto 
+        // Vista previa del archivo adjunto
         previewAttachment: function (e) {
             var self = this;
             var newInvoice = self.newInvoice;
@@ -586,4 +595,4 @@ function report_sales (reporting){
             return
         },
     });
-}
+}

+ 1 - 1
templates.xml

@@ -25,7 +25,7 @@
             <field name="tag">eiru_set.action_set</field>
         </record>
 
-        <menuitem id="eiru_set_menu" name="SET" parent="base.menu_reporting" />
+        <menuitem id="eiru_set_menu" name="SET" parent="eiru_reports.account_parent_menu" />
         <menuitem id="eiru_set_menu_submenu" parent="eiru_set_menu" name="Analisis de Tributacion" action="eiru_set_action" />
     </data>
 </openerp>