main.js 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765
  1. openerp.pagare_anillos = function (instance, local) {
  2. local.widgetInstance = null;
  3. local.parentInstance = null;
  4. local.PagareAnillosWidget = instance.Widget.extend({
  5. template : "pagare_anillos.PagareAnillos",
  6. jsonDoc:[],
  7. init:function(parent){
  8. this._super(parent);
  9. },
  10. updateId : function(id){
  11. var self = this;
  12. self.id=id;
  13. },
  14. start: function () {
  15. var self = this;
  16. this.$el.click(function (e) {
  17. self.fecthInitial();
  18. });
  19. },
  20. valorNull:function(dato){
  21. var valor ="";
  22. if (dato){
  23. if(dato == true && typeof dato == 'boolean'){
  24. valor=" ";
  25. }else{
  26. valor=dato;
  27. }
  28. }
  29. return valor;
  30. },
  31. fecthInitial: function(){
  32. var id= openerp.webclient._current_state.id;
  33. var self = this;
  34. self.fetchAccountInvoice(id).then(function(AccountInvoice){
  35. return AccountInvoice;
  36. }).then(function(AccountInvoice){
  37. self.AccountInvoice = AccountInvoice;
  38. return self.fetchAccountInvoiceQuota(id);
  39. }).then(function(AccountInvoiceQuota){
  40. self.AccountInvoiceQuota = AccountInvoiceQuota;
  41. return self.fetchAccountInvoiceLine();
  42. }).then(function(AccountInvoiceLine){
  43. self.AccountInvoiceLine = AccountInvoiceLine;
  44. return self.drawPDF();
  45. });
  46. return false;
  47. },
  48. fetchAccountInvoice: function(id){
  49. var domain=[['id','=', id]];
  50. var AccountInvoice = new instance.web.Model('account.invoice');
  51. return AccountInvoice.call('getAccountInvoicePagare',[domain], {
  52. context: new instance.web.CompoundContext()
  53. });
  54. },
  55. fetchAccountInvoiceQuota: function(id){
  56. var domain=[['id','=', id]];
  57. var AccountInvoice = new instance.web.Model('account.invoice');
  58. return AccountInvoice.call('getAccountInvoicePagareQuota',[domain], {
  59. context: new instance.web.CompoundContext()
  60. });
  61. },
  62. fetchAccountInvoiceLine: function () {
  63. var self = this;
  64. var invoice_ids = _.flatten(_.map(self.AccountInvoice,function(map){
  65. return map.id;
  66. }));
  67. var domain=[['invoice_id','in',invoice_ids]];
  68. var AccountInvoiceLine = new instance.web.Model('account.invoice.line');
  69. return AccountInvoiceLine.call('getAccountInvoiceLinePagare',[domain], {
  70. context: new instance.web.CompoundContext()
  71. });
  72. },
  73. drawPDF:function(){
  74. var self = this;
  75. var AccountInvoice = self.AccountInvoice;
  76. var CurrencyBase = self.AccountInvoice[0].currency_id[0];
  77. var docItem = [];
  78. var docQuotaItem = [];
  79. var getColumns = [];
  80. var getColumnsQuota = [];
  81. var pdfDoc = new jsPDF("p","mm","a4");
  82. // pdfDoc.page=1;
  83. // pdfDoc.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'png', 10, 10, 50, 30);
  84. //
  85. // _.each(self.AccountInvoiceLine, function(item){
  86. // docItem.push({
  87. // name : item.name,
  88. // quantity : item.quantity,
  89. // price_unit : accounting.formatMoney(item.price_unit,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  90. // price_subtotal : accounting.formatMoney(item.price_subtotal,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  91. // });
  92. // });
  93. // getColumns.push({
  94. // title : 'Descripción',
  95. // halign: 'center',
  96. // dataKey: 'name'
  97. // });
  98. // getColumns.push({
  99. // title : 'Cantidad',
  100. // halign: 'center',
  101. // dataKey: 'quantity'
  102. // });
  103. // getColumns.push({
  104. // title : 'P. Unitario',
  105. // halign: 'center',
  106. // dataKey: 'price_unit'
  107. // });
  108. // getColumns.push({
  109. // title : 'Subtotal',
  110. // halign: 'center',
  111. // dataKey: 'price_subtotal'
  112. // });
  113. //
  114. // pdfDoc.autoTable(getColumns, docItem, {
  115. // theme: 'grid',
  116. // styles: {
  117. // overflow: 'linebreak',
  118. // columnWidth: 'auto',
  119. // fontSize: 7
  120. // },
  121. // headerStyles: {
  122. // textColor: 20,
  123. // fillColor: null,
  124. // lineWidth: 0.1,
  125. // fontSize: 9
  126. // },
  127. // columnStyles: {
  128. // name : {columnWidth: 'auto'},
  129. // quantity : {columnWidth: 25, halign:'right'},
  130. // price_unit : {columnWidth: 25, halign:'right'},
  131. // price_subtotal : {columnWidth: 25, halign:'right'},
  132. // },
  133. //
  134. // margin: { top: 200, horizontal: 10},
  135. //
  136. // addPageContent: function (data) {
  137. //
  138. // pdfDoc.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'png', 10, 10, 50, 30);
  139. //
  140. // pdfDoc.setFontSize(11);
  141. // pdfDoc.setFontStyle('bold');
  142. // pdfDoc.setTextColor(20);
  143. // pdfDoc.text(80, 25,'SOLICITUD DE LINEA DE CREDITO');
  144. //
  145. // pdfDoc.text(80, 30,'Empresa: El señor de los anillos');
  146. // pdfDoc.setFontSize(10);
  147. // pdfDoc.setFontStyle('normal');
  148. // pdfDoc.setTextColor(40);
  149. // pdfDoc.rect(10, 45, 95, 7, 'S');
  150. // pdfDoc.text(12,50,'SUCURSAL: ' );
  151. // pdfDoc.rect(105, 45, 95, 7, 'S');
  152. // pdfDoc.text(110,50,'Fecha de Operación: ' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  153. // pdfDoc.rect(10, 55, 95, 7, 'S');
  154. // pdfDoc.setFontSize(10);
  155. // pdfDoc.setFontStyle('normal');
  156. // pdfDoc.text(12,60,'Vendedor: ' + AccountInvoice[0].user_name);
  157. // pdfDoc.setFontSize(10);
  158. // pdfDoc.setFontStyle('bold');
  159. // pdfDoc.setTextColor(40);
  160. // pdfDoc.rect(105, 55, 95, 7, 'S');
  161. // pdfDoc.setFontSize(10);
  162. // pdfDoc.setFontStyle('normal');
  163. // pdfDoc.text(110,60,'Número de Operación: ' + AccountInvoice[0].origin + ' ' +AccountInvoice[0].number);
  164. // pdfDoc.setFontSize(10);
  165. // pdfDoc.setFontStyle('bold');
  166. // pdfDoc.setTextColor(40);
  167. // pdfDoc.text(10, 70,'Datos del Cliente o Empresa');
  168. //
  169. // // Cuadro principal
  170. // pdfDoc.rect(10, 76, 105 , 7, 'S');
  171. // // Cuadro fecha de emision
  172. // pdfDoc.rect(10, 76, 105, 7, 'S');
  173. // pdfDoc.setFontSize(8);
  174. // pdfDoc.setFontStyle('normal');
  175. // pdfDoc.setTextColor(20);
  176. // pdfDoc.text(12, 80,'Fecha de emisión: ');
  177. // pdfDoc.text(45, 80, moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  178. // // RUC / Documento de identidad No.
  179. // pdfDoc.rect(115, 76, 90, 7, 'S');
  180. // pdfDoc.text(120, 80,'RUC / Doc. de Identidad No.: ' + AccountInvoice[0].partner_id[0].ruc);
  181. // // Nombre o Razon Social
  182. // pdfDoc.rect(10, 83, 105, 7, 'S');
  183. // pdfDoc.text(12, 88,'Nombre o Razón Social: ' + AccountInvoice[0].partner_id[0].name);
  184. // // Telefono
  185. // pdfDoc.rect(115, 83, 90, 7, 'S');
  186. // pdfDoc.text(120, 88,'Teléfono: ' + self.valorNull(AccountInvoice[0].partner_id[0].phone));
  187. //
  188. // // Direccion
  189. // pdfDoc.rect(10, 90, 105, 7, 'S');
  190. // pdfDoc.text(12, 94,'Direccion: ' + self.valorNull(AccountInvoice[0].partner_id[0].address));
  191. //
  192. // // celular
  193. // pdfDoc.rect(115, 90, 90, 7, 'S');
  194. // pdfDoc.text(120, 94,'Celular: ' + self.valorNull(AccountInvoice[0].partner_id[0].mobile));
  195. //
  196. // // Direccion
  197. // pdfDoc.rect(10, 97, 105, 7, 'S');
  198. // pdfDoc.text(12, 101,'Barrio: ' + self.valorNull(AccountInvoice[0].partner_id[0].barrio));
  199. //
  200. // // celular
  201. // pdfDoc.rect(115, 97, 90, 7, 'S');
  202. // pdfDoc.text(120, 101,'Ciudad: ' + self.valorNull(AccountInvoice[0].partner_id[0].city));
  203. //
  204. // // Direccion
  205. // pdfDoc.rect(10, 104, 105, 7, 'S');
  206. // pdfDoc.text(12, 108,'Estado Civil: ' + self.valorNull(AccountInvoice[0].partner_id[0].estado_civil));
  207. //
  208. // // celular
  209. // pdfDoc.rect(115, 104, 90, 7, 'S');
  210. // pdfDoc.text(120, 108,'Email: ' + self.valorNull(AccountInvoice[0].partner_id[0].email));
  211. //
  212. // var tipo;
  213. // if(AccountInvoice[0].partner_id[0].casa_propia == true){
  214. // tipo = "Vivienda Propia";
  215. // }else{
  216. // tipo = "Vivienda Alquilada";
  217. // }
  218. // // TIPO DE VIVIENDA
  219. // pdfDoc.rect(10, 111, 105, 7, 'S');
  220. // pdfDoc.text(12, 115,'Tipo de Vivienda: ' + self.valorNull(tipo));
  221. //
  222. // // celular
  223. // pdfDoc.rect(115, 111, 90, 7, 'S');
  224. // // pdfDoc.text(120, 100,'Vivienda Alquilada: ' + self.valorNull(AccountInvoice[0].partner_id[0].casa_alquiler));
  225. //
  226. // // Direccion
  227. // pdfDoc.rect(10, 118, 105, 7, 'S');
  228. // pdfDoc.text(12, 122,'Empresa o Lugar de Trabajo: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_empresa));
  229. //
  230. // // celular
  231. // pdfDoc.rect(115, 118, 90, 7, 'S');
  232. // pdfDoc.text(120, 122,'Teléfono: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_telefono));
  233. //
  234. // // Direccion
  235. // pdfDoc.rect(10, 125, 105, 7, 'S');
  236. // pdfDoc.text(12, 129,'Dirección: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_street));
  237. //
  238. // // celular
  239. // pdfDoc.rect(115, 125, 90, 7, 'S');
  240. // pdfDoc.text(120, 129,'Ciudad: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_city));
  241. //
  242. // // Direccion
  243. // pdfDoc.rect(10, 132, 105, 7, 'S');
  244. // pdfDoc.text(12, 136,'Cargo: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_cargo));
  245. //
  246. // // celular
  247. // pdfDoc.rect(115, 132, 90, 7, 'S');
  248. // pdfDoc.text(120, 136,'Antiguedad: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_antiguedad_a) + ',' + self.valorNull(AccountInvoice[0].partner_id[0].trab_antiguedad_m));
  249. //
  250. // // salario
  251. // pdfDoc.rect(10, 139, 105, 7, 'S');
  252. // pdfDoc.text(12, 143,'Salario: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_salario));
  253. //
  254. // // ref
  255. // // pdfDoc.rect(105, 133, 95, 7, 'S');
  256. // // pdfDoc.text(125, 137,'Vivienda Alquilada: ' + self.valorNull(AccountInvoice[0].partner_id[0].casa_alquiler));
  257. //
  258. // pdfDoc.setFontSize(8);
  259. // pdfDoc.setFontStyle('normal');
  260. // pdfDoc.text(12,150,'Referencias Comerciales:');
  261. //
  262. // i=0;
  263. // _.each(AccountInvoice[0].partner_id[0].ref_comercial_ids,function(item){
  264. // pdfDoc.setFontSize(8);
  265. // pdfDoc.setFontStyle('normal');
  266. // pdfDoc.text(12+i,155, '' + item.name);
  267. // pdfDoc.text(55+i,155, '' + item.phone);
  268. // i=95;
  269. // });
  270. //
  271. // pdfDoc.setFontSize(8);
  272. // pdfDoc.setFontStyle('normal');
  273. // pdfDoc.text(12,178,'Referencias Personales:');
  274. //
  275. // i=0;
  276. // _.each(AccountInvoice[0].partner_id[0].ref_personal_ids,function(item){
  277. // pdfDoc.setFontSize(8);
  278. // pdfDoc.setFontStyle('normal');
  279. // pdfDoc.text(12+i,182, '- ' + item.email);
  280. // pdfDoc.text(30+i,182, '' + item.name);
  281. // pdfDoc.text(65+i,182, '' + item.phone);
  282. // i=95;
  283. //
  284. // });
  285. //
  286. // pdfDoc.setFontSize(10);
  287. // pdfDoc.setFontStyle('bold');
  288. // pdfDoc.setTextColor(40);
  289. // pdfDoc.text(85,195,'ESPECIFICACIÓN DE VENTAS ');
  290. // function footer(){
  291. // pdfDoc.text(150,285, 'page ' + doc.page);
  292. // pdfDoc.page ++;
  293. // };
  294. // }
  295. // });
  296. // _.each(self.AccountInvoiceQuota, function(item){
  297. // docQuotaItem.push({
  298. // date : moment(item.date).format('DD/MM/YYYY'),
  299. // name : item.name,
  300. // amount : accounting.formatMoney(item.amount,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  301. // });
  302. // });
  303. // getColumnsQuota.push({
  304. // title : 'Fecha',
  305. // halign: 'center',
  306. // dataKey: 'date'
  307. // });
  308. // getColumnsQuota.push({
  309. // title : 'Descripción',
  310. // halign: 'center',
  311. // dataKey: 'name'
  312. // });
  313. // getColumnsQuota.push({
  314. // title : 'Valor de la Cuota',
  315. // halign: 'center',
  316. // dataKey: 'amount'
  317. // });
  318. //
  319. //
  320. // var finalY = pdfDoc.autoTable.previous.finalY;
  321. //
  322. // pdfDoc.setFontSize(10);
  323. // pdfDoc.setFontStyle('bold');
  324. // pdfDoc.setTextColor(40);
  325. // pdfDoc.text(10,finalY + 5,'Total: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  326. //
  327. // pdfDoc.setFontSize(10);
  328. // pdfDoc.setFontStyle('bold');
  329. // pdfDoc.text(10,finalY + 10,'Firma del cliente: _ _ _ _ _ _ _ _ _ _ Aclaración: _ _ _ _ _ _ _ _ _ _ C.I.N°: _ _ _ _ _ _ _');
  330. // pdfDoc.addPage();
  331. var finalY2 = 12;
  332. var total_in_letters1 = instance.web.num2word(AccountInvoice[0].amount_total);
  333. finalY2 +=5
  334. pdfDoc.setFontSize(12);
  335. pdfDoc.setFontStyle('bold');
  336. pdfDoc.setTextColor(20);
  337. pdfDoc.text(75, finalY2,'CONTRATO PRESTAMO Y COMPRA / VENTA');
  338. finalY2 +=9
  339. pdfDoc.setFontSize(11);
  340. pdfDoc.setFontStyle('normal');
  341. var aux1 = "En Ciudad del Este de la República del Paraguay, en fecha ";
  342. var aux2 = " entre el señor ";
  343. pdfDoc.setFontSize(11);
  344. // pdfDoc.setFontStyle('bold');
  345. var aux20 = "ANIBAL ZARACHO LOPEZ,";
  346. var aux22 = "CÉDULA DE IDENTIDAD PARAGUAYA C.I.N° 1.139.280 ";
  347. var aux24 = "EL SEÑOR DE LOS ANILLOS, ";
  348. var aux26 = AccountInvoice[0].partner_id[0].name;
  349. var aux27 = "CÉDULA DE IDENTIDAD C.I.N° ";
  350. var aux28 = AccountInvoice[0].partner_id[0].ruc;
  351. var aux30 = "PRESTAMO DE DINERO EN EFECTIVO PARA LA COMPRA DE JOYAS, ";
  352. pdfDoc.setFontSize(11);
  353. // pdfDoc.setFontStyle('normal');
  354. var aux21 = "de nacionalidad paraguaya, estado civil Soltero con ";
  355. var aux23 = "en representación de la firma ";
  356. var aux25 = "con domicilio en la Calle Arcadio Garay Vera esq. Estrella del Bº San Isidro de Ciudad del Este, por una parte y la otra parte, del señor/a ";
  357. var aux3 = ", más adelante llamado COMPRADOR, con ";
  358. var aux4 = ", domiciliado en ";
  359. var aux5 = ", ";
  360. var aux29 = " convienen a celebrar el presente contrato privado de ";
  361. var aux31 = "lo que se regirá por las siguientes claúsulas y condiciones.";
  362. // pdfDoc.setFontStyle('bold');
  363. pdfDoc.text(aux1 + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY') + aux2 + aux20 + aux21 + aux22 +aux23 +aux24 +aux25 +aux26 + aux3 + aux28 + aux4 + AccountInvoice[0].partner_id[0].address + aux5 + AccountInvoice[0].partner_id[0].city + aux29 + aux30 + aux31 ,10,finalY2,{maxWidth:188,align:'justify'});
  364. finalY2 +=37
  365. pdfDoc.setFontSize(11);
  366. pdfDoc.setFontStyle('normal');
  367. var aux7 = "PRIMERA: El señor ANIBAL ZARACHO LOPEZ mediante este instrumento otorga un préstamo de : ";
  368. var aux8 = ", ( ";
  369. var aux9 = ") en efectivo al COMPRADOR, constituyéndose en deudor de la firma EL SEÑOR DE LOS ANILLOS. Recibiendo por este acto la suma señalada.";
  370. pdfDoc.text(aux7 + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator) + aux8 + total_in_letters1 + aux9 ,10,finalY2,{maxWidth:188,align:'justify'});
  371. finalY2 +=19
  372. pdfDoc.setFontSize(11);
  373. pdfDoc.setFontStyle('normal');
  374. pdfDoc.text('SEGUNDA: El monto recibido por el COMPRADOR se le otorga en calidad de préstamo al efectivo exclusivo para la compra de las siguientes joyas citadas en el cuadro de abajo.',10,finalY2,{maxWidth:188,align:'justify'});
  375. // finalY2 +=5
  376. // pdfDoc.setFontSize(10);
  377. // pdfDoc.setFontStyle('normal');
  378. // pdfDoc.text(10,finalY2, 'compra de las siguientes joyas citadas en el cuadro de abajo.');
  379. var docLineItem = [];
  380. var getColumnsLine = [];
  381. _.each(self.AccountInvoiceLine, function(item){
  382. docLineItem.push({
  383. name : item.name,
  384. quantity : item.quantity,
  385. price_unit : accounting.formatMoney(item.price_unit,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  386. price_subtotal : accounting.formatMoney(item.price_unit*item.quantity,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  387. });
  388. });
  389. getColumnsLine.push({
  390. title : 'Descripción',
  391. halign: 'center',
  392. dataKey: 'name'
  393. });
  394. getColumnsLine.push({
  395. title : 'Cantidad',
  396. halign: 'center',
  397. dataKey: 'quantity'
  398. });
  399. getColumnsLine.push({
  400. title : 'P. Unitario',
  401. halign: 'center',
  402. dataKey: 'price_unit'
  403. });
  404. getColumnsLine.push({
  405. title : 'Subtotal',
  406. halign: 'center',
  407. dataKey: 'price_subtotal'
  408. });
  409. finalY2 +=5
  410. pdfDoc.autoTable(getColumnsLine, docLineItem, {
  411. theme: 'grid',
  412. startY: finalY2 + 4,
  413. styles: {
  414. overflow: 'linebreak',
  415. columnWidth: 'auto',
  416. fontSize: 8,
  417. },
  418. headerStyles: {
  419. textColor: 20,
  420. fillColor: null,
  421. lineWidth: 0.1,
  422. fontSize: 9
  423. },
  424. columnStyles: {
  425. name : {columnWidth: 'auto'},
  426. quantity : {columnWidth: 25, halign:'right'},
  427. price_unit : {columnWidth: 25, halign:'right'},
  428. price_subtotal : {columnWidth: 25, halign:'right'},
  429. },
  430. margin: {horizontal: 10},
  431. addPageContent: function (data) {
  432. // pdfDoc.setFontSize(10);
  433. // pdfDoc.setFontStyle('bold');
  434. // pdfDoc.setTextColor(40);
  435. // pdfDoc.text(85,finalY + 15,'Información de Cuotas ');
  436. //
  437. // pdfDoc.setFontSize(10);
  438. // pdfDoc.setFontStyle('bold');
  439. // pdfDoc.setTextColor(40);
  440. // pdfDoc.text(10,finalY + 5,'Total: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  441. }
  442. });
  443. var finalY2 = pdfDoc.autoTable.previous.finalY;
  444. finalY2 +=9
  445. pdfDoc.setFontSize(12);
  446. pdfDoc.setFontStyle('normal');
  447. pdfDoc.text('TERCERA: El DEUDOR suscribe en este acto UN pagaré por el monto total de las cuotas otorgados según los siguientes vencimientos.',10,finalY2,{maxWidth:188,align:'justify'});
  448. finalY2 +=9
  449. pdfDoc.setFontSize(12);
  450. pdfDoc.setFontStyle('bold');
  451. pdfDoc.setTextColor(40);
  452. pdfDoc.text(85,finalY2 ,'Información de Cuotas ');
  453. var docQuotaItem = [];
  454. var getColumnsQuota = [];
  455. _.each(self.AccountInvoiceQuota, function(item){
  456. docQuotaItem.push({
  457. date : moment(item.date).format('DD/MM/YYYY'),
  458. name : item.name,
  459. amount : accounting.formatMoney(item.amount,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  460. });
  461. });
  462. getColumnsQuota.push({
  463. title : 'Fecha',
  464. halign: 'center',
  465. dataKey: 'date'
  466. });
  467. getColumnsQuota.push({
  468. title : 'Descripción',
  469. halign: 'center',
  470. dataKey: 'name'
  471. });
  472. getColumnsQuota.push({
  473. title : 'Valor de la Cuota',
  474. halign: 'center',
  475. dataKey: 'amount'
  476. });
  477. pdfDoc.autoTable(getColumnsQuota, docQuotaItem, {
  478. theme: 'grid',
  479. startY: finalY2 + 5,
  480. styles: {
  481. overflow: 'linebreak',
  482. columnWidth: 'auto',
  483. fontSize: 8,
  484. },
  485. headerStyles: {
  486. textColor: 20,
  487. fillColor: null,
  488. lineWidth: 0.1,
  489. fontSize: 9
  490. },
  491. columnStyles: {
  492. date : {columnWidth: 'auto', halign: 'center'},
  493. name : {columnWidth: 'auto', halign: 'center'},
  494. amount : {columnWidth: 'auto', halign: 'right'}
  495. },
  496. margin: {horizontal: 10},
  497. addPageContent: function (data) {
  498. // pdfDoc.setFontSize(10);
  499. // pdfDoc.setFontStyle('bold');
  500. // pdfDoc.setTextColor(40);
  501. // pdfDoc.text(85,finalY + 15,'Información de Cuotas ');
  502. //
  503. // pdfDoc.setFontSize(10);
  504. // pdfDoc.setFontStyle('bold');
  505. // pdfDoc.setTextColor(40);
  506. // pdfDoc.text(10,finalY + 5,'Total: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  507. }
  508. });
  509. var finalY2 = pdfDoc.autoTable.previous.finalY;
  510. finalY2 += 9
  511. pdfDoc.setFontSize(11);
  512. pdfDoc.setFontStyle('normal');
  513. var paragraph= "CUARTA: El pago de las cuotas correspondientes se realizará por los siguientes medios de pagos, dentro de los 10 días de la fecha de vencimiento.";
  514. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  515. finalY2 +=11
  516. pdfDoc.setFontSize(11);
  517. pdfDoc.setFontStyle('normal');
  518. var paragraph= "- Carga de Billera Tigo - Número: (0986) 879 069";
  519. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  520. finalY2 +=6
  521. pdfDoc.setFontSize(11);
  522. pdfDoc.setFontStyle('normal');
  523. var paragraph= "- Transferencia o Depósito bancario - Visión Banco, caja de ahorro";
  524. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  525. finalY2 +=6
  526. pdfDoc.setFontSize(11);
  527. pdfDoc.setFontStyle('normal');
  528. var paragraph= "N° de Cuenta: 2022144 Titular: ANIBAL ZARACHO LÓPEZ C.I.N°: 1.139.280";
  529. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  530. // finalY2 +=6
  531. // pdfDoc.setFontSize(11);
  532. // pdfDoc.setFontStyle('normal');
  533. // var paragraph= "Servicio de cobranza a domicilio. Número: (0986) 879 069";
  534. // pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  535. finalY2 +=9
  536. pdfDoc.setFontSize(11);
  537. pdfDoc.setFontStyle('normal');
  538. var paragraph= "QUINTA: La falta de pago de una de las cuotas mensuales de este pagaré en la fecha señalada precedentemente devengará un interés moratorio de 3% mensual, además de pago de 5% de interés por gastos de cobranzas, por caso de mora.";
  539. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  540. finalY2 +=16
  541. pdfDoc.setFontSize(11);
  542. pdfDoc.setFontStyle('normal');
  543. var paragraph= "SEXTA: El COMPRADOR recibe el producto en perfectas condiciones para su uso con los accesorios correspondientes, manifestando su entera satisfacción y conformidad.";
  544. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  545. pdfDoc.addPage();
  546. finalY2 =22
  547. pdfDoc.setFontSize(11);
  548. pdfDoc.setFontStyle('normal');
  549. var paragraph= "SÉPTIMA: Las partes acuerdan que en caso de controversia se someten a los juzgados de Presidente Franco. En prueba de conformidad firmar las partes y suscriben el presente contrato.";
  550. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  551. finalY2 +=12
  552. pdfDoc.setFontSize(11);
  553. pdfDoc.setFontStyle('normal');
  554. var paragraph= "OCTAVA: El DEUDOR autoriza también a ceder la información para uso publicitario, encuestas, trabajos de prospección de mercadeo, servicios de cobranza, courier, con disolución o sin ella. En atención a lo dispuesto en la legislación y normativa establecidas en materia de Información de Carácter Privado, por el presente instrumento el deudor autoriza en forma irrevocable e incondicional, para que en caso de mora o ejecución judicial, derivadas del incumplimiento de las obligaciones que mantenemos con dicha empresa, incluya nuestros nombres o razón social en el registro de morosos de Informconf u otras entidades similares.";
  555. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  556. finalY2 +=35
  557. pdfDoc.setFontSize(11);
  558. pdfDoc.setFontStyle('bold');
  559. pdfDoc.text(10,finalY2,'Firma del deudor: _ _ _ _ _ _ _ _ _ _ _ _ Firma del codeudor: _ _ _ _ _ _ _ _ _ _ _ _ ');
  560. finalY2 +=13
  561. pdfDoc.setFontSize(11);
  562. pdfDoc.setFontStyle('bold');
  563. pdfDoc.text(40,finalY2,'Firma del representante: _ _ _ _ _ _ _ _ _ _ _ _ _ _');
  564. var finalY2 = pdfDoc.autoTable.previous.finalY;
  565. //
  566. // finalY2 +=5
  567. // pdfDoc.setFontSize(10);
  568. // pdfDoc.setFontStyle('bold');
  569. // pdfDoc.setTextColor(40);
  570. // pdfDoc.text(10,finalY2,'Total: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  571. //
  572. // finalY2 +=5
  573. // pdfDoc.setFontSize(10);
  574. // pdfDoc.setFontStyle('bold');
  575. // pdfDoc.text(10,finalY2,'Firma del cliente: _ _ _ _ _ _ _ _ _ _ Aclaración: _ _ _ _ _ _ _ _ _ _ C.I.N°: _ _ _ _ _ _ _');
  576. // finalY2 +=20
  577. // console.log(finalY2);
  578. // if (finaly2 > 220) {
  579. // pdfDoc.setFontSize(9);
  580. // pdfDoc.setFontStyle('bold');
  581. // var paragraph="Declaramos que los datos consignados en esta solicitud de MyS DECORART; son fiel reflejo de nuestra situación.";
  582. // pdfDoc.text(paragraph,12, 20,{maxWidth:188,align:'justify'});
  583. //
  584. // pdfDoc.setFontSize(9);
  585. // pdfDoc.setFontStyle('normal');
  586. // pdfDoc.setTextColor(40);
  587. // pdfDoc.text(12, 25,'Firma del Solicitante: _ _ _ _ _ _ _ _ _ _ _ _ _');
  588. //
  589. // pdfDoc.setFontSize(9);
  590. // pdfDoc.setFontStyle('normal');
  591. // pdfDoc.setTextColor(40);
  592. // pdfDoc.text(12, 30,'Aclaración de Firma y N° de C.I.N°: _ _ _ _ _ _ _ _ _ _ _ _');
  593. //
  594. // pdfDoc.setFontSize(9);
  595. // pdfDoc.setFontStyle('normal');
  596. // pdfDoc.setTextColor(40);
  597. // pdfDoc.text(12, 35,'Sello de la Empresa:');
  598. //
  599. // }
  600. pdfDoc.addPage();
  601. pdfDoc.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'png', 10, 10, 50, 30);
  602. pdfDoc.setFontSize(16);
  603. pdfDoc.setFontStyle('bold');
  604. pdfDoc.setTextColor(40);
  605. pdfDoc.text(80,25,'PAGARE A LA ORDEN');
  606. pdfDoc.setFontSize(10);
  607. pdfDoc.setFontStyle('normal');
  608. pdfDoc.setTextColor(40);
  609. pdfDoc.rect(10, 45, 95, 7, 'S');
  610. pdfDoc.text(12,50,'Número de Operación: ' + AccountInvoice[0].origin);
  611. pdfDoc.rect(105, 45, 95, 7, 'S');
  612. pdfDoc.text(110,50,'Fecha de Operación: ' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  613. pdfDoc.rect(10, 55, 95, 7, 'S');
  614. pdfDoc.setFontSize(10);
  615. pdfDoc.setFontStyle('normal');
  616. pdfDoc.text(12,60,'Monto a pagar: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  617. pdfDoc.rect(105, 55, 95, 7, 'S');
  618. pdfDoc.setFontSize(10);
  619. pdfDoc.setFontStyle('normal');
  620. _.each(self.AccountInvoiceQuota, function(item){
  621. varfecha=item.date;
  622. });
  623. pdfDoc.text(110,60,'Vencimiento: ' + moment(varfecha).format('DD/MM/YYYY'));
  624. var total_in_letters = instance.web.num2word(AccountInvoice[0].amount_total);
  625. pdfDoc.rect(10, 65, pdfDoc.internal.pageSize.getWidth() - 15 , 16,'S');
  626. pdfDoc.setFontSize(11);
  627. pdfDoc.setFontStyle('normal');
  628. pdfDoc.text(12,70,'Pagaré a la orden de la empresa de El señor de los anillos.');
  629. pdfDoc.setFontSize(10.5);
  630. pdfDoc.setFontStyle('normal');
  631. pdfDoc.text(12,75,'La suma de Guaraníes: ' );
  632. pdfDoc.setFontSize(10.5);
  633. pdfDoc.setFontStyle('bold');
  634. pdfDoc.text(12,79, total_in_letters);
  635. pdfDoc.rect(10, 81, pdfDoc.internal.pageSize.getWidth() - 15 , 60,'S');
  636. pdfDoc.setFontSize(11);
  637. pdfDoc.setFontStyle('normal');
  638. 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 Ciudad del Este y renunciando a cualquier otra que pudiera corresponder las partes constituyen domicilio real y especial en los lugares señalados en el presente documento.";
  639. pdfDoc.text(paragraph,12,87,{maxWidth:188,align:'justify'});
  640. pdfDoc.setFontSize(10);
  641. pdfDoc.setFontStyle('bold');
  642. pdfDoc.setTextColor(40);
  643. pdfDoc.text(10,165,'DEUDOR');
  644. pdfDoc.text(120,165,'CO-DEUDOR');
  645. pdfDoc.setFontSize(9);
  646. pdfDoc.setFontStyle('normal');
  647. pdfDoc.setTextColor(40);
  648. pdfDoc.text(10,175,'Nombre y Apellido: ' + AccountInvoice[0].partner_id[0].name);
  649. pdfDoc.text(120,175,'Nombre y Apellido:' + AccountInvoice[0].partner_id[0].name_deudor);
  650. pdfDoc.text(10,180,'RUC / DNI: ' + self.valorNull(AccountInvoice[0].partner_id[0].ruc));
  651. pdfDoc.text(120,180,'RUC / DNI:' + AccountInvoice[0].partner_id[0].cin_deudor);
  652. pdfDoc.text(10,185,'Domicilio: ' + self.valorNull(AccountInvoice[0].partner_id[0].address));
  653. pdfDoc.text(120,185,'Domicilio:' + AccountInvoice[0].partner_id[0].dir_deudor);
  654. pdfDoc.text(10,195,'Telefono: ' + self.valorNull(AccountInvoice[0].partner_id[0].phone));
  655. pdfDoc.text(120,195,'Telefono:');
  656. pdfDoc.text(10,200,'Celular: ' + self.valorNull(AccountInvoice[0].partner_id[0].mobile));
  657. pdfDoc.text(120,200,'Celular:' + AccountInvoice[0].partner_id[0].tel_deudor);
  658. pdfDoc.text(10,210,'Firma: ');
  659. pdfDoc.text(120,210,'Firma:');
  660. pdfDoc.save('pagare.pdf');
  661. },
  662. });
  663. if (instance.web && instance.web.FormView) {
  664. instance.web.FormView.include({
  665. load_form: function (record) {
  666. this._super.apply(this, arguments);
  667. if (this.model !== 'account.invoice') return;
  668. local.parentInstance = this;
  669. if (local.widgetInstance) {
  670. local.widgetInstance.updateId(record.id);
  671. }
  672. local.widgetInstance = new local.PagareAnillosWidget(this);
  673. var elemento = this.$el.find('.oe_form').find('.pagare_button_box');
  674. local.widgetInstance.appendTo(elemento);
  675. local.widgetInstance.updateId(record.id);
  676. }
  677. });
  678. }
  679. };