|
@@ -0,0 +1,166 @@
|
|
|
|
+openerp.pagare_imperio = function (instance, local) {
|
|
|
|
+ local.widgetInstance = null;
|
|
|
|
+ local.parentInstance = null;
|
|
|
|
+
|
|
|
|
+ local.PagareImperioWidget = instance.Widget.extend({
|
|
|
|
+ template : "pagare_imperio.PagareImperio",
|
|
|
|
+ jsonDoc:[],
|
|
|
|
+
|
|
|
|
+ init:function(parent){
|
|
|
|
+ this._super(parent);
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ updateId : function(id){
|
|
|
|
+ var self = this;
|
|
|
|
+ self.id=id;
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ start: function () {
|
|
|
|
+ var self = this;
|
|
|
|
+ this.$el.click(function (e) {
|
|
|
|
+ self.fecthInitial();
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ valorNull:function(dato){
|
|
|
|
+ var valor ="";
|
|
|
|
+ if (dato){
|
|
|
|
+ if(dato == true && typeof dato == 'boolean'){
|
|
|
|
+ valor=" ";
|
|
|
|
+ }else{
|
|
|
|
+ valor=dato;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return valor;
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ fecthInitial: function(){
|
|
|
|
+ var id= openerp.webclient._current_state.id;
|
|
|
|
+ var self = this;
|
|
|
|
+ self.fetchAccountInvoice(id).then(function(AccountInvoice){
|
|
|
|
+ return AccountInvoice;
|
|
|
|
+ }).then(function(AccountInvoice){
|
|
|
|
+ self.AccountInvoice = AccountInvoice;
|
|
|
|
+ return self.fetchAccountInvoiceLine();
|
|
|
|
+ }).then(function(AccountInvoiceLine){
|
|
|
|
+ self.AccountInvoiceLine = AccountInvoiceLine;
|
|
|
|
+ return self.drawPDF();
|
|
|
|
+ });
|
|
|
|
+ return false;
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ fetchAccountInvoice: function(id){
|
|
|
|
+ var domain=[['id','=', id]];
|
|
|
|
+ var AccountInvoice = new instance.web.Model('account.invoice');
|
|
|
|
+ return AccountInvoice.call('getAccountInvoicePagare',[domain], {
|
|
|
|
+ context: new instance.web.CompoundContext()
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ fetchAccountInvoiceLine: function () {
|
|
|
|
+ var self = this;
|
|
|
|
+ var invoice_ids = _.flatten(_.map(self.AccountInvoice,function(map){
|
|
|
|
+ return map.id;
|
|
|
|
+ }));
|
|
|
|
+ var domain=[['invoice_id','in',invoice_ids]];
|
|
|
|
+ var AccountInvoiceLine = new instance.web.Model('account.invoice.line');
|
|
|
|
+ return AccountInvoiceLine.call('getAccountInvoiceLinePagare',[domain], {
|
|
|
|
+ context: new instance.web.CompoundContext()
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ drawPDF:function(){
|
|
|
|
+ var self = this;
|
|
|
|
+ var AccountInvoice = self.AccountInvoice;
|
|
|
|
+ var CurrencyBase = self.AccountInvoice[0].currency_id[0];
|
|
|
|
+ var docItem = [];
|
|
|
|
+ var docQuotaItem = [];
|
|
|
|
+ var getColumns = [];
|
|
|
|
+ var getColumnsQuota = [];
|
|
|
|
+
|
|
|
|
+ var pdfDoc = new jsPDF("p","mm","a4");
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ pdfDoc.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'png', 10, 10, 50, 30);
|
|
|
|
+ pdfDoc.setFontSize(16);
|
|
|
|
+ pdfDoc.setFontStyle('bold');
|
|
|
|
+ pdfDoc.setTextColor(40);
|
|
|
|
+ pdfDoc.text(80,25,'PAGARE A LA ORDEN');
|
|
|
|
+
|
|
|
|
+ pdfDoc.setFontSize(10);
|
|
|
|
+ pdfDoc.setFontStyle('normal');
|
|
|
|
+ pdfDoc.setTextColor(40);
|
|
|
|
+ pdfDoc.rect(10, 45, 95, 7, 'S');
|
|
|
|
+ pdfDoc.text(12,50,'Número de Operación: ' + AccountInvoice[0].origin);
|
|
|
|
+ pdfDoc.rect(105, 45, 95, 7, 'S');
|
|
|
|
+ pdfDoc.text(110,50,'Fecha de Operación: ' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
|
|
|
|
+ pdfDoc.rect(10, 55, 95, 7, 'S');
|
|
|
|
+ pdfDoc.setFontSize(10);
|
|
|
|
+ pdfDoc.setFontStyle('normal');
|
|
|
|
+ pdfDoc.text(12,60,'Monto a pagar: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
|
|
|
|
+ pdfDoc.rect(105, 55, 95, 7, 'S');
|
|
|
|
+ pdfDoc.setFontSize(10);
|
|
|
|
+ pdfDoc.setFontStyle('normal');
|
|
|
|
+ // _.each(self.AccountInvoiceQuota, function(item){
|
|
|
|
+ // varfecha=item.date;
|
|
|
|
+ // });
|
|
|
|
+ pdfDoc.text(110,60,'Vencimiento: ' + moment(AccountInvoice[0].date_due).format('DD/MM/YYYY'));
|
|
|
|
+ var total_in_letters = instance.web.num2word(AccountInvoice[0].amount_total);
|
|
|
|
+ pdfDoc.rect(10, 65, pdfDoc.internal.pageSize.getWidth() - 15 , 16,'S');
|
|
|
|
+ pdfDoc.setFontSize(11);
|
|
|
|
+ pdfDoc.setFontStyle('normal');
|
|
|
|
+ pdfDoc.text(12,70,'Pagaré a la orden de la empresa FERRETERIA IMPERIO.');
|
|
|
|
+ pdfDoc.setFontSize(10.5);
|
|
|
|
+ pdfDoc.setFontStyle('normal');
|
|
|
|
+ pdfDoc.text(12,75,'La suma de Guaraníes: ' );
|
|
|
|
+ pdfDoc.setFontSize(10.5);
|
|
|
|
+ pdfDoc.setFontStyle('bold');
|
|
|
|
+ pdfDoc.text(12,79, total_in_letters);
|
|
|
|
+ pdfDoc.rect(10, 81, pdfDoc.internal.pageSize.getWidth() - 15 , 60,'S');
|
|
|
|
+ pdfDoc.setFontSize(11);
|
|
|
|
+ pdfDoc.setFontStyle('normal');
|
|
|
|
+ var paragraph="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á en mora automáticamente, sin necesidad de interpelación judicial o extrajudicial alguna, devengando durante el tiempo de la mora un interés moratorio del 3 % mensual 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á mora, autorizando la inclusión de nombre personal o Razón Social que represento, a la base de datos de Informconf y/o Equifax Paraguay S.A., conforme a lo establecido en la Ley 1682/2001 y su modificatoria 1969/2002, 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 Salto de Guairá y renunciando a cualquier otra que pudiera corresponder las partes constituyen domicilio real y especial en los lugares señalados en el presente documento.";
|
|
|
|
+ pdfDoc.text(paragraph,12,87,{maxWidth:188,align:'justify'});
|
|
|
|
+
|
|
|
|
+ pdfDoc.setFontSize(10);
|
|
|
|
+ pdfDoc.setFontStyle('bold');
|
|
|
|
+ pdfDoc.setTextColor(40);
|
|
|
|
+ pdfDoc.text(10,165,'DEUDOR');
|
|
|
|
+ pdfDoc.text(120,165,'CO-DEUDOR');
|
|
|
|
+
|
|
|
|
+ pdfDoc.setFontSize(9);
|
|
|
|
+ pdfDoc.setFontStyle('normal');
|
|
|
|
+ pdfDoc.setTextColor(40);
|
|
|
|
+ pdfDoc.text(10,175,'Nombre y Apellido: ' + AccountInvoice[0].partner_id[0].name);
|
|
|
|
+ pdfDoc.text(120,175,'Nombre y Apellido:' + AccountInvoice[0].partner_id[0].name_deudor);
|
|
|
|
+ pdfDoc.text(10,180,'RUC / DNI: ' + self.valorNull(AccountInvoice[0].partner_id[0].ruc));
|
|
|
|
+ pdfDoc.text(120,180,'RUC / DNI:' + AccountInvoice[0].partner_id[0].cin_deudor);
|
|
|
|
+ pdfDoc.text(10,185,'Domicilio: ' + self.valorNull(AccountInvoice[0].partner_id[0].address));
|
|
|
|
+ pdfDoc.text(120,185,'Domicilio:' + AccountInvoice[0].partner_id[0].dir_deudor);
|
|
|
|
+ pdfDoc.text(10,195,'Telefono: ' + self.valorNull(AccountInvoice[0].partner_id[0].phone));
|
|
|
|
+ pdfDoc.text(120,195,'Telefono:');
|
|
|
|
+ pdfDoc.text(10,200,'Celular: ' + self.valorNull(AccountInvoice[0].partner_id[0].mobile));
|
|
|
|
+ pdfDoc.text(120,200,'Celular:' + AccountInvoice[0].partner_id[0].tel_deudor);
|
|
|
|
+ pdfDoc.text(10,210,'Firma: ');
|
|
|
|
+ pdfDoc.text(120,210,'Firma:');
|
|
|
|
+
|
|
|
|
+ pdfDoc.save('pagare.pdf');
|
|
|
|
+ },
|
|
|
|
+ });
|
|
|
|
+ if (instance.web && instance.web.FormView) {
|
|
|
|
+ instance.web.FormView.include({
|
|
|
|
+ load_form: function (record) {
|
|
|
|
+ this._super.apply(this, arguments);
|
|
|
|
+ if (this.model !== 'account.invoice') return;
|
|
|
|
+ local.parentInstance = this;
|
|
|
|
+ if (local.widgetInstance) {
|
|
|
|
+ local.widgetInstance.updateId(record.id);
|
|
|
|
+ }
|
|
|
|
+ local.widgetInstance = new local.PagareImperioWidget(this);
|
|
|
|
+ var elemento = this.$el.find('.oe_form').find('.pagare_button_box');
|
|
|
|
+ local.widgetInstance.appendTo(elemento);
|
|
|
|
+ local.widgetInstance.updateId(record.id);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+};
|