main.js 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702
  1. openerp.pagare_decorart = function (instance, local) {
  2. local.widgetInstance = null;
  3. local.parentInstance = null;
  4. local.PagareDecorartWidget = instance.Widget.extend({
  5. template : "pagare_decorart.PagareDecorart",
  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.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'PNG',10,10,20,15);
  83. _.each(self.AccountInvoiceLine, function(item){
  84. docItem.push({
  85. name : item.name,
  86. quantity : item.quantity,
  87. price_unit : accounting.formatMoney(item.price_unit,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  88. price_subtotal : accounting.formatMoney(item.price_subtotal,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  89. });
  90. });
  91. getColumns.push({
  92. title : 'Descripción',
  93. dataKey: 'name'
  94. });
  95. getColumns.push({
  96. title : 'Cantidad',
  97. dataKey: 'quantity'
  98. });
  99. getColumns.push({
  100. title : 'Precio Unitario',
  101. dataKey: 'price_unit'
  102. });
  103. getColumns.push({
  104. title : 'subtotal',
  105. dataKey: 'price_subtotal'
  106. });
  107. pdfDoc.autoTable(getColumns, docItem, {
  108. theme: 'grid',
  109. styles: {
  110. overflow: 'linebreak',
  111. columnWidth: 'auto',
  112. fontSize: 7
  113. },
  114. headerStyles: {
  115. textColor: 20,
  116. fillColor: null,
  117. lineWidth: 0.1,
  118. fontSize: 9
  119. },
  120. columnStyles: {
  121. name : {columnWidth: 'auto'},
  122. quantity : {columnWidth: 30, halign:'right'},
  123. price_unit : {columnWidth: 30, halign:'right'},
  124. price_subtotal : {columnWidth: 30, halign:'right'},
  125. },
  126. margin: { top: 80, horizontal: 10},
  127. addPageContent: function (data) {
  128. pdfDoc.setFontSize(11);
  129. pdfDoc.setFontStyle('bold');
  130. pdfDoc.setTextColor(20);
  131. pdfDoc.text(40, 13,'Empresa: ');
  132. pdfDoc.setFontSize(11);
  133. pdfDoc.setFontStyle('normal');
  134. pdfDoc.text(60, 13, 'M&S DECORART');
  135. pdfDoc.setFontSize(11);
  136. pdfDoc.setFontStyle('bold');
  137. pdfDoc.setTextColor(20);
  138. pdfDoc.text(120, 13,'Número de Operación: ');
  139. pdfDoc.setFontSize(11);
  140. pdfDoc.setFontStyle('normal');
  141. pdfDoc.text(165, 13, AccountInvoice[0].origin);
  142. pdfDoc.setFontSize(11);
  143. pdfDoc.setFontStyle('bold');
  144. pdfDoc.setTextColor(20);
  145. pdfDoc.text(120, 18,'Número de Documento: ');
  146. pdfDoc.setFontSize(11);
  147. pdfDoc.setFontStyle('normal');
  148. pdfDoc.text(165, 18, AccountInvoice[0].number);
  149. pdfDoc.setFontSize(11);
  150. pdfDoc.setFontStyle('bold');
  151. pdfDoc.setTextColor(20);
  152. pdfDoc.text(120, 23,'Responsable: ');
  153. pdfDoc.setFontSize(11);
  154. pdfDoc.setFontStyle('normal');
  155. pdfDoc.text(147, 23, AccountInvoice[0].user_name);
  156. // Cuadro principal
  157. pdfDoc.rect(10, 30, pdfDoc.internal.pageSize.getWidth() - 20 , 40, 'S');
  158. // Cuadro fecha de emision
  159. pdfDoc.rect(10, 30, 80, 10, 'S');
  160. pdfDoc.setFontSize(8);
  161. pdfDoc.setFontStyle('normal');
  162. pdfDoc.setTextColor(20);
  163. pdfDoc.text(12, 36,'Fecha de emisión: ');
  164. pdfDoc.text(45, 36, moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  165. // RUC / Documento de identidad No.
  166. pdfDoc.rect(10, 40, pdfDoc.internal.pageSize.getWidth() - 20, 10, 'S');
  167. pdfDoc.text(12, 46,'RUC / Documento de Identidad No.: ' + AccountInvoice[0].partner_id[0].ruc);
  168. // Nombre o Razon Social
  169. pdfDoc.rect(10, 50, pdfDoc.internal.pageSize.getWidth() - 20, 10, 'S');
  170. pdfDoc.text(12, 56,'Nombre o Razón Social: ' + AccountInvoice[0].partner_id[0].name);
  171. // Telefono
  172. pdfDoc.rect(10, 60, 95, 10, 'S');
  173. pdfDoc.text(12, 66,'Teléfono: ' + self.valorNull(AccountInvoice[0].partner_id[0].phone));
  174. // Dirreccion
  175. pdfDoc.rect(105, 60, 95, 10, 'S');
  176. pdfDoc.text(107, 66,'Direccion: ' + self.valorNull(AccountInvoice[0].partner_id[0].address));
  177. }
  178. });
  179. _.each(self.AccountInvoiceQuota, function(item){
  180. docQuotaItem.push({
  181. date : moment(item.date).format('DD/MM/YYYY'),
  182. name : item.name,
  183. amount : accounting.formatMoney(item.amount,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  184. });
  185. });
  186. getColumnsQuota.push({
  187. title : 'Fecha',
  188. halign: 'center',
  189. dataKey: 'date'
  190. });
  191. getColumnsQuota.push({
  192. title : 'Descripción',
  193. halign: 'center',
  194. dataKey: 'name'
  195. });
  196. getColumnsQuota.push({
  197. title : 'Valor de la Cuota',
  198. halign: 'center',
  199. dataKey: 'amount'
  200. });
  201. var finalY = pdfDoc.autoTable.previous.finalY;
  202. pdfDoc.autoTable(getColumnsQuota, docQuotaItem, {
  203. theme: 'grid',
  204. startY: finalY + 20,
  205. styles: {
  206. overflow: 'linebreak',
  207. columnWidth: 'auto',
  208. fontSize: 7,
  209. },
  210. headerStyles: {
  211. textColor: 20,
  212. fillColor: null,
  213. lineWidth: 0.1,
  214. fontSize: 9
  215. },
  216. columnStyles: {
  217. date : {columnWidth: 'auto', halign: 'center'},
  218. name : {columnWidth: 'auto', halign: 'center'},
  219. amount : {columnWidth: 'auto', halign: 'right'}
  220. },
  221. margin: {horizontal: 10},
  222. addPageContent: function (data) {
  223. pdfDoc.setFontSize(10);
  224. pdfDoc.setFontStyle('bold');
  225. pdfDoc.setTextColor(40);
  226. pdfDoc.text(85,finalY + 15,'Información de Cuotas ');
  227. pdfDoc.setFontSize(10);
  228. pdfDoc.setFontStyle('bold');
  229. pdfDoc.setTextColor(40);
  230. pdfDoc.text(10,finalY + 5,'Total: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  231. }
  232. });
  233. pdfDoc.addPage();
  234. pdfDoc.setTextColor(40);
  235. i=0
  236. _.each(self.AccountInvoiceQuota, function(item){
  237. pdfDoc.setFontSize(14);
  238. pdfDoc.setFontStyle('bold');
  239. pdfDoc.text(80,15+i,'MyS DECORART');
  240. pdfDoc.setFontSize(12);
  241. pdfDoc.setFontStyle('bold');
  242. pdfDoc.rect(10, 18+i, 95, 0, 'S');
  243. pdfDoc.text(12,23+i,'Número de Operación:' + AccountInvoice[0].origin);
  244. pdfDoc.setFontSize(12);
  245. pdfDoc.setFontStyle('bold');
  246. pdfDoc.rect(105, 18+i, 95, 0, 'S');
  247. pdfDoc.text(110,23+i,'Fecha de Operación: ' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  248. pdfDoc.setFontSize(12);
  249. pdfDoc.setFontStyle('bold');
  250. pdfDoc.text(12,28+i,'C.I. N°: ' + self.valorNull(AccountInvoice[0].partner_id[0].ruc));
  251. pdfDoc.setFontSize(12);
  252. pdfDoc.setFontStyle('bold');
  253. pdfDoc.text(110,28+i,'Vendedor: ' + self.valorNull(AccountInvoice[0].user_name));
  254. pdfDoc.setFontSize(12);
  255. pdfDoc.setFontStyle('bold');
  256. pdfDoc.text(12,33+i,'Cliente: ' + self.valorNull(AccountInvoice[0].partner_id[0].name));
  257. pdfDoc.rect(10, 35+i, 95, 0, 'S');
  258. pdfDoc.setFontSize(12);
  259. pdfDoc.setFontStyle('bold');
  260. pdfDoc.text(12,43+i,'Cuota N°:' + item.name);
  261. pdfDoc.rect(105, 35+i, 95, 0, 'S');
  262. pdfDoc.setFontSize(12);
  263. pdfDoc.setFontStyle('bold');
  264. pdfDoc.text(110,43+i,'Vence: ' + moment(item.date).format('DD/MM/YYYY'));
  265. pdfDoc.setFontSize(12);
  266. pdfDoc.setFontStyle('bold');
  267. pdfDoc.text(12,49+i,'Monto Cuota:' + item.amount);
  268. pdfDoc.setFontSize(12);
  269. pdfDoc.setFontStyle('bold');
  270. pdfDoc.text(110,56+i,'Firma: _ _ _ _ _ _ _ _ _');
  271. i=i+55
  272. if (i>220) {
  273. pdfDoc.addPage();
  274. i=0
  275. }
  276. });
  277. pdfDoc.addPage();
  278. pdfDoc.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'PNG',10,10,20,15);
  279. pdfDoc.setFontSize(16);
  280. pdfDoc.setFontStyle('bold');
  281. pdfDoc.setTextColor(40);
  282. pdfDoc.text(80,25,'PAGARE A LA ORDEN');
  283. pdfDoc.setFontSize(10);
  284. pdfDoc.setFontStyle('normal');
  285. pdfDoc.setTextColor(40);
  286. pdfDoc.rect(10, 45, 95, 7, 'S');
  287. pdfDoc.text(12,50,'Número de Operación: ' + AccountInvoice[0].origin);
  288. pdfDoc.rect(105, 45, 95, 7, 'S');
  289. pdfDoc.text(110,50,'Fecha de Operación: ' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  290. pdfDoc.rect(10, 55, 95, 7, 'S');
  291. pdfDoc.setFontSize(10);
  292. pdfDoc.setFontStyle('normal');
  293. pdfDoc.text(12,60,'Monto a pagar: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  294. pdfDoc.rect(105, 55, 95, 7, 'S');
  295. pdfDoc.setFontSize(10);
  296. pdfDoc.setFontStyle('normal');
  297. _.each(self.AccountInvoiceQuota, function(item){
  298. varfecha=item.date;
  299. });
  300. pdfDoc.text(110,60,'Vencimiento: ' + moment(varfecha).format('DD/MM/YYYY'));
  301. var total_in_letters = instance.web.num2word(AccountInvoice[0].amount_total);
  302. pdfDoc.rect(10, 65, pdfDoc.internal.pageSize.getWidth() - 15 , 15,'S');
  303. pdfDoc.setFontSize(12);
  304. pdfDoc.setFontStyle('normal');
  305. pdfDoc.text(12,70,'Pagaré a la orden de M&S Decorart del grupo Líder Constructora.');
  306. pdfDoc.setFontSize(12);
  307. pdfDoc.setFontStyle('normal');
  308. pdfDoc.text(12,75,'La suma de Guaraníes: ' + total_in_letters);
  309. pdfDoc.rect(10, 80, pdfDoc.internal.pageSize.getWidth() - 15 , 60,'S');
  310. pdfDoc.setFontSize(12);
  311. pdfDoc.setFontStyle('normal');
  312. var paragraph="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, conforme a lo establecido en la Ley 168/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 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.";
  313. pdfDoc.text(paragraph,12,85,{maxWidth:188,align:'justify'});
  314. pdfDoc.setFontSize(10);
  315. pdfDoc.setFontStyle('bold');
  316. pdfDoc.setTextColor(40);
  317. pdfDoc.text(10,165,'DEUDOR');
  318. pdfDoc.text(110,165,'CO-DEUDOR');
  319. pdfDoc.setFontSize(9);
  320. pdfDoc.setFontStyle('normal');
  321. pdfDoc.setTextColor(40);
  322. pdfDoc.text(10,175,'Nombre y Apellido: ' + AccountInvoice[0].partner_id[0].name);
  323. pdfDoc.text(110,175,'Nombre y Apellido:');
  324. pdfDoc.text(10,180,'RUC / DNI: ' + self.valorNull(AccountInvoice[0].partner_id[0].ruc));
  325. pdfDoc.text(110,180,'RUC / DNI:');
  326. pdfDoc.text(10,185,'Domicilio: ' + self.valorNull(AccountInvoice[0].partner_id[0].address));
  327. pdfDoc.text(110,185,'Domicilio:');
  328. pdfDoc.text(10,195,'Telefono: ' + self.valorNull(AccountInvoice[0].partner_id[0].phone));
  329. pdfDoc.text(110,195,'Telefono:');
  330. pdfDoc.text(10,200,'Celular: ' + self.valorNull(AccountInvoice[0].partner_id[0].mobile));
  331. pdfDoc.text(110,200,'Celular:');
  332. pdfDoc.text(10,210,'Firma: ');
  333. pdfDoc.text(110,210,'Firma:');
  334. pdfDoc.addPage();
  335. pdfDoc.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'PNG',10,10,20,15);
  336. pdfDoc.setFontSize(11);
  337. pdfDoc.setFontStyle('bold');
  338. pdfDoc.setTextColor(20);
  339. pdfDoc.text(80, 25,'SOLICITUD DE LINEA DE CREDITO');
  340. pdfDoc.text(10, 30,'Empresa: MyS Decorart');
  341. pdfDoc.setFontSize(10);
  342. pdfDoc.setFontStyle('normal');
  343. pdfDoc.setTextColor(40);
  344. pdfDoc.rect(10, 35, 95, 7, 'S');
  345. pdfDoc.text(12,40,'SUCURSAL: ' );
  346. pdfDoc.rect(105, 35, 95, 7, 'S');
  347. pdfDoc.text(110,40,'Fecha de Operación: ' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  348. pdfDoc.rect(10, 45, 95, 7, 'S');
  349. pdfDoc.setFontSize(10);
  350. pdfDoc.setFontStyle('normal');
  351. pdfDoc.text(12,50,'Vendedor: ' + AccountInvoice[0].user_name);
  352. pdfDoc.setFontSize(10);
  353. pdfDoc.setFontStyle('bold');
  354. pdfDoc.setTextColor(40);
  355. pdfDoc.text(10, 58,'Datos del Cliente o Empresa');
  356. // Cuadro principal
  357. pdfDoc.rect(10, 60, pdfDoc.internal.pageSize.getWidth() - 20 , 35, 'S');
  358. // Cuadro fecha de emision
  359. pdfDoc.rect(10, 60, 95, 7, 'S');
  360. pdfDoc.setFontSize(8);
  361. pdfDoc.setFontStyle('normal');
  362. pdfDoc.setTextColor(20);
  363. pdfDoc.text(12, 64,'Fecha de emisión: ');
  364. pdfDoc.text(45, 64, moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  365. // RUC / Documento de identidad No.
  366. pdfDoc.rect(105, 60, 95, 7, 'S');
  367. pdfDoc.text(125, 64,'RUC / Doc. de Identidad No.: ' + AccountInvoice[0].partner_id[0].ruc);
  368. // Nombre o Razon Social
  369. pdfDoc.rect(10, 67, 95, 7, 'S');
  370. pdfDoc.text(12, 72,'Nombre o Razón Social: ' + AccountInvoice[0].partner_id[0].name);
  371. // Telefono
  372. pdfDoc.rect(105, 67, 95, 7, 'S');
  373. pdfDoc.text(125, 72,'Teléfono: ' + self.valorNull(AccountInvoice[0].partner_id[0].phone));
  374. // Direccion
  375. pdfDoc.rect(10, 74, 95, 7, 'S');
  376. pdfDoc.text(12, 78,'Direccion: ' + self.valorNull(AccountInvoice[0].partner_id[0].address));
  377. // celular
  378. pdfDoc.rect(105, 74, 95, 7, 'S');
  379. pdfDoc.text(125, 78,'Celular: ' + self.valorNull(AccountInvoice[0].partner_id[0].mobile));
  380. // Direccion
  381. pdfDoc.rect(10, 81, 95, 7, 'S');
  382. pdfDoc.text(12, 85,'Barrio: ' + self.valorNull(AccountInvoice[0].partner_id[0].barrio));
  383. // celular
  384. pdfDoc.rect(105, 81, 95, 7, 'S');
  385. pdfDoc.text(125, 85,'Ciudad: ' + self.valorNull(AccountInvoice[0].partner_id[0].city));
  386. // Direccion
  387. pdfDoc.rect(10, 88, 95, 7, 'S');
  388. pdfDoc.text(12, 92,'Estado Civil: ' + self.valorNull(AccountInvoice[0].partner_id[0].estado_civil));
  389. // celular
  390. pdfDoc.rect(105, 88, 95, 7, 'S');
  391. pdfDoc.text(125, 92,'Email: ' + self.valorNull(AccountInvoice[0].partner_id[0].email));
  392. var tipo;
  393. if(AccountInvoice[0].partner_id[0].casa_propia == true){
  394. tipo = "Vivienda Propia";
  395. }else{
  396. tipo = "Vivienda Alquilada";
  397. }
  398. // TIPO DE VIVIENDA
  399. pdfDoc.rect(10, 95, 95, 7, 'S');
  400. pdfDoc.text(12, 100,'Tipo de Vivienda: ' + self.valorNull(tipo));
  401. // celular
  402. pdfDoc.rect(105, 95, 95, 7, 'S');
  403. // pdfDoc.text(125, 100,'Vivienda Alquilada: ' + self.valorNull(AccountInvoice[0].partner_id[0].casa_alquiler));
  404. // Direccion
  405. pdfDoc.rect(10, 112, 95, 7, 'S');
  406. pdfDoc.text(12, 116,'Empresa o Lugar de Trabajo: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_empresa));
  407. // celular
  408. pdfDoc.rect(105, 112, 95, 7, 'S');
  409. pdfDoc.text(125, 116,'Teléfono: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_telefono));
  410. // Direccion
  411. pdfDoc.rect(10, 119, 95, 7, 'S');
  412. pdfDoc.text(12, 123,'Dirección: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_empresa));
  413. // celular
  414. pdfDoc.rect(105, 119, 95, 7, 'S');
  415. pdfDoc.text(125, 123,'Ciudad: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_telefono));
  416. // Direccion
  417. pdfDoc.rect(10, 126, 95, 7, 'S');
  418. pdfDoc.text(12, 130,'Cargo: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_cargo));
  419. // celular
  420. pdfDoc.rect(105, 126, 95, 7, 'S');
  421. pdfDoc.text(125, 130,'Antiguedad: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_antiguedad_a));
  422. // ref
  423. // pdfDoc.rect(10, 133, 95, 7, 'S');
  424. // pdfDoc.text(12, 137,'Vivienda Propia: ' + self.valorNull(AccountInvoice[0].partner_id[0].casa_propia));
  425. // ref
  426. // pdfDoc.rect(105, 133, 95, 7, 'S');
  427. // pdfDoc.text(125, 137,'Vivienda Alquilada: ' + self.valorNull(AccountInvoice[0].partner_id[0].casa_alquiler));
  428. pdfDoc.setFontSize(8);
  429. pdfDoc.setFontStyle('normal');
  430. pdfDoc.text(12,150,'Referencias Comerciales:');
  431. i=0;
  432. f=0;
  433. _.each(AccountInvoice[0].partner_id[0].ref_comercial_ids,function(item){
  434. pdfDoc.setFontSize(8);
  435. pdfDoc.setFontStyle('normal');
  436. pdfDoc.text(50+i,155+f, '' + item.name);
  437. pdfDoc.text(100+i,155+f, '' + item.phone);
  438. i=150;
  439. f=5;
  440. });
  441. pdfDoc.setFontSize(8);
  442. pdfDoc.setFontStyle('normal');
  443. pdfDoc.text(12,180,'Referencias Personales:');
  444. i=0;
  445. f=0;
  446. _.each(AccountInvoice[0].partner_id[0].ref_personal_ids,function(item){
  447. pdfDoc.setFontSize(8);
  448. pdfDoc.setFontStyle('normal');
  449. pdfDoc.text(50+i,185+f, '' + item.name);
  450. pdfDoc.text(100+i,185+f, '' + item.phone);
  451. i=150;
  452. f=5;
  453. });
  454. pdfDoc.addPage();
  455. var monto_cuota;
  456. var tot_cuota;
  457. _.each(self.AccountInvoiceQuota, function(item){
  458. monto_cuota=item.amount;
  459. tot_cuota=item.tot_cuota;
  460. });
  461. pdfDoc.setFontSize(10);
  462. pdfDoc.setFontStyle('bold');
  463. pdfDoc.text(12,20,'Línea de crédito solicitado: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  464. pdfDoc.setFontSize(10);
  465. pdfDoc.setFontStyle('bold');
  466. pdfDoc.text(115,20,'Condición de venta: ' + accounting.formatMoney(monto_cuota,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator) + 'x' + tot_cuota);
  467. pdfDoc.setFontSize(10);
  468. pdfDoc.setFontStyle('bold');
  469. pdfDoc.text(12,25,'Tipos de garantías: ' + self.valorNull(AccountInvoice[0].comment));
  470. var self = this;
  471. var AccountInvoice = self.AccountInvoice;
  472. var CurrencyBase = self.AccountInvoice[0].currency_id[0];
  473. var docItem = [];
  474. var docQuotaItem = [];
  475. var getColumns = [];
  476. var getColumnsQuota = [];
  477. _.each(self.AccountInvoiceLine, function(item){
  478. docItem.push({
  479. name : item.name,
  480. quantity : item.quantity,
  481. price_unit : accounting.formatMoney(item.price_unit,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  482. price_subtotal : accounting.formatMoney(item.price_subtotal,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  483. });
  484. });
  485. getColumns.push({
  486. title : 'Descripción',
  487. dataKey: 'name'
  488. });
  489. getColumns.push({
  490. title : 'Cantidad',
  491. dataKey: 'quantity'
  492. });
  493. getColumns.push({
  494. title : 'Precio Unitario',
  495. dataKey: 'price_unit'
  496. });
  497. getColumns.push({
  498. title : 'subtotal',
  499. dataKey: 'price_subtotal'
  500. });
  501. pdfDoc.autoTable(getColumns, docItem, {
  502. theme: 'grid',
  503. styles: {
  504. overflow: 'linebreak',
  505. columnWidth: 'auto',
  506. fontSize: 7
  507. },
  508. headerStyles: {
  509. textColor: 20,
  510. fillColor: null,
  511. lineWidth: 0.1,
  512. fontSize: 9
  513. },
  514. columnStyles: {
  515. name : {columnWidth: 'auto'},
  516. quantity : {columnWidth: 30, halign:'right'},
  517. price_unit : {columnWidth: 30, halign:'right'},
  518. price_subtotal : {columnWidth: 30, halign:'right'},
  519. },
  520. margin: { top: 28, horizontal: 10},
  521. });
  522. pdfDoc.setFontSize(10);
  523. pdfDoc.setFontStyle('normal');
  524. var paragraph= "En ciertas condiciones de venta y bajo el criterio de la empresa, el cheque diferido no se tomara como pago efectivo (no tendrá emisión de recibo) y se tomara como garantia de pago hasta su cobro efectivo con la respectiva emisión del recibo de pago.";
  525. pdfDoc.text(paragraph,12,55,{maxWidth:188,align:'justify'});
  526. var paragraph= "Por el presente instrumento le(s) autorizo(amos) de forma expresa e irrevocable, otorgando suficiente mandato en los términos de los Art. 917 inc. A del Código Civil Paraguayo, para que por propia cuenta o a través empresas especializadas de nuestro medio, puedan recabar información en plaza referente a mi(nuestra) situación patrimonial solvencia económica, o el cumplimiento de nuestras obligaciones comerciales, así como también a la verificación confirmación y/o certificación de los datos por mi(nosotros) proveídos a fin de que puedan contar con los elementos de juicio y análisis necesarios para la concesión del crédito que me(nos) encuentro(amos) gestionando ante LA EMPRESA MyS Decorart del grupo Líder Constructora.
  527. De igual manera, en los mismos términos le(s) autorizo(amos) para que en caso de un atraso superior a los 90 días en el pago del presente crédito o de cualquier otra deuda pendiente que mantenga(mos) con esa empresa, incluyan mi(nuestro) nombre personal o Razón Social que represento(amos) en en Registro General de Morosos de INFORMCONF o de cualquier otra entidad encargada para tales efectos, como así también, proporcionar esa información a terceros interesados. La eliminación de dicho registro se realizará de acuerdo a los términos establecidos en la Ley 1.682 y sus modificaciones. De igual manera reconozco(emos) y acepto(amos) que la EMPRESA MyS Decorart del Grupo Líder Constructora podrá ceder sus derechos derivados del presente contrato y de los pagares de la deuda ya sea mediante una cesión de derechos o venta de cartera o cualquier otra forma permitida por la ley a lo que presto(amos) desde ahora y por le presente documento consentimiento expreso e irrevocable a dichas cesiones y transferencias incluyendo las correspondientes garantías que se pudieren haber constituido a favor de LA EMPRESA, en respaldo de las obligaciones. LA EMPRESA MyS Decorart del grupo Líder Constructora puede transferir a terceros, de manera total o parcial, sus derechos y obligaciones emergentes del Contrato.";
  528. pdfDoc.text(paragraph,12,70,{maxWidth:188,align:'justify'});
  529. pdfDoc.setFontSize(10);
  530. pdfDoc.setFontStyle('bold');
  531. pdfDoc.text(12,145,'PLANO DE UBICACIÓN DEL NEGOCIO/DOMICILIO:');
  532. // ref
  533. pdfDoc.rect(12, 151, 15, 15, 'S');
  534. // ref
  535. pdfDoc.rect(35, 151, 15, 15, 'S');
  536. // ref
  537. pdfDoc.rect(58, 151, 15, 15, 'S');
  538. // ref
  539. pdfDoc.rect(118, 151, 15, 15, 'S');
  540. // ref
  541. pdfDoc.rect(141, 151, 15, 15, 'S');
  542. // ref
  543. pdfDoc.rect(164, 151, 15, 15, 'S');
  544. // ref
  545. pdfDoc.rect(12, 171, 15, 15, 'S');
  546. //
  547. // // ref
  548. pdfDoc.rect(35, 171, 15, 15, 'S');
  549. //
  550. // // ref
  551. pdfDoc.rect(58, 171, 15, 15, 'S');
  552. //
  553. //
  554. // ref
  555. pdfDoc.rect(118, 171, 15, 15, 'S');
  556. //
  557. // ref
  558. pdfDoc.rect(141, 171, 15, 15, 'S');
  559. //
  560. // ref
  561. pdfDoc.rect(164, 171, 15, 15, 'S');
  562. //
  563. // ref
  564. pdfDoc.rect(12, 191, 15, 15, 'S');
  565. //
  566. // ref
  567. pdfDoc.rect(35, 191, 15, 15, 'S');
  568. //
  569. // ref
  570. pdfDoc.rect(58, 191, 15, 15, 'S');
  571. //
  572. // ref
  573. pdfDoc.rect(118, 191, 15, 15, 'S');
  574. //
  575. // ref
  576. pdfDoc.rect(141, 191, 15, 15, 'S');
  577. //
  578. // ref
  579. pdfDoc.rect(164, 191, 15, 15, 'S');
  580. var paragraph="Declaramos que los datos consignados en esta solicitud de MyS DECORART; son fiel reflejo de nuestra situación.";
  581. pdfDoc.text(paragraph,12,218,{maxWidth:188,align:'justify'});
  582. pdfDoc.setFontSize(9);
  583. pdfDoc.setFontStyle('normal');
  584. pdfDoc.setTextColor(40);
  585. pdfDoc.text(10,230,'Firma del Solicitante: _ _ _ _ _ _ _ _ _ _');
  586. pdfDoc.setFontSize(9);
  587. pdfDoc.setFontStyle('normal');
  588. pdfDoc.setTextColor(40);
  589. pdfDoc.text(10,240,'Aclaración de Firma y N° de C.I.N°: _ _ _ _ _ _ _ _ _ _');
  590. pdfDoc.setFontSize(9);
  591. pdfDoc.setFontStyle('normal');
  592. pdfDoc.setTextColor(40);
  593. pdfDoc.text(10,255,'Sello de la Empresa:');
  594. pdfDoc.save('pagare.pdf');
  595. },
  596. });
  597. if (instance.web && instance.web.FormView) {
  598. instance.web.FormView.include({
  599. load_form: function (record) {
  600. this._super.apply(this, arguments);
  601. if (this.model !== 'account.invoice') return;
  602. local.parentInstance = this;
  603. if (local.widgetInstance) {
  604. local.widgetInstance.updateId(record.id);
  605. }
  606. local.widgetInstance = new local.PagareDecorartWidget(this);
  607. var elemento = this.$el.find('.oe_form').find('.pagare_button_box');
  608. local.widgetInstance.appendTo(elemento);
  609. local.widgetInstance.updateId(record.id);
  610. }
  611. });
  612. }
  613. };