main.js 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746
  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 +=8
  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 ANIBAL ZARACHO LOPEZ, más adelante llamado VENDEDOR, de nacionalidad paraguaya, estado civil Soltero con cédula de identidad paraguaya C.I / R.U.C N° 1.139.280, en representación de la firma EL SEÑOR DE LOS ANILLOS, con domicilio en Supercarretera camino a Hernandarias del Km. 4 de Ciudad del Este, por una parte y la otra parte, del señor/a ";
  343. var aux3 = ", más adelante llamado COMPRADOR, con cédula de identidad paraguaya C.I/ R.U.C N° ";
  344. var aux4 = ", domiciliado en ";
  345. var aux5 = ", ";
  346. var aux6 = " convienen a celebrar el presente contrato privado de PRESTAMO DE DINERO EN EFECTIVO PARA LA COMPRA DE JOYAS, lo que se regirá por las siguientes claúsulas y condiciones.";
  347. pdfDoc.text(aux1 + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY') + aux2 + AccountInvoice[0].partner_id[0].name + aux3 + AccountInvoice[0].partner_id[0].ruc + aux4 + AccountInvoice[0].partner_id[0].address + aux5 + AccountInvoice[0].partner_id[0].city + aux6 ,10,finalY2,{maxWidth:188,align:'justify'});
  348. finalY2 +=36
  349. pdfDoc.setFontSize(11);
  350. pdfDoc.setFontStyle('normal');
  351. var aux7 = "PRIMERA: El señor ANIBAL ZARACHO LOPEZ mediante este instrumento otorga un préstamo de : ";
  352. var aux8 = ", ( ";
  353. var aux9 = ") en efectivo al COMPRADOR, constituyéndose en deudor de la firma EL EL SEÑOR DE LOS ANILLOS. Recibiendo por este acto la suma señalada.";
  354. 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'});
  355. finalY2 +=18
  356. pdfDoc.setFontSize(11);
  357. pdfDoc.setFontStyle('normal');
  358. 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'});
  359. // finalY2 +=5
  360. // pdfDoc.setFontSize(10);
  361. // pdfDoc.setFontStyle('normal');
  362. // pdfDoc.text(10,finalY2, 'compra de las siguientes joyas citadas en el cuadro de abajo.');
  363. var docLineItem = [];
  364. var getColumnsLine = [];
  365. _.each(self.AccountInvoiceLine, function(item){
  366. docLineItem.push({
  367. name : item.name,
  368. quantity : item.quantity,
  369. price_unit : accounting.formatMoney(item.price_unit,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  370. price_subtotal : accounting.formatMoney(item.price_unit*item.quantity,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  371. });
  372. });
  373. getColumnsLine.push({
  374. title : 'Descripción',
  375. halign: 'center',
  376. dataKey: 'name'
  377. });
  378. getColumnsLine.push({
  379. title : 'Cantidad',
  380. halign: 'center',
  381. dataKey: 'quantity'
  382. });
  383. getColumnsLine.push({
  384. title : 'P. Unitario',
  385. halign: 'center',
  386. dataKey: 'price_unit'
  387. });
  388. getColumnsLine.push({
  389. title : 'Subtotal',
  390. halign: 'center',
  391. dataKey: 'price_subtotal'
  392. });
  393. finalY2 +=5
  394. pdfDoc.autoTable(getColumnsLine, docLineItem, {
  395. theme: 'grid',
  396. startY: finalY2 + 4,
  397. styles: {
  398. overflow: 'linebreak',
  399. columnWidth: 'auto',
  400. fontSize: 8,
  401. },
  402. headerStyles: {
  403. textColor: 20,
  404. fillColor: null,
  405. lineWidth: 0.1,
  406. fontSize: 9
  407. },
  408. columnStyles: {
  409. name : {columnWidth: 'auto'},
  410. quantity : {columnWidth: 25, halign:'right'},
  411. price_unit : {columnWidth: 25, halign:'right'},
  412. price_subtotal : {columnWidth: 25, halign:'right'},
  413. },
  414. margin: {horizontal: 10},
  415. addPageContent: function (data) {
  416. // pdfDoc.setFontSize(10);
  417. // pdfDoc.setFontStyle('bold');
  418. // pdfDoc.setTextColor(40);
  419. // pdfDoc.text(85,finalY + 15,'Información de Cuotas ');
  420. //
  421. // pdfDoc.setFontSize(10);
  422. // pdfDoc.setFontStyle('bold');
  423. // pdfDoc.setTextColor(40);
  424. // pdfDoc.text(10,finalY + 5,'Total: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  425. }
  426. });
  427. var finalY2 = pdfDoc.autoTable.previous.finalY;
  428. finalY2 +=9
  429. pdfDoc.setFontSize(12);
  430. pdfDoc.setFontStyle('normal');
  431. 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'});
  432. finalY2 +=9
  433. pdfDoc.setFontSize(12);
  434. pdfDoc.setFontStyle('bold');
  435. pdfDoc.setTextColor(40);
  436. pdfDoc.text(85,finalY2 ,'Información de Cuotas ');
  437. var docQuotaItem = [];
  438. var getColumnsQuota = [];
  439. _.each(self.AccountInvoiceQuota, function(item){
  440. docQuotaItem.push({
  441. date : moment(item.date).format('DD/MM/YYYY'),
  442. name : item.name,
  443. amount : accounting.formatMoney(item.amount,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  444. });
  445. });
  446. getColumnsQuota.push({
  447. title : 'Fecha',
  448. halign: 'center',
  449. dataKey: 'date'
  450. });
  451. getColumnsQuota.push({
  452. title : 'Descripción',
  453. halign: 'center',
  454. dataKey: 'name'
  455. });
  456. getColumnsQuota.push({
  457. title : 'Valor de la Cuota',
  458. halign: 'center',
  459. dataKey: 'amount'
  460. });
  461. pdfDoc.autoTable(getColumnsQuota, docQuotaItem, {
  462. theme: 'grid',
  463. startY: finalY2 + 5,
  464. styles: {
  465. overflow: 'linebreak',
  466. columnWidth: 'auto',
  467. fontSize: 8,
  468. },
  469. headerStyles: {
  470. textColor: 20,
  471. fillColor: null,
  472. lineWidth: 0.1,
  473. fontSize: 9
  474. },
  475. columnStyles: {
  476. date : {columnWidth: 'auto', halign: 'center'},
  477. name : {columnWidth: 'auto', halign: 'center'},
  478. amount : {columnWidth: 'auto', halign: 'right'}
  479. },
  480. margin: {horizontal: 10},
  481. addPageContent: function (data) {
  482. // pdfDoc.setFontSize(10);
  483. // pdfDoc.setFontStyle('bold');
  484. // pdfDoc.setTextColor(40);
  485. // pdfDoc.text(85,finalY + 15,'Información de Cuotas ');
  486. //
  487. // pdfDoc.setFontSize(10);
  488. // pdfDoc.setFontStyle('bold');
  489. // pdfDoc.setTextColor(40);
  490. // pdfDoc.text(10,finalY + 5,'Total: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  491. }
  492. });
  493. var finalY2 = pdfDoc.autoTable.previous.finalY;
  494. finalY2 += 9
  495. pdfDoc.setFontSize(11);
  496. pdfDoc.setFontStyle('normal');
  497. 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.";
  498. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  499. finalY2 +=11
  500. pdfDoc.setFontSize(11);
  501. pdfDoc.setFontStyle('normal');
  502. var paragraph= "- Carga de Billera Tigo - Número: (0986) 879 069";
  503. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  504. finalY2 +=6
  505. pdfDoc.setFontSize(11);
  506. pdfDoc.setFontStyle('normal');
  507. var paragraph= "- Transferencia o Depósito bancario - Visión Banco, caja de ahorro";
  508. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  509. finalY2 +=6
  510. pdfDoc.setFontSize(11);
  511. pdfDoc.setFontStyle('normal');
  512. var paragraph= "N° de Cuenta: 2022144 Titular: ANIBAL ZARACHO LÓPEZ C.I.N°: 1.139.280";
  513. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  514. finalY2 +=6
  515. pdfDoc.setFontSize(11);
  516. pdfDoc.setFontStyle('normal');
  517. var paragraph= "Servicio de cobranza a domicilio. Número: (0986) 879 069";
  518. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  519. finalY2 +=8
  520. pdfDoc.setFontSize(11);
  521. pdfDoc.setFontStyle('normal');
  522. 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.";
  523. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  524. finalY2 +=14
  525. pdfDoc.setFontSize(11);
  526. pdfDoc.setFontStyle('normal');
  527. 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.";
  528. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  529. pdfDoc.addPage();
  530. finalY2 =22
  531. pdfDoc.setFontSize(11);
  532. pdfDoc.setFontStyle('normal');
  533. 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.";
  534. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  535. finalY2 +=12
  536. pdfDoc.setFontSize(11);
  537. pdfDoc.setFontStyle('normal');
  538. 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.";
  539. pdfDoc.text(paragraph,10,finalY2,{maxWidth:188,align:'justify'});
  540. finalY2 +=35
  541. pdfDoc.setFontSize(11);
  542. pdfDoc.setFontStyle('bold');
  543. pdfDoc.text(10,finalY2,'Firma del deudor: _ _ _ _ _ _ _ _ _ _ _ _ Firma del codeudor: _ _ _ _ _ _ _ _ _ _ _ _ ');
  544. finalY2 +=13
  545. pdfDoc.setFontSize(11);
  546. pdfDoc.setFontStyle('bold');
  547. pdfDoc.text(40,finalY2,'Firma del representante: _ _ _ _ _ _ _ _ _ _ _ _ _ _');
  548. var finalY2 = pdfDoc.autoTable.previous.finalY;
  549. //
  550. // finalY2 +=5
  551. // pdfDoc.setFontSize(10);
  552. // pdfDoc.setFontStyle('bold');
  553. // pdfDoc.setTextColor(40);
  554. // pdfDoc.text(10,finalY2,'Total: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  555. //
  556. // finalY2 +=5
  557. // pdfDoc.setFontSize(10);
  558. // pdfDoc.setFontStyle('bold');
  559. // pdfDoc.text(10,finalY2,'Firma del cliente: _ _ _ _ _ _ _ _ _ _ Aclaración: _ _ _ _ _ _ _ _ _ _ C.I.N°: _ _ _ _ _ _ _');
  560. // finalY2 +=20
  561. // console.log(finalY2);
  562. // if (finaly2 > 220) {
  563. // pdfDoc.setFontSize(9);
  564. // pdfDoc.setFontStyle('bold');
  565. // var paragraph="Declaramos que los datos consignados en esta solicitud de MyS DECORART; son fiel reflejo de nuestra situación.";
  566. // pdfDoc.text(paragraph,12, 20,{maxWidth:188,align:'justify'});
  567. //
  568. // pdfDoc.setFontSize(9);
  569. // pdfDoc.setFontStyle('normal');
  570. // pdfDoc.setTextColor(40);
  571. // pdfDoc.text(12, 25,'Firma del Solicitante: _ _ _ _ _ _ _ _ _ _ _ _ _');
  572. //
  573. // pdfDoc.setFontSize(9);
  574. // pdfDoc.setFontStyle('normal');
  575. // pdfDoc.setTextColor(40);
  576. // pdfDoc.text(12, 30,'Aclaración de Firma y N° de C.I.N°: _ _ _ _ _ _ _ _ _ _ _ _');
  577. //
  578. // pdfDoc.setFontSize(9);
  579. // pdfDoc.setFontStyle('normal');
  580. // pdfDoc.setTextColor(40);
  581. // pdfDoc.text(12, 35,'Sello de la Empresa:');
  582. //
  583. // }
  584. pdfDoc.addPage();
  585. pdfDoc.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'png', 10, 10, 50, 30);
  586. pdfDoc.setFontSize(16);
  587. pdfDoc.setFontStyle('bold');
  588. pdfDoc.setTextColor(40);
  589. pdfDoc.text(80,25,'PAGARE A LA ORDEN');
  590. pdfDoc.setFontSize(10);
  591. pdfDoc.setFontStyle('normal');
  592. pdfDoc.setTextColor(40);
  593. pdfDoc.rect(10, 45, 95, 7, 'S');
  594. pdfDoc.text(12,50,'Número de Operación: ' + AccountInvoice[0].origin);
  595. pdfDoc.rect(105, 45, 95, 7, 'S');
  596. pdfDoc.text(110,50,'Fecha de Operación: ' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  597. pdfDoc.rect(10, 55, 95, 7, 'S');
  598. pdfDoc.setFontSize(10);
  599. pdfDoc.setFontStyle('normal');
  600. pdfDoc.text(12,60,'Monto a pagar: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  601. pdfDoc.rect(105, 55, 95, 7, 'S');
  602. pdfDoc.setFontSize(10);
  603. pdfDoc.setFontStyle('normal');
  604. _.each(self.AccountInvoiceQuota, function(item){
  605. varfecha=item.date;
  606. });
  607. pdfDoc.text(110,60,'Vencimiento: ' + moment(varfecha).format('DD/MM/YYYY'));
  608. var total_in_letters = instance.web.num2word(AccountInvoice[0].amount_total);
  609. pdfDoc.rect(10, 65, pdfDoc.internal.pageSize.getWidth() - 15 , 16,'S');
  610. pdfDoc.setFontSize(11);
  611. pdfDoc.setFontStyle('normal');
  612. pdfDoc.text(12,70,'Pagaré a la orden de la empresa de El señor de los anillos.');
  613. pdfDoc.setFontSize(10.5);
  614. pdfDoc.setFontStyle('normal');
  615. pdfDoc.text(12,75,'La suma de Guaraníes: ' );
  616. pdfDoc.setFontSize(10.5);
  617. pdfDoc.setFontStyle('bold');
  618. pdfDoc.text(12,79, total_in_letters);
  619. pdfDoc.rect(10, 81, pdfDoc.internal.pageSize.getWidth() - 15 , 60,'S');
  620. pdfDoc.setFontSize(11);
  621. pdfDoc.setFontStyle('normal');
  622. 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 del ....%, un interés moratorio del ....% y una comisión del ....% 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.";
  623. pdfDoc.text(paragraph,12,87,{maxWidth:188,align:'justify'});
  624. pdfDoc.setFontSize(10);
  625. pdfDoc.setFontStyle('bold');
  626. pdfDoc.setTextColor(40);
  627. pdfDoc.text(10,165,'DEUDOR');
  628. pdfDoc.text(120,165,'CO-DEUDOR');
  629. pdfDoc.setFontSize(9);
  630. pdfDoc.setFontStyle('normal');
  631. pdfDoc.setTextColor(40);
  632. pdfDoc.text(10,175,'Nombre y Apellido: ' + AccountInvoice[0].partner_id[0].name);
  633. pdfDoc.text(120,175,'Nombre y Apellido:' + AccountInvoice[0].partner_id[0].name_deudor);
  634. pdfDoc.text(10,180,'RUC / DNI: ' + self.valorNull(AccountInvoice[0].partner_id[0].ruc));
  635. pdfDoc.text(120,180,'RUC / DNI:' + AccountInvoice[0].partner_id[0].cin_deudor);
  636. pdfDoc.text(10,185,'Domicilio: ' + self.valorNull(AccountInvoice[0].partner_id[0].address));
  637. pdfDoc.text(120,185,'Domicilio:' + AccountInvoice[0].partner_id[0].dir_deudor);
  638. pdfDoc.text(10,195,'Telefono: ' + self.valorNull(AccountInvoice[0].partner_id[0].phone));
  639. pdfDoc.text(120,195,'Telefono:');
  640. pdfDoc.text(10,200,'Celular: ' + self.valorNull(AccountInvoice[0].partner_id[0].mobile));
  641. pdfDoc.text(120,200,'Celular:' + AccountInvoice[0].partner_id[0].tel_deudor);
  642. pdfDoc.text(10,210,'Firma: ');
  643. pdfDoc.text(120,210,'Firma:');
  644. pdfDoc.save('pagare.pdf');
  645. },
  646. });
  647. if (instance.web && instance.web.FormView) {
  648. instance.web.FormView.include({
  649. load_form: function (record) {
  650. this._super.apply(this, arguments);
  651. if (this.model !== 'account.invoice') return;
  652. local.parentInstance = this;
  653. if (local.widgetInstance) {
  654. local.widgetInstance.updateId(record.id);
  655. }
  656. local.widgetInstance = new local.PagareAnillosWidget(this);
  657. var elemento = this.$el.find('.oe_form').find('.pagare_button_box');
  658. local.widgetInstance.appendTo(elemento);
  659. local.widgetInstance.updateId(record.id);
  660. }
  661. });
  662. }
  663. };