PageRenderTime 35ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/js/books.js

https://bitbucket.org/meerdevelopersoffice/bolivia
JavaScript | 449 lines | 389 code | 53 blank | 7 comment | 34 complexity | 621f5bcfb7e26c02ab8cbb45d4948952 MD5 | raw file
Possible License(s): Apache-2.0, GPL-3.0, LGPL-3.0
  1. function cargar()
  2. {
  3. var datos0 = [];
  4. var datos1 = [];
  5. var datos2 = [];
  6. var datos3 = [];
  7. var datos4 = [];
  8. var datos5 = [];
  9. var datos6 = [];
  10. var datos7 = [];
  11. var datos8 = [];
  12. var datos9 = [];
  13. var datos10 = [];
  14. var datos11 = [];
  15. var datos12 = [];
  16. seguir = true;
  17. var filas = $("#tablaArticulos").children();
  18. for (j = 1; j <= indice; j++) {
  19. var filaHijos = filas.children().eq(j);
  20. if (filaHijos.css("display") == "none")
  21. {
  22. var seguir = false;
  23. }
  24. if (seguir)
  25. {
  26. var dato0 = filaHijos.children().eq(0).children().eq(0).val();
  27. datos0.push(dato0);
  28. var dato1 = filaHijos.children().eq(1).children().eq(0).val();
  29. datos1.push(dato1);
  30. var dato2 = filaHijos.children().eq(2).children().eq(0).val();
  31. datos2.push(dato2);
  32. var dato3 = filaHijos.children().eq(3).children().eq(0).val();
  33. datos3.push(dato3);
  34. var dato4 = filaHijos.children().eq(4).children().eq(0).val();
  35. datos4.push(dato4);
  36. var dato5 = filaHijos.children().eq(5).children().eq(0).val();
  37. datos5.push(dato5);
  38. var dato6 = filaHijos.children().eq(6).children().eq(0).val();
  39. datos6.push(dato6);
  40. var dato7 = filaHijos.children().eq(7).children().eq(0).val();
  41. datos7.push(dato7);
  42. var dato8 = filaHijos.children().eq(8).children().eq(0).val();
  43. datos8.push(dato8);
  44. var dato9 = filaHijos.children().eq(9).children().eq(0).val();
  45. datos9.push(dato9);
  46. var dato10 = filaHijos.children().eq(10).children().eq(0).val();
  47. datos10.push(dato10);
  48. var dato11 = filaHijos.children().eq(11).children().eq(0).val();
  49. datos11.push(dato11);
  50. var dato12 = filaHijos.children().eq(12).children().eq(0).val();
  51. datos12.push(dato12);
  52. }
  53. }
  54. $.post( "books_post.php",{
  55. action: 'txt',
  56. datos0: datos0,
  57. datos1: datos1,
  58. datos2: datos2,
  59. datos3: datos3,
  60. datos4: datos4,
  61. datos5: datos5,
  62. datos6: datos6,
  63. datos7: datos7,
  64. datos8: datos8,
  65. datos9: datos9,
  66. datos10: datos10,
  67. datos11: datos11,
  68. datos12: datos12,
  69. },
  70. function(data) {
  71. //alert(data);
  72. window.open("Libro_de_compras.txt");
  73. //location.href = "Factura de compra.txt";
  74. }
  75. );
  76. }
  77. function cargarPDF()
  78. {
  79. var datos0 = [];
  80. var datos1 = [];
  81. var datos2 = [];
  82. var datos3 = [];
  83. var datos4 = [];
  84. var datos5 = [];
  85. var datos6 = [];
  86. var datos7 = [];
  87. var datos8 = [];
  88. var datos9 = [];
  89. var datos10 = [];
  90. var datos11 = [];
  91. var datos12 = [];
  92. var filas = $("#tablaArticulos").children();
  93. for (j = 1; j <= indice; j++) {
  94. var filaHijos = filas.children().eq(j);
  95. var dato0 = filaHijos.children().eq(0).children().eq(0).val();
  96. datos0.push(dato0);
  97. var dato1 = filaHijos.children().eq(1).children().eq(0).val();
  98. datos1.push(dato1);
  99. var dato2 = filaHijos.children().eq(2).children().eq(0).val();
  100. datos2.push(dato2);
  101. var dato3 = filaHijos.children().eq(3).children().eq(0).val();
  102. datos3.push(dato3);
  103. var dato4 = filaHijos.children().eq(4).children().eq(0).val();
  104. datos4.push(dato4);
  105. var dato5 = filaHijos.children().eq(5).children().eq(0).val();
  106. datos5.push(dato5);
  107. var dato6 = filaHijos.children().eq(6).children().eq(0).val();
  108. datos6.push(dato6);
  109. var dato7 = filaHijos.children().eq(7).children().eq(0).val();
  110. datos7.push(dato7);
  111. var dato8 = filaHijos.children().eq(8).children().eq(0).val();
  112. datos8.push(dato8);
  113. var dato9 = filaHijos.children().eq(9).children().eq(0).val();
  114. datos9.push(dato9);
  115. var dato10 = filaHijos.children().eq(10).children().eq(0).val();
  116. datos10.push(dato10);
  117. var dato11 = filaHijos.children().eq(11).children().eq(0).val();
  118. datos11.push(dato11);
  119. var dato12 = filaHijos.children().eq(12).children().eq(0).val();
  120. datos12.push(dato12);
  121. }
  122. $.post( "books_post.php",{
  123. action: 'pdf',
  124. datos0: datos0,
  125. datos1: datos1,
  126. datos2: datos2,
  127. datos3: datos3,
  128. datos4: datos4,
  129. datos5: datos5,
  130. datos6: datos6,
  131. datos7: datos7,
  132. datos8: datos8,
  133. datos9: datos9,
  134. datos10: datos10,
  135. datos11: datos11,
  136. datos12: datos12,
  137. },
  138. function(data) {
  139. //alert(data);
  140. window.open("Libro_de_compras.pdf");
  141. }
  142. );
  143. }
  144. function agregar()
  145. {
  146. indice++;
  147. // fila.appendTo("#tablaArticulos");
  148. $('#tablaArticulos').dataTable().fnDestroy();
  149. var id = "fila"+indice;
  150. var fila = $("#fila").clone().attr("id", id).appendTo("#tablaArticulos").show();
  151. var tabla = $("#tablaArticulos");
  152. var ultima = $('tr:last', tabla);
  153. ultima.children().last().children().eq(0).bind("click", contabilizar);
  154. //$(".subtotal").focusout(subtotal);
  155. $(".importeBase").focusout(importeBase);
  156. $(".memo").focusout(memorandum);
  157. $('#tablaArticulos').dataTable( {
  158. "columns": [
  159. { "orderDataType": "dom-text-numeric" },
  160. { "orderDataType": "dom-text-numeric" },
  161. { "orderDataType": "dom-text", type: 'string' },
  162. { "orderDataType": "dom-text-numeric" },
  163. { "orderDataType": "dom-text-numeric" },
  164. { "orderDataType": "dom-text-numeric" },
  165. { "orderDataType": "dom-text", type: 'string' },
  166. { "orderDataType": "dom-text-numeric" },
  167. { "orderDataType": "dom-text-numeric" },
  168. { "orderDataType": "dom-text-numeric" },
  169. { "orderDataType": "dom-text-numeric" },
  170. { "orderDataType": "dom-text-numeric" },
  171. { "orderDataType": "dom-text", type: 'string' },
  172. { "orderDataType": "dom-text", type: 'string' },
  173. { "orderDataType": "dom-text", type: 'string' },
  174. { "orderDataType": "dom-text", type: 'string' },
  175. { "orderDataType": "dom-text", type: 'string' },
  176. { "orderDataType": "dom-text", type: 'string' },
  177. { "orderDataType": "dom-text", type: 'string' },
  178. { "orderDataType": "dom-text", type: 'string' },
  179. { "orderDataType": "dom-text", type: 'string' },
  180. { "orderDataType": "dom-text", type: 'string' },
  181. { "orderDataType": "dom-text", type: 'string' },
  182. { "orderDataType": "dom-text", type: 'string' },
  183. ],
  184. bFilter: false, bPaginate: false
  185. } );
  186. $("#tablaArticulos_info").remove();
  187. //$(".cont").bind("click", contabilizar);
  188. }
  189. function quitar()
  190. {
  191. if (indice > 1)
  192. {
  193. indice--;
  194. $('#tablaArticulos').dataTable().fnDestroy();
  195. var tabla = $("#tablaArticulos");
  196. var fila = $('tr:last', tabla);
  197. fila.remove();
  198. $('#tablaArticulos').dataTable( {
  199. "columns": [
  200. { "orderDataType": "dom-text-numeric" },
  201. { "orderDataType": "dom-text-numeric" },
  202. { "orderDataType": "dom-text", type: 'string' },
  203. { "orderDataType": "dom-text-numeric" },
  204. { "orderDataType": "dom-text-numeric" },
  205. { "orderDataType": "dom-text-numeric" },
  206. { "orderDataType": "dom-text", type: 'string' },
  207. { "orderDataType": "dom-text-numeric" },
  208. { "orderDataType": "dom-text-numeric" },
  209. { "orderDataType": "dom-text-numeric" },
  210. { "orderDataType": "dom-text-numeric" },
  211. { "orderDataType": "dom-text-numeric" },
  212. { "orderDataType": "dom-text", type: 'string' },
  213. { "orderDataType": "dom-text", type: 'string' },
  214. { "orderDataType": "dom-text", type: 'string' },
  215. { "orderDataType": "dom-text", type: 'string' },
  216. { "orderDataType": "dom-text", type: 'string' },
  217. { "orderDataType": "dom-text", type: 'string' },
  218. { "orderDataType": "dom-text", type: 'string' },
  219. { "orderDataType": "dom-text", type: 'string' },
  220. { "orderDataType": "dom-text", type: 'string' },
  221. { "orderDataType": "dom-text", type: 'string' },
  222. { "orderDataType": "dom-text", type: 'string' },
  223. { "orderDataType": "dom-text", type: 'string' },
  224. ],
  225. bFilter: false, bPaginate: false
  226. } );
  227. }
  228. $("#tablaArticulos_info").remove();
  229. }
  230. function decimales(numero)
  231. {
  232. var creditos = numero.toString().split(".");
  233. if (typeof(creditos[1]) == "undefined")
  234. {
  235. numero = numero + ".00";
  236. } else if (creditos[1].length == 1)
  237. {
  238. numero = numero + "0";
  239. }
  240. else if (creditos[1].length > 2)
  241. {
  242. numero = creditos[0] + "." + creditos[1].substring(0, 2);
  243. }
  244. return numero;
  245. }
  246. function importeBase()
  247. {
  248. var D = $(this).parent().prev().prev().children().first().val();
  249. var A = $(this).parent().prev().children().first().val();
  250. var B = $(this).val();
  251. var C = D - A - B;
  252. C = decimales(C);
  253. $(this).parent().next().children().first().val(C);
  254. var D = C * 13;
  255. D = D / 100;
  256. D = decimales(D);
  257. $(this).parent().next().next().children().first().val(D);
  258. }
  259. function formatearFecha(fecha)
  260. {
  261. var separar = fecha.toString().split("-");
  262. var resultado = separar[2] + "/" + separar[1] + "/" +separar[0];
  263. return resultado;
  264. }
  265. function memorandum()
  266. {
  267. var imp = $(this).val();
  268. var fecha = $(this).parent().prev().children().first().val();
  269. var fact = $(this).parent().prev().prev().prev().prev().children().first().val();
  270. var raz = $(this).parent().prev().prev().prev().prev().prev().children().first().val();
  271. fecha = formatearFecha(fecha);
  272. var memo = "Por el registro de la factura de "+raz+" Nro. "+fact+" de fecha "+fecha+" por un importe de Bs "+imp;
  273. var inputmemo = $(this).parent().next().next().next().next().next().next().next().next().next().next().next().next().next().next().next().children().first();
  274. inputmemo.val(memo);
  275. }
  276. function contabilizar()
  277. {
  278. var boton = $(this);
  279. var debe1 = $(this).parent().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().children().first().val();
  280. var debe1_dimension = $(this).parent().prev().prev().prev().prev().prev().prev().prev().prev().prev().children().first().val();
  281. var debe1_dimension2 = $(this).parent().prev().prev().prev().prev().prev().prev().prev().prev().children().first().val();
  282. var debe2 = $(this).parent().prev().prev().prev().prev().prev().prev().prev().children().first().val();
  283. var debe2_monto = $(this).parent().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().children().first().val();
  284. var debe2_dimension = $(this).parent().prev().prev().prev().prev().prev().prev().children().first().val();
  285. var debe2_dimension2 = $(this).parent().prev().prev().prev().prev().prev().children().first().val();
  286. var haber = $(this).parent().prev().prev().prev().prev().children().first().val();
  287. var haber_monto = $(this).parent().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().children().first().val();
  288. var haber_dimension = $(this).parent().prev().prev().prev().children().first().val();
  289. var haber_dimension2 = $(this).parent().prev().prev().children().first().val();
  290. var memo = $(this).parent().prev().children().first().val();
  291. var debe1_monto = haber_monto - debe2_monto;
  292. var fecha = $(this).parent().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().prev().children().first().val();
  293. if (debe1_monto == "" || debe2_monto == "" || haber_monto == "" || fecha == "" )
  294. {
  295. alert("Debe completar la fecha y los importes para contabilizar");
  296. }
  297. else
  298. {
  299. boton.attr("disabled", "disabled");
  300. boton.val("Contabilizando");
  301. $.post( "contabilizar.php",{
  302. debe1: debe1,
  303. debe1_monto: debe1_monto,
  304. debe1_dimension : debe1_dimension,
  305. debe1_dimension2 : debe1_dimension2,
  306. debe2: debe2,
  307. debe2_monto: debe2_monto,
  308. debe2_dimension : debe2_dimension,
  309. debe2_dimension2 : debe2_dimension2,
  310. haber: haber,
  311. haber_monto: haber_monto,
  312. haber_dimension : haber_dimension,
  313. haber_dimension2 : haber_dimension2,
  314. memo: memo,
  315. fecha: fecha,
  316. },
  317. function(data) {
  318. var texto = "Ver Asiento #"+data;
  319. boton.unbind("click");
  320. boton.val(texto);
  321. boton.removeAttr("disabled");
  322. boton.bind("click", function(){
  323. window.open("../gl/view/gl_trans_view.php?type_id=0&trans_no="+data);
  324. });
  325. }
  326. );
  327. }
  328. }
  329. function filtrar(){
  330. var fechaIni = $("#fechaIni").val();
  331. var fechaFin = $("#fechaFin").val();
  332. fechaIni = Date.parse(fechaIni);
  333. fechaFin = Date.parse(fechaFin);
  334. var filas = $("#tablaArticulos").children();
  335. for (j = 1; j <= indice; j++) {
  336. var filaHijos = filas.children().eq(j);
  337. var fechaFila = filaHijos.children().eq(6).children().eq(0).val();
  338. if (fechaFila != "")
  339. {
  340. fechaFila = Date.parse(fechaFila);
  341. //alert(fechaIni + " " + fechaFila + " " + fechaFin);
  342. var nombreFila = "#fila"+indice;
  343. if (fechaFila < fechaIni || fechaFila > fechaFin )
  344. {
  345. $(nombreFila).hide();
  346. }
  347. else
  348. {
  349. $(nombreFila).show();
  350. }
  351. }
  352. }
  353. $("#tablaArticulos_info").remove();
  354. }
  355. function cargarMemo(){
  356. }
  357. var indice = 0;
  358. agregar();
  359. $("#restarPedido").bind("click", quitar);
  360. $("#altaPedidoTxt").bind("click", cargar);
  361. $("#altaPedidoPdf").bind("click", cargarPDF);
  362. $("#otroPedido").bind("click", agregar);
  363. $("#filtrar").bind("click", filtrar);
  364. function Solo_Texto(texto)
  365. {
  366. var charCode
  367. charCode = texto.keyCode
  368. status = charCode
  369. if (charCode > 31 && charCode <= 57)
  370. {
  371. return false
  372. }
  373. return true
  374. }
  375. function Solo_Numeros(numero)
  376. {
  377. var charCode
  378. charCode = numero.keyCode
  379. status = charCode
  380. if (charCode >= 48 && charCode <= 57)
  381. {
  382. return true
  383. }
  384. return false
  385. }
  386. function solo_decimales(numero)
  387. {
  388. var charCode
  389. charCode = numero.keyCode
  390. status = charCode
  391. if ((charCode >= 48 && charCode <= 57) || (charCode == 46))
  392. {
  393. return true
  394. }
  395. return false
  396. }