main (copia).js 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753
  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. pdfDoc.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'png', 10, 10, 50, 30);
  84. _.each(self.AccountInvoiceLine, function(item){
  85. docItem.push({
  86. name : item.name,
  87. quantity : item.quantity,
  88. price_unit : accounting.formatMoney(item.price_unit,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  89. price_subtotal : accounting.formatMoney(item.price_subtotal,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  90. });
  91. });
  92. getColumns.push({
  93. title : 'Descripción',
  94. halign: 'center',
  95. dataKey: 'name'
  96. });
  97. getColumns.push({
  98. title : 'Cantidad',
  99. halign: 'center',
  100. dataKey: 'quantity'
  101. });
  102. getColumns.push({
  103. title : 'Precio Unitario',
  104. halign: 'center',
  105. dataKey: 'price_unit'
  106. });
  107. getColumns.push({
  108. title : 'subtotal',
  109. halign: 'center',
  110. dataKey: 'price_subtotal'
  111. });
  112. pdfDoc.autoTable(getColumns, docItem, {
  113. theme: 'grid',
  114. styles: {
  115. overflow: 'linebreak',
  116. columnWidth: 'auto',
  117. fontSize: 7
  118. },
  119. headerStyles: {
  120. textColor: 20,
  121. fillColor: null,
  122. lineWidth: 0.1,
  123. fontSize: 9
  124. },
  125. columnStyles: {
  126. name : {columnWidth: 'auto'},
  127. quantity : {columnWidth: 25, halign:'right'},
  128. price_unit : {columnWidth: 25, halign:'right'},
  129. price_subtotal : {columnWidth: 25, halign:'right'},
  130. },
  131. margin: { top: 80, horizontal: 10},
  132. addPageContent: function (data) {
  133. // pdfDoc.setFontSize(11);
  134. // pdfDoc.setFontStyle('bold');
  135. // pdfDoc.setTextColor(20);
  136. // pdfDoc.text(40, 13,'Empresa: ');
  137. // pdfDoc.setFontSize(11);
  138. // pdfDoc.setFontStyle('normal');
  139. // pdfDoc.text(60, 13, 'M&S DECORART');
  140. pdfDoc.setFontSize(11);
  141. pdfDoc.setFontStyle('bold');
  142. pdfDoc.setTextColor(20);
  143. pdfDoc.text(120, 13,'Número de Operación: ');
  144. pdfDoc.setFontSize(11);
  145. pdfDoc.setFontStyle('normal');
  146. pdfDoc.text(165, 13, AccountInvoice[0].origin);
  147. pdfDoc.setFontSize(11);
  148. pdfDoc.setFontStyle('bold');
  149. pdfDoc.setTextColor(20);
  150. pdfDoc.text(120, 18,'Número de Documento: ');
  151. pdfDoc.setFontSize(11);
  152. pdfDoc.setFontStyle('normal');
  153. pdfDoc.text(165, 18, AccountInvoice[0].number);
  154. pdfDoc.setFontSize(11);
  155. pdfDoc.setFontStyle('bold');
  156. pdfDoc.setTextColor(20);
  157. pdfDoc.text(120, 23,'Responsable: ');
  158. pdfDoc.setFontSize(11);
  159. pdfDoc.setFontStyle('normal');
  160. pdfDoc.text(147, 23, AccountInvoice[0].user_name);
  161. // Cuadro principal
  162. //pdfDoc.rect(10, 30, pdfDoc.internal.pageSize.getWidth() - 20 , 40, 'S');
  163. pdfDoc.rect(10, 40, pdfDoc.internal.pageSize.getWidth() - 20 , 40, 'S');
  164. // Cuadro fecha de emision
  165. pdfDoc.rect(10, 40, 80, 7, 'S');
  166. pdfDoc.setFontSize(8);
  167. pdfDoc.setFontStyle('normal');
  168. pdfDoc.setTextColor(20);
  169. pdfDoc.text(12, 44,'Fecha de emisión: ');
  170. pdfDoc.text(45, 44, moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  171. // RUC / Documento de identidad No.
  172. pdfDoc.rect(10, 47, pdfDoc.internal.pageSize.getWidth() - 20, 7, 'S');
  173. pdfDoc.text(12, 52,'RUC / Documento de Identidad No.: ' + AccountInvoice[0].partner_id[0].ruc);
  174. // Nombre o Razon Social
  175. pdfDoc.rect(10, 54, pdfDoc.internal.pageSize.getWidth() - 20, 7, 'S');
  176. pdfDoc.text(12, 59,'Nombre o Razón Social: ' + AccountInvoice[0].partner_id[0].name);
  177. // Telefono
  178. pdfDoc.rect(10, 61, 95, 7, 'S');
  179. pdfDoc.text(12, 65,'Teléfono: ' + self.valorNull(AccountInvoice[0].partner_id[0].phone));
  180. //
  181. // Direccion
  182. pdfDoc.rect(105, 61, 95, 7, 'S');
  183. pdfDoc.text(107, 65,'Direccion: ' + self.valorNull(AccountInvoice[0].partner_id[0].address));
  184. }
  185. });
  186. _.each(self.AccountInvoiceQuota, function(item){
  187. docQuotaItem.push({
  188. date : moment(item.date).format('DD/MM/YYYY'),
  189. name : item.name,
  190. amount : accounting.formatMoney(item.amount,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  191. });
  192. });
  193. getColumnsQuota.push({
  194. title : 'Fecha',
  195. halign: 'center',
  196. dataKey: 'date'
  197. });
  198. getColumnsQuota.push({
  199. title : 'Descripción',
  200. halign: 'center',
  201. dataKey: 'name'
  202. });
  203. getColumnsQuota.push({
  204. title : 'Valor de la Cuota',
  205. halign: 'center',
  206. dataKey: 'amount'
  207. });
  208. var finalY = pdfDoc.autoTable.previous.finalY;
  209. pdfDoc.autoTable(getColumnsQuota, docQuotaItem, {
  210. theme: 'grid',
  211. startY: finalY + 20,
  212. styles: {
  213. overflow: 'linebreak',
  214. columnWidth: 'auto',
  215. fontSize: 7,
  216. },
  217. headerStyles: {
  218. textColor: 20,
  219. fillColor: null,
  220. lineWidth: 0.1,
  221. fontSize: 9
  222. },
  223. columnStyles: {
  224. date : {columnWidth: 'auto', halign: 'center'},
  225. name : {columnWidth: 'auto', halign: 'center'},
  226. amount : {columnWidth: 'auto', halign: 'right'}
  227. },
  228. margin: {horizontal: 10},
  229. addPageContent: function (data) {
  230. pdfDoc.setFontSize(10);
  231. pdfDoc.setFontStyle('bold');
  232. pdfDoc.setTextColor(40);
  233. pdfDoc.text(85,finalY + 15,'Información de Cuotas ');
  234. pdfDoc.setFontSize(10);
  235. pdfDoc.setFontStyle('bold');
  236. pdfDoc.setTextColor(40);
  237. pdfDoc.text(10,finalY + 5,'Total: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  238. }
  239. });
  240. pdfDoc.addPage();
  241. pdfDoc.setTextColor(40);
  242. i=0
  243. _.each(self.AccountInvoiceQuota, function(item){
  244. pdfDoc.setFontSize(14);
  245. pdfDoc.setFontStyle('bold');
  246. pdfDoc.text(80,15+i,'MyS DECORART');
  247. pdfDoc.setFontSize(12);
  248. pdfDoc.setFontStyle('bold');
  249. pdfDoc.rect(10, 18+i, 95, 0, 'S');
  250. pdfDoc.text(12,23+i,'Número de Operación:' + AccountInvoice[0].origin);
  251. pdfDoc.setFontSize(12);
  252. pdfDoc.setFontStyle('bold');
  253. pdfDoc.rect(105, 18+i, 95, 0, 'S');
  254. pdfDoc.text(110,23+i,'Fecha de Operación: ' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  255. pdfDoc.setFontSize(12);
  256. pdfDoc.setFontStyle('bold');
  257. pdfDoc.text(12,28+i,'C.I. N°: ' + self.valorNull(AccountInvoice[0].partner_id[0].ruc));
  258. pdfDoc.setFontSize(12);
  259. pdfDoc.setFontStyle('bold');
  260. pdfDoc.text(110,28+i,'Vendedor: ' + self.valorNull(AccountInvoice[0].user_name));
  261. pdfDoc.setFontSize(12);
  262. pdfDoc.setFontStyle('bold');
  263. pdfDoc.text(12,33+i,'Cliente: ' + self.valorNull(AccountInvoice[0].partner_id[0].name));
  264. pdfDoc.rect(10, 35+i, 95, 0, 'S');
  265. pdfDoc.setFontSize(12);
  266. pdfDoc.setFontStyle('bold');
  267. pdfDoc.text(12,43+i,'Cuota N°:' + item.name);
  268. pdfDoc.rect(105, 35+i, 95, 0, 'S');
  269. pdfDoc.setFontSize(12);
  270. pdfDoc.setFontStyle('bold');
  271. pdfDoc.text(110,43+i,'Vence: ' + moment(item.date).format('DD/MM/YYYY'));
  272. pdfDoc.setFontSize(12);
  273. pdfDoc.setFontStyle('bold');
  274. pdfDoc.text(12,49+i,'Monto Cuota:' + item.amount);
  275. pdfDoc.setFontSize(12);
  276. pdfDoc.setFontStyle('bold');
  277. pdfDoc.text(110,56+i,'Firma: _ _ _ _ _ _ _ _ _');
  278. i=i+55
  279. if (i>220) {
  280. pdfDoc.addPage();
  281. i=0
  282. }
  283. });
  284. pdfDoc.addPage();
  285. pdfDoc.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'png', 10, 10, 50, 30);
  286. pdfDoc.setFontSize(16);
  287. pdfDoc.setFontStyle('bold');
  288. pdfDoc.setTextColor(40);
  289. pdfDoc.text(80,25,'PAGARE A LA ORDEN');
  290. pdfDoc.setFontSize(10);
  291. pdfDoc.setFontStyle('normal');
  292. pdfDoc.setTextColor(40);
  293. pdfDoc.rect(10, 45, 95, 7, 'S');
  294. pdfDoc.text(12,50,'Número de Operación: ' + AccountInvoice[0].origin);
  295. pdfDoc.rect(105, 45, 95, 7, 'S');
  296. pdfDoc.text(110,50,'Fecha de Operación: ' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  297. pdfDoc.rect(10, 55, 95, 7, 'S');
  298. pdfDoc.setFontSize(10);
  299. pdfDoc.setFontStyle('normal');
  300. pdfDoc.text(12,60,'Monto a pagar: ' + accounting.formatMoney(AccountInvoice[0].amount_total,CurrencyBase.symbol,CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator));
  301. pdfDoc.rect(105, 55, 95, 7, 'S');
  302. pdfDoc.setFontSize(10);
  303. pdfDoc.setFontStyle('normal');
  304. _.each(self.AccountInvoiceQuota, function(item){
  305. varfecha=item.date;
  306. });
  307. pdfDoc.text(110,60,'Vencimiento: ' + moment(varfecha).format('DD/MM/YYYY'));
  308. var total_in_letters = instance.web.num2word(AccountInvoice[0].amount_total);
  309. pdfDoc.rect(10, 65, pdfDoc.internal.pageSize.getWidth() - 15 , 16,'S');
  310. pdfDoc.setFontSize(11);
  311. pdfDoc.setFontStyle('normal');
  312. pdfDoc.text(12,70,'Pagaré a la orden de M&S Decorart del grupo Líder Constructora.');
  313. pdfDoc.setFontSize(10.5);
  314. pdfDoc.setFontStyle('normal');
  315. pdfDoc.text(12,75,'La suma de Guaraníes: ' );
  316. pdfDoc.setFontSize(10.5);
  317. pdfDoc.setFontStyle('bold');
  318. pdfDoc.text(12,79, total_in_letters);
  319. pdfDoc.rect(10, 81, pdfDoc.internal.pageSize.getWidth() - 15 , 60,'S');
  320. pdfDoc.setFontSize(11);
  321. pdfDoc.setFontStyle('normal');
  322. 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.";
  323. pdfDoc.text(paragraph,12,87,{maxWidth:188,align:'justify'});
  324. pdfDoc.setFontSize(10);
  325. pdfDoc.setFontStyle('bold');
  326. pdfDoc.setTextColor(40);
  327. pdfDoc.text(10,165,'DEUDOR');
  328. pdfDoc.text(110,165,'CO-DEUDOR');
  329. pdfDoc.setFontSize(9);
  330. pdfDoc.setFontStyle('normal');
  331. pdfDoc.setTextColor(40);
  332. pdfDoc.text(10,175,'Nombre y Apellido: ' + AccountInvoice[0].partner_id[0].name);
  333. pdfDoc.text(110,175,'Nombre y Apellido:');
  334. pdfDoc.text(10,180,'RUC / DNI: ' + self.valorNull(AccountInvoice[0].partner_id[0].ruc));
  335. pdfDoc.text(110,180,'RUC / DNI:');
  336. pdfDoc.text(10,185,'Domicilio: ' + self.valorNull(AccountInvoice[0].partner_id[0].address));
  337. pdfDoc.text(110,185,'Domicilio:');
  338. pdfDoc.text(10,195,'Telefono: ' + self.valorNull(AccountInvoice[0].partner_id[0].phone));
  339. pdfDoc.text(110,195,'Telefono:');
  340. pdfDoc.text(10,200,'Celular: ' + self.valorNull(AccountInvoice[0].partner_id[0].mobile));
  341. pdfDoc.text(110,200,'Celular:');
  342. pdfDoc.text(10,210,'Firma: ');
  343. pdfDoc.text(110,210,'Firma:');
  344. pdfDoc.addPage();
  345. pdfDoc.addImage("data:image/png;base64," + AccountInvoice[0].company_id[0].logo, 'png', 10, 10, 50, 30);
  346. pdfDoc.setFontSize(11);
  347. pdfDoc.setFontStyle('bold');
  348. pdfDoc.setTextColor(20);
  349. pdfDoc.text(80, 25,'SOLICITUD DE LINEA DE CREDITO');
  350. pdfDoc.text(91, 30,'Empresa: MyS Decorart');
  351. pdfDoc.setFontSize(10);
  352. pdfDoc.setFontStyle('normal');
  353. pdfDoc.setTextColor(40);
  354. pdfDoc.rect(10, 45, 95, 7, 'S');
  355. pdfDoc.text(12,50,'SUCURSAL: ' );
  356. pdfDoc.rect(105, 45, 95, 7, 'S');
  357. pdfDoc.text(110,50,'Fecha de Operación: ' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  358. pdfDoc.rect(10, 55, 95, 7, 'S');
  359. pdfDoc.setFontSize(10);
  360. pdfDoc.setFontStyle('normal');
  361. pdfDoc.text(12,60,'Vendedor: ' + AccountInvoice[0].user_name);
  362. pdfDoc.setFontSize(10);
  363. pdfDoc.setFontStyle('bold');
  364. pdfDoc.setTextColor(40);
  365. pdfDoc.text(10, 72,'Datos del Cliente o Empresa');
  366. // Cuadro principal
  367. pdfDoc.rect(10, 80, pdfDoc.internal.pageSize.getWidth() - 20 , 35, 'S');
  368. // Cuadro fecha de emision
  369. pdfDoc.rect(10, 80, 95, 7, 'S');
  370. pdfDoc.setFontSize(8);
  371. pdfDoc.setFontStyle('normal');
  372. pdfDoc.setTextColor(20);
  373. pdfDoc.text(12, 84,'Fecha de emisión: ');
  374. pdfDoc.text(45, 84, moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  375. // RUC / Documento de identidad No.
  376. pdfDoc.rect(105, 80, 95, 7, 'S');
  377. pdfDoc.text(125, 84,'RUC / Doc. de Identidad No.: ' + AccountInvoice[0].partner_id[0].ruc);
  378. // Nombre o Razon Social
  379. pdfDoc.rect(10, 87, 95, 7, 'S');
  380. pdfDoc.text(12, 92,'Nombre o Razón Social: ' + AccountInvoice[0].partner_id[0].name);
  381. // Telefono
  382. pdfDoc.rect(105, 87, 95, 7, 'S');
  383. pdfDoc.text(125, 92,'Teléfono: ' + self.valorNull(AccountInvoice[0].partner_id[0].phone));
  384. // Direccion
  385. pdfDoc.rect(10, 94, 95, 7, 'S');
  386. pdfDoc.text(12, 98,'Direccion: ' + self.valorNull(AccountInvoice[0].partner_id[0].address));
  387. // celular
  388. pdfDoc.rect(105, 94, 95, 7, 'S');
  389. pdfDoc.text(125, 98,'Celular: ' + self.valorNull(AccountInvoice[0].partner_id[0].mobile));
  390. // Direccion
  391. pdfDoc.rect(10, 101, 95, 7, 'S');
  392. pdfDoc.text(12, 105,'Barrio: ' + self.valorNull(AccountInvoice[0].partner_id[0].barrio));
  393. // celular
  394. pdfDoc.rect(105, 101, 95, 7, 'S');
  395. pdfDoc.text(125, 105,'Ciudad: ' + self.valorNull(AccountInvoice[0].partner_id[0].city));
  396. // Direccion
  397. pdfDoc.rect(10, 108, 95, 7, 'S');
  398. pdfDoc.text(12, 112,'Estado Civil: ' + self.valorNull(AccountInvoice[0].partner_id[0].estado_civil));
  399. // celular
  400. pdfDoc.rect(105, 108, 95, 7, 'S');
  401. pdfDoc.text(125, 112,'Email: ' + self.valorNull(AccountInvoice[0].partner_id[0].email));
  402. var tipo;
  403. if(AccountInvoice[0].partner_id[0].casa_propia == true){
  404. tipo = "Vivienda Propia";
  405. }else{
  406. tipo = "Vivienda Alquilada";
  407. }
  408. // TIPO DE VIVIENDA
  409. pdfDoc.rect(10, 115, 95, 7, 'S');
  410. pdfDoc.text(12, 119,'Tipo de Vivienda: ' + self.valorNull(tipo));
  411. // celular
  412. pdfDoc.rect(105, 115, 95, 7, 'S');
  413. // pdfDoc.text(125, 100,'Vivienda Alquilada: ' + self.valorNull(AccountInvoice[0].partner_id[0].casa_alquiler));
  414. // Direccion
  415. pdfDoc.rect(10, 122, 95, 7, 'S');
  416. pdfDoc.text(12, 126,'Empresa o Lugar de Trabajo: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_empresa));
  417. // celular
  418. pdfDoc.rect(105, 122, 95, 7, 'S');
  419. pdfDoc.text(125, 126,'Teléfono: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_telefono));
  420. // Direccion
  421. pdfDoc.rect(10, 129, 95, 7, 'S');
  422. pdfDoc.text(12, 133,'Dirección: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_street));
  423. // celular
  424. pdfDoc.rect(105, 129, 95, 7, 'S');
  425. pdfDoc.text(125, 133,'Ciudad: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_city));
  426. // Direccion
  427. pdfDoc.rect(10, 136, 95, 7, 'S');
  428. pdfDoc.text(12, 140,'Cargo: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_cargo));
  429. // celular
  430. pdfDoc.rect(105, 136, 95, 7, 'S');
  431. pdfDoc.text(125, 140,'Antiguedad: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_antiguedad_a) + ',' + self.valorNull(AccountInvoice[0].partner_id[0].trab_antiguedad_m));
  432. // salario
  433. pdfDoc.rect(10, 143, 95, 7, 'S');
  434. pdfDoc.text(12, 147,'Salario: ' + self.valorNull(AccountInvoice[0].partner_id[0].trab_salario));
  435. // ref
  436. // pdfDoc.rect(105, 133, 95, 7, 'S');
  437. // pdfDoc.text(125, 137,'Vivienda Alquilada: ' + self.valorNull(AccountInvoice[0].partner_id[0].casa_alquiler));
  438. pdfDoc.setFontSize(8);
  439. pdfDoc.setFontStyle('normal');
  440. pdfDoc.text(12,160,'Referencias Comerciales:');
  441. i=0;
  442. _.each(AccountInvoice[0].partner_id[0].ref_comercial_ids,function(item){
  443. pdfDoc.setFontSize(8);
  444. pdfDoc.setFontStyle('normal');
  445. pdfDoc.text(12+i,165, '' + item.name);
  446. pdfDoc.text(55+i,165, '' + item.phone);
  447. i=95;
  448. });
  449. pdfDoc.setFontSize(8);
  450. pdfDoc.setFontStyle('normal');
  451. pdfDoc.text(12,190,'Referencias Personales:');
  452. i=0;
  453. _.each(AccountInvoice[0].partner_id[0].ref_personal_ids,function(item){
  454. pdfDoc.setFontSize(8);
  455. pdfDoc.setFontStyle('normal');
  456. pdfDoc.text(12+i,195, '- ' + item.email);
  457. pdfDoc.text(30+i,195, '' + item.name);
  458. pdfDoc.text(65+i,195, '' + item.phone);
  459. i=95;
  460. });
  461. pdfDoc.addPage();
  462. var monto_cuota;
  463. var tot_cuota;
  464. _.each(self.AccountInvoiceQuota, function(item){
  465. monto_cuota=item.amount;
  466. tot_cuota=item.tot_cuota;
  467. });
  468. pdfDoc.setFontSize(10);
  469. pdfDoc.setFontStyle('bold');
  470. 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));
  471. pdfDoc.setFontSize(10);
  472. pdfDoc.setFontStyle('bold');
  473. 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);
  474. pdfDoc.setFontSize(10);
  475. pdfDoc.setFontStyle('bold');
  476. pdfDoc.text(12,25,'Tipos de garantías: ' + self.valorNull(AccountInvoice[0].comment));
  477. var self = this;
  478. var AccountInvoice = self.AccountInvoice;
  479. var CurrencyBase = self.AccountInvoice[0].currency_id[0];
  480. var docItem = [];
  481. var docQuotaItem = [];
  482. var getColumns = [];
  483. var getColumnsQuota = [];
  484. _.each(self.AccountInvoiceLine, function(item){
  485. docItem.push({
  486. name : item.name,
  487. quantity : item.quantity,
  488. price_unit : accounting.formatMoney(item.price_unit,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  489. price_subtotal : accounting.formatMoney(item.price_subtotal,'',CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
  490. });
  491. });
  492. getColumns.push({
  493. title : 'Descripción',
  494. dataKey: 'name'
  495. });
  496. getColumns.push({
  497. title : 'Cantidad',
  498. dataKey: 'quantity'
  499. });
  500. getColumns.push({
  501. title : 'Precio Unitario',
  502. dataKey: 'price_unit'
  503. });
  504. getColumns.push({
  505. title : 'subtotal',
  506. dataKey: 'price_subtotal'
  507. });
  508. pdfDoc.autoTable(getColumns, docItem, {
  509. theme: 'grid',
  510. styles: {
  511. overflow: 'linebreak',
  512. columnWidth: 'auto',
  513. fontSize: 7
  514. },
  515. headerStyles: {
  516. textColor: 20,
  517. fillColor: null,
  518. lineWidth: 0.1,
  519. fontSize: 9
  520. },
  521. columnStyles: {
  522. name : {columnWidth: 'auto'},
  523. quantity : {columnWidth: 30, halign:'right'},
  524. price_unit : {columnWidth: 30, halign:'right'},
  525. price_subtotal : {columnWidth: 30, halign:'right'},
  526. },
  527. margin: { top: 28, horizontal: 10},
  528. });
  529. pdfDoc.setFontSize(10);
  530. pdfDoc.setFontStyle('normal');
  531. 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.";
  532. pdfDoc.text(paragraph,12,70,{maxWidth:188,align:'justify'});
  533. 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. 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.";
  534. pdfDoc.text(paragraph,12,85,{maxWidth:188,align:'justify'});
  535. pdfDoc.setFontSize(10);
  536. pdfDoc.setFontStyle('bold');
  537. pdfDoc.text(12,176,'PLANO DE UBICACIÓN DEL NEGOCIO/DOMICILIO:');
  538. // ref
  539. pdfDoc.rect(12, 180, 15, 15, 'S');
  540. // ref
  541. pdfDoc.rect(35, 180, 15, 15, 'S');
  542. // ref
  543. pdfDoc.rect(58, 180, 15, 15, 'S');
  544. // ref
  545. pdfDoc.rect(118, 180, 15, 15, 'S');
  546. // ref
  547. pdfDoc.rect(141, 180, 15, 15, 'S');
  548. // ref
  549. pdfDoc.rect(164, 180, 15, 15, 'S');
  550. // ref
  551. pdfDoc.rect(12, 200, 15, 15, 'S');
  552. //
  553. // // ref
  554. pdfDoc.rect(35, 200, 15, 15, 'S');
  555. //
  556. // // ref
  557. pdfDoc.rect(58, 200, 15, 15, 'S');
  558. //
  559. //
  560. // ref
  561. pdfDoc.rect(118, 200, 15, 15, 'S');
  562. //
  563. // ref
  564. pdfDoc.rect(141, 200, 15, 15, 'S');
  565. //
  566. // ref
  567. pdfDoc.rect(164, 200, 15, 15, 'S');
  568. //
  569. // ref
  570. pdfDoc.rect(12, 220, 15, 15, 'S');
  571. // ref
  572. pdfDoc.rect(35, 220, 15, 15, 'S');
  573. //
  574. // ref
  575. pdfDoc.rect(58, 220, 15, 15, 'S');
  576. // ref
  577. pdfDoc.rect(118, 220, 15, 15, 'S');
  578. //
  579. // ref
  580. pdfDoc.rect(141, 220, 15, 15, 'S');
  581. //
  582. // ref
  583. pdfDoc.rect(164, 220, 15, 15, 'S');
  584. var paragraph="Declaramos que los datos consignados en esta solicitud de MyS DECORART; son fiel reflejo de nuestra situación.";
  585. pdfDoc.text(paragraph,12,243,{maxWidth:188,align:'justify'});
  586. pdfDoc.setFontSize(9);
  587. pdfDoc.setFontStyle('normal');
  588. pdfDoc.setTextColor(40);
  589. pdfDoc.text(10,257,'Firma del Solicitante: _ _ _ _ _ _ _ _ _ _ _');
  590. pdfDoc.setFontSize(9);
  591. pdfDoc.setFontStyle('normal');
  592. pdfDoc.setTextColor(40);
  593. pdfDoc.text(10,262,'Aclaración de Firma y N° de C.I.N°: _ _ _ _ _ _ _ _ _ _');
  594. pdfDoc.setFontSize(9);
  595. pdfDoc.setFontStyle('normal');
  596. pdfDoc.setTextColor(40);
  597. pdfDoc.text(10,267,'Sello de la Empresa:');
  598. pdfDoc.addPage();
  599. pdfDoc.setFontSize(10);
  600. pdfDoc.setFontStyle('normal');
  601. pdfDoc.text(150,20,'Ciudad del Este,' + moment(AccountInvoice[0].date_invoice).format('DD/MM/YYYY'));
  602. pdfDoc.text(12,25,'SEÑORES: ');
  603. pdfDoc.text(12,30,'EL SEÑOR DE LOS ANILLOS');
  604. pdfDoc.text(12,35,'PRESENTE');
  605. pdfDoc.text(12,45,'De mi consideración:');
  606. var paragraph="Me dirijo a esas empresas a fin de comunicarles,para lo que hubiere lugar,que, los trazos de mi firma difieren bastante entre una y otra, como asímismode aquella puesta en mi cédula de identidad policial, a pesar del intento de realizarla en forma uniforme y similar. Adjunto fotocopia de mi cédula de identidad policial (documento de identidad).";
  607. pdfDoc.text(paragraph,12,50,{maxWidth:188,align:'justify'});
  608. var paragraph="Por esta razón, declaro que, los contratos, documentos obligacionales, títulos de créditos, cheques y/o cualquier otro instrumento privado, o de naturaleza que fuere, que haya sido suscripto por mí, o, que suscribiera en el futuro, si bien las firmas obrantes en los mismos pueden diferir por lo señalado más arriba, los mismos serán plenamente válidos entre las partes, en los términos y condiciones establecidos en los Art. 399 y concordantes del Código Civil Paraguayo. En tal sentido, me obligo en forma irrevocable ante esas empresas a declarar ante el Poder jurisdiccional si las firmas que se me atribuyen son o no de mi puño y letra, de conformidad a lo dispuesto por el Art. 404 del Código Civil, sean éstas firmas completas, signos o iniciales, y, en caso de duda, si fuere necesario realizar una pericia caligráfica, me obligo a realizar voluntariamente varias firmas a los efectos de que se proceda a su cotejo. Para el fecto, suscribo al pie de la presente cuatro ejemplares de mi firma en calidad de registro de firma para todas las operaciones y documentos que suscribiere con ustedes.";
  609. pdfDoc.text(paragraph,12,64,{maxWidth:188,align:'justify'});
  610. pdfDoc.setFontSize(10);
  611. pdfDoc.setFontStyle('normal');
  612. pdfDoc.text(69,105,'REGISTRO DE FIRMAS');
  613. pdfDoc.text(12,112,'Cliente con variación de firma: ' + AccountInvoice[0].partner_id[0].name + ' C.I.N°: ' + AccountInvoice[0].partner_id[0].ruc);
  614. pdfDoc.setTextColor(40);
  615. pdfDoc.rect(10, 114, 95, 10, 'S');
  616. pdfDoc.rect(105, 114, 95, 10, 'S');
  617. pdfDoc.rect(10, 124, 95, 10, 'S');
  618. pdfDoc.rect(105, 124, 95, 10, 'S');
  619. var paragraph="Finalmente, declaro que en esta misma fecha, celebré con la empresa EL SEÑOR DE LOS ANILLOS, el contrato de compra-venta a crédito de ";
  620. pdfDoc.text(paragraph,12,140,{maxWidth:188,align:'justify'});
  621. pdfDoc.setFontSize(10);
  622. pdfDoc.setFontStyle('normal');
  623. pdfDoc.text(12,190,'Atentamente.');
  624. pdfDoc.setFontSize(9);
  625. pdfDoc.setFontStyle('normal');
  626. pdfDoc.setTextColor(40);
  627. pdfDoc.text(12,197,'Nombre y Apellido: .....................................................................' );
  628. pdfDoc.text(120,197,'RUC / DNI: ......................');
  629. pdfDoc.save('pagare.pdf');
  630. },
  631. });
  632. if (instance.web && instance.web.FormView) {
  633. instance.web.FormView.include({
  634. load_form: function (record) {
  635. this._super.apply(this, arguments);
  636. if (this.model !== 'account.invoice') return;
  637. local.parentInstance = this;
  638. if (local.widgetInstance) {
  639. local.widgetInstance.updateId(record.id);
  640. }
  641. local.widgetInstance = new local.PagareDecorartWidget(this);
  642. var elemento = this.$el.find('.oe_form').find('.pagare_button_box');
  643. local.widgetInstance.appendTo(elemento);
  644. local.widgetInstance.updateId(record.id);
  645. }
  646. });
  647. }
  648. };