Sfoglia il codice sorgente

[FIX] Solucion de Impresion GS

adrielso 7 anni fa
parent
commit
093a0db62d

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+*.pyc

BIN
__init__.pyc


BIN
model/__init__.pyc


BIN
model/account_invoice_move_line.pyc


+ 122 - 112
static/src/js/edit_move_line.js

@@ -7,17 +7,16 @@
 
     openerp.edit_move_line.MovePrintWidget = openerp.Widget.extend({
         template: "edit_move_line.MovePrint",
-        accountInvoice:[],
-        moveLine:[],
-        currencyRate:[],
-        resPartner:[],
-        moveLineReconcile:[],
-        pagare:[],
-        doc:[],
+        accountInvoice: [],
+        moveLine: [],
+        currencyRate: [],
+        resPartner: [],
+        moveLineReconcile: [],
+        pagare: [],
+        doc: [],
 
         init: function (parent, id) {
             this._super(parent);
-            // this.id = id;
         },
         start: function () {
           var self = this;
@@ -26,42 +25,42 @@
           });
         },
         // inicial
-        fecthInitial: function(){
-            var self= this;
-            var id =openerp.webclient._current_state.id;
-            this.fetchCurency().then(function(Currency){
-                self.currencyRate=Currency;
+        fecthInitial: function() {
+            var self = this;
+            var id = openerp.webclient._current_state.id;
+
+            this.fetchCurency().then(function(Currency) {
+                self.currencyRate = Currency;
                 return Currency;
             }).then(function(Currency){
-                return self.fetchInvoice(parseInt(id));
-            }).then(function(invoice){
+                return self.fetchInvoice(id);
+            }).then(function(invoice) {
                 self.accountInvoice = invoice;
                 return self.fetchMoveLine(invoice);
-            }).then(function(moveline){
+            }).then(function(moveline) {
                 self.moveLine = moveline;
                 return self.fetchMoveLineReconcile(moveline);
-            }).then(function(moveRecocile){
+            }).then(function(moveRecocile) {
                 self.moveLineReconcile=moveRecocile;
                 return self.fetchPartner();
-            }).then(function(partner){
+            }).then(function(partner) {
                 self.resPartner = partner;
                 return self.drawJSON();
-            }).then(function(doc){
+            }).then(function(doc) {
                 self.doc = doc;
                 return self.fetchJoint();
             });
-
-            return false;
         },
         // Buscar Cambio de Monedas USD,PYG,ARG,BRL
         fetchCurency: function (id_currency) {
             var defer = $.Deferred();
             var currency_Rate = new openerp.web.Model('res.currency.rate');
             var fields = ['currency_id', 'rate'];
-            var domain = [['currency_id', '=', [166 , 20, 7, 3]]];
+            var domain = [['currency_id', 'in', [166 , 20, 7, 3]]];
             currency_Rate.query(fields).filter(domain).all().then(function (results) {
               defer.resolve(results);
             });
+
             return defer;
         },
         // Account invoice
@@ -69,59 +68,64 @@
             var defer = $.Deferred();
             var invoice = new openerp.web.Model('account.invoice');
             var fields = ['id', 'number', 'currency_id', 'partner_id', 'date_invoice','move_line_debt'];
-            var domain = [['id', '=', id]];
+            var domain = [['id', 'in', [id]]];
             invoice.query(fields).filter(domain).all().then(function (results) {
               defer.resolve(results);
             });
+
             return defer;
         },
-        // Move Line
+        // Move Line0.
         fetchMoveLine: function(invoice){
           var defer = $.Deferred();
           var id_move = _.flatten(_.map(invoice,function(item){return item.move_line_debt}));
           var moveLine = new openerp.web.Model('account.move.line');
-          var fields = ['id', 'debit','credit','date_maturity','currency_id','company_id','reconcile_partial_id','ref'];
-          var domain = [['id', '=', id_move]];
-          moveLine.query(fields).filter(domain).order_by("id").all().then(function(results){
+          var fields = ['id', 'debit', 'credit', 'date_maturity', 'currency_id', 'company_id', 'reconcile_partial_id', 'ref', 'amount_residual_currency'];
+          var domain = [['id', 'in', id_move]];
+          moveLine.query(fields).filter(domain).order_by("id").all().then(function(results) {
             defer.resolve(results);
           });
+
           return defer;
         },
         // Move Line Reconcile
-        fetchMoveLineReconcile: function(move){
+        fetchMoveLineReconcile: function(move) {
           var defer = $.Deferred();
           var id_reco = _.flatten(_.map(move,function(item){return item.reconcile_partial_id[0]}));
           var moveLine = new openerp.web.Model('account.move.line');
-          var fields = ['id', 'debit','credit','date_maturity','currency_id','company_id','reconcile_partial_id'];
-          var domain = [['reconcile_partial_id', '=', id_reco],['credit', '>', 0]];
-          moveLine.query(fields).filter(domain).all().then(function(results){
+          var fields = ['id', 'debit', 'credit', 'date_maturity', 'currency_id', 'company_id', 'reconcile_partial_id'];
+          var domain = [['reconcile_partial_id', 'in', id_reco],['credit', '>', 0]];
+          moveLine.query(fields).filter(domain).all().then(function(results) {
             defer.resolve(results);
           });
+
           return defer;
         },
         // Partner
-        fetchPartner: function(){
+        fetchPartner: function() {
             var defer = $.Deferred();
             var defer = $.Deferred();
             var partner_ids = _.flatten(_.map(this.accountInvoice,function(item){return item.partner_id[0]}));
             var resPartner = new openerp.web.Model('res.partner');
-            var fields =['id','name','phone','mobile','ruc', 'street'];
-            var domain =[['id', '=', partner_ids]];
-            resPartner.query(fields).filter(domain).all().then(function(results){
+            var fields = ['id','name','phone','mobile','ruc', 'street'];
+            var domain = [['id', 'in', partner_ids]];
+            resPartner.query(fields).filter(domain).all().then(function(results) {
               defer.resolve(results);
             });
+
             return defer;
         },
         // Obtener EL JSON
-        drawJSON: function(){
+        drawJSON: function() {
           var defer = $.Deferred();
-          $.getJSON('/edit_move_line/static/src/json/pagare.json').then(function(doc){
+          $.getJSON('/edit_move_line/static/src/json/pagare.json').then(function(doc) {
             defer.resolve(doc);
           });
+
           return defer;
         },
         // Juntar datos
-        fetchJoint: function(){
+        fetchJoint: function() {
           var self = this;
           var lineReconcile;
           var item;
@@ -130,104 +134,113 @@
           var invoice;
 
           invoice = this.accountInvoice.shift();
-          partner=this.resPartner.shift();
-          if (!partner){
-            partner={};
-            partner.name="";
-            partner.street="";
-            partner.ruc =" ";
-            partner.phone="";
-            partner.mobile="";
-          }else{
-            if (!partner.name){partner.name=""};
-            if (!partner.street){partner.street=""};
-            if (!partner.ruc){partner.ruc =" "};
-            if (!partner.phone){partner.phone=""};
-            if (!partner.mobile){partner.mobile=""};
+          partner = this.resPartner.shift();
+          if (!partner) {
+            partner = {};
+            partner.name = "";
+            partner.street = "";
+            partner.ruc = " ";
+            partner.phone = "";
+            partner.mobile = "";
+          }else {
+            if (!partner.name)
+                partner.name = "";
+            if (!partner.street)
+                partner.street = "";
+            if (!partner.ruc)
+                partner.ruc = " ";
+            if (!partner.phone)
+                partner.phone = "";
+            if (!partner.mobile)
+                partner.mobile = "";
           }
 
           for (var i = 0; i < self.moveLine.length; i++) {
               item = self.moveLine[i];
               // Reconcile parcial
               lineReconcile = self.getLineReconcile(item.reconcile_partial_id[0]);
-              if(!lineReconcile){
-                  lineReconcile={};
-                  lineReconcile.credit=0;
+              if(!lineReconcile) {
+                  lineReconcile = {};
+                  lineReconcile.credit = 0;
               }
               //Rate(cambio)
               rate=self.getRate(item.currency_id[0]);
-              if (!rate){
-                rate={};
-                rate.rate=1;
+              if (!rate) {
+                rate = {};
+                rate.rate = 1;
                 rate.currency_id = 3;
-                rate.currency_simbol= "USD";
-                rate.simbol="$";
-                rate.currency_name="Dolares";
+                rate.currency_simbol = "USD";
+                rate.simbol = "$";
+                rate.currency_name = "Dolares";
               }
 
-              self.pagare.push({number: invoice.number,
-                                pagar : accounting.formatNumber(((item.debit * rate.rate)-(lineReconcile.credit *rate.rate)), 2, ".", ","),
-                                date_invoice : self.formatDate(invoice.date_invoice),
-                                vencimiento: self.formatDate(item.date_maturity),
-                                company_id_name : item.company_id[1],
-                                montoletras : number.num2word(((item.debit * rate.rate)-(lineReconcile.credit *rate.rate))),
-                                partner_name : partner.name,
-                                street_res : partner.street,
-                                ruc_res : partner.ruc,
-                                phone_res : partner.phone,
-                                mobile_res : partner.mobile,
-                                credit : (lineReconcile.credit * rate.rate),
-                                debit : (item.debit * rate.rate),
-                                company_id : item.company_id[0],
-                                currency_simbol:rate.simbol,
-                                currecy_name : rate.currency_name,
-                                page : i+1+"/"+self.moveLine.length
+              self.pagare.push({
+                number: invoice.number,
+                pagar: accounting.formatNumber(item.amount_residual_currency, 2, ".", ","),
+                date_invoice: self.formatDate(invoice.date_invoice),
+                vencimiento: self.formatDate(item.date_maturity),
+                company_id_name: item.company_id[1],
+                montoletras: number.num2word(item.amount_residual_currency),
+                partner_name: partner.name,
+                street_res: partner.street,
+                ruc_res: partner.ruc,
+                phone_res: partner.phone,
+                mobile_res: partner.mobile,
+                credit: (lineReconcile.credit * rate.rate),
+                debit: (item.debit * rate.rate),
+                company_id: item.company_id[0],
+                currency_simbol: rate.simbol,
+                currecy_name: rate.currency_name,
+                page: i+1+"/"+self.moveLine.length
               });
 
           }
           self.drawPDF();
         },
-        formatDate: function(date){
-          var fechaSel =date.split('-');
+        formatDate: function(date) {
+          var fechaSel = date.split('-');
           return (fechaSel[2]+"/"+fechaSel[1]+"/"+fechaSel[0]);
         },
         // Get Reconile parcial
-        getLineReconcile: function(id){
-          return _.filter(this.moveLineReconcile, function(item){return item.reconcile_partial_id[0] === id}).shift();
+        getLineReconcile: function(id) {
+            return _.filter(this.moveLineReconcile, function(item) {
+                return item.reconcile_partial_id[0] === id
+            }).shift();
         },
         // Get rate
-        getRate: function(id){
+        getRate: function(id) {
            var rate;
-           _.each(_.filter(this.currencyRate, function(item){return item.currency_id[0] === id}), function(item){
-               rate={};
-               rate.rate=item.rate;
+           _.each(_.filter(this.currencyRate, function(item){
+               return item.currency_id[0] === id
+           }), function(item){
+               rate = {};
+               rate.rate = item.rate;
                rate.currency_id = item.currency_id[0];
-               rate.currency_simbol= item.currency_id[1];
-               if (item.currency_id[1] == 'PYG'){
-                rate.simbol='Gs';
-                rate.currency_name='Guaraníes';
+               rate.currency_simbol = item.currency_id[1];
+               if (item.currency_id[1] === 'PYG') {
+                rate.simbol = 'Gs';
+                rate.currency_name = 'Guaraníes';
                }
-               if (item.currency_id[1] == 'USD'){
-                 rate.simbol="$";
-                 rate.currency_name='Dolares';
+               if (item.currency_id[1] === 'USD') {
+                 rate.simbol = "$";
+                 rate.currency_name = 'Dolares';
                }
-
           });
             return rate;
         },
         // Generar impresion
-        drawPDF: function(){
+        drawPDF: function() {
             var item;
-            var self =this;
+            var self = this;
             var pdfDoc = new jsPDF();
 
             for (var i = 0; i < self.pagare.length; i++) {
               item=self.pagare[i];
-              if (i > 0){
+              if (i > 0) {
                 pdfDoc.addPage();
               }
-              _.each(self.doc, function(doc){
-                    var texto =_.template(doc.content)(item);
+              _.each(self.doc, function(doc) {
+                    var texto = _.template(doc.content)(item);
                     pdfDoc.setFontSize(doc.size);
                     pdfDoc.setFontStyle(doc.fontStyle);
                     pdfDoc.text(doc.x, doc.y, pdfDoc.splitTextToSize(texto, 180), null, null, doc.position);
@@ -239,27 +252,24 @@
             self.deletObjet();
           },
         // Limpiar los Obejto
-        deletObjet:function(){
-            var self=this;
-            self.accountInvoice=[];
-            self.moveLine=[];
-            self.currencyRate=[];
-            self.resPartner=[];
-            self.moveLineReconcile=[];
-            self.pagare =[];
-            self.doc =[];
+        deletObjet:function() {
+            var self = this;
+            self.accountInvoice = [];
+            self.moveLine = [];
+            self.currencyRate = [];
+            self.resPartner = [];
+            self.moveLineReconcile = [];
+            self.pagare = [];
+            self.doc = [];
         },
     });
 
     if(openerp.web && openerp.web.FormView) {
         openerp.web.FormView.include({
-            load_form: function(){
+            load_form: function() {
               if (this.model === 'account.move.line') {
                 var padre = this.$el.closest('.oe_notebook_page');
                 var hijo = padre.find('.oe_form_group.table-bordered');
-
-                // var id =openerp.webclient._current_state.id;
-
                 if (hijo) {
                   var moveprint = new openerp.edit_move_line.MovePrintWidget(this);
                   moveprint.insertBefore(hijo);

+ 0 - 13
static/src/json/pagare.json

@@ -48,11 +48,7 @@
       "fontStyle" : "normal"
     },
     "numeroLetras": {
-<<<<<<< HEAD
-      "content": "Pagaré a <%=company_id_name%> o a su orden el monto de <%=currecy_name%>: <%=montoletras%>",
-=======
       "content": "Pagaré a <%=company_id_name%> o a su orden la cantidad en <%=currecy_name%>: <%=montoletras%>",
->>>>>>> 51c6713e69fbbf9f7cc26f9c663fbaf294a7e2c2
       "size": 12,
       "x": 20,
       "y": 105,
@@ -60,11 +56,7 @@
       "fontStyle" : "normal"
     },
     "contenido": {
-<<<<<<< HEAD
-      "content": "Por igual valor recibido en _ _ a mi (nuestra) entera satisfacción. Queda expresamente convenido que la falta de pago de este pagaré, me (nos) constituirá(n) en mora automáticamente, sin necesidad de interpelación judicial o extrajudicial alguna, devengando durante el tiempo de la mora un interés del _ _ , un interés moratorio _ _ % por el simple retardo sin que esto implique prórroga del plazo de la obligación. Asimismo, me (nos) obligamos a pagar cualquier gasto en que incurra el acreedor con relación a este préstamo, en caso de que el mismo sea reclamado por la vía judicial o extrajudicial. El simple vencimiento establecerá la mora, autorizando la inclusión de mi Nombre Personal o Razón Social que represento a la base de datos de INFORMCONF conforme a lo establecido en la Ley 1682/01 y su modificatoria 1969/02, como también para que se pueda proveer la información a terceros interesados. A los efectos legales y procesales nos sometemos a la jurisdicción de los tribunales de la Ciudad del Este, Alto Paraná y renunciando a cualquier otra que pudiera corresponder. Las partes constituyen domicilio especial en los lugares indicados en el presente documento.",
-=======
       "content": "Por igual valor recibido en _ _ a mi (nuestra) entera satisfacción. Queda expresamente convenido que la falta de pago de este pagaré, me (nos) constituirá(n) en mora automáticamente, sin necesidad de interpelación judicial o extrajudicial alguna, devengando durante el tiempo de la mora un interés del 3% al mes, y 20% del valor total reclamado, en concepto de honorarios judiciales en caso de demanda, y una comision del 1% por el simple retardo sin que esto implique prórroga del plazo de la obligación. Asimismo, me (nos) obligamos a pagar cualquier gasto en que incurra el acreedor con relación a este préstamo, en caso de que el mismo sea reclamado por la vía judicial o extrajudicial. El simple vencimiento establecerá la mora, autorizando la inclusión de mi Nombre Personal o Razón Social que represento a la base de datos de INFORMCONF conforme a lo establecido en la Ley 1682/01, como también para que se pueda proveer la información a terceros interesados. A los efectos legales y procesales nos sometemos a la jurisdicción de los tribunales de Alto Paraná y renunciando a cualquier otra que pudiera corresponder. Las partes constituyen domicilio especial en los lugares indicados en el presente documento.",
->>>>>>> 51c6713e69fbbf9f7cc26f9c663fbaf294a7e2c2
       "size": 12,
       "x": 20,
       "y": 120,
@@ -182,10 +174,6 @@
       "y": 268,
       "position" : null,
       "fontStyle" : "bold"
-<<<<<<< HEAD
-    }
-
-=======
     },
     "res_aclaracion": {
       "content": "..............................................",
@@ -219,5 +207,4 @@
       "position" : null,
       "fontStyle" : "bold"
     }
->>>>>>> 51c6713e69fbbf9f7cc26f9c663fbaf294a7e2c2
 }