From 4e0a6b7fcde7fdfbacb951eab677e69f7f973482 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Tue, 5 Sep 2023 14:02:16 -0600 Subject: [PATCH] Commit inicial. --- .gitignore | 3 + B4A/B4XMainPage.bas | 595 +++ B4A/C_Calculadora.bas | 710 ++++ B4A/C_CheckList.bas | 939 +++++ B4A/C_Cliente.bas | 3145 ++++++++++++++++ B4A/C_Clientes.bas | 281 ++ B4A/C_Foto.bas | 184 + B4A/C_Historico.bas | 135 + B4A/C_Mapas.bas | 135 + B4A/C_NoVenta.bas | 120 + B4A/C_Nota.bas | 434 +++ B4A/C_NuevoCliente.bas | 88 + B4A/C_Pedidos.bas | 24 + B4A/C_Principal.bas | 3189 +++++++++++++++++ B4A/C_Productos.bas | 1506 ++++++++ B4A/C_Promos.bas | 24 + B4A/C_TicketsDia.bas | 131 + B4A/C_updateAvailable.bas | 24 + B4A/CameraExClass.bas | 293 ++ B4A/DBRequestManager.bas | 270 ++ B4A/DownloadService.bas | 114 + B4A/EscPosPrinter.bas | 1148 ++++++ B4A/Files/WHATSTEL.jpeg | Bin 0 -> 60482 bytes ...tsApp Image 2022-11-17 at 11.50.59 AM.jpeg | Bin 0 -> 40983 bytes B4A/Files/alcancia.png | Bin 0 -> 2249 bytes B4A/Files/alert2.png | Bin 0 -> 632 bytes B4A/Files/alerta.jpg | Bin 0 -> 1459 bytes B4A/Files/alerta_amarilla.png | Bin 0 -> 62562 bytes B4A/Files/amarillo.png | Bin 0 -> 10753 bytes B4A/Files/anterior.jpg | Bin 0 -> 19358 bytes B4A/Files/blacnco.jpg | Bin 0 -> 5027 bytes B4A/Files/carrito.png | Bin 0 -> 22596 bytes B4A/Files/checklist.bal | Bin 0 -> 5795 bytes B4A/Files/checks.bal | Bin 0 -> 33830 bytes B4A/Files/cliente.bal | Bin 0 -> 103335 bytes B4A/Files/clientes.bal | Bin 0 -> 6904 bytes B4A/Files/detalle_promo.bal | Bin 0 -> 3429 bytes B4A/Files/durakelo.png | Bin 0 -> 7098 bytes B4A/Files/durakelo1.png | Bin 0 -> 5896 bytes B4A/Files/engrane.jpg | Bin 0 -> 4132 bytes B4A/Files/engrane.png | Bin 0 -> 97560 bytes B4A/Files/errormanager.bal | Bin 0 -> 4235 bytes B4A/Files/fondo_kmt.jpg | Bin 0 -> 33689 bytes B4A/Files/foto.bal | Bin 0 -> 3641 bytes B4A/Files/foto1.jpg | Bin 0 -> 10462 bytes B4A/Files/foto2.jpg | Bin 0 -> 17020 bytes B4A/Files/foto3.jpg | Bin 0 -> 16612 bytes B4A/Files/foto4.jpg | Bin 0 -> 15202 bytes B4A/Files/guardagestion.bal | Bin 0 -> 13104 bytes B4A/Files/guna_viejo.png | Bin 0 -> 3543 bytes B4A/Files/historico.bal | Bin 0 -> 8167 bytes B4A/Files/info_gral.resp | Bin 0 -> 69923 bytes B4A/Files/infonavit1.jpg | Bin 0 -> 30576 bytes B4A/Files/inventario (1).jpg | Bin 0 -> 23450 bytes B4A/Files/inventario.jpg | Bin 0 -> 27037 bytes B4A/Files/inventario.png | Bin 0 -> 8834 bytes B4A/Files/itembuttonblue.png | Bin 0 -> 2647 bytes B4A/Files/itembuttonred.png | Bin 0 -> 5822 bytes B4A/Files/kelloggs.png | Bin 0 -> 327655 bytes B4A/Files/kelloggs2.jpg | Bin 0 -> 110798 bytes B4A/Files/kelloggs2.png | Bin 0 -> 92140 bytes B4A/Files/keymon_logo.png | Bin 0 -> 10983 bytes B4A/Files/kmt.db | Bin 0 -> 66560 bytes B4A/Files/login.bal | Bin 0 -> 11974 bytes B4A/Files/logo sanfer.jpg | Bin 0 -> 7991 bytes B4A/Files/logo2.png | Bin 0 -> 79211 bytes B4A/Files/logo2_192x192.png | Bin 0 -> 27332 bytes B4A/Files/logo_exitus1.jpg | Bin 0 -> 30576 bytes B4A/Files/mainpage.bal | Bin 0 -> 1584 bytes B4A/Files/malo.jpg | Bin 0 -> 8764 bytes B4A/Files/mapa.bal | Bin 0 -> 3090 bytes B4A/Files/mapa_rutas.bal | Bin 0 -> 6310 bytes B4A/Files/mapas.bal | Bin 0 -> 3703 bytes B4A/Files/marker-azul-0.png | Bin 0 -> 6263 bytes B4A/Files/marker-azul-1.png | Bin 0 -> 5003 bytes B4A/Files/marker-azul-10.png | Bin 0 -> 6352 bytes B4A/Files/marker-azul-100.png | Bin 0 -> 6557 bytes B4A/Files/marker-azul-11.png | Bin 0 -> 5047 bytes B4A/Files/marker-azul-12.png | Bin 0 -> 6257 bytes B4A/Files/marker-azul-13.png | Bin 0 -> 6611 bytes B4A/Files/marker-azul-14.png | Bin 0 -> 5762 bytes B4A/Files/marker-azul-15.png | Bin 0 -> 5824 bytes B4A/Files/marker-azul-16.png | Bin 0 -> 6420 bytes B4A/Files/marker-azul-17.png | Bin 0 -> 6031 bytes B4A/Files/marker-azul-18.png | Bin 0 -> 6675 bytes B4A/Files/marker-azul-19.png | Bin 0 -> 6371 bytes B4A/Files/marker-azul-2.png | Bin 0 -> 6174 bytes B4A/Files/marker-azul-20.png | Bin 0 -> 7214 bytes B4A/Files/marker-azul-21.png | Bin 0 -> 6148 bytes B4A/Files/marker-azul-22.png | Bin 0 -> 7041 bytes B4A/Files/marker-azul-23.png | Bin 0 -> 7355 bytes B4A/Files/marker-azul-24.png | Bin 0 -> 6574 bytes B4A/Files/marker-azul-25.png | Bin 0 -> 6675 bytes B4A/Files/marker-azul-26.png | Bin 0 -> 7158 bytes B4A/Files/marker-azul-27.png | Bin 0 -> 6958 bytes B4A/Files/marker-azul-28.png | Bin 0 -> 7403 bytes B4A/Files/marker-azul-29.png | Bin 0 -> 7139 bytes B4A/Files/marker-azul-3.png | Bin 0 -> 6423 bytes B4A/Files/marker-azul-30.png | Bin 0 -> 7453 bytes B4A/Files/marker-azul-31.png | Bin 0 -> 6467 bytes B4A/Files/marker-azul-32.png | Bin 0 -> 7417 bytes B4A/Files/marker-azul-33.png | Bin 0 -> 7670 bytes B4A/Files/marker-azul-34.png | Bin 0 -> 7027 bytes B4A/Files/marker-azul-35.png | Bin 0 -> 7056 bytes B4A/Files/marker-azul-36.png | Bin 0 -> 7581 bytes B4A/Files/marker-azul-37.png | Bin 0 -> 7308 bytes B4A/Files/marker-azul-38.png | Bin 0 -> 7806 bytes B4A/Files/marker-azul-39.png | Bin 0 -> 7600 bytes B4A/Files/marker-azul-4.png | Bin 0 -> 5715 bytes B4A/Files/marker-azul-40.png | Bin 0 -> 6897 bytes B4A/Files/marker-azul-41.png | Bin 0 -> 5745 bytes B4A/Files/marker-azul-42.png | Bin 0 -> 6798 bytes B4A/Files/marker-azul-43.png | Bin 0 -> 7028 bytes B4A/Files/marker-azul-44.png | Bin 0 -> 6204 bytes B4A/Files/marker-azul-45.png | Bin 0 -> 6200 bytes B4A/Files/marker-azul-46.png | Bin 0 -> 6784 bytes B4A/Files/marker-azul-47.png | Bin 0 -> 6485 bytes B4A/Files/marker-azul-48.png | Bin 0 -> 7064 bytes B4A/Files/marker-azul-49.png | Bin 0 -> 6796 bytes B4A/Files/marker-azul-5.png | Bin 0 -> 5649 bytes B4A/Files/marker-azul-50.png | Bin 0 -> 6798 bytes B4A/Files/marker-azul-51.png | Bin 0 -> 5783 bytes B4A/Files/marker-azul-52.png | Bin 0 -> 6659 bytes B4A/Files/marker-azul-53.png | Bin 0 -> 6936 bytes B4A/Files/marker-azul-54.png | Bin 0 -> 6179 bytes B4A/Files/marker-azul-55.png | Bin 0 -> 6289 bytes B4A/Files/marker-azul-56.png | Bin 0 -> 6745 bytes B4A/Files/marker-azul-57.png | Bin 0 -> 6486 bytes B4A/Files/marker-azul-58.png | Bin 0 -> 7011 bytes B4A/Files/marker-azul-59.png | Bin 0 -> 6856 bytes B4A/Files/marker-azul-6.png | Bin 0 -> 6224 bytes B4A/Files/marker-azul-60.png | Bin 0 -> 7326 bytes B4A/Files/marker-azul-61.png | Bin 0 -> 6109 bytes B4A/Files/marker-azul-62.png | Bin 0 -> 7084 bytes B4A/Files/marker-azul-63.png | Bin 0 -> 7158 bytes B4A/Files/marker-azul-64.png | Bin 0 -> 6209 bytes B4A/Files/marker-azul-65.png | Bin 0 -> 6708 bytes B4A/Files/marker-azul-66.png | Bin 0 -> 6722 bytes B4A/Files/marker-azul-67.png | Bin 0 -> 6759 bytes B4A/Files/marker-azul-68.png | Bin 0 -> 6992 bytes B4A/Files/marker-azul-69.png | Bin 0 -> 6725 bytes B4A/Files/marker-azul-7.png | Bin 0 -> 5996 bytes B4A/Files/marker-azul-70.png | Bin 0 -> 6602 bytes B4A/Files/marker-azul-71.png | Bin 0 -> 6164 bytes B4A/Files/marker-azul-72.png | Bin 0 -> 7112 bytes B4A/Files/marker-azul-73.png | Bin 0 -> 7166 bytes B4A/Files/marker-azul-74.png | Bin 0 -> 6147 bytes B4A/Files/marker-azul-75.png | Bin 0 -> 6726 bytes B4A/Files/marker-azul-76.png | Bin 0 -> 6752 bytes B4A/Files/marker-azul-77.png | Bin 0 -> 6805 bytes B4A/Files/marker-azul-78.png | Bin 0 -> 7000 bytes B4A/Files/marker-azul-79.png | Bin 0 -> 6698 bytes B4A/Files/marker-azul-8.png | Bin 0 -> 6501 bytes B4A/Files/marker-azul-80.png | Bin 0 -> 6811 bytes B4A/Files/marker-azul-81.png | Bin 0 -> 6367 bytes B4A/Files/marker-azul-82.png | Bin 0 -> 7319 bytes B4A/Files/marker-azul-83.png | Bin 0 -> 7431 bytes B4A/Files/marker-azul-84.png | Bin 0 -> 6408 bytes B4A/Files/marker-azul-85.png | Bin 0 -> 6936 bytes B4A/Files/marker-azul-86.png | Bin 0 -> 6964 bytes B4A/Files/marker-azul-87.png | Bin 0 -> 6979 bytes B4A/Files/marker-azul-88.png | Bin 0 -> 7224 bytes B4A/Files/marker-azul-89.png | Bin 0 -> 6916 bytes B4A/Files/marker-azul-9.png | Bin 0 -> 6313 bytes B4A/Files/marker-azul-90.png | Bin 0 -> 6532 bytes B4A/Files/marker-azul-91.png | Bin 0 -> 6127 bytes B4A/Files/marker-azul-92.png | Bin 0 -> 7033 bytes B4A/Files/marker-azul-93.png | Bin 0 -> 7056 bytes B4A/Files/marker-azul-94.png | Bin 0 -> 6163 bytes B4A/Files/marker-azul-95.png | Bin 0 -> 6658 bytes B4A/Files/marker-azul-96.png | Bin 0 -> 6738 bytes B4A/Files/marker-azul-97.png | Bin 0 -> 6742 bytes B4A/Files/marker-azul-98.png | Bin 0 -> 6973 bytes B4A/Files/marker-azul-99.png | Bin 0 -> 6723 bytes B4A/Files/marker-rojo-0.png | Bin 0 -> 7158 bytes B4A/Files/marker-rojo-1.png | Bin 0 -> 6466 bytes B4A/Files/marker-rojo-10.png | Bin 0 -> 7716 bytes B4A/Files/marker-rojo-100.png | Bin 0 -> 8381 bytes B4A/Files/marker-rojo-11.png | Bin 0 -> 6846 bytes B4A/Files/marker-rojo-12.png | Bin 0 -> 8555 bytes B4A/Files/marker-rojo-13.png | Bin 0 -> 8578 bytes B4A/Files/marker-rojo-14.png | Bin 0 -> 6949 bytes B4A/Files/marker-rojo-15.png | Bin 0 -> 7890 bytes B4A/Files/marker-rojo-16.png | Bin 0 -> 7874 bytes B4A/Files/marker-rojo-17.png | Bin 0 -> 8055 bytes B4A/Files/marker-rojo-18.png | Bin 0 -> 8274 bytes B4A/Files/marker-rojo-19.png | Bin 0 -> 7952 bytes B4A/Files/marker-rojo-2.png | Bin 0 -> 8319 bytes B4A/Files/marker-rojo-20.png | Bin 0 -> 8793 bytes B4A/Files/marker-rojo-21.png | Bin 0 -> 8125 bytes B4A/Files/marker-rojo-22.png | Bin 0 -> 9333 bytes B4A/Files/marker-rojo-23.png | Bin 0 -> 9432 bytes B4A/Files/marker-rojo-24.png | Bin 0 -> 8215 bytes B4A/Files/marker-rojo-25.png | Bin 0 -> 8937 bytes B4A/Files/marker-rojo-26.png | Bin 0 -> 8945 bytes B4A/Files/marker-rojo-27.png | Bin 0 -> 9044 bytes B4A/Files/marker-rojo-28.png | Bin 0 -> 9293 bytes B4A/Files/marker-rojo-29.png | Bin 0 -> 8952 bytes B4A/Files/marker-rojo-3.png | Bin 0 -> 8509 bytes B4A/Files/marker-rojo-30.png | Bin 0 -> 8963 bytes B4A/Files/marker-rojo-31.png | Bin 0 -> 8308 bytes B4A/Files/marker-rojo-32.png | Bin 0 -> 9408 bytes B4A/Files/marker-rojo-33.png | Bin 0 -> 9548 bytes B4A/Files/marker-rojo-34.png | Bin 0 -> 8384 bytes B4A/Files/marker-rojo-35.png | Bin 0 -> 9076 bytes B4A/Files/marker-rojo-36.png | Bin 0 -> 9137 bytes B4A/Files/marker-rojo-37.png | Bin 0 -> 9204 bytes B4A/Files/marker-rojo-38.png | Bin 0 -> 9389 bytes B4A/Files/marker-rojo-39.png | Bin 0 -> 9098 bytes B4A/Files/marker-rojo-4.png | Bin 0 -> 6743 bytes B4A/Files/marker-rojo-40.png | Bin 0 -> 7710 bytes B4A/Files/marker-rojo-41.png | Bin 0 -> 6914 bytes B4A/Files/marker-rojo-42.png | Bin 0 -> 8382 bytes B4A/Files/marker-rojo-43.png | Bin 0 -> 8490 bytes B4A/Files/marker-rojo-44.png | Bin 0 -> 7027 bytes B4A/Files/marker-rojo-45.png | Bin 0 -> 7884 bytes B4A/Files/marker-rojo-46.png | Bin 0 -> 7894 bytes B4A/Files/marker-rojo-47.png | Bin 0 -> 8095 bytes B4A/Files/marker-rojo-48.png | Bin 0 -> 8212 bytes B4A/Files/marker-rojo-49.png | Bin 0 -> 7898 bytes B4A/Files/marker-rojo-5.png | Bin 0 -> 7658 bytes B4A/Files/marker-rojo-50.png | Bin 0 -> 8457 bytes B4A/Files/marker-rojo-51.png | Bin 0 -> 7685 bytes B4A/Files/marker-rojo-52.png | Bin 0 -> 8969 bytes B4A/Files/marker-rojo-53.png | Bin 0 -> 9015 bytes B4A/Files/marker-rojo-54.png | Bin 0 -> 7712 bytes B4A/Files/marker-rojo-55.png | Bin 0 -> 8331 bytes B4A/Files/marker-rojo-56.png | Bin 0 -> 8461 bytes B4A/Files/marker-rojo-57.png | Bin 0 -> 8552 bytes B4A/Files/marker-rojo-58.png | Bin 0 -> 8710 bytes B4A/Files/marker-rojo-59.png | Bin 0 -> 8349 bytes B4A/Files/marker-rojo-6.png | Bin 0 -> 7660 bytes B4A/Files/marker-rojo-60.png | Bin 0 -> 8299 bytes B4A/Files/marker-rojo-61.png | Bin 0 -> 7640 bytes B4A/Files/marker-rojo-62.png | Bin 0 -> 8976 bytes B4A/Files/marker-rojo-63.png | Bin 0 -> 8978 bytes B4A/Files/marker-rojo-64.png | Bin 0 -> 7821 bytes B4A/Files/marker-rojo-65.png | Bin 0 -> 8488 bytes B4A/Files/marker-rojo-66.png | Bin 0 -> 8530 bytes B4A/Files/marker-rojo-67.png | Bin 0 -> 8660 bytes B4A/Files/marker-rojo-68.png | Bin 0 -> 8870 bytes B4A/Files/marker-rojo-69.png | Bin 0 -> 8491 bytes B4A/Files/marker-rojo-7.png | Bin 0 -> 7887 bytes B4A/Files/marker-rojo-70.png | Bin 0 -> 8516 bytes B4A/Files/marker-rojo-71.png | Bin 0 -> 7841 bytes B4A/Files/marker-rojo-72.png | Bin 0 -> 9071 bytes B4A/Files/marker-rojo-73.png | Bin 0 -> 9199 bytes B4A/Files/marker-rojo-74.png | Bin 0 -> 7975 bytes B4A/Files/marker-rojo-75.png | Bin 0 -> 8686 bytes B4A/Files/marker-rojo-76.png | Bin 0 -> 8686 bytes B4A/Files/marker-rojo-77.png | Bin 0 -> 8491 bytes B4A/Files/marker-rojo-78.png | Bin 0 -> 8917 bytes B4A/Files/marker-rojo-79.png | Bin 0 -> 8663 bytes B4A/Files/marker-rojo-8.png | Bin 0 -> 8205 bytes B4A/Files/marker-rojo-80.png | Bin 0 -> 8771 bytes B4A/Files/marker-rojo-81.png | Bin 0 -> 8092 bytes B4A/Files/marker-rojo-82.png | Bin 0 -> 9282 bytes B4A/Files/marker-rojo-83.png | Bin 0 -> 9374 bytes B4A/Files/marker-rojo-84.png | Bin 0 -> 8187 bytes B4A/Files/marker-rojo-85.png | Bin 0 -> 8843 bytes B4A/Files/marker-rojo-86.png | Bin 0 -> 8822 bytes B4A/Files/marker-rojo-87.png | Bin 0 -> 9009 bytes B4A/Files/marker-rojo-88.png | Bin 0 -> 9181 bytes B4A/Files/marker-rojo-89.png | Bin 0 -> 8914 bytes B4A/Files/marker-rojo-9.png | Bin 0 -> 7695 bytes B4A/Files/marker-rojo-90.png | Bin 0 -> 8391 bytes B4A/Files/marker-rojo-91.png | Bin 0 -> 7698 bytes B4A/Files/marker-rojo-92.png | Bin 0 -> 9013 bytes B4A/Files/marker-rojo-93.png | Bin 0 -> 9091 bytes B4A/Files/marker-rojo-94.png | Bin 0 -> 7868 bytes B4A/Files/marker-rojo-95.png | Bin 0 -> 8571 bytes B4A/Files/marker-rojo-96.png | Bin 0 -> 8545 bytes B4A/Files/marker-rojo-97.png | Bin 0 -> 8647 bytes B4A/Files/marker-rojo-98.png | Bin 0 -> 8905 bytes B4A/Files/marker-rojo-99.png | Bin 0 -> 8582 bytes B4A/Files/marker-verde-0.png | Bin 0 -> 5490 bytes B4A/Files/marker-verde-1.png | Bin 0 -> 4797 bytes B4A/Files/marker-verde-10.png | Bin 0 -> 5730 bytes B4A/Files/marker-verde-100.png | Bin 0 -> 6404 bytes B4A/Files/marker-verde-11.png | Bin 0 -> 5138 bytes B4A/Files/marker-verde-12.png | Bin 0 -> 6193 bytes B4A/Files/marker-verde-13.png | Bin 0 -> 6360 bytes B4A/Files/marker-verde-14.png | Bin 0 -> 5252 bytes B4A/Files/marker-verde-15.png | Bin 0 -> 5871 bytes B4A/Files/marker-verde-16.png | Bin 0 -> 5867 bytes B4A/Files/marker-verde-17.png | Bin 0 -> 6011 bytes B4A/Files/marker-verde-18.png | Bin 0 -> 6161 bytes B4A/Files/marker-verde-19.png | Bin 0 -> 5925 bytes B4A/Files/marker-verde-2.png | Bin 0 -> 5996 bytes B4A/Files/marker-verde-20.png | Bin 0 -> 6525 bytes B4A/Files/marker-verde-21.png | Bin 0 -> 6208 bytes B4A/Files/marker-verde-22.png | Bin 0 -> 7202 bytes B4A/Files/marker-verde-23.png | Bin 0 -> 7286 bytes B4A/Files/marker-verde-24.png | Bin 0 -> 6339 bytes B4A/Files/marker-verde-25.png | Bin 0 -> 6896 bytes B4A/Files/marker-verde-26.png | Bin 0 -> 6909 bytes B4A/Files/marker-verde-27.png | Bin 0 -> 6982 bytes B4A/Files/marker-verde-28.png | Bin 0 -> 7105 bytes B4A/Files/marker-verde-29.png | Bin 0 -> 6868 bytes B4A/Files/marker-verde-3.png | Bin 0 -> 6069 bytes B4A/Files/marker-verde-30.png | Bin 0 -> 6794 bytes B4A/Files/marker-verde-31.png | Bin 0 -> 6270 bytes B4A/Files/marker-verde-32.png | Bin 0 -> 7248 bytes B4A/Files/marker-verde-33.png | Bin 0 -> 7318 bytes B4A/Files/marker-verde-34.png | Bin 0 -> 6424 bytes B4A/Files/marker-verde-35.png | Bin 0 -> 6925 bytes B4A/Files/marker-verde-36.png | Bin 0 -> 6936 bytes B4A/Files/marker-verde-37.png | Bin 0 -> 6979 bytes B4A/Files/marker-verde-38.png | Bin 0 -> 7198 bytes B4A/Files/marker-verde-39.png | Bin 0 -> 6942 bytes B4A/Files/marker-verde-4.png | Bin 0 -> 4914 bytes B4A/Files/marker-verde-40.png | Bin 0 -> 5884 bytes B4A/Files/marker-verde-41.png | Bin 0 -> 5362 bytes B4A/Files/marker-verde-42.png | Bin 0 -> 6341 bytes B4A/Files/marker-verde-43.png | Bin 0 -> 6483 bytes B4A/Files/marker-verde-44.png | Bin 0 -> 5462 bytes B4A/Files/marker-verde-45.png | Bin 0 -> 6076 bytes B4A/Files/marker-verde-46.png | Bin 0 -> 6110 bytes B4A/Files/marker-verde-47.png | Bin 0 -> 6135 bytes B4A/Files/marker-verde-48.png | Bin 0 -> 6388 bytes B4A/Files/marker-verde-49.png | Bin 0 -> 6090 bytes B4A/Files/marker-verde-5.png | Bin 0 -> 5581 bytes B4A/Files/marker-verde-50.png | Bin 0 -> 6570 bytes B4A/Files/marker-verde-51.png | Bin 0 -> 5961 bytes B4A/Files/marker-verde-52.png | Bin 0 -> 6942 bytes B4A/Files/marker-verde-53.png | Bin 0 -> 7040 bytes B4A/Files/marker-verde-54.png | Bin 0 -> 6053 bytes B4A/Files/marker-verde-55.png | Bin 0 -> 6612 bytes B4A/Files/marker-verde-56.png | Bin 0 -> 6621 bytes B4A/Files/marker-verde-57.png | Bin 0 -> 6677 bytes B4A/Files/marker-verde-58.png | Bin 0 -> 6872 bytes B4A/Files/marker-verde-59.png | Bin 0 -> 6643 bytes B4A/Files/marker-verde-6.png | Bin 0 -> 5559 bytes B4A/Files/marker-verde-60.png | Bin 0 -> 6529 bytes B4A/Files/marker-verde-61.png | Bin 0 -> 5968 bytes B4A/Files/marker-verde-62.png | Bin 0 -> 6906 bytes B4A/Files/marker-verde-63.png | Bin 0 -> 6971 bytes B4A/Files/marker-verde-64.png | Bin 0 -> 5989 bytes B4A/Files/marker-verde-65.png | Bin 0 -> 6547 bytes B4A/Files/marker-verde-66.png | Bin 0 -> 6541 bytes B4A/Files/marker-verde-67.png | Bin 0 -> 6656 bytes B4A/Files/marker-verde-68.png | Bin 0 -> 6811 bytes B4A/Files/marker-verde-69.png | Bin 0 -> 6540 bytes B4A/Files/marker-verde-7.png | Bin 0 -> 5695 bytes B4A/Files/marker-verde-70.png | Bin 0 -> 6547 bytes B4A/Files/marker-verde-71.png | Bin 0 -> 5979 bytes B4A/Files/marker-verde-72.png | Bin 0 -> 6962 bytes B4A/Files/marker-verde-73.png | Bin 0 -> 7000 bytes B4A/Files/marker-verde-74.png | Bin 0 -> 6173 bytes B4A/Files/marker-verde-75.png | Bin 0 -> 6602 bytes B4A/Files/marker-verde-76.png | Bin 0 -> 6631 bytes B4A/Files/marker-verde-77.png | Bin 0 -> 6606 bytes B4A/Files/marker-verde-78.png | Bin 0 -> 6874 bytes B4A/Files/marker-verde-79.png | Bin 0 -> 6596 bytes B4A/Files/marker-verde-8.png | Bin 0 -> 5872 bytes B4A/Files/marker-verde-80.png | Bin 0 -> 6726 bytes B4A/Files/marker-verde-81.png | Bin 0 -> 6266 bytes B4A/Files/marker-verde-82.png | Bin 0 -> 7119 bytes B4A/Files/marker-verde-83.png | Bin 0 -> 7136 bytes B4A/Files/marker-verde-84.png | Bin 0 -> 6287 bytes B4A/Files/marker-verde-85.png | Bin 0 -> 6816 bytes B4A/Files/marker-verde-86.png | Bin 0 -> 6842 bytes B4A/Files/marker-verde-87.png | Bin 0 -> 6867 bytes B4A/Files/marker-verde-88.png | Bin 0 -> 7113 bytes B4A/Files/marker-verde-89.png | Bin 0 -> 6828 bytes B4A/Files/marker-verde-9.png | Bin 0 -> 5550 bytes B4A/Files/marker-verde-90.png | Bin 0 -> 6369 bytes B4A/Files/marker-verde-91.png | Bin 0 -> 5899 bytes B4A/Files/marker-verde-92.png | Bin 0 -> 6804 bytes B4A/Files/marker-verde-93.png | Bin 0 -> 6922 bytes B4A/Files/marker-verde-94.png | Bin 0 -> 5998 bytes B4A/Files/marker-verde-95.png | Bin 0 -> 6491 bytes B4A/Files/marker-verde-96.png | Bin 0 -> 6495 bytes B4A/Files/marker-verde-97.png | Bin 0 -> 6636 bytes B4A/Files/marker-verde-98.png | Bin 0 -> 6765 bytes B4A/Files/marker-verde-99.png | Bin 0 -> 6465 bytes B4A/Files/mas-azul-red1.png | Bin 0 -> 355 bytes B4A/Files/menosred.png | Bin 0 -> 407 bytes B4A/Files/nota.bal | Bin 0 -> 9917 bytes B4A/Files/noventa.bal | Bin 0 -> 8103 bytes B4A/Files/nuevocliente.bal | Bin 0 -> 5851 bytes B4A/Files/palomita_verde.png | Bin 0 -> 159519 bytes B4A/Files/pedido.bal | Bin 0 -> 11752 bytes B4A/Files/planfia_logo.png | Bin 0 -> 22355 bytes B4A/Files/planfia_logo_old.png | Bin 0 -> 34019 bytes B4A/Files/planfia_logo_old2.png | Bin 0 -> 40821 bytes B4A/Files/principal.bal | Bin 0 -> 69145 bytes B4A/Files/productos.bal | Bin 0 -> 24171 bytes B4A/Files/profina.jpg | Bin 0 -> 4738 bytes B4A/Files/profina.png | Bin 0 -> 5080 bytes B4A/Files/proitem.bal | Bin 0 -> 5592 bytes B4A/Files/qr.bal | Bin 0 -> 823 bytes B4A/Files/rechazo.jpg | Bin 0 -> 10453 bytes B4A/Files/rojo.png | Bin 0 -> 10751 bytes B4A/Files/salma.jpg | Bin 0 -> 17025 bytes B4A/Files/salma.png | Bin 0 -> 5896 bytes B4A/Files/senial.jpg | Bin 0 -> 40104 bytes B4A/Files/sync.png | Bin 0 -> 763 bytes B4A/Files/tache_rojo.png | Bin 0 -> 254546 bytes B4A/Files/telefonos.bal | Bin 0 -> 8011 bytes B4A/Files/ticketsdia.bal | Bin 0 -> 3930 bytes B4A/Files/tiendita.jpg | Bin 0 -> 9042 bytes B4A/Files/transporte.png | Bin 0 -> 23923 bytes B4A/Files/verde.png | Bin 0 -> 7665 bytes B4A/Files/vista1.png | Bin 0 -> 20108 bytes B4A/Files/vista2.png | Bin 0 -> 34997 bytes B4A/Files/vista3.png | Bin 0 -> 31080 bytes B4A/Files/vista4.png | Bin 0 -> 23561 bytes ...atsapp image 2022-11-17 at 11.50.59 am.jpg | Bin 0 -> 40983 bytes B4A/Files/whatsapp.png | Bin 0 -> 316915 bytes B4A/Files/whatstel.png | Bin 0 -> 122051 bytes B4A/HttpUtils2Service.bas | 86 + B4A/KelloggsV3.b4a | 236 ++ B4A/MAPA_RUTAS.bas | 320 ++ B4A/Mods.bas | 15 + B4A/SD_Spinner.bas | 491 +++ B4A/Starter.bas | 234 ++ B4A/Subs.bas | 817 +++++ B4A/Tracker.bas | 237 ++ B4A/errorManager.bas | 165 + B4A/foto.bas | 173 + gitpull.bat | 1 + 422 files changed, 16267 insertions(+) create mode 100644 .gitignore create mode 100644 B4A/B4XMainPage.bas create mode 100644 B4A/C_Calculadora.bas create mode 100644 B4A/C_CheckList.bas create mode 100644 B4A/C_Cliente.bas create mode 100644 B4A/C_Clientes.bas create mode 100644 B4A/C_Foto.bas create mode 100644 B4A/C_Historico.bas create mode 100644 B4A/C_Mapas.bas create mode 100644 B4A/C_NoVenta.bas create mode 100644 B4A/C_Nota.bas create mode 100644 B4A/C_NuevoCliente.bas create mode 100644 B4A/C_Pedidos.bas create mode 100644 B4A/C_Principal.bas create mode 100644 B4A/C_Productos.bas create mode 100644 B4A/C_Promos.bas create mode 100644 B4A/C_TicketsDia.bas create mode 100644 B4A/C_updateAvailable.bas create mode 100644 B4A/CameraExClass.bas create mode 100644 B4A/DBRequestManager.bas create mode 100644 B4A/DownloadService.bas create mode 100644 B4A/EscPosPrinter.bas create mode 100644 B4A/Files/WHATSTEL.jpeg create mode 100644 B4A/Files/WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg create mode 100644 B4A/Files/alcancia.png create mode 100644 B4A/Files/alert2.png create mode 100644 B4A/Files/alerta.jpg create mode 100644 B4A/Files/alerta_amarilla.png create mode 100644 B4A/Files/amarillo.png create mode 100644 B4A/Files/anterior.jpg create mode 100644 B4A/Files/blacnco.jpg create mode 100644 B4A/Files/carrito.png create mode 100644 B4A/Files/checklist.bal create mode 100644 B4A/Files/checks.bal create mode 100644 B4A/Files/cliente.bal create mode 100644 B4A/Files/clientes.bal create mode 100644 B4A/Files/detalle_promo.bal create mode 100644 B4A/Files/durakelo.png create mode 100644 B4A/Files/durakelo1.png create mode 100644 B4A/Files/engrane.jpg create mode 100644 B4A/Files/engrane.png create mode 100644 B4A/Files/errormanager.bal create mode 100644 B4A/Files/fondo_kmt.jpg create mode 100644 B4A/Files/foto.bal create mode 100644 B4A/Files/foto1.jpg create mode 100644 B4A/Files/foto2.jpg create mode 100644 B4A/Files/foto3.jpg create mode 100644 B4A/Files/foto4.jpg create mode 100644 B4A/Files/guardagestion.bal create mode 100644 B4A/Files/guna_viejo.png create mode 100644 B4A/Files/historico.bal create mode 100644 B4A/Files/info_gral.resp create mode 100644 B4A/Files/infonavit1.jpg create mode 100644 B4A/Files/inventario (1).jpg create mode 100644 B4A/Files/inventario.jpg create mode 100644 B4A/Files/inventario.png create mode 100644 B4A/Files/itembuttonblue.png create mode 100644 B4A/Files/itembuttonred.png create mode 100644 B4A/Files/kelloggs.png create mode 100644 B4A/Files/kelloggs2.jpg create mode 100644 B4A/Files/kelloggs2.png create mode 100644 B4A/Files/keymon_logo.png create mode 100644 B4A/Files/kmt.db create mode 100644 B4A/Files/login.bal create mode 100644 B4A/Files/logo sanfer.jpg create mode 100644 B4A/Files/logo2.png create mode 100644 B4A/Files/logo2_192x192.png create mode 100644 B4A/Files/logo_exitus1.jpg create mode 100644 B4A/Files/mainpage.bal create mode 100644 B4A/Files/malo.jpg create mode 100644 B4A/Files/mapa.bal create mode 100644 B4A/Files/mapa_rutas.bal create mode 100644 B4A/Files/mapas.bal create mode 100644 B4A/Files/marker-azul-0.png create mode 100644 B4A/Files/marker-azul-1.png create mode 100644 B4A/Files/marker-azul-10.png create mode 100644 B4A/Files/marker-azul-100.png create mode 100644 B4A/Files/marker-azul-11.png create mode 100644 B4A/Files/marker-azul-12.png create mode 100644 B4A/Files/marker-azul-13.png create mode 100644 B4A/Files/marker-azul-14.png create mode 100644 B4A/Files/marker-azul-15.png create mode 100644 B4A/Files/marker-azul-16.png create mode 100644 B4A/Files/marker-azul-17.png create mode 100644 B4A/Files/marker-azul-18.png create mode 100644 B4A/Files/marker-azul-19.png create mode 100644 B4A/Files/marker-azul-2.png create mode 100644 B4A/Files/marker-azul-20.png create mode 100644 B4A/Files/marker-azul-21.png create mode 100644 B4A/Files/marker-azul-22.png create mode 100644 B4A/Files/marker-azul-23.png create mode 100644 B4A/Files/marker-azul-24.png create mode 100644 B4A/Files/marker-azul-25.png create mode 100644 B4A/Files/marker-azul-26.png create mode 100644 B4A/Files/marker-azul-27.png create mode 100644 B4A/Files/marker-azul-28.png create mode 100644 B4A/Files/marker-azul-29.png create mode 100644 B4A/Files/marker-azul-3.png create mode 100644 B4A/Files/marker-azul-30.png create mode 100644 B4A/Files/marker-azul-31.png create mode 100644 B4A/Files/marker-azul-32.png create mode 100644 B4A/Files/marker-azul-33.png create mode 100644 B4A/Files/marker-azul-34.png create mode 100644 B4A/Files/marker-azul-35.png create mode 100644 B4A/Files/marker-azul-36.png create mode 100644 B4A/Files/marker-azul-37.png create mode 100644 B4A/Files/marker-azul-38.png create mode 100644 B4A/Files/marker-azul-39.png create mode 100644 B4A/Files/marker-azul-4.png create mode 100644 B4A/Files/marker-azul-40.png create mode 100644 B4A/Files/marker-azul-41.png create mode 100644 B4A/Files/marker-azul-42.png create mode 100644 B4A/Files/marker-azul-43.png create mode 100644 B4A/Files/marker-azul-44.png create mode 100644 B4A/Files/marker-azul-45.png create mode 100644 B4A/Files/marker-azul-46.png create mode 100644 B4A/Files/marker-azul-47.png create mode 100644 B4A/Files/marker-azul-48.png create mode 100644 B4A/Files/marker-azul-49.png create mode 100644 B4A/Files/marker-azul-5.png create mode 100644 B4A/Files/marker-azul-50.png create mode 100644 B4A/Files/marker-azul-51.png create mode 100644 B4A/Files/marker-azul-52.png create mode 100644 B4A/Files/marker-azul-53.png create mode 100644 B4A/Files/marker-azul-54.png create mode 100644 B4A/Files/marker-azul-55.png create mode 100644 B4A/Files/marker-azul-56.png create mode 100644 B4A/Files/marker-azul-57.png create mode 100644 B4A/Files/marker-azul-58.png create mode 100644 B4A/Files/marker-azul-59.png create mode 100644 B4A/Files/marker-azul-6.png create mode 100644 B4A/Files/marker-azul-60.png create mode 100644 B4A/Files/marker-azul-61.png create mode 100644 B4A/Files/marker-azul-62.png create mode 100644 B4A/Files/marker-azul-63.png create mode 100644 B4A/Files/marker-azul-64.png create mode 100644 B4A/Files/marker-azul-65.png create mode 100644 B4A/Files/marker-azul-66.png create mode 100644 B4A/Files/marker-azul-67.png create mode 100644 B4A/Files/marker-azul-68.png create mode 100644 B4A/Files/marker-azul-69.png create mode 100644 B4A/Files/marker-azul-7.png create mode 100644 B4A/Files/marker-azul-70.png create mode 100644 B4A/Files/marker-azul-71.png create mode 100644 B4A/Files/marker-azul-72.png create mode 100644 B4A/Files/marker-azul-73.png create mode 100644 B4A/Files/marker-azul-74.png create mode 100644 B4A/Files/marker-azul-75.png create mode 100644 B4A/Files/marker-azul-76.png create mode 100644 B4A/Files/marker-azul-77.png create mode 100644 B4A/Files/marker-azul-78.png create mode 100644 B4A/Files/marker-azul-79.png create mode 100644 B4A/Files/marker-azul-8.png create mode 100644 B4A/Files/marker-azul-80.png create mode 100644 B4A/Files/marker-azul-81.png create mode 100644 B4A/Files/marker-azul-82.png create mode 100644 B4A/Files/marker-azul-83.png create mode 100644 B4A/Files/marker-azul-84.png create mode 100644 B4A/Files/marker-azul-85.png create mode 100644 B4A/Files/marker-azul-86.png create mode 100644 B4A/Files/marker-azul-87.png create mode 100644 B4A/Files/marker-azul-88.png create mode 100644 B4A/Files/marker-azul-89.png create mode 100644 B4A/Files/marker-azul-9.png create mode 100644 B4A/Files/marker-azul-90.png create mode 100644 B4A/Files/marker-azul-91.png create mode 100644 B4A/Files/marker-azul-92.png create mode 100644 B4A/Files/marker-azul-93.png create mode 100644 B4A/Files/marker-azul-94.png create mode 100644 B4A/Files/marker-azul-95.png create mode 100644 B4A/Files/marker-azul-96.png create mode 100644 B4A/Files/marker-azul-97.png create mode 100644 B4A/Files/marker-azul-98.png create mode 100644 B4A/Files/marker-azul-99.png create mode 100644 B4A/Files/marker-rojo-0.png create mode 100644 B4A/Files/marker-rojo-1.png create mode 100644 B4A/Files/marker-rojo-10.png create mode 100644 B4A/Files/marker-rojo-100.png create mode 100644 B4A/Files/marker-rojo-11.png create mode 100644 B4A/Files/marker-rojo-12.png create mode 100644 B4A/Files/marker-rojo-13.png create mode 100644 B4A/Files/marker-rojo-14.png create mode 100644 B4A/Files/marker-rojo-15.png create mode 100644 B4A/Files/marker-rojo-16.png create mode 100644 B4A/Files/marker-rojo-17.png create mode 100644 B4A/Files/marker-rojo-18.png create mode 100644 B4A/Files/marker-rojo-19.png create mode 100644 B4A/Files/marker-rojo-2.png create mode 100644 B4A/Files/marker-rojo-20.png create mode 100644 B4A/Files/marker-rojo-21.png create mode 100644 B4A/Files/marker-rojo-22.png create mode 100644 B4A/Files/marker-rojo-23.png create mode 100644 B4A/Files/marker-rojo-24.png create mode 100644 B4A/Files/marker-rojo-25.png create mode 100644 B4A/Files/marker-rojo-26.png create mode 100644 B4A/Files/marker-rojo-27.png create mode 100644 B4A/Files/marker-rojo-28.png create mode 100644 B4A/Files/marker-rojo-29.png create mode 100644 B4A/Files/marker-rojo-3.png create mode 100644 B4A/Files/marker-rojo-30.png create mode 100644 B4A/Files/marker-rojo-31.png create mode 100644 B4A/Files/marker-rojo-32.png create mode 100644 B4A/Files/marker-rojo-33.png create mode 100644 B4A/Files/marker-rojo-34.png create mode 100644 B4A/Files/marker-rojo-35.png create mode 100644 B4A/Files/marker-rojo-36.png create mode 100644 B4A/Files/marker-rojo-37.png create mode 100644 B4A/Files/marker-rojo-38.png create mode 100644 B4A/Files/marker-rojo-39.png create mode 100644 B4A/Files/marker-rojo-4.png create mode 100644 B4A/Files/marker-rojo-40.png create mode 100644 B4A/Files/marker-rojo-41.png create mode 100644 B4A/Files/marker-rojo-42.png create mode 100644 B4A/Files/marker-rojo-43.png create mode 100644 B4A/Files/marker-rojo-44.png create mode 100644 B4A/Files/marker-rojo-45.png create mode 100644 B4A/Files/marker-rojo-46.png create mode 100644 B4A/Files/marker-rojo-47.png create mode 100644 B4A/Files/marker-rojo-48.png create mode 100644 B4A/Files/marker-rojo-49.png create mode 100644 B4A/Files/marker-rojo-5.png create mode 100644 B4A/Files/marker-rojo-50.png create mode 100644 B4A/Files/marker-rojo-51.png create mode 100644 B4A/Files/marker-rojo-52.png create mode 100644 B4A/Files/marker-rojo-53.png create mode 100644 B4A/Files/marker-rojo-54.png create mode 100644 B4A/Files/marker-rojo-55.png create mode 100644 B4A/Files/marker-rojo-56.png create mode 100644 B4A/Files/marker-rojo-57.png create mode 100644 B4A/Files/marker-rojo-58.png create mode 100644 B4A/Files/marker-rojo-59.png create mode 100644 B4A/Files/marker-rojo-6.png create mode 100644 B4A/Files/marker-rojo-60.png create mode 100644 B4A/Files/marker-rojo-61.png create mode 100644 B4A/Files/marker-rojo-62.png create mode 100644 B4A/Files/marker-rojo-63.png create mode 100644 B4A/Files/marker-rojo-64.png create mode 100644 B4A/Files/marker-rojo-65.png create mode 100644 B4A/Files/marker-rojo-66.png create mode 100644 B4A/Files/marker-rojo-67.png create mode 100644 B4A/Files/marker-rojo-68.png create mode 100644 B4A/Files/marker-rojo-69.png create mode 100644 B4A/Files/marker-rojo-7.png create mode 100644 B4A/Files/marker-rojo-70.png create mode 100644 B4A/Files/marker-rojo-71.png create mode 100644 B4A/Files/marker-rojo-72.png create mode 100644 B4A/Files/marker-rojo-73.png create mode 100644 B4A/Files/marker-rojo-74.png create mode 100644 B4A/Files/marker-rojo-75.png create mode 100644 B4A/Files/marker-rojo-76.png create mode 100644 B4A/Files/marker-rojo-77.png create mode 100644 B4A/Files/marker-rojo-78.png create mode 100644 B4A/Files/marker-rojo-79.png create mode 100644 B4A/Files/marker-rojo-8.png create mode 100644 B4A/Files/marker-rojo-80.png create mode 100644 B4A/Files/marker-rojo-81.png create mode 100644 B4A/Files/marker-rojo-82.png create mode 100644 B4A/Files/marker-rojo-83.png create mode 100644 B4A/Files/marker-rojo-84.png create mode 100644 B4A/Files/marker-rojo-85.png create mode 100644 B4A/Files/marker-rojo-86.png create mode 100644 B4A/Files/marker-rojo-87.png create mode 100644 B4A/Files/marker-rojo-88.png create mode 100644 B4A/Files/marker-rojo-89.png create mode 100644 B4A/Files/marker-rojo-9.png create mode 100644 B4A/Files/marker-rojo-90.png create mode 100644 B4A/Files/marker-rojo-91.png create mode 100644 B4A/Files/marker-rojo-92.png create mode 100644 B4A/Files/marker-rojo-93.png create mode 100644 B4A/Files/marker-rojo-94.png create mode 100644 B4A/Files/marker-rojo-95.png create mode 100644 B4A/Files/marker-rojo-96.png create mode 100644 B4A/Files/marker-rojo-97.png create mode 100644 B4A/Files/marker-rojo-98.png create mode 100644 B4A/Files/marker-rojo-99.png create mode 100644 B4A/Files/marker-verde-0.png create mode 100644 B4A/Files/marker-verde-1.png create mode 100644 B4A/Files/marker-verde-10.png create mode 100644 B4A/Files/marker-verde-100.png create mode 100644 B4A/Files/marker-verde-11.png create mode 100644 B4A/Files/marker-verde-12.png create mode 100644 B4A/Files/marker-verde-13.png create mode 100644 B4A/Files/marker-verde-14.png create mode 100644 B4A/Files/marker-verde-15.png create mode 100644 B4A/Files/marker-verde-16.png create mode 100644 B4A/Files/marker-verde-17.png create mode 100644 B4A/Files/marker-verde-18.png create mode 100644 B4A/Files/marker-verde-19.png create mode 100644 B4A/Files/marker-verde-2.png create mode 100644 B4A/Files/marker-verde-20.png create mode 100644 B4A/Files/marker-verde-21.png create mode 100644 B4A/Files/marker-verde-22.png create mode 100644 B4A/Files/marker-verde-23.png create mode 100644 B4A/Files/marker-verde-24.png create mode 100644 B4A/Files/marker-verde-25.png create mode 100644 B4A/Files/marker-verde-26.png create mode 100644 B4A/Files/marker-verde-27.png create mode 100644 B4A/Files/marker-verde-28.png create mode 100644 B4A/Files/marker-verde-29.png create mode 100644 B4A/Files/marker-verde-3.png create mode 100644 B4A/Files/marker-verde-30.png create mode 100644 B4A/Files/marker-verde-31.png create mode 100644 B4A/Files/marker-verde-32.png create mode 100644 B4A/Files/marker-verde-33.png create mode 100644 B4A/Files/marker-verde-34.png create mode 100644 B4A/Files/marker-verde-35.png create mode 100644 B4A/Files/marker-verde-36.png create mode 100644 B4A/Files/marker-verde-37.png create mode 100644 B4A/Files/marker-verde-38.png create mode 100644 B4A/Files/marker-verde-39.png create mode 100644 B4A/Files/marker-verde-4.png create mode 100644 B4A/Files/marker-verde-40.png create mode 100644 B4A/Files/marker-verde-41.png create mode 100644 B4A/Files/marker-verde-42.png create mode 100644 B4A/Files/marker-verde-43.png create mode 100644 B4A/Files/marker-verde-44.png create mode 100644 B4A/Files/marker-verde-45.png create mode 100644 B4A/Files/marker-verde-46.png create mode 100644 B4A/Files/marker-verde-47.png create mode 100644 B4A/Files/marker-verde-48.png create mode 100644 B4A/Files/marker-verde-49.png create mode 100644 B4A/Files/marker-verde-5.png create mode 100644 B4A/Files/marker-verde-50.png create mode 100644 B4A/Files/marker-verde-51.png create mode 100644 B4A/Files/marker-verde-52.png create mode 100644 B4A/Files/marker-verde-53.png create mode 100644 B4A/Files/marker-verde-54.png create mode 100644 B4A/Files/marker-verde-55.png create mode 100644 B4A/Files/marker-verde-56.png create mode 100644 B4A/Files/marker-verde-57.png create mode 100644 B4A/Files/marker-verde-58.png create mode 100644 B4A/Files/marker-verde-59.png create mode 100644 B4A/Files/marker-verde-6.png create mode 100644 B4A/Files/marker-verde-60.png create mode 100644 B4A/Files/marker-verde-61.png create mode 100644 B4A/Files/marker-verde-62.png create mode 100644 B4A/Files/marker-verde-63.png create mode 100644 B4A/Files/marker-verde-64.png create mode 100644 B4A/Files/marker-verde-65.png create mode 100644 B4A/Files/marker-verde-66.png create mode 100644 B4A/Files/marker-verde-67.png create mode 100644 B4A/Files/marker-verde-68.png create mode 100644 B4A/Files/marker-verde-69.png create mode 100644 B4A/Files/marker-verde-7.png create mode 100644 B4A/Files/marker-verde-70.png create mode 100644 B4A/Files/marker-verde-71.png create mode 100644 B4A/Files/marker-verde-72.png create mode 100644 B4A/Files/marker-verde-73.png create mode 100644 B4A/Files/marker-verde-74.png create mode 100644 B4A/Files/marker-verde-75.png create mode 100644 B4A/Files/marker-verde-76.png create mode 100644 B4A/Files/marker-verde-77.png create mode 100644 B4A/Files/marker-verde-78.png create mode 100644 B4A/Files/marker-verde-79.png create mode 100644 B4A/Files/marker-verde-8.png create mode 100644 B4A/Files/marker-verde-80.png create mode 100644 B4A/Files/marker-verde-81.png create mode 100644 B4A/Files/marker-verde-82.png create mode 100644 B4A/Files/marker-verde-83.png create mode 100644 B4A/Files/marker-verde-84.png create mode 100644 B4A/Files/marker-verde-85.png create mode 100644 B4A/Files/marker-verde-86.png create mode 100644 B4A/Files/marker-verde-87.png create mode 100644 B4A/Files/marker-verde-88.png create mode 100644 B4A/Files/marker-verde-89.png create mode 100644 B4A/Files/marker-verde-9.png create mode 100644 B4A/Files/marker-verde-90.png create mode 100644 B4A/Files/marker-verde-91.png create mode 100644 B4A/Files/marker-verde-92.png create mode 100644 B4A/Files/marker-verde-93.png create mode 100644 B4A/Files/marker-verde-94.png create mode 100644 B4A/Files/marker-verde-95.png create mode 100644 B4A/Files/marker-verde-96.png create mode 100644 B4A/Files/marker-verde-97.png create mode 100644 B4A/Files/marker-verde-98.png create mode 100644 B4A/Files/marker-verde-99.png create mode 100644 B4A/Files/mas-azul-red1.png create mode 100644 B4A/Files/menosred.png create mode 100644 B4A/Files/nota.bal create mode 100644 B4A/Files/noventa.bal create mode 100644 B4A/Files/nuevocliente.bal create mode 100644 B4A/Files/palomita_verde.png create mode 100644 B4A/Files/pedido.bal create mode 100644 B4A/Files/planfia_logo.png create mode 100644 B4A/Files/planfia_logo_old.png create mode 100644 B4A/Files/planfia_logo_old2.png create mode 100644 B4A/Files/principal.bal create mode 100644 B4A/Files/productos.bal create mode 100644 B4A/Files/profina.jpg create mode 100644 B4A/Files/profina.png create mode 100644 B4A/Files/proitem.bal create mode 100644 B4A/Files/qr.bal create mode 100644 B4A/Files/rechazo.jpg create mode 100644 B4A/Files/rojo.png create mode 100644 B4A/Files/salma.jpg create mode 100644 B4A/Files/salma.png create mode 100644 B4A/Files/senial.jpg create mode 100644 B4A/Files/sync.png create mode 100644 B4A/Files/tache_rojo.png create mode 100644 B4A/Files/telefonos.bal create mode 100644 B4A/Files/ticketsdia.bal create mode 100644 B4A/Files/tiendita.jpg create mode 100644 B4A/Files/transporte.png create mode 100644 B4A/Files/verde.png create mode 100644 B4A/Files/vista1.png create mode 100644 B4A/Files/vista2.png create mode 100644 B4A/Files/vista3.png create mode 100644 B4A/Files/vista4.png create mode 100644 B4A/Files/whatsapp image 2022-11-17 at 11.50.59 am.jpg create mode 100644 B4A/Files/whatsapp.png create mode 100644 B4A/Files/whatstel.png create mode 100644 B4A/HttpUtils2Service.bas create mode 100644 B4A/KelloggsV3.b4a create mode 100644 B4A/MAPA_RUTAS.bas create mode 100644 B4A/Mods.bas create mode 100644 B4A/SD_Spinner.bas create mode 100644 B4A/Starter.bas create mode 100644 B4A/Subs.bas create mode 100644 B4A/Tracker.bas create mode 100644 B4A/errorManager.bas create mode 100644 B4A/foto.bas create mode 100644 gitpull.bat diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..618d244 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +**/Objects +**/AutoBackups +*.meta \ No newline at end of file diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas new file mode 100644 index 0000000..d306b29 --- /dev/null +++ b/B4A/B4XMainPage.bas @@ -0,0 +1,595 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=9.85 +@EndOfDesignText@ +#Region Shared Files +#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files" +'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True +'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip +'########################################################################################################### +'###################### PULL ############################################################# +'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=..\..\gitpull.bat +'########################################################################################################### +'###################### PUSH ############################################################# +'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\ +'########################################################################################################### +#End Region + +Sub Class_Globals + Private Root As B4XView + Private xui As XUI + Public login As B4XMainPage + Public principal As C_Principal + Public clientes As C_Clientes + Public cliente As C_Cliente + Public productos As C_Productos + Public updateAvailable As C_updateAvailable + Public mapas As C_Mapas + Public nuevoCliente As C_NuevoCliente + Public ticketsDia As C_TicketsDia + Public noVenta As C_NoVenta + Public nota As C_Nota + Public pedidos As C_Pedidos + Public promos As C_Promos + Public historico As C_Historico + Public checklist As C_CheckList + + + Dim reqManager As DBRequestManager + Dim ultimaActualizacionGPS As String = 235959 + Dim almacen, ruta As String + Dim user As EditText + Dim pass As EditText + Dim c As Cursor + Dim D As Cursor + Dim existe As String + Dim paso1 As String + Dim IMEI As String + Dim alterno As String + Private b_menu As Button +' Dim PopupMenu As RSPopupMenu + Dim cmd As DBCommand + + Private IMEN As EditText + Private Entrar As Button + Private Panel1 As Panel + Private ImageView4 As ImageView + Private E_SERVER As EditText + Private B_SERVER As Button + Private B_FECHA As Button + Private CUANTOS As String + Private foto_g () As Byte + + Private ListView1 As ListView + Private ImageView1 As ImageView + Private Label1 As Label + Private B_BorrarFinDia As Button + Private b_fdCancelar As Button + Private b_findiaOk As Button + Private p_finDia As Panel + Private et_autSup As EditText + + 'prueba downloadfile + Dim ProgressBar1 As ProgressBar + Dim Label1 As Label + Dim btnDownload As Button + Dim btnCancel As Button + Private p_download As Panel + Private Label6 As Label + Dim logger As Boolean = True +End Sub + +Public Sub Initialize + B4XPages.GetManager.LogEvents = True + #if not(DEBUG) + Starter.logger = False + #end if +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + If Not(Starter.Logger) Then logger = False + Root = Root1 +' Root.LoadLayout("MainPage") + Root.LoadLayout("login") + B4XPages.SetTitle(Me, "Kelloggs Preventa") + login.Initialize + B4XPages.AddPage("Login", login) + principal.Initialize + B4XPages.AddPage("Principal", principal) + clientes.Initialize + B4XPages.AddPage("Clientes", clientes) + cliente.Initialize + B4XPages.AddPageAndCreate("Cliente", cliente) + productos.Initialize + B4XPages.AddPage("Productos", productos) + updateAvailable.Initialize + B4XPages.AddPage("updateAvailable", updateAvailable) + mapas.Initialize + B4XPages.AddPage("Mapas", mapas) + nuevoCliente.Initialize + B4XPages.AddPage("NuevoCliente", nuevoCliente) + ticketsDia.Initialize + B4XPages.AddPage("TicketsDia", ticketsDia) + noVenta.Initialize + B4XPages.AddPage("NoVenta", noVenta) + nota.Initialize + B4XPages.AddPage("Nota", nota) + pedidos.Initialize + B4XPages.AddPage("Pedidos", pedidos) + promos.Initialize + B4XPages.AddPage("Promos", promos) + historico.Initialize + B4XPages.AddPage("Historico", historico) + checklist.Initialize + B4XPages.AddPage("CheckList", checklist) + ruta = Starter.ruta + ruta = File.DirInternal + Starter.tiempos.Initialize + Dim sDate, sTime As String + DateTime.DateFormat = "yyyyMMdd" + sDate=DateTime.Date(DateTime.Now) + Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS PEDIDO3") + Starter.skmt.ExecNonQuery("CREATE TABLE PEDIDO3 (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS DESC_CLIENTES (DC_CL_CLIENTE TEXT, CAT_CL_DESCUENTO_SS TEXT, CAT_CL_DESCUENTO_RTEC TEXT, CAT_CL_DESCUENTO_PING TEXT, CAT_CL_TIPOCLIENTE TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_DESCUENTOS_SKU (CAT_DS_CLIENTE TEXT, CAT_DS_PRODID TEXT, CAT_DS_PORCENTAJE TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENVIOS (HE_FECHA TEXT, HE_CUANTOS TEXT, HE_TIPO TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_FOTOS (HF_FOTO BLOB, HF_CUENTA TEXT, HF_IDENCUESTA TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTE_IMPRESO (CI_CUENTA TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMO_MONTO (CPM_IDPROMO TEXT, CPM_MONTO TEXT, CPM_PROID TEXT, CPM_CLIENTE TEXT, CPM_CANT TEXT, CPM_RANGO TEXT, CPM_DESC TEXT)") + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO")) + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_EXHIBIDORES2 (HIST_EX_ID_CLIENTE TEXT, HIST_EX_TIPO TEXT, HIST_EX_CANT TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PROMO_WHATS(HIST_CLIENTE TEXT, HIST_RESPUESTA_PROMO)") + + + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTE_CARGA_DIA (CCD_CUENTA TEXT)") + + ''' PARA LO DE DOE--- + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD_DOE (CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_IMP1 TEXT,CAT_GP_IMP2 TEXT,CAT_GP_PRECIO TEXT,CAT_GP_CLASIF TEXT,CAT_GP_STS TEXT,CAT_GP_TIPO TEXT,CAT_GP_SUBTIPO TEXT,CAT_GP_IMG TEXT,CAT_GP_ALMACEN TEXT,CAT_GP_TIPOPROD TEXT,CAT_GP_INICIATIVA TEXT,CAT_GP_DEV TEXT,CAT_GP_CODPROMO TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_DOE (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDOS_DOE_ENTREGA (PC_CLIENTE TEXT, PC_ENTREGA TEXT)") + ''' FIN DOE + + Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "IMPRESION" en la tabla + c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('kmt_info') WHERE name='IMPRESION'") + c.Position = 0 + If c.GetString("fCol") = 0 Then 'Si no esta la columna FECHA la agregamos + Starter.skmt.ExecNonQuery("ALTER TABLE kmt_info ADD COLUMN IMPRESION INTEGER") + End If + Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch + Try + Starter.skmt.ExecNonQuery("ALTER TABLE kmt_info ADD COLUMN IMPRESION INTEGER") + Catch + Log(LastException) + End Try + End Try + If sDate = "20190523" Then + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER", Starter.server)) + End If + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("ULTIMOMODULO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ULTIMOMODULO", "MAIN")) + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) + c.Position =0 + If c.GetString("CUANTOS") = 0 Then + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",Starter.server)) + Else + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) + c.Position =0 + Starter.server = c.GetString("CAT_VA_VALOR") + reqManager.Initialize(Me, Starter.server) + End If + reqManager.Initialize(Me, Starter.server) +' Activity.LoadLayout("login") + Label1.Text = Application.VersionName + Log("Revisa permisos para external storage") + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + If Result Then Log("Tenemos permisos de escritura externa.") + Log("TERMINA PERMISOS") + Log("Revisamos permisos para location") + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + If Result Then + StartService(Tracker) + If logger Then Log("Start Tracker") + Else + ToastMessageShow("Sin permisos para GPS", True) + End If + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_COARSE_LOCATION) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + If Result Then + StartService(Tracker) + If logger Then Log("Start Tracker") + Else + ToastMessageShow("Sin permisos para GPS", True) + End If + Log("TERMINA PERMISOS LOC") + If logger Then LogColor("Revisa permisos Phone_State", Colors.Green) + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + If Result Then +' Dim Phn As PhoneId + IMEN.Text = "" + IMEI = "" + If logger Then LogColor($"////////////////// IMEI: ${IMEI} ////////////////// "$, Colors.Blue) + End If + Log("TERMINA PERMISOS Phone") + c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS FROM TMP_INSPECCION_AUTO_DIARIA") + c.Position = 0 + CUANTOS = c.GetString("CUANTOS") + c.Close + If CUANTOS = 0 Then + Dim theDir As String + If File.IsDirectory("/","kmts") Then + theDir = "/kmts" + End If + Try + File.MakeDir(File.DirInternal,"kmts") + theDir = "/kmts" + LogColor(File.DirInternal, Colors.Red) + Catch + theDir = "" + End Try + Try + foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista1.png")) + Dim SALIDA As OutputStream + SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO1.jpg", False) + SALIDA.WriteBytes(foto_g, 0, foto_g.Length) + SALIDA.Close +' If Logger Then LogColor("** ** Creamos FOTO1.jpg en "&File.DirInternal, Colors.Blue) + Catch + Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore + End Try + Try + foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista3.png")) + Dim SALIDA As OutputStream + SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO2.jpg", False) + SALIDA.WriteBytes(foto_g, 0, foto_g.Length) + SALIDA.Close + Catch + Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore + End Try + Try + foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista2.png")) + Dim SALIDA As OutputStream + SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO3.jpg", False) + SALIDA.WriteBytes(foto_g, 0, foto_g.Length) + SALIDA.Close + Catch + Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore + End Try + Try + foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista4.png")) + Dim SALIDA As OutputStream + SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO4.jpg", False) + SALIDA.WriteBytes(foto_g, 0, foto_g.Length) + SALIDA.Close + Catch + Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore + End Try + End If +' Dim ph As Phone 'Get Id Device + Dim DeviceID As String = Starter.ph.GetSettings("android_id").ToUpperCase + If logger Then Log($"Marca: ${Starter.ph.manufacturer}, Modelo: ${Starter.ph.model}"$) + If logger Then LogColor($"////////////////// DeviceID: ${DeviceID} ////////////////// "$, Colors.Blue) + + + 'este codigo es para lo del menu +' PopupMenu.Initialize("PopupMenu", b_menu) +' PopupMenu.AddMenuItem(0, 0, "View") +' PopupMenu.AddMenuItem(1, 1, "Edit") +' PopupMenu.AddMenuItem(2, 2, "Details") +' PopupMenu.AddMenuItem(3, 3, "Remove") + ' menu fin + Subs.borraArribaDe100Errores +End Sub + +Sub B4XPage_Appear +' server = "http://keymon.com.mx:1782" +' server = "http://201.99.139.28:1782" +' server = "http://177.244.63.54:1782" + reqManager.Initialize(Me, Starter.server) + Starter.montoActual = 0 + Starter.clientesTotal = 0 + Starter.clientesVenta = 0 + Starter.clientesVisitados = 0 + almacen = 0 + Starter.rutaPreventa = 0 + Starter.CANTIDADPROD = 0 + c.Close + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CODIGO")) + c.Position =0 + CUANTOS = c.GetString("CUANTOS") + c.Close + If CUANTOS > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CODIGO")) + c.Position =0 + If c.GetString("CAT_VA_VALOR") = "743" Then + Entrar.Visible = True + End If + c.Close + Else + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CODIGO","743")) + End If + c=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) + c.Position =0 + If c.GetString("CUANTOS") = 0 Then + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0")) + End If + D=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version") + D.Position=0 + If D.GetString("CUANTOS") > 0 Then + c=Starter.skmt.ExecQuery("select NOVERSION from version") + c.Position = 0 + If c.GetString("NOVERSION") = "2.1" Then + Starter.skmt.ExecNonQuery("delete from VERSION") + End If + c.Close + End If + D.Close + D=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version") + D.Position=0 + If D.GetString("CUANTOS") > 0 Then + c=Starter.skmt.ExecQuery("select NOVERSION from version") + c.Position = 0 + If c.GetString("NOVERSION") <> "2.95" Then + Msgbox("INSTALAR NUEVO APK" ,"AVISO") 'ignore + B4XPage_Appear + End If + c.Close + End If +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub Entrar_Click + If user.Text = "ALTERNO" Then + c=Starter.skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER")) + c.Position =0 + Starter.server = c.GetString("CAT_CO_CONFIGURACION") + alterno = c.GetString("CAT_CO_RESULTADO") + c.Close + If alterno = 1 Then + Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER")) + Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 0 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER")) + Else if alterno = 2 Then + Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER")) + Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 0 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER")) + End If + c=Starter.skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER")) + c.Position =0 + Starter.server = c.GetString("CAT_CO_CONFIGURACION") + user.Text = Starter.server + c.Close + reqManager.Initialize(Me, Starter.server) + else if user.Text = "KMTSKLL1" Then + Starter.skmt.ExecNonQuery("delete from usuarioa") + Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text)) + Starter.skmt.ExecNonQuery("delete from cat_almacen") + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (pass.Text)) + Starter.skmt.ExecNonQuery("delete from VERSION") + Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.95")) + B4XPages.ShowPage("Principal") + End If + c=Starter.skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text)) + c.Position=0 + existe = c.GetString("EXISTE1") + 'existe = 1 + If existe = 0 Then + 'skmt.ExecNonQuery("delete from usuarioa") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_usuario_guna_KELL" + cmd.Parameters = Array As Object(user.Text, pass.Text) + reqManager.ExecuteQuery(cmd , 0, "usuario") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_version_KELL" + reqManager.ExecuteQuery(cmd , 0, "version") + Else + B4XPages.ShowPage("Principal") + End If +End Sub + +Sub JobDone(Job As HttpJob) + If Job.Success = False Then + ToastMessageShow("Error: " & Job.ErrorMessage, True) + Else + If logger Then LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110 + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "version" Then 'query tag + For Each records() As Object In result.Rows + Starter.skmt.ExecNonQuery("delete from VERSION") + Dim CAT_VE_VERSION As String = records(result.Columns.Get("CAT_VE_VERSION")) + Starter.skmt.ExecNonQuery("delete from VERSION") + Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "agencia" Then 'query tag + For Each records() As Object In result.Rows + Dim ID_ALMACEN As String = records(result.Columns.Get("ID_ALMACEN")) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "fecha" Then 'query tag + For Each records() As Object In result.Rows + Starter.FECHA_HOY = records(result.Columns.Get("FECHA")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA", Starter.FECHA_HOY)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "usuario" Then 'query tag + For Each records() As Object In result.Rows + Dim name As String = records(result.Columns.Get("USUARIO")) + Dim ID_ALMACEN As String = records(result.Columns.Get("CAT_LO_AGENCIA")) + If logger Then Log(name) + ' Dim IMEI_BASE As String = records(result.Columns.Get("CAT_LO_IDTELEFONO")) + Next + paso1 = 1 + End If + End If + Job.Release + End If + + If paso1 =1 Then + If name = "OKActivo" Then + Starter.skmt.ExecNonQuery("delete from usuarioa") + Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text)) + Starter.skmt.ExecNonQuery("delete from cat_almacen") + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (ID_ALMACEN)) + almacen = ID_ALMACEN + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0)) + B4XPages.ShowPage("Principal") + Else If name = "OKExpirado" Then + Msgbox("Usuario Expirado llamar al administrador","") 'ignore + Else If name = "OKCancelado" Then + Msgbox("Usuario Cancelado llamar al administrador","") 'ignore + Else + Msgbox("Usuario o password No validos","") 'ignore + End If + paso1 = 0 + End If +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub + ' BACK key pressed + 'Return True to close, False to cancel + Log("BACK") + If Panel1.Visible Then + Panel1.Visible = False + Entrar.Visible = True + Return True + Else + If logger Then Log("Saliendo") + B4XPages.ClosePage(Me) + Subs.cierraActividades + Return True + End If +End Sub + +Sub GPS_LocationChanged (Location1 As Location) + If user.text = "GPS" Then + user.Text=Location1.Latitude + pass.text=Location1.Longitude + End If +End Sub + +Sub PopupMenu_Dismiss + ToastMessageShow("PopupMenu dismissed", False) +End Sub + +Sub PopupMenu_MenuItemClick (ItemId As Int) As Boolean + ToastMessageShow("Item " & ItemId & " clicked.", False) + Return False +End Sub + +Sub b_menu_Click +' PopupMenu.Show +End Sub + +Sub IMEN_EnterPressed + +End Sub + +Sub user_EnterPressed + If user.Text = "CODIGO" Then + IMEN.Visible = True + user.Text = "" + End If +End Sub + +Sub ImageView4_Click + Entrar.Visible = False +' Starter.server = "http://201.99.139.28:1782" +' Starter.server = "http://177.244.63.54:1782" +' Starter.server = "http://keymon.com.mx:1782" + ListView1.Clear + Dim Label1 As Label + Label1 = ListView1.SingleLineLayout.Label + Label1.TextSize = 20 + Label1.TextColor = Colors.Black + If user.Text = "KMTS1" Then ListView1.AddSingleLine("http://10.0.0.205:1782") + ListView1.AddSingleLine("http://keymon.lat:1782") + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) + c.Position =0 + E_SERVER.text = c.GetString("CAT_VA_VALOR") + Panel1.Visible = True + Panel1.Width = Root.Width * 0.95 + Panel1.Left = (Root.Width/2) - (Panel1.Width/2) + Panel1.Top = (Root.Height/2) - (Panel1.Height/2) + Panel1.Elevation = 100 + Panel1.BringToFront +End Sub + +Private Sub ImageView4_LongClick +' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) +' Wait For Activity_PermissionResult (Permission As String, Result As Boolean) + Subs.copiaDB(True) +End Sub + +Sub B_SERVER_Click + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",E_SERVER.text)) + Starter.server = E_SERVER.text + If logger Then Log("Inicializamos reqManager con " & Starter.server) + reqManager.Initialize(Me, Starter.server) + CallSubDelayed(Starter, "reinicializaReqManager") + Panel1.Visible = False + Entrar.Visible = True +End Sub + +Sub B_FECHA_Click + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0")) + Panel1.Visible = False +End Sub + +Sub ListView1_ItemClick (Position As Int, Value As Object) + E_SERVER.text = Value +End Sub + +Sub ImageView1_Click + +End Sub + +Sub B_BorrarFinDia_Click + p_finDia.Visible = True + p_finDia.BringToFront +End Sub + +Sub b_fdCancelar_Click + p_finDia.Visible = False + p_finDia.SendToBack +End Sub + +Sub b_findiaOk_Click + c=Starter.skmt.ExecQuery2("select count(*) as passOk from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ? and CAT_VA_VALOR = ?", Array As String ("FINDIA_PASS", et_autSup.Text)) + c.Position =0 + If c.GetString("passOk") = 1 Or et_autSup.Text = "FinDiaAutOk" Then + Starter.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'") + ToastMessageShow("Ya se puede hacer FIN DIA!!", True) + p_finDia.Visible = False + p_finDia.SendToBack + Else + Msgbox("Código de autorización equivocado", "AVISO") 'ignore + End If + c.Close +End Sub \ No newline at end of file diff --git a/B4A/C_Calculadora.bas b/B4A/C_Calculadora.bas new file mode 100644 index 0000000..b9774e4 --- /dev/null +++ b/B4A/C_Calculadora.bas @@ -0,0 +1,710 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '--***---- BOLETA DE LIQUIDACION + Private P_BOLETA As Panel + '------ BILLETES + Private LBL_TMIL As Label + Private LBL_TQUIN As Label + Private LBL_TDOS As Label + Private LBL_TCIEN As Label + Private LBL_TCIN As Label + Private LBL_TVEIN As Label + Private LBL_MIL As Label + Private LBL_QUIN As Label + Private LBL_DOSC As Label + Private LBL_CIEN As Label + Private LBL_CINCUEN As Label + Private LBL_VEINTE As Label + Private EDT_CANVEIN As EditText + Private EDT_CANCIN As EditText + Private EDT_CANCIEN As EditText + Private EDT_CANDOS As EditText + Private EDT_CANQUIN As EditText + Private EDT_CANMIL As EditText + Private Btn_TOTALBILLETE As Button + Private Pnl_Billete As Panel + Private Pnl_Moneda As Panel + Private L_CALCULA_BILLE As Label + '------ BOTONES MAS Y MENOS + Private B_MENMIL As Button + Private B_SUMIL As Button + Private B_MENQUI As Button + Private B_SUQUI As Button + Private B_MENDOS As Button + Private B_SUDOS As Button + Private B_MENCIE As Button + Private B_SUCIEN As Button + Private B_MENCIN As Button + Private B_SUCIN As Button + Private B_MENVEI As Button + Private B_SUVEI As Button + '------ MONEDAS + Private L_DIEZ As Label + Private L_CINCO As Label + Private L_DOS As Label + Private L_UNO As Label + Private L_CENTAVO As Label + Private LBL_TDIEZ As Label + Private LBL_TCI As Label + Private LBL_TDO As Label + Private LBL_TUN As Label + Private LBL_TCEN As Label + Private EDT_CANCEN As EditText + Private EDT_CANUN As EditText + Private EDT_CANDO As EditText + Private EDT_CANCI As EditText + Private EDT_CANDIEZ As EditText + Private L_CALCULA_MONEDA As Label + Private B_TOTALMONEDA As Button + '------ BOTONES MAS Y MENOS + Private B_MENCENT As Button + Private B_MENUN As Button + Private B_MENDO As Button + Private B_MENCI As Button + Private B_MENDIEZ As Button + Private B_SUMDIEZ As Button + Private B_SUMCIN As Button + Private B_SUMDO As Button + Private B_SUMUN As Button + Private B_SUMCENT As Button + '------ SUMA TOTALES + Private B_AGREGAMONE As Button + Private B_AGREGABILL As Button + Private TOTALES As Label + Private B_SUM_TOTAL As Button + Private TOTALBILLETES As Button + Private TOTALMONEDA As Button + Private PNL_TOTALES As Panel + Private LBL_RETURN As Label + Private IMG_IMPRESORA As Label + Private LBL_REGRESA As Label + '--***---- FIN BOLETA +' Private P_INF_GENERAL As Panel + Private B_Regresar As Button +' Private ABORDO As String + Private a_inicial As String + Private a_total As String + Private a_venta As String + Private a_final As String + Private a_VENTA_F As String + Private a_inicial_5 As String + Private L_INVA As ListView + Private B_IMP_INV As Button + Private B_CERRAR_I As Button + Private Panel_INV_A As Panel + Private LBL_TVEINTE As Label + Private B_SUMVEINTE As Button + Private EDT_CANVEINTE As EditText + Private B_MENVEINTE As Button + Private L_VEINTE As Label + Dim RutaBoleta As String + Dim Id_Almacen As String + Dim cursorBoleta As Cursor + Private Bt_GuardarBoleta As Button + Private CUANTOS1 As String + Private Panel9 As Panel + Private t_tenc As Label + Private E_RES_E As EditText + Private B_E_NEXT As Button + Private Label26 As Label + Private l_chk_e As Label + Private Chk_1 As CheckBox + Private chk_2 As CheckBox + Private chk_3 As CheckBox + Private b_chk_e As Button + Private Panel10 As Panel + Private chk_1_valor As String + Private chk_2_valor As String + Private chk_3_valor As String + Private p_encuesta As Panel + Private b_encuesta_1 As Button + Private b_encuesta_2 As Button + Private b_encuesta_3 As Button + Private l_titEncuesta As Label + Private l_txtEncuesta As Label + Private encuestaRes As String + Private botonPresionado As Int + Private B_IMP2 As Button + Dim impresoraConectada As Boolean = False + Private l_categoria2 As Label + Private l_exhibidor2 As Label + Private p_exhibidores As Panel + Private Button1 As Button + Private b_exhibidor As Button + Private l_exhibidores3 As Label + Private l_segmento2 As Label + Private et_encuesta As EditText + Private b_encuesta_continuar As Button + Dim muestraBoleta As Boolean = False + Private Panel4 As Panel + + Private Edt_FH As EditText +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("calculadora") +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub LLAMA_BOLETA + '' FECHA DE TELEFONO + DateTime.DateFormat="dd/MM/yyyy" + Edt_FH.Text=DateTime.Date(DateTime.Now) + Subs.panelAnchoAlto(PNL_TOTALES, Root.Width, Root.Height) + PNL_TOTALES.Visible=True + Pnl_Billete.Visible=True + Pnl_Moneda.visible=True + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + P_BOLETA.Visible=True +' P_INF_GENERAL.Visible=False + LBL_REGRESA.Visible=True + Private c As Cursor = Starter.skmt.ExecQuery("select * from TMP_CAT_BILLETE join TMP_CAT_MONEDAS") + If c.RowCount > 0 Then + c.Position = 0 + Log("==================== CALCULADORA "&c.ColumnCount) +' Traemos billetes + EDT_CANMIL.Text = "0" + If IsNumber(c.GetString("TMP_BILLE_MIL")) Then EDT_CANMIL.Text = c.GetString("TMP_BILLE_MIL") + EDT_CANQUIN.Text = "0" + If c.GetString("TMP_BILLE_QUINIENTOS")<> Null Then EDT_CANQUIN.Text = c.GetString("TMP_BILLE_QUINIENTOS") + EDT_CANDOS.Text = "0" + If c.GetString("TMP_BILLE_DOSCIENTOS") <>Null Then EDT_CANDOS.Text = c.GetString("TMP_BILLE_DOSCIENTOS") + EDT_CANCIEN.Text = "0" + If c.GetString("TMP_BILLE_CIEN")<> Null Then EDT_CANCIEN.Text = c.GetString("TMP_BILLE_CIEN") + EDT_CANCIN.Text = "0" + If c.GetString("TMP_BILLE_CINCUENTA")<> Null Then EDT_CANCIN.Text = c.GetString("TMP_BILLE_CINCUENTA") + EDT_CANVEIN.Text = "0" + If c.GetString("TMP_BILLE_VEINTE")<> Null Then EDT_CANVEIN.Text = c.GetString("TMP_BILLE_VEINTE") +' Traemos monedas + EDT_CANVEINTE.Text = "0" + If c.GetString("TMP_MON_VEINTE")<> Null Then EDT_CANVEINTE.Text = c.GetString("TMP_MON_VEINTE") + EDT_CANDIEZ.Text = "0" + If c.GetString("TMP_MON_DIEZ")<> Null Then EDT_CANDIEZ.Text = c.GetString("TMP_MON_DIEZ") + EDT_CANCI.Text = "0" + If c.GetString("TMP_MON_CINCO")<> Null Then EDT_CANCI.Text = c.GetString("TMP_MON_CINCO") + EDT_CANDO.Text = "0" + If c.GetString("TMP_MON_DOS")<> Null Then EDT_CANDO.Text = c.GetString("TMP_MON_DOS") + EDT_CANUN.Text = "0" + If c.GetString("TMP_MON_UN")<> Null Then EDT_CANUN.Text = c.GetString("TMP_MON_UN") + EDT_CANCEN.Text = "0" + If c.GetString("TMP_MON_CENTAVOS")<> Null Then EDT_CANCEN.Text = c.GetString("TMP_MON_CENTAVOS") + L_CALCULA_BILLE_CLICK + L_CALCULA_MONEDA_Click + B_SUM_TOTAL.Text = TOTALBILLETES.Text + TOTALMONEDA.text + End If + Starter.boleta = 0 + muestraBoleta = False + c.Close +End Sub + +'''BILLETES +Sub L_CALCULA_BILLE_CLICK + If EDT_CANMIL.Text="" Or EDT_CANQUIN.Text="" Or EDT_CANDOS.Text="" Or EDT_CANCIEN.Text="" Or EDT_CANCIN.Text="" Or EDT_CANVEIN.Text="" Then + Pnl_Billete.RequestFocus + Msgbox("Por favor llena todas las cantidades","") 'ignore + Else + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'20 +Private Sub EDT_CANVEIN_FocusChanged (HasFocus As Boolean) + If EDT_CANVEIN.Text = "" Then EDT_CANVEIN.Text = "0" + EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUVEI_Click + If EDT_CANVEIN.Text = "" Then + EDT_CANVEIN.Text=0 + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Else + EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text + 1) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENVEI_Click + If EDT_CANVEIN.Text = "" Then + EDT_CANVEIN.Text=0 + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Else IF EDT_CANVEIN.Text > 0 Then + EDT_CANVEIN.Text = Round(EDT_CANVEIN.Text -1) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub +'50 +Private Sub EDT_CANCIN_FocusChanged (HasFocus As Boolean) + If EDT_CANCIN.Text = "" Then EDT_CANCIN.Text = "0" + EDT_CANCIN.Text = Round (EDT_CANCIN.Text) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUCIN_Click + If EDT_CANCIN.Text = "" Then + EDT_CANCIN.Text =0 + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Else + EDT_CANCIN.Text = Round (EDT_CANCIN.Text + 1) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENCIN_Click + If EDT_CANCIN.Text = "" Then + EDT_CANCIN.Text =0 + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Else IF EDT_CANCIN.Text > 0 Then + EDT_CANCIN.Text = Round(EDT_CANCIN.Text -1) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'100 +Private Sub EDT_CANCIEN_FocusChanged (HasFocus As Boolean) + If EDT_CANCIEN.Text = "" Then EDT_CANCIEN.Text = "0" + EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUCIEN_Click + If EDT_CANCIEN.Text = "" Then + EDT_CANCIEN.Text = 0 + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Else + EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text + 1) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENCIE_Click + If EDT_CANCIEN.Text = "" Then + EDT_CANCIEN.Text = 0 + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Else IF EDT_CANCIEN.Text > 0 Then + EDT_CANCIEN.Text = Round(EDT_CANCIEN.Text -1) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'200 +Private Sub EDT_CANDOS_FocusChanged (HasFocus As Boolean) + If EDT_CANDOS.Text = "" Then EDT_CANDOS.Text = "0" + EDT_CANDOS.Text = Round (EDT_CANDOS.Text) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUDOS_Click + If EDT_CANDOS.Text = "" Then + EDT_CANDOS.Text = 0 + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Else + EDT_CANDOS.Text = Round (EDT_CANDOS.Text + 1) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENDOS_Click + If EDT_CANDOS.Text = "" Then + EDT_CANDOS.Text = 0 + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Else IF EDT_CANDOS.Text > 0 Then + EDT_CANDOS.Text = Round(EDT_CANDOS.Text -1) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'500 +Private Sub EDT_CANQUIN_FocusChanged (HasFocus As Boolean) + If EDT_CANQUIN.Text = "" Then EDT_CANQUIN.Text = "0" + EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUQUI_Click + If EDT_CANQUIN.Text = "" Then + EDT_CANQUIN.Text =0 + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Else + EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text + 1) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENQUI_Click + If EDT_CANQUIN.Text = "" Then + EDT_CANQUIN.Text =0 + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Else IF EDT_CANQUIN.Text > 0 Then + EDT_CANQUIN.Text = Round(EDT_CANQUIN.Text -1) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub +'1000 +Private Sub EDT_CANMIL_FocusChanged (HasFocus As Boolean) + If EDT_CANMIL.Text = "" Then EDT_CANMIL.Text = "0" + EDT_CANMIL.Text = Round (EDT_CANMIL.Text ) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUMIL_Click + If EDT_CANMIL.Text = "" Then + EDT_CANMIL.Text = 0 + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Else + EDT_CANMIL.Text = Round (EDT_CANMIL.Text + 1) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENMIL_Click + If EDT_CANMIL.Text = "" Then + EDT_CANMIL.Text = 1 + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Else IF EDT_CANMIL.Text > 0 Then + EDT_CANMIL.Text = Round(EDT_CANMIL.Text -1) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'''' MONEDAS +Sub L_CALCULA_MONEDA_Click + If EDT_CANDIEZ.Text="" Or EDT_CANCI.Text="" Or EDT_CANDO.Text="" Or EDT_CANUN.Text="" Or EDT_CANCEN.Text="" Or EDT_CANVEINTE.Text="" Then + Msgbox("Por favor llena todas las cantidades","") 'ignore + Pnl_Billete.RequestFocus + Else + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + LBL_TVEINTE.Text=L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'0.50 +Private Sub EDT_CANCEN_FocusChanged (HasFocus As Boolean) + If EDT_CANCEN.Text = "" Then EDT_CANCEN.Text = "0" + EDT_CANCEN.Text = Round (EDT_CANCEN.Text) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMCENT_Click + If EDT_CANCEN.Text = "" Then + EDT_CANCEN.Text = 0 + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + Else + EDT_CANCEN.Text = Round (EDT_CANCEN.Text + 1) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENCENT_Click + If EDT_CANCEN.Text = "" Then + EDT_CANCEN.Text =0 + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + Else IF EDT_CANCEN.Text > 0 Then + EDT_CANCEN.Text = Round(EDT_CANCEN.Text -1) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'1 +Private Sub EDT_CANUN_FocusChanged (HasFocus As Boolean) + If EDT_CANUN.Text = "" Then EDT_CANUN.Text = "0" + EDT_CANUN.Text = Round (EDT_CANUN.Text) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMUN_Click + If EDT_CANUN.Text = "" Then + + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + Else + EDT_CANUN.Text = Round (EDT_CANUN.Text + 1) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENUN_Click + If EDT_CANUN.Text = "" Then + EDT_CANUN.Text = 0 + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + Else IF EDT_CANUN.Text > 0 Then + EDT_CANUN.Text = Round(EDT_CANUN.Text -1) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'2 +Private Sub EDT_CANDO_FocusChanged (HasFocus As Boolean) + If EDT_CANDO.Text = "" Then EDT_CANDO.Text = "0" + EDT_CANDO.Text = Round (EDT_CANDO.Text) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMDO_Click + If EDT_CANDO.Text = "" Then + EDT_CANDO.Text =0 + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + Else + EDT_CANDO.Text = Round (EDT_CANDO.Text + 1) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENDO_Click + If EDT_CANDO.Text = "" Then + EDT_CANDO.Text=0 + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + Else IF EDT_CANDO.Text > 0 Then + EDT_CANDO.Text = Round(EDT_CANDO.Text -1) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'5 +Private Sub EDT_CANCI_FocusChanged (HasFocus As Boolean) + If EDT_CANCI.Text = "" Then EDT_CANCI.Text = "0" + EDT_CANCI.Text = Round (EDT_CANCI.Text) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMCIN_Click + If EDT_CANCI.Text = "" Then + EDT_CANCI.Text =0 + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + Else + EDT_CANCI.Text = Round (EDT_CANCI.Text + 1) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENCI_Click + If EDT_CANCI.Text = "" Then + EDT_CANCI.Text =0 + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + Else IF EDT_CANCI.Text > 0 Then + EDT_CANCI.Text = Round(EDT_CANCI.Text -1) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub +'10 +Private Sub EDT_CANDIEZ_FocusChanged (HasFocus As Boolean) + If EDT_CANDIEZ.Text = "" Then EDT_CANDIEZ.Text = "0" + EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMDIEZ_Click + If EDT_CANDIEZ.Text = "" Then + EDT_CANDIEZ.Text =0 + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + Else + EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text + 1) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENDIEZ_Click + If EDT_CANDIEZ.Text = "" Then + EDT_CANDIEZ.Text = 0 + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + Else IF EDT_CANDIEZ.Text > 0 Then + EDT_CANDIEZ.Text = Round(EDT_CANDIEZ.Text -1) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'20 +Private Sub EDT_CANVEINTE_FocusChanged (HasFocus As Boolean) + If EDT_CANVEINTE.Text = "" Then EDT_CANVEINTE.Text = "0" + EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_MENVEINTE_Click + If EDT_CANVEINTE.Text = "" Then + EDT_CANVEINTE.Text = 0 + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + Else IF EDT_CANVEINTE.Text > 0 Then + EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text -1) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_SUMVEINTE_Click + If EDT_CANVEINTE.Text = "" Then + EDT_CANVEINTE.Text =0 + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + Else + EDT_CANVEINTE.Text = Round (EDT_CANVEINTE.Text + 1) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +''''''TOTALES +Sub TOTALES_Click + If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then + TOTALMONEDA.Text=0 + TOTALBILLETES.Text=0 + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + Else + B_SUM_TOTAL.Text= "$"&(TOTALMONEDA.Text + TOTALBILLETES.Text) + End If +End Sub + +Sub B_AGREGABILL_Click + Pnl_Billete.Visible=True + Pnl_Moneda.Visible=False + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub B_AGREGAMONE_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=True + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub LBL_RETURN_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=False + PNL_TOTALES.Visible=True + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + ''' CALCULO FINAL + If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then + TOTALMONEDA.Text=0 + TOTALBILLETES.Text=0 + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + Else + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + End If +End Sub + +Sub LBL_REGRESA_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=False + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + PNL_TOTALES.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub B_Regresar_Click +' StartActivity("SELECCION") + Subs.iniciaActividad("principal") +' B4XPages.ShowPage("Principal") +' Activity.Finish + PNL_TOTALES.Visible=False + Pnl_Billete.Visible=False + Pnl_Moneda.visible=False + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + P_BOLETA.Visible=False +' P_INF_GENERAL.Visible=True + LBL_REGRESA.Visible=False +End Sub \ No newline at end of file diff --git a/B4A/C_CheckList.bas b/B4A/C_CheckList.bas new file mode 100644 index 0000000..5fc7e73 --- /dev/null +++ b/B4A/C_CheckList.bas @@ -0,0 +1,939 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim reqManager As DBRequestManager + Dim ruta As String + Dim c As Cursor + Dim C2 As Cursor + Private frontCamera As Boolean = False + Dim OK_CheckList As Int + '//Globals + Dim IME As IME + Private Edt_FH As EditText + Private Sp_MENU As Spinner + Dim LISTMENU As List + Private LB_CATEGORIA As Label + Private SCROLLPRINC As ScrollView + Private Pnl_CABINA As Panel + Dim sDate,sTime As String + ''''''''' PANELS CHECKS + Private camEx As CameraExClass + Private Rb_4_4 As RadioButton + Private Rb_3_4 As RadioButton + Private Rb_2_4 As RadioButton + Private Rb_1_4 As RadioButton + Private Lb_4 As Label + Private Lb_3 As Label + Private Lb_2 As Label + Private Lb_1 As Label + Private Et_KilometrajeIni As EditText + Private Cbox_Claxon As CheckBox + Private Cbox_Parabrisas As CheckBox + Private Cbox_Cinturon As CheckBox + Private Cbox_Espejos As CheckBox + Private Cbox_Licencia As CheckBox + Private Pnl_CabinaInfo As Panel + Private Pnl_MotorEncen As Panel + Private Pnl_Inspec As Panel + Private Pnl_CofreAbierto As Panel + Private Pnl_Carga As Panel + Private SP_MENUC As SD_Spinner + Private Im_1 As ImageView + Private Im2 As ImageView + Private Im3 As ImageView + Private Im4 As ImageView + Private Bt_Foto1 As Button + Private Bt_Foto2 As Button + Private Bt_Foto3 As Button + Private Bt_Foto4 As Button + Private Bt_GuardarCheck As Button + Private N_Ruta As String + Private Id_Almacen As String + Private Combustible As String + Private PLACAS As String + '' PANEL 2 + Private Ch_OBJETOSINE As CheckBox + Private CH_OBJMPERV As CheckBox + Private Ch_ORHERRA As CheckBox + Private Ch_LIMPIO As CheckBox + Private Ch_UNILIMPIA As CheckBox + Private Ch_BASURA As CheckBox + Private Ch_RESPON As CheckBox + Private Ch_AUDITORIA As CheckBox + Private Ch_HABITUAL As CheckBox + '' PANEL 3 + Private Ch_HERRAMIENTAS As CheckBox + Private Ch_CONOS As CheckBox + Private Ch_EDOCARROCE As CheckBox + Private Ch_FUN_LUCES As CheckBox + Private Ch_PLACAS_CIRCU As CheckBox + Private Ch_COND_LLANTAS As CheckBox + '' PANEL 4 + Private Ch_ACEITEMOTOR As CheckBox + Private Ch_ACEITEDIREC As CheckBox + Private Ch_NVL_REFRIGE As CheckBox + Private Ch_NVL_LIQUIDBRI As CheckBox + Private Ch_COND_BANMOTOR As CheckBox + ''''' PANEL5 + Private Ch_FUGASGRAL As CheckBox + Private Ch_FRENOS As CheckBox + Private Edt_COMENTARIO As AutoCompleteEditText + Private Pnl_Fotos As Panel + Private btnTakePicture As Button + Private b_guardar As Button + Private Pnl_foto As Panel + Dim camera1 As Camera + Private TOMO_FOTO1 As String + Private TOMO_FOTO2 As String + Private TOMO_FOTO3 As String + Private TOMO_FOTO4 As String + Private LBL_REGRESA As Label + Private Label5 As Label + Dim out As OutputStream + Private CUANTOS As String +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("checklist") + SCROLLPRINC.Panel.LoadLayout("checks") + SCROLLPRINC.Panel.Height = Pnl_MotorEncen.Height + IME.Initialize("IME") + IME.AddHeightChangedEvent + + OK_CheckList=0 + Pnl_CabinaInfo.Visible=True + btnTakePicture.Enabled = True + camera1.Initialize(Pnl_foto, "Camera1") + + LISTMENU.IsInitialized + LISTMENU.Initialize + LISTMENU.AddAll(Array As String ("Cabina con switch encendido", "Cabina y espacio de carga", "Inspección General Exterior", "Cofre abierto, motor apagado","Con motor encendido")) + + SP_MENUC.AddAll(LISTMENU,"CheckList",Colors.White,Colors.Blue,Gravity.CENTER) + DateTime.DateFormat="dd/MM/yyyy" + Edt_FH.Text=DateTime.Date(DateTime.Now) + ruta = File.DirInternal +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub Camera1_Ready (Success As Boolean) + Log("Camara lista") + If Success Then + camera1.StartPreview + camera1.Initialize(Pnl_foto, "Camera1") + btnTakePicture.Enabled = True + Else + ToastMessageShow("No se puede abrir la camara.", True) + End If +End Sub + +Sub B4XPage_Appear + reqManager.Initialize(Me, Starter.server) +' If Subs.traeUltimaActividadBD <> "CHECKLIST_AUTO" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) + c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS FROM TMP_INSPECCION_AUTO_DIARIA") + c.Position = 0 + CUANTOS = c.GetString("CUANTOS") + c.Close + If CUANTOS > 0 Then + If Et_KilometrajeIni.Text = "" Then + c=Starter.skmt.ExecQuery("select * from tmp_inspeccion_auto_diaria") + If c.RowCount > 0 Then + c.Position = 0 + If c.GetString("TMP_AUTO_COMBUSTIBLE") = "4/4" Then Rb_4_4.Checked = True + If c.GetString("TMP_AUTO_COMBUSTIBLE") = "3/4" Then Rb_3_4.Checked = True + If c.GetString("TMP_AUTO_COMBUSTIBLE") = "2/4" Then Rb_2_4.Checked = True + If c.GetString("TMP_AUTO_COMBUSTIBLE") = "1/4" Then Rb_1_4.Checked = True + If c.GetString("TMP_AUTO_KILOMETRAJE") <> "" Then Et_KilometrajeIni.text = c.GetString("TMP_AUTO_KILOMETRAJE") + If c.GetString("TMP_AUTO_CLAXON ") = "1" Then Cbox_Claxon.Checked = True + If c.GetString("TMP_AUTO_PARABRISAS ") = "1" Then Cbox_Parabrisas.Checked = True + If c.GetString("TMP_AUTO_CINTURON ") = "1" Then Cbox_Cinturon.Checked = True + If c.GetString("TMP_AUTO_ESPEJOS ") = "1" Then Cbox_Espejos.Checked = True + If c.GetString("TMP_AUTO_LICENCIA ") = "1" Then Cbox_Licencia.Checked = True + If c.GetString("TMP_AUTO_LIB_OBJETOSINE ") = "1" Then Ch_OBJETOSINE.Checked = True + If c.GetString("TMP_AUTO_LIB_OBJETOTMPERVI ") = 1 Then CH_OBJMPERV.Checked = True + If c.GetString("TMP_AUTO_ORDEN_HERRA ") = "1" Then Ch_ORHERRA.Checked = True + If c.GetString("TMP_AUTO_UNILIMPIA ") = "1" Then Ch_UNILIMPIA.Checked = True + If c.GetString("TMP_AUTO_LIMPIO ") = "1" Then Ch_LIMPIO.Checked = True + If c.GetString("TMP_AUTO_BASURA ") = "1" Then Ch_BASURA.Checked = True + If c.GetString("TMP_AUTO_RESPONSABILIDAD ") ="1" Then Ch_RESPON.Checked = True + If c.GetString("TMP_AUTO_AUDITORIA ") = "1" Then Ch_AUDITORIA.Checked = True + If c.GetString("TMP_AUTO_HABITUAL ") = "1" Then Ch_HABITUAL.Checked = True + If c.GetString("TMP_AUTO_HERRAMIENTAS ") = "1" Then Ch_HERRAMIENTAS.Checked = True + If c.GetString("TMP_AUTO_CONOS ") = "1" Then Ch_CONOS.Checked = True + If c.GetString("TMP_AUTO_EDO_CARROCERIA ") = "1" Then Ch_EDOCARROCE.Checked = True + If c.GetString("TMP_AUTO_FUN_LUCES ") = "1" Then Ch_FUN_LUCES.Checked = True + If c.GetString("TMP_AUTO_PLACAS_CIRCU ") = "1" Then Ch_PLACAS_CIRCU.Checked = True + If c.GetString("TMP_AUTO_COND_LLANTAS ") = "1" Then Ch_COND_LLANTAS.Checked = True + If c.GetString("TMP_AUTO_ACEITEMOTOR ") = "1" Then Ch_ACEITEMOTOR.Checked = True + If c.GetString("TMP_AUTO_ACEITEDIREC ") = "1" Then Ch_ACEITEDIREC.Checked = True + If c.GetString("TMP_AUTO_NVL_REFRIGERANTE ") = "1" Then Ch_NVL_REFRIGE.Checked = True + If c.GetString("TMP_AUTO_NVL_LIQUIDBRISAS ") = "1" Then Ch_NVL_LIQUIDBRI.Checked = True + If c.GetString("TMP_AUTO_COND_BANMOTOR ") = "1" Then Ch_COND_BANMOTOR.Checked = True + If c.GetString("TMP_AUTO_FUGASGRAL ") = "1" Then Ch_FUGASGRAL.Checked = True + If c.GetString("TMP_AUTO_FRENOS ") = "1" Then Ch_FRENOS.Checked = True + If c.GetString("TMP_AUTO_COMENTARIOS ") <> "" Then Edt_COMENTARIO.text = c.GetString("TMP_AUTO_COMENTARIOS ") + End If + End If + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=True + Pnl_MotorEncen.Visible=True + Pnl_CofreAbierto.Visible=False + If File.Exists(File.DirInternal,"FOTO1.jpg") = True Then + Im_1.Bitmap = LoadBitmap(File.DirInternal, "FOTO1.jpg") + Else + If File.Exists(File.DirInternal,"FOTO1.jpg") = False Then + Im_1.Bitmap = LoadBitmap(File.DirAssets,"foto1.jpg") + End If + End If + If File.Exists(File.DirInternal,"FOTO2.jpg") = True Then + Im2.Bitmap = LoadBitmap(File.DirInternal, "FOTO2.jpg") + Else + If File.Exists(File.DirInternal,"FOTO2.jpg") = False Then + Im2.Bitmap = LoadBitmap(File.DirAssets,"foto2.jpg") + End If + End If + If File.Exists(File.DirInternal,"FOTO3.jpg") = True Then + Im3.Bitmap = LoadBitmap(File.DirInternal, "FOTO3.jpg") + Else + If File.Exists(File.DirInternal,"FOTO3.jpg") = False Then + Im3.Bitmap = LoadBitmap(File.DirAssets,"foto3.jpg") + End If + End If + If File.Exists(File.DirInternal,"FOTO4.jpg") = True Then + Im4.Bitmap = LoadBitmap(File.DirInternal, "FOTO4.jpg") + Else + If File.Exists(File.DirInternal,"FOTO4.jpg") = False Then + Im4.Bitmap = LoadBitmap(File.DirAssets,"foto4.jpg") + End If + End If + End If +End Sub + +Sub Camera1_PictureTaken (Data() As Byte) + Log("foto tomada") + camera1.StartPreview + If Bt_Foto1.Tag="1" Then + Dim salida As OutputStream + salida = File.OpenOutput(File.DirInternal, "FOTO1.jpg", False) + salida.WriteBytes(Data, 0, Data.Length) + salida.Close + ToastMessageShow("FOTO GUARDADA "& "FOTO1.jpg", True) + Bt_Foto1.Tag="2" + End If + If Bt_Foto2.Tag="1" Then + Dim salida As OutputStream + salida = File.OpenOutput(File.DirInternal, "FOTO2.jpg", False) + salida.WriteBytes(Data, 0, Data.Length) + salida.Close + ToastMessageShow("FOTO GUARDADA "& "FOTO2.jpg", True) + Bt_Foto2.Tag="2" + End If + If Bt_Foto3.Tag="1" Then + Dim salida As OutputStream + salida = File.OpenOutput(File.DirInternal, "FOTO3.jpg", False) + salida.WriteBytes(Data, 0, Data.Length) + salida.Close + ToastMessageShow("FOTO GUARDADA "& "FOTO3.jpg", True) + Bt_Foto3.Tag="2" + End If + If Bt_Foto4.Tag="1" Then + Dim salida As OutputStream + salida = File.OpenOutput(File.DirInternal, "FOTO4.jpg", False) + salida.WriteBytes(Data, 0, Data.Length) + salida.Close + ToastMessageShow("FOTO GUARDADA "& "FOTO4.jpg", True) + Bt_Foto4.Tag="2" + End If +End Sub + +Sub btnTakePicture_Click + btnTakePicture.Enabled = True + camera1.TakePicture +End Sub + +Sub Nvl_Combustible_CheckedChange(Checked As Boolean) + If Rb_1_4.Checked Then + Lb_1.Visible=True + Lb_2.Visible=False + Lb_3.Visible=False + Lb_4.Visible=False + End If + If Rb_2_4.Checked Then + Lb_1.Visible=False + Lb_2.Visible=True + Lb_3.Visible=False + Lb_4.Visible=False + End If + If Rb_3_4.Checked Then + Lb_1.Visible=False + Lb_2.Visible=False + Lb_3.Visible=True + Lb_4.Visible=False + End If + If Rb_4_4.Checked Then + Lb_1.Visible=False + Lb_2.Visible=False + Lb_3.Visible=False + Lb_4.Visible=True + End If +End Sub + +Sub SP_MENUC_ItemClick (Position As Int, Value As String) + LB_CATEGORIA.Text =LISTMENU.Get(Position) + If LB_CATEGORIA.Text = "Cabina con switch encendido" Then + Pnl_CabinaInfo.Visible=True + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=False + Pnl_MotorEncen.Visible=False + Pnl_CofreAbierto.Visible=False + End If + If LB_CATEGORIA.Text = "Cabina y espacio de carga" Then + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=True + Pnl_Inspec.Visible=False + Pnl_MotorEncen.Visible=False + Pnl_CofreAbierto.Visible=False + End If + If LB_CATEGORIA.Text = "Inspección General Exterior" Then + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=True + Pnl_MotorEncen.Visible=False + Pnl_CofreAbierto.Visible=False + End If + If LB_CATEGORIA.Text = "Cofre abierto, motor apagado" Then + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=False + Pnl_MotorEncen.Visible=False + Pnl_CofreAbierto.Visible=True + If Pnl_CofreAbierto.Visible=True Then + Pnl_Fotos.visible=False + End If + End If + If LB_CATEGORIA.Text = "Con motor encendido" Then + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=True + Pnl_MotorEncen.Visible=True + Pnl_CofreAbierto.Visible=False + End If +End Sub + +Sub Bt_GuardarCheck_Click + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + N_Ruta=0 + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info") + If c.RowCount > 0 Then + c.Position=0 + N_Ruta= c.GetString("CAT_CL_RUTA") + End If + C2=Starter.skmt.ExecQuery("select ID_ALMACEN FROM CAT_ALMACEN") + C2.Position=0 + Id_Almacen=C2.GetString("ID_ALMACEN") + ''''''''''''''''''''''''''''''''''''NIVELES DE GASOLINA CHECK'''''''''''''''''' + If Rb_1_4.Checked Then + Combustible="1/4" + End If + If Rb_2_4.Checked Then + Combustible="2/4" + End If + If Rb_3_4.Checked Then + Combustible="3/4" + End If + If Rb_4_4.Checked Then + Combustible="4/4" + End If + ''''''''''''''''''''''''''''''''''''INDICADORES DE TABLERO'''''''''''''''''' + If Cbox_Claxon.Checked=True Then + Cbox_Claxon.Tag="1" + Else + Cbox_Claxon.Tag="0" + End If + If Cbox_Cinturon.Checked=True Then + Cbox_Cinturon.Tag="1" + Else + Cbox_Cinturon.Tag="0" + End If + If Cbox_Parabrisas.Checked=True Then + Cbox_Parabrisas.Tag="1" + Else + Cbox_Parabrisas.Tag="0" + End If + If Cbox_Espejos.Checked=True Then + Cbox_Espejos.Tag="1" + Else + Cbox_Espejos.Tag="0" + End If + If Cbox_Licencia.Checked=True Then + Cbox_Licencia.Tag="1" + Else + Cbox_Licencia.Tag="0" + End If + '''''' SEGUNDO PANEL + If Ch_OBJETOSINE.Checked=True Then + Ch_OBJETOSINE.Tag="1" + Else + Ch_OBJETOSINE.Tag="0" + End If + If CH_OBJMPERV.Checked=True Then + CH_OBJMPERV.Tag="1" + Else + CH_OBJMPERV.Tag="0" + End If + If Ch_ORHERRA.Checked=True Then + Ch_ORHERRA.Tag="1" + Else + Ch_ORHERRA.Tag="0" + End If + If Ch_UNILIMPIA.Checked=True Then + Ch_UNILIMPIA.Tag="1" + Else + Ch_UNILIMPIA.Tag="0" + End If + If Ch_LIMPIO.Checked=True Then + Ch_LIMPIO.Tag="1" + Else + Ch_LIMPIO.Tag="0" + End If + If Ch_BASURA.Checked=True Then + Ch_BASURA.Tag="1" + Else + Ch_BASURA.Tag="0" + End If + If Ch_RESPON.Checked=True Then + Ch_RESPON.Tag="1" + Else + Ch_RESPON.Tag="0" + End If + If Ch_AUDITORIA.Checked=True Then + Ch_AUDITORIA.Tag="1" + Else + Ch_AUDITORIA.Tag="0" + End If + If Ch_HABITUAL.Checked=True Then + Ch_HABITUAL.Tag="1" + Else + Ch_HABITUAL.Tag="0" + End If + ''''' PANEL 3 + If Ch_HERRAMIENTAS.Checked=True Then + Ch_HERRAMIENTAS.Tag="1" + Else + Ch_HERRAMIENTAS.Tag="0" + End If + If Ch_CONOS.Checked=True Then + Ch_CONOS.Tag="1" + Else + Ch_CONOS.Tag="0" + End If + If Ch_EDOCARROCE.Checked=True Then + Ch_EDOCARROCE.Tag="1" + Else + Ch_EDOCARROCE.Tag="0" + End If + If Ch_FUN_LUCES.Checked=True Then + Ch_FUN_LUCES.Tag="1" + Else + Ch_FUN_LUCES.Tag="0" + End If + If Ch_PLACAS_CIRCU.Checked=True Then + Ch_PLACAS_CIRCU.Tag="1" + Else + Ch_PLACAS_CIRCU.Tag="0" + End If + If Ch_COND_LLANTAS.Checked=True Then + Ch_COND_LLANTAS.Tag="1" + Else + Ch_COND_LLANTAS.Tag="0" + End If + '''' PANEL 4 + If Ch_ACEITEMOTOR.Checked=True Then + Ch_ACEITEMOTOR.Tag="1" + Else + Ch_ACEITEMOTOR.Tag="0" + End If + If Ch_ACEITEDIREC.Checked=True Then + Ch_ACEITEDIREC.Tag="1" + Else + Ch_ACEITEDIREC.Tag="0" + End If + If Ch_NVL_REFRIGE.Checked=True Then + Ch_NVL_REFRIGE.Tag="1" + Else + Ch_NVL_REFRIGE.Tag="0" + End If + If Ch_NVL_LIQUIDBRI.Checked=True Then + Ch_NVL_LIQUIDBRI.Tag="1" + Else + Ch_NVL_LIQUIDBRI.Tag="0" + End If + If Ch_COND_BANMOTOR.Checked=True Then + Ch_COND_BANMOTOR.Tag="1" + Else + Ch_COND_BANMOTOR.Tag="0" + End If + ''''' PANEL 5 + If Ch_FUGASGRAL.Checked=True Then + Ch_FUGASGRAL.Tag="1" + Else + Ch_FUGASGRAL.Tag="0" + End If + If Ch_FRENOS.Checked=True Then + Ch_FRENOS.Tag="1" + Else + Ch_FRENOS.Tag="0" + End If + c=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") ) + c.Position=0 + PLACAS = c.GetString("CUANTOS") + c.Close + If PLACAS > 0 Then + c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") ) + c.Position=0 + PLACAS = c.GetString("CAT_VA_VALOR") + c.Close + Else + PLACAS = "0000" + End If + '''''''''''''''''''''''''''''''''' FOTOS ''''''''''''''''''''''''''''''' + Private fotosOk As Int = 0 + If Not(File.Exists(File.DirInternal,"FOTO1.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO2.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO3.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO4.jpg")) Then + Msgbox("Por favor tomar las 4 fotos.", "Atención") 'ignore + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=True + Pnl_MotorEncen.Visible=True + Pnl_CofreAbierto.Visible=False + Else + fotosOk = 1 + End If + '''''''''''''''''''''' Kilometraje inicial ''''''''''''''''' + Private kmsOk As Int = 0 + If Et_KilometrajeIni.Text="" Then + Msgbox("Atención","Ingresa el Kilometraje Inicial") 'ignore + Pnl_CabinaInfo.Visible=True + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=False + Pnl_MotorEncen.Visible=False + Pnl_CofreAbierto.Visible=False + Else + kmsOk = 1 + End If + + If kmsOk = 1 And fotosOk = 1 Then + CUANTOS = 0 + c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS FROM TMP_INSPECCION_AUTO_DIARIA") + If c.RowCount > 0 Then + c.Position = 0 + CUANTOS = c.GetString("CUANTOS") + Log("Info checklist: " & CUANTOS) + End If + c.Close + If CUANTOS = 0 Then + Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") 'Mod por CHV - 211125 + Starter.skmt.ExecNonQuery2("INSERT INTO TMP_INSPECCION_AUTO_DIARIA ( " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & "," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & "," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO1" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO2" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO3" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO4" & Chr(34) & " ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (N_Ruta,PLACAS,Null,Id_Almacen,sDate,Et_KilometrajeIni.Text,Combustible,1,Cbox_Claxon.Tag,Cbox_Parabrisas.Tag,Cbox_Cinturon.Tag,Cbox_Espejos.Tag,Cbox_Licencia.Tag,Ch_OBJETOSINE.Tag,CH_OBJMPERV.Tag,Ch_ORHERRA.Tag,Ch_UNILIMPIA.Tag,Ch_LIMPIO.Tag,Ch_BASURA.Tag,Ch_RESPON.Tag,Ch_AUDITORIA.Tag,Ch_HABITUAL.Tag,Ch_HERRAMIENTAS.Tag,Ch_CONOS.Tag,Ch_EDOCARROCE.Tag,Ch_FUN_LUCES.Tag,Ch_PLACAS_CIRCU.Tag,Ch_COND_LLANTAS.Tag,Ch_ACEITEMOTOR.Tag,Ch_ACEITEDIREC.Tag,Ch_NVL_REFRIGE.Tag,Ch_NVL_LIQUIDBRI.Tag,Ch_COND_BANMOTOR.Tag,Ch_FUGASGRAL.Tag,Ch_FRENOS.Tag,Edt_COMENTARIO.TeXT)) + Log("Guardamos Kilometraje") + Else + Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") 'Mod por CHV - 211125 + Starter.skmt.ExecNonQuery2("INSERT INTO TMP_INSPECCION_AUTO_DIARIA ( " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & "," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & "," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO1" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO2" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO3" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO4" & Chr(34) & " ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (N_Ruta,PLACAS,Null,Id_Almacen,sDate,Et_KilometrajeIni.Text,Combustible,1,Cbox_Claxon.Tag,Cbox_Parabrisas.Tag,Cbox_Cinturon.Tag,Cbox_Espejos.Tag,Cbox_Licencia.Tag,Ch_OBJETOSINE.Tag,CH_OBJMPERV.Tag,Ch_ORHERRA.Tag,Ch_UNILIMPIA.Tag,Ch_LIMPIO.Tag,Ch_BASURA.Tag,Ch_RESPON.Tag,Ch_AUDITORIA.Tag,Ch_HABITUAL.Tag,Ch_HERRAMIENTAS.Tag,Ch_CONOS.Tag,Ch_EDOCARROCE.Tag,Ch_FUN_LUCES.Tag,Ch_PLACAS_CIRCU.Tag,Ch_COND_LLANTAS.Tag,Ch_ACEITEMOTOR.Tag,Ch_ACEITEDIREC.Tag,Ch_NVL_REFRIGE.Tag,Ch_NVL_LIQUIDBRI.Tag,Ch_COND_BANMOTOR.Tag,Ch_FUGASGRAL.Tag,Ch_FRENOS.Tag,Edt_COMENTARIO.TeXT)) + Log("Guardamos Kilometraje") + End If + OK_CheckList = 1 + Msgbox("DATOS GUARDADOS CON EXITO ","") 'ignore + mandaCheckList + B4XPages.ShowPage("Principal") + End If +End Sub + +Sub mandaCheckList + ProgressDialogShow("Enviando checklist al servidor") + Log("Enviando CheckList") + Private contador_env As Int = 0 + Private foto1() As Byte + Private foto2() As Byte + Private foto3() As Byte + Private foto4() As Byte + If File.Exists(File.DirInternal,"FOTO1.jpg") And File.Exists(File.DirInternal,"FOTO2.jpg") And _ + File.Exists(File.DirInternal,"FOTO3.jpg") And File.Exists(File.DirInternal,"FOTO4.jpg") Then + foto1 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO1.jpg")) + foto2 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO2.jpg")) + foto3 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO3.jpg")) + foto4 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO4.jpg")) + Else + ToastMessageShow("FOTOS INCOMPLETAS!!", True) + End If + Private cl As Cursor=Starter.skmt.ExecQuery("SELECT " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & " as TMP_AUTO_RUTA," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & " as TMP_AUTO_PLACA," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & " as TMP_AUTO_CEDIS," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & " as TMP_AUTO_IDALMACEN," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & " as TMP_AUTO_FECHA," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & " as TMP_AUTO_KILOMETRAJE," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & " as TMP_AUTO_COMBUSTIBLE," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & " as TMP_AUTO_TABLERO," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & " as TMP_AUTO_CLAXON," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & " as TMP_AUTO_PARABRISAS," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & " as TMP_AUTO_CINTURON," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " as TMP_AUTO_ESPEJOS," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " as TMP_AUTO_LICENCIA," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " as TMP_AUTO_LIB_OBJETOSINE," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & " as TMP_AUTO_LIB_OBJETOTMPERVI," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & " as TMP_AUTO_ORDEN_HERRA," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & " as TMP_AUTO_UNILIMPIA," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & " as TMP_AUTO_LIMPIO," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & " as TMP_AUTO_BASURA," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & " as TMP_AUTO_RESPONSABILIDAD," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & " as TMP_AUTO_AUDITORIA," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & " as TMP_AUTO_HABITUAL," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & " as TMP_AUTO_HERRAMIENTAS," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & " as TMP_AUTO_CONOS," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & " as TMP_AUTO_EDO_CARROCERIA," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & " as TMP_AUTO_FUN_LUCES," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & " as TMP_AUTO_PLACAS_CIRCU," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & " as TMP_AUTO_COND_LLANTAS," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & " as TMP_AUTO_ACEITEMOTOR," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & " as TMP_AUTO_ACEITEDIREC," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & " as TMP_AUTO_NVL_REFRIGERANTE," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & " as TMP_AUTO_NVL_LIQUIDBRISAS," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & " as TMP_AUTO_COND_BANMOTOR," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & " as TMP_AUTO_FUGASGRAL," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & " as TMP_AUTO_FRENOS," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & " as TMP_AUTO_COMENTARIOS FROM TMP_INSPECCION_AUTO_DIARIA") + If cl.RowCount>0 Then + For i=0 To cl.RowCount -1 + cl.Position=i + If File.Exists(File.DirInternal,"FOTO1.jpg") And File.Exists(File.DirInternal,"FOTO2.jpg") And _ + File.Exists(File.DirInternal,"FOTO3.jpg") And File.Exists(File.DirInternal,"FOTO4.jpg") Then + foto1 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO1.jpg")) + foto2 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO2.jpg")) + foto3 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO3.jpg")) + foto4 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO4.jpg")) + Else + ToastMessageShow("FOTOS INCOMPLETAS!!", True) + End If + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "INSERT_TMP_INSPECCION_AUTO_DIARIA" + cmd.Parameters = Array As Object(cl.GetString("TMP_AUTO_RUTA"),cl.GetString("TMP_AUTO_PLACA"),cl.GetString("TMP_AUTO_CEDIS"),cl.GetString("TMP_AUTO_IDALMACEN"),cl.GetString("TMP_AUTO_FECHA"),cl.GetString("TMP_AUTO_KILOMETRAJE"),cl.GetString("TMP_AUTO_COMBUSTIBLE"),cl.GetString("TMP_AUTO_TABLERO"),cl.GetString("TMP_AUTO_CLAXON"),cl.GetString("TMP_AUTO_PARABRISAS"),cl.GetString("TMP_AUTO_CINTURON"),cl.GetString("TMP_AUTO_ESPEJOS"),cl.GetString("TMP_AUTO_LICENCIA"),cl.GetString("TMP_AUTO_LIB_OBJETOSINE"),cl.GetString("TMP_AUTO_LIB_OBJETOTMPERVI"),cl.GetString("TMP_AUTO_ORDEN_HERRA"),cl.GetString("TMP_AUTO_UNILIMPIA"),cl.GetString("TMP_AUTO_LIMPIO"),cl.GetString("TMP_AUTO_BASURA"),cl.GetString("TMP_AUTO_RESPONSABILIDAD"),cl.GetString("TMP_AUTO_AUDITORIA"),cl.GetString("TMP_AUTO_HABITUAL"),cl.GetString("TMP_AUTO_HERRAMIENTAS"),cl.GetString("TMP_AUTO_CONOS"),cl.GetString("TMP_AUTO_EDO_CARROCERIA"),cl.GetString("TMP_AUTO_FUN_LUCES"),cl.GetString("TMP_AUTO_PLACAS_CIRCU"),cl.GetString("TMP_AUTO_COND_LLANTAS"),cl.GetString("TMP_AUTO_ACEITEMOTOR"),cl.GetString("TMP_AUTO_ACEITEDIREC"),cl.GetString("TMP_AUTO_NVL_REFRIGERANTE"),cl.GetString("TMP_AUTO_NVL_LIQUIDBRISAS"),cl.GetString("TMP_AUTO_COND_BANMOTOR"),cl.GetString("TMP_AUTO_FUGASGRAL"),cl.GetString("TMP_AUTO_FRENOS"),cl.GetString("TMP_AUTO_COMENTARIOS"), foto1, foto2, foto3, foto4) + Log(cl.GetString("TMP_AUTO_RUTA")& " | " & cl.GetString("TMP_AUTO_PLACA")) + reqManager.ExecuteCommand(cmd , "insert_checklist") + contador_env = contador_env + 1 + Next + cl.Close + End If + Log("Terminamos CheckList") + Sleep(1000) + ProgressDialogHide + Msgbox2Async("El checklist ha sido enviado al servidor","AVISO", "Aceptar","","",Null, True) +End Sub + + +Sub JobDone(Job As HttpJob) + If Job.Success = False Then +' ToastMessageShow("Error: " & Job.ErrorMessage, True) + Else + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110 + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "updateKell_UTR" Then 'query tag + For Each records() As Object In result.Rows + For Each k As String In result.Columns.Keys +' Log("Ubicacion en tiempo real: " & k & ": " & records(result.Columns.Get(k))) + Next + Next + End If + End If + End If + Job.Release +End Sub + +Sub GUARDA_TEMPORAL + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info") + c.Position=0 + N_Ruta= c.GetString("CAT_CL_RUTA") + C2=Starter.skmt.ExecQuery("select ID_ALMACEN FROM CAT_ALMACEN") + C2.Position=0 + Id_Almacen=C2.GetString("ID_ALMACEN") + ''''''''''''''''''''''''''''''''''''NIVELES DE GASOLINA CHECK'''''''''''''''''' + If Rb_1_4.Checked Then + Combustible="1/4" + End If + If Rb_2_4.Checked Then + Combustible="2/4" + End If + If Rb_3_4.Checked Then + Combustible="3/4" + End If + If Rb_4_4.Checked Then + Combustible="4/4" + End If + ''''''''''''''''''''''''''''''''''''INDICADORES DE TABLERO'''''''''''''''''' + If Cbox_Claxon.Checked=True Then + Cbox_Claxon.Tag="1" + Else + Cbox_Claxon.Tag="0" + End If + + If Cbox_Cinturon.Checked=True Then + Cbox_Cinturon.Tag="1" + Else + Cbox_Cinturon.Tag="0" + End If + + If Cbox_Parabrisas.Checked=True Then + Cbox_Parabrisas.Tag="1" + Else + Cbox_Parabrisas.Tag="0" + End If + + If Cbox_Espejos.Checked=True Then + Cbox_Espejos.Tag="1" + Else + Cbox_Espejos.Tag="0" + End If + + If Cbox_Licencia.Checked=True Then + Cbox_Licencia.Tag="1" + Else + Cbox_Licencia.Tag="0" + End If + '''''' SEGUNDO PANEL + If Ch_OBJETOSINE.Checked=True Then + Ch_OBJETOSINE.Tag="1" + Else + Ch_OBJETOSINE.Tag="0" + End If + + If CH_OBJMPERV.Checked=True Then + CH_OBJMPERV.Tag="1" + Else + CH_OBJMPERV.Tag="0" + End If + + If Ch_ORHERRA.Checked=True Then + Ch_ORHERRA.Tag="1" + Else + Ch_ORHERRA.Tag="0" + End If + + If Ch_UNILIMPIA.Checked=True Then + Ch_UNILIMPIA.Tag="1" + Else + Ch_UNILIMPIA.Tag="0" + End If + + If Ch_LIMPIO.Checked=True Then + Ch_LIMPIO.Tag="1" + Else + Ch_LIMPIO.Tag="0" + End If + + If Ch_BASURA.Checked=True Then + Ch_BASURA.Tag="1" + Else + Ch_BASURA.Tag="0" + End If + + If Ch_RESPON.Checked=True Then + Ch_RESPON.Tag="1" + Else + Ch_RESPON.Tag="0" + End If + + If Ch_AUDITORIA.Checked=True Then + Ch_AUDITORIA.Tag="1" + Else + Ch_AUDITORIA.Tag="0" + End If + + If Ch_HABITUAL.Checked=True Then + Ch_HABITUAL.Tag="1" + Else + Ch_HABITUAL.Tag="0" + End If + ''''' PANEL 3 + If Ch_HERRAMIENTAS.Checked=True Then + Ch_HERRAMIENTAS.Tag="1" + Else + Ch_HERRAMIENTAS.Tag="0" + End If + If Ch_CONOS.Checked=True Then + Ch_CONOS.Tag="1" + Else + Ch_CONOS.Tag="0" + End If + + If Ch_EDOCARROCE.Checked=True Then + Ch_EDOCARROCE.Tag="1" + Else + Ch_EDOCARROCE.Tag="0" + End If + + If Ch_FUN_LUCES.Checked=True Then + Ch_FUN_LUCES.Tag="1" + Else + Ch_FUN_LUCES.Tag="0" + End If + + If Ch_PLACAS_CIRCU.Checked=True Then + Ch_PLACAS_CIRCU.Tag="1" + Else + Ch_PLACAS_CIRCU.Tag="0" + End If + + If Ch_COND_LLANTAS.Checked=True Then + Ch_COND_LLANTAS.Tag="1" + Else + Ch_COND_LLANTAS.Tag="0" + End If + + '''' PANEL 4 + If Ch_ACEITEMOTOR.Checked=True Then + Ch_ACEITEMOTOR.Tag="1" + Else + Ch_ACEITEMOTOR.Tag="0" + End If + + If Ch_ACEITEDIREC.Checked=True Then + Ch_ACEITEDIREC.Tag="1" + Else + Ch_ACEITEDIREC.Tag="0" + End If + + If Ch_NVL_REFRIGE.Checked=True Then + Ch_NVL_REFRIGE.Tag="1" + Else + Ch_NVL_REFRIGE.Tag="0" + End If + + If Ch_NVL_LIQUIDBRI.Checked=True Then + Ch_NVL_LIQUIDBRI.Tag="1" + Else + Ch_NVL_LIQUIDBRI.Tag="0" + End If + + If Ch_COND_BANMOTOR.Checked=True Then + Ch_COND_BANMOTOR.Tag="1" + Else + Ch_COND_BANMOTOR.Tag="0" + End If + ''''' PANEL 5 + If Ch_FUGASGRAL.Checked=True Then + Ch_FUGASGRAL.Tag="1" + Else + Ch_FUGASGRAL.Tag="0" + End If + + If Ch_FRENOS.Checked=True Then + Ch_FRENOS.Tag="1" + Else + Ch_FRENOS.Tag="0" + End If + + c=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") ) + c.Position=0 + PLACAS = c.GetString("CUANTOS") + c.Close + + If PLACAS > 0 Then + c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") ) + c.Position=0 + PLACAS = c.GetString("CAT_VA_VALOR") + c.Close + Else + PLACAS = "0000" + End If + Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") 'Mod por CHV - 211125 + Starter.skmt.ExecNonQuery2("INSERT INTO TMP_INSPECCION_AUTO_DIARIA( " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & "," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & "," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO1" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO2" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO3" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO4" & Chr(34) & " ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (N_Ruta,PLACAS,Null,Id_Almacen,sDate,Et_KilometrajeIni.Text,Combustible,1,Cbox_Claxon.Tag,Cbox_Parabrisas.Tag,Cbox_Cinturon.Tag,Cbox_Espejos.Tag,Cbox_Licencia.Tag,Ch_OBJETOSINE.Tag,CH_OBJMPERV.Tag,Ch_ORHERRA.Tag,Ch_UNILIMPIA.Tag,Ch_LIMPIO.Tag,Ch_BASURA.Tag,Ch_RESPON.Tag,Ch_AUDITORIA.Tag,Ch_HABITUAL.Tag,Ch_HERRAMIENTAS.Tag,Ch_CONOS.Tag,Ch_EDOCARROCE.Tag,Ch_FUN_LUCES.Tag,Ch_PLACAS_CIRCU.Tag,Ch_COND_LLANTAS.Tag,Ch_ACEITEMOTOR.Tag,Ch_ACEITEDIREC.Tag,Ch_NVL_REFRIGE.Tag,Ch_NVL_LIQUIDBRI.Tag,Ch_COND_BANMOTOR.Tag,Ch_FUGASGRAL.Tag,Ch_FRENOS.Tag,Edt_COMENTARIO.TeXT)) +End Sub + +Sub b_guardar_Click + If Bt_Foto1.Tag="2" Then + Im_1.Bitmap = LoadBitmap(File.DirInternal, "FOTO1.jpg") + Pnl_Fotos.Visible=False + Bt_Foto1.Visible=True + Bt_Foto2.Visible=True + Bt_Foto3.Visible=True + Bt_Foto4.Visible=True + Pnl_Fotos.Visible=False + Bt_GuardarCheck.Visible=True + End If + + If Bt_Foto2.Tag="2" Then + Im2.Bitmap = LoadBitmap(File.DirInternal, "FOTO2.jpg") + Pnl_Fotos.Visible=False + Bt_Foto1.Visible=True + Bt_Foto2.Visible=True + Bt_Foto3.Visible=True + Bt_Foto4.Visible=True + Pnl_Fotos.Visible=False + Bt_GuardarCheck.Visible=True + End If + If Bt_Foto3.Tag="2" Then + Im3.Bitmap = LoadBitmap(File.DirInternal, "FOTO3.jpg") + Pnl_Fotos.Visible=False + Bt_Foto1.Visible=True + Bt_Foto2.Visible=True + Bt_Foto3.Visible=True + Bt_Foto4.Visible=True + Pnl_Fotos.Visible=False + Bt_GuardarCheck.Visible=True + End If + + If Bt_Foto4.Tag="2" Then + Im4.Bitmap = LoadBitmap(File.DirInternal, "FOTO4.jpg") + Pnl_Fotos.Visible=False + Bt_Foto1.Visible=True + Bt_Foto2.Visible=True + Bt_Foto3.Visible=True + Bt_Foto4.Visible=True + Pnl_Fotos.Visible=False + Bt_GuardarCheck.Visible=True + End If +End Sub + +Sub Bt_Foto1_Click + foto.quien_llamo = "1" + GUARDA_TEMPORAL + TOMO_FOTO1 = 1 + StartActivity("foto") +End Sub + +Sub Bt_Foto2_Click + foto.quien_llamo = "2" + GUARDA_TEMPORAL + StartActivity("foto") +End Sub + +Sub Bt_Foto3_Click + foto.quien_llamo = "3" + GUARDA_TEMPORAL + TOMO_FOTO3 = 1 + StartActivity("foto") +End Sub + +Sub Bt_Foto4_Click + foto.quien_llamo = "4" + GUARDA_TEMPORAL + TOMO_FOTO4 = 1 + StartActivity("foto") +End Sub + +Sub LBL_REGRESA_Click + Pnl_Fotos.Visible=False + Bt_Foto1.Visible=True + Bt_Foto2.Visible=True + Bt_Foto3.Visible=True + Bt_Foto4.Visible=True + Bt_GuardarCheck.Visible=True +End Sub + +''' SUBIR PANEL. +Sub IME_HeightChanged(NewHeight As Int, OldHeight As Int) + ' para subir la entrada de datos y que este encima del teclado + 'Log("NewHeight " & NewHeight & " OldHeight " & OldHeight) +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean 'ignore + ' BACK key pressed + If key=KeyCodes.KEYCODE_BACK Then + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=True + Pnl_MotorEncen.Visible=True + Pnl_CofreAbierto.Visible=False + Return False + 'End If + End If + ' Returning False signals the system to handle the key +End Sub diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas new file mode 100644 index 0000000..ce31a4c --- /dev/null +++ b/B4A/C_Cliente.bas @@ -0,0 +1,3145 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Mods 'Ignore + '2023/05/04 - Se modifico el sub b_geopass_Click para que si se mete la contraseña KMTS1, se habilite la venta fuera de la geocerca. +End Sub + +Sub Class_Globals + Private Root As B4XView 'ignore + Dim reqManager As DBRequestManager + Private xui As XUI 'ignore + '// Process Globals + Dim g As GPS + Dim ime As IME + Dim ruta As String + Dim clie_id As String + Dim sDate,sTime As String + Dim usuario As String = "" + Dim total_cliente As String + Dim m_lat As String + Dim m_lon As String + Dim cmp20 As Serial + Dim printer As TextWriter + Dim PairedDevices As Map + Dim L As List + Dim TAMANO As Int + Dim ESPACIO As Int + Dim BLANCO As String + Dim cuenta As String + Dim Printer1 As EscPosPrinter + Dim MAC_IMPRESORA As String + Dim LONGITUD As String = "0" + Dim LATITUD As String = "0" + Dim NOMBRE As String + Dim ruta_tienda As String + Dim id_encuesta As String + Dim LLAMAR_FOTO As String + Dim CURSOR_FOTO As Int + Dim TOMAR_FOTO As String + Dim YA_IMPRIMIO2 As String + Dim CREDITO_DISPONIBLE As String + '//Globals + Dim c As Cursor + Dim s As Cursor + Dim c2 As Cursor + Dim S1 As Cursor + Dim S2 As Cursor + Dim S3 As Cursor + Dim C1 As Cursor + Dim C3 As Cursor + Dim C4 As Cursor + Dim C5 As Cursor + Dim C6 As Cursor + Dim c7 As Cursor + Dim C8 As Cursor + Dim RMI As String + Dim RMI_VALOR As String + Dim ListView1 As ListView + Dim la_cuenta As Label + Dim La_nombre As Label + Dim la_Calle As Label + Dim la_numero As Label + Dim la_nint As Label + Dim la_edo As Label + Dim la_pob As Label + Dim la_col As Label + Dim la_cp As Label + Dim la_zona As Label + Dim gest As Button + Dim la_saldotot As Label + Dim la_saldooper As Label + Dim Tels As Button + Dim Label10 As Label + Dim Label11 As Label + Dim Tar As Button + Dim la_comm As Label + Dim la_actdte As Label + Dim la_usuario As Label + Dim la_resultado As Label + Dim l_entre1 As Label + Dim l_entre2 As Label + Dim l_atiende As Label + Dim l_atiende2 As Label + Dim DATOS As Button + Dim Guardar As Button + Dim NUEVO As Button + Dim l_total As Label + Dim c2 As Cursor + Dim S2 As Cursor + Private s As Cursor + Dim res As String + Private HIST As Button + Private MONTO_COMPRA As String + Private META As String + Private META2 As String + Private VERIFICA As String + Private L_QR As Label + Private BT_QR As Button + Private qr As QRCode + Dim sc As Zxing_scanner + Dim CODIGO As String + Private b_mapa As Button + Dim CUANTOS As String + Private B_IMP As Button + Dim Toggla As Toggle + Private B_VENTA As Button + Dim PASA_IMP As String + Dim sucursal As String + Dim FACTURA As String + Dim CREDITO As String + Private b_factura As Button + Dim perfil As String + Private CH_TA As CheckBox + Private CH_TC As CheckBox + Private CH_TB As CheckBox + Private CH_TD As CheckBox + Private E_CUANTOS_E As EditText + Private B_GUARDAR As Button + Private TIPOEX As String + Private B_EXIBI As Button + Private Panel1 As Panel + Dim t3 As Timer + '--***---- BOLETA DE LIQUIDACION + Private P_BOLETA As Panel + '------ BILLETES + Private LBL_TMIL As Label + Private LBL_TQUIN As Label + Private LBL_TDOS As Label + Private LBL_TCIEN As Label + Private LBL_TCIN As Label + Private LBL_TVEIN As Label + Private LBL_MIL As Label + Private LBL_QUIN As Label + Private LBL_DOSC As Label + Private LBL_CIEN As Label + Private LBL_CINCUEN As Label + Private LBL_VEINTE As Label + Private EDT_CANVEIN As EditText + Private EDT_CANCIN As EditText + Private EDT_CANCIEN As EditText + Private EDT_CANDOS As EditText + Private EDT_CANQUIN As EditText + Private EDT_CANMIL As EditText + Private Btn_TOTALBILLETE As Button + Private Pnl_Billete As Panel + Private Pnl_Moneda As Panel + Private L_CALCULA_BILLE As Label + '------ BOTONES MAS Y MENOS + Private B_MENMIL As Button + Private B_SUMIL As Button + Private B_MENQUI As Button + Private B_SUQUI As Button + Private B_MENDOS As Button + Private B_SUDOS As Button + Private B_MENCIE As Button + Private B_SUCIEN As Button + Private B_MENCIN As Button + Private B_SUCIN As Button + Private B_MENVEI As Button + Private B_SUVEI As Button + '------ MONEDAS + Private L_DIEZ As Label + Private L_CINCO As Label + Private L_DOS As Label + Private L_UNO As Label + Private L_CENTAVO As Label + Private LBL_TDIEZ As Label + Private LBL_TCI As Label + Private LBL_TDO As Label + Private LBL_TUN As Label + Private LBL_TCEN As Label + Private EDT_CANCEN As EditText + Private EDT_CANUN As EditText + Private EDT_CANDO As EditText + Private EDT_CANCI As EditText + Private EDT_CANDIEZ As EditText + Private L_CALCULA_MONEDA As Label + Private B_TOTALMONEDA As Button + '------ BOTONES MAS Y MENOS + Private B_MENCENT As Button + Private B_MENUN As Button + Private B_MENDO As Button + Private B_MENCI As Button + Private B_MENDIEZ As Button + Private B_SUMDIEZ As Button + Private B_SUMCIN As Button + Private B_SUMDO As Button + Private B_SUMUN As Button + Private B_SUMCENT As Button + '------ SUMA TOTALES + Private Edt_FH As EditText + Private B_AGREGAMONE As Button + Private B_AGREGABILL As Button + Private TOTALES As Label + Private B_SUM_TOTAL As Button + Private TOTALBILLETES As Button + Private TOTALMONEDA As Button + Private PNL_TOTALES As Panel + Private LBL_RETURN As Label + Private IMG_IMPRESORA As Label + Private LBL_REGRESA As Label + '--***---- FIN BOLETA + Private P_INF_GENERAL As Panel + Private B_Regresar As Button + Private ABORDO As String + Private a_inicial As String + Private a_total As String + Private a_venta As String + Private a_final As String + Private a_VENTA_F As String + Private a_inicial_5 As String + + Private L_INVA As ListView + Private B_IMP_INV As Button + Private B_CERRAR_I As Button + Private Panel_INV_A As Panel + Private LBL_TVEINTE As Label + Private B_SUMVEINTE As Button + Private EDT_CANVEINTE As EditText + Private B_MENVEINTE As Button + Private L_VEINTE As Label + Dim RutaBoleta As String + Dim Id_Almacen As String + Dim cursorBoleta As Cursor + Private Bt_GuardarBoleta As Button + Private CUANTOS1 As String + Private Panel9 As Panel + Private t_tenc As Label + Private E_RES_E As EditText + Private B_E_NEXT As Button + Private Label26 As Label + Private l_chk_e As Label + Private Chk_1 As CheckBox + Private chk_2 As CheckBox + Private chk_3 As CheckBox + Private b_chk_e As Button + Private Panel10 As Panel + Private chk_1_valor As String + Private chk_2_valor As String + Private chk_3_valor As String + Private p_encuesta As Panel + Private b_encuesta_1 As Button + Private b_encuesta_2 As Button + Private b_encuesta_3 As Button + Private l_titEncuesta As Label + Private l_txtEncuesta As Label + Private encuestaRes As String + Private botonPresionado As Int + Private B_IMP2 As Button + Dim impresoraConectada As Boolean = False + Private l_categoria2 As Label + Private l_exhibidor2 As Label + Private p_exhibidores As Panel + Private Button1 As Button + Private b_exhibidor As Button + Private l_exhibidores3 As Label + Private l_segmento2 As Label + Private et_encuesta As EditText + Private b_encuesta_continuar As Button + Dim muestraBoleta As Boolean = False + Private Panel4 As Panel + Private Panel6 As Panel + Private l_ubicacion As Label + Dim l_ubicacion2 As Label + Dim b_ubicacion As Button + Dim logger As Boolean = False + Private b_whats As Button + Private b_aceptarrpomo As Button + Private b_rechazapromo As Button + Private p_promowhats As Panel + Private l_promowhats As Label + Private L_doe As Label + + Private gps_boton_doe As String + Private pgs_boton_noventa As String + Private P_DOE As Panel + Private LP_DOE As ListView + Private BP_DOE_A As Button + Private BP_DOE_R As Button + Private p_pideGeoPass As Panel + Private b_geopass As Button + Private et_geopass As EditText + Dim laDist As Float + Private L_DOE_TOTAL As Label + Private Panel11 As Panel + Private BP_DOE_R1 As Button + Private r_1 As RadioButton + Private r_2 As RadioButton + Private r_3 As RadioButton + Private r_4 As RadioButton + Private R_5 As RadioButton + Private e_comm As EditText + Private motivo As String +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + If Not(Starter.Logger) Then logger = False + Root = Root1 + reqManager.Initialize(Me, Starter.server) + 'load the layout to Root + Root.LoadLayout("cliente") + ruta = File.DirInternal + Subs.panelAnchoAlto(P_INF_GENERAL, Root.Width, Root.Height) + Panel6.Width = Root.Width + p_promowhats.Width = Root.Width + p_promowhats.visible = False + If Starter.boleta = 0 Then + c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_RUTA, CAT_CL_NOMBRE, CAT_CL_ATIENDE1, CAT_CL_ATIENTE2,"& _ + "CAT_CL_TELEFONO, CAT_CL_EMAIL, CAT_CL_CALLE, CAT_CL_NOEXT, CAT_CL_NOINT, CAT_CL_CALLE1, CAT_CL_CALLE2, "& _ + "CAT_CL_COLONIA, CAT_CL_MUNI, CAT_CL_EDO, CAT_CL_CP, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_MTOCOMPRA, "& _ + "CAT_CL_BFACTURA, CAT_CL_BCREDITO, CAT_CL_CATEGORIA, CAT_CL_SEGMENTO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + s.Position=0 + If c.RowCount > 0 Then + c.Position=0 + la_cuenta.Text = c.GetString("CAT_CL_CODIGO") + cuenta = c.GetString("CAT_CL_CODIGO") + La_nombre.Text = c.GetString("CAT_CL_NOMBRE") + NOMBRE = c.GetString("CAT_CL_NOMBRE") + la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT") + la_col.Text = c.GetString("CAT_CL_COLONIA") + la_edo.Text = c.GetString("CAT_CL_EDO") + la_cp.Text = c.GetString("CAT_CL_CP") + l_entre1.Text = c.GetString("CAT_CL_CALLE1") + l_entre2.Text = c.GetString("CAT_CL_CALLE2") + l_atiende.Text = c.GetString("CAT_CL_ATIENDE1") + l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2") + la_saldotot.Text = c.GetString("CAT_CL_TELEFONO") + ''' ESTO SE AGREGA PARA QUE SE VEA LOS CLIENTES DOE + If c.GetString("CAT_CL_EMAIL") = "1" Then + L_doe.Visible = True + Else + L_doe.Visible = False + End If + '''FIN CLIENTES DOE + l_total.Text = s.GetString("TOTAL_CLIE") + total_cliente = s.GetString("TOTAL_CLIE") + MONTO_COMPRA = c.GetString("CAT_CL_MTOCOMPRA") + FACTURA = c.GetString("CAT_CL_BFACTURA") + CREDITO = c.GetString("CAT_CL_BCREDITO") + LONGITUD = 0 + If c.GetString("CAT_CL_LONG") <> Null And c.GetString("CAT_CL_LONG") <> "null" And IsNumber(c.GetString("CAT_CL_LONG")) Then LONGITUD = c.GetString("CAT_CL_LONG") + LATITUD = 0 + If c.GetString("CAT_CL_LAT") <> Null And c.GetString("CAT_CL_LAT") <> "null" And IsNumber(c.GetString("CAT_CL_LAT")) Then LATITUD = c.GetString("CAT_CL_LAT") + l_categoria2.text = c.GetString("CAT_CL_CATEGORIA") + l_segmento2.text = c.GetString("CAT_CL_SEGMENTO") + If logger Then Log($"Lon: ${LONGITUD}, Lat: ${LATITUD}"$) + Else + RutaBoleta=Starter.rutaV + End If + End If + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) + c.Position =0 + If c.RowCount > 0 Then + MAC_IMPRESORA = c.GetString("CAT_VA_VALOR") + Else + MAC_IMPRESORA = 0 + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0")) + End If + Starter.MAC_IMPRESORA = MAC_IMPRESORA + Printer1.Initialize(Me, "Printer1") + TOMAR_FOTO = 0 + c.Close + If s.IsInitialized Then s.Close +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + If Subs.traeUltimaActividadBD <> "Cliente" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) + If Not(muestraBoleta) Then P_INF_GENERAL.Visible = True + + + la_cuenta.Text = "" + La_nombre.Text = "" + la_Calle.Text = "" + la_col.Text = "" + la_edo.Text = "" + la_cp.Text = "" + l_entre1.Text = "" + l_entre2.Text = "" + l_atiende.Text = "" + l_atiende2.Text = "" + l_total.Text = "" + l_exhibidor2.Text = "" + la_saldooper.Text = "" + l_categoria2.text = "" + l_segmento2.text = "" + + p_pideGeoPass.Visible = False +' If Logger Then Log(muestraBoleta) + CallSubDelayed(Tracker, "StartFLP2") + b_ubicacion.Text = "SIN GPS" + b_ubicacion.TextColor = Colors.Red + pgs_boton_noventa = "1" + m_lat = -99.167244 + m_lon = 19.427184 + If Not(Starter.GPS.GPSEnabled) Then + ToastMessageShow("Debe Activar el GPS del Equipo.", True) + StartActivity(Starter.GPS.LocationSettingsIntent) + Else + Starter.GPS.Start(0, 0) + If Starter.ubicacionActual.Latitude <> 0 Then GPS_LocationChanged(Starter.ubicacionActual) + End If + If muestraBoleta Then LLAMA_BOLETA + BT_QR.Enabled = False + b_factura.Visible = False + Panel_INV_A.Visible = False + CREDITO_DISPONIBLE =0 + + If Starter.boleta = 0 Then + c=Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)") + If c.RowCount > 0 Then c.Position= 1 + + If TOMAR_FOTO = 0 Then + c=Starter.skmt.ExecQuery("select * from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + s.Position=0 + S1=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + S1.Position=0 + Log("hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh "&c.RowCount) + c.Position=0 + la_cuenta.Text = c.GetString("CAT_CL_CODIGO") + La_nombre.Text = c.GetString("CAT_CL_NOMBRE") + la_Calle.Text = c.GetString("CAT_CL_CALLE") & " " & c.GetString("CAT_CL_NOEXT") + la_col.Text = c.GetString("CAT_CL_COLONIA") + la_edo.Text = c.GetString("CAT_CL_EDO") + la_cp.Text = c.GetString("CAT_CL_CP") + l_entre1.Text = c.GetString("CAT_CL_CALLE1") + l_entre2.Text = c.GetString("CAT_CL_CALLE2") + l_atiende.Text = c.GetString("CAT_CL_ATIENDE1") + l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2") + l_total.Text = s.GetString("TOTAL_CLIE") + total_cliente = s.GetString("TOTAL_CLIE") + m_lat =c.GetString("CAT_CL_LAT") + m_lon =c.GetString("CAT_CL_LONG") + CREDITO_DISPONIBLE = c.GetString("CAT_CL_BFACTURA") + CREDITO = c.GetString("CAT_CL_BCREDITO") + ruta_tienda = c.GetString("CAT_CL_RUTA") + YA_IMPRIMIO2 = c.GetString("IMPRESION") + l_categoria2.text = c.GetString("CAT_CL_CATEGORIA") + l_segmento2.text = c.GetString("CAT_CL_SEGMENTO") + If c.GetString("CAT_CL_EMAIL") = "1" Then + L_doe.Visible = True + Else + L_doe.Visible = False + End If + '''FIN CLIENTES DOE + LONGITUD = 0 + If la_cuenta.Text = "0" Then + m_lat = Starter.lat_gps + m_lon = Starter.lon_gps + End If + If c.GetString("CAT_CL_LONG") <> Null And c.GetString("CAT_CL_LONG") <> "null" And IsNumber(c.GetString("CAT_CL_LONG")) Then LONGITUD = c.GetString("CAT_CL_LONG") + LATITUD = 0 + If c.GetString("CAT_CL_LAT") <> Null And c.GetString("CAT_CL_LAT") <> "null" And IsNumber(c.GetString("CAT_CL_LAT")) Then LATITUD = c.GetString("CAT_CL_LAT") + LogColor($"${c.GetString("CAT_CL_LAT")}, ${c.GetString("CAT_CL_LONG")}"$, Colors.red) + If logger Then Log($"Lat: ${LATITUD}, Lon: ${LONGITUD}"$) + NOMBRE = c.GetString("CAT_CL_NOMBRE") + If l_total.Text = Null Then + Tels.Visible = True + Else + Tels.Visible = False + pgs_boton_noventa = "0" + If la_cuenta.Text = "0" Then + CREDITO_DISPONIBLE = 10000000 + CREDITO = 0 + End If + End If +' If S1.GetString("CUANTOS") = 0 Then +' Tels.Visible = True +' Else 'Si ya hay venta, ocultamos el boton de "NO VENTA" +' Tels.Visible = False +' pgs_boton_noventa = "0" +' End If + If CREDITO = "1" Then + Msgbox("ALTO","Este cliente no se le puede vender ya que tienen adeudo en su crédito") 'ignore + B_VENTA.Visible = False + gest.Visible = False + Else + B_VENTA.Visible = True + gest.Visible = True + End If + ' Msgbox(c.GetString("CAT_CL_NUM_SERIEFISICO"),"AVISO") + If c.GetString("CAT_CL_NUM_SERIEFISICO") = "0" Then + L_QR.Visible = True + Else + L_QR.Visible = False + End If + S2=Starter.skmt.ExecQuery("select count(*) AS CUANTOS from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)") + S2.Position =0 + CUANTOS = S2.GetString("CUANTOS") + S2.Close + If CUANTOS > 0 Then + c2=Starter.skmt.ExecQuery("select sum(HVD_COSTO_TOT) AS TOTAL from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)") + c2.Position =0 + MONTO_COMPRA = c2.GetString("TOTAL") + c2.Close + Else + MONTO_COMPRA = "0" + End If + + la_saldotot.Text = MONTO_COMPRA + If MONTO_COMPRA <> "0" Then + META2 = 300 - MONTO_COMPRA + Else + META2 = 300 + End If + If META2 < 1 Then + META2 = "CUBIERTO" + End If + la_saldooper.Text = META2 + c7=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) ") + c7.Position=0 + If c7.GetString("CUANTOS") = 0 Then + c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa)") + c.Position =0 + If c.GetString("CUANTOS") > 0 Then + C1=Starter.skmt.ExecQuery("SELECT HCCP_PROMO FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) ") + C1.Position =0 + C3=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String(C1.GetString("HCCP_PROMO"))) + C3.Position = 0 + If C3.GetString("CUANTOS") > 0 Then + c2=Starter.skmt.ExecQuery2("SELECT CAT_GP_NOMBRE FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String(C1.GetString("HCCP_PROMO"))) + c2.Position = 0 + MsgboxAsync("El cliente tiene derecho a una promo especial "& c2.GetString("CAT_GP_NOMBRE"),"Aviso") 'ignore + c2.Close + Else + MsgboxAsync("El cliente tiene derecho a una promo especial ","Aviso") 'ignore + End If + C3.Close + C1.Close + End If + End If + c7.Close + B_VENTA.Visible = True + Tels.Visible = True + If CREDITO = "1" Then + Msgbox("El cliente tiene credito excedido","Aviso") 'ignore + B4XPages.ShowPage("Principal") + End If + Else + Cuestionario + End If + If YA_IMPRIMIO2 = 0 Then + Guardar.Visible = False + Else + Guardar.Visible = True + End If + If la_cuenta.text = "0" Then Guardar.Visible = True 'Abordo + If l_total.Text = Null Or l_total.Text = "null" Or l_total.text = "0" Then Guardar.Visible = True 'Si no hay venta entonces "Guardar" es visible. + + 'Promo Especial +' If Logger Then LogColor($"Ultima actividad BD=${Subs.traeUltimaActividadBD}"$, Colors.Magenta) + Dim mPromoEspecial As Map = revisaPromoEspecial +' If Logger Then Log(mPromoEspecial.Get("esValida")) + If Subs.traeUltimaActividadBD = "Productos" Then 'Venimos de "Productos" + If logger Then Log("Venimos de Productos") + If l_total.Text <> Null And mPromoEspecial.Get("montoPromo") <> Null And l_total.Text > ((mPromoEspecial.Get("montoPromo") * (100 - mPromoEspecial.Get("rangoPromo")))/100) And _ + l_total.Text <= mPromoEspecial.Get("montoPromo") Then 'El monto de la venta esta dentro del rango para la promo. + If logger Then Log("Promo dentro del rango") + Msgbox($"Si la venta sobrepasa los $${mPromoEspecial.Get("montoPromo")} se activa la promoción '${mPromoEspecial.Get("descrPromo")}'"$, "CASI EN RANGO DE PROMO ESPECIAL") 'ignore + Else + If logger Then Log("Promo fuera de rango") + End If + If l_total.Text <> Null And mPromoEspecial.Get("montoPromo") <> Null And l_total.text >= mPromoEspecial.Get("montoPromo") Then + If logger Then Log("Promo Autorizada") + res = Msgbox2("Pomocion '" & mPromoEspecial.Get("descrPromo") & "' disponible.\nSi se otorga la promoción ya NO será posible modificar la venta.", "PROMO DISPONIBLE", "Si", "", "No", Null) 'ignore + If res = DialogResponse.POSITIVE Then + If logger Then Log("Promocion aceptada.") + If logger Then Log($"${mPromoEspecial.Get("idProd")}, ${mPromoEspecial.Get("idPromo")}, ${mPromoEspecial.Get("cantProd")}, ${mPromoEspecial.Get("nombreProd")}, ${mPromoEspecial.Get("descrPromo")}, ${la_cuenta.Text}, ${usuario}, ${ruta_tienda}"$) + metePromoEspecial(mPromoEspecial.Get("idProd"), mPromoEspecial.Get("idPromo"), mPromoEspecial.Get("cantProd"), mPromoEspecial.Get("nombreProd"), mPromoEspecial.Get("descrPromo"), la_cuenta.Text, usuario, ruta_tienda) + Subs.ponImpreso(la_cuenta.Text) + End If + End If + If l_total.Text <> Null And mPromoEspecial.Get("montoPromo") <> Null Then Log($"Monto venta = ${l_total.Text}, rango para promo = ${(mPromoEspecial.Get("montoPromo") * (100 - mPromoEspecial.Get("rangoPromo"))/100)}"$) + End If + + c=Starter.skmt.ExecQuery("select count(*) as conNoVenta FROM NOVENTA WHERE NV_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("conNoVenta") = 1 Then Tels.Visible = False 'Si ya tiene NoVenta, ocultamos el boton. + c.Close + Else + RutaBoleta=Starter.rutaV + End If + If c.IsInitialized Then c.Close + If s.IsInitialized Then s.Close + If S1.IsInitialized Then S1.Close + If logger Then Log("===================== Traemos EXHIBIDORES " & la_cuenta.Text & " =================" ) + c=Starter.skmt.ExecQuery2("select * FROM HIST_EXHIBIDORES2 where hist_ex_id_cliente = ?", Array As String (la_cuenta.Text)) + Log("uuuuuuuuuuuuuuuuuuuuuuuuuuuuu "&c.RowCount) + If c.RowCount > 0 Then + Private exhibs As String = "" + Private separador As String = "" + For i=0 To c.RowCount -1 + c.Position=i + If i < c.RowCount And i <> 0 Then separador = " - " Else separador = "" + exhibs = exhibs & separador & c.GetString("HIST_EX_TIPO") + Next +' If Logger Then LogColor(exhibs, Colors.Blue) + c.Close + l_exhibidor2.Text = exhibs + l_exhibidores3.Text = exhibs + End If + + 'PARA LA PROMO DOE + If Starter.boleta = 0 Then + b_whats.Visible = False + gps_boton_doe = "0" + C1=Starter.skmt.ExecQuery("select IMPRESION FROM kmt_info where CAT_CL_CODIGO In (select cuenta from cuentaa)") + C1.Position = 0 + If C1.GetString("IMPRESION") <> "1" Then + S=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PROID = ?", Array As String("PROMODOE") ) + s.Position = 0 + If s.GetString("CUANTOS") = 0 Then + c=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO = ?", Array As String("PROMODOE")) + c.Position =0 + If c.GetString("CUANTOS") > 0 Then + C3=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String("1008094223")) + C3.Position = 0 + If C3.GetString("CUANTOS") > 0 Then + c2=Starter.skmt.ExecQuery2("SELECT CAT_GP_ALMACEN FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String("1008094223")) + c2.Position = 0 + If c2.GetString("CAT_GP_ALMACEN") > 0 Then + b_whats.Visible = False + ' gps_boton_doe = "1" + + End If + c2.Close + End If + C3.Close + End If + c.Close + End If + s.Close + End If + C1.Close + End If + + gps_boton_doe = "0" + muestraBoleta = False + b_whats.Visible =False + If l_total.Text <> Null Then Tels.Visible = False +End Sub + +Sub Printer1_Connected (Success As Boolean) +' If Logger Then Log("Printer1_Connected") + If Success Then + ToastMessageShow("Impresora conectada", False) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Starter.mac_impresora)) + If logger Then LogColor("Impresora conectada", Colors.Green) +' B_IMP2.Enabled = True + impresoraConectada = True + Else +' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore +' ToastMessageShow("Error conectando la impresora", False) + If logger Then LogColor("Error conectando la impresora", Colors.Red) + End If +End Sub + +Sub GPS_LocationChanged (Location1 As Location) + 'Este codigo se corre desde Tracker/flp_LocationChanged + b_ubicacion.TextColor = Colors.Gray + Sleep(200) + b_ubicacion.TextColor = Colors.White + If logger Then Log($"${Location1.Latitude}, ${Location1.Longitude}, ${Location1.Accuracy}"$) + + If m_lat = Null Or m_lat = "" Then m_lat = 0 + If m_lon = Null Or m_lon = "" Then m_lon = 0 + + Private ubicacionTienda As Location + ubicacionTienda.Initialize + ubicacionTienda.Latitude = m_lat + ubicacionTienda.Longitude = m_lon + If logger Then Log($"Tienda:${ubicacionTienda.Latitude}, ${ubicacionTienda.Longitude}"$) + b_ubicacion.TextSize = 13 + b_ubicacion.Text = $"Precisión GPS $1.0{Location1.Accuracy} m"$ + If Location1.Accuracy > 200 Then + b_ubicacion.TextColor = Colors.Red + b_ubicacion.TextSize = 16 + b_ubicacion.Text = $"Mala señal $1.0{Location1.Accuracy} m"$ + End If + laDist= Location1.DistanceTo(ubicacionTienda) + l_ubicacion2.Text = $"Dist: $1.0{laDist} mts."$ + If laDist > 300 Then l_ubicacion2.TextColor = Colors.Red Else l_ubicacion2.TextColor = Colors.Black + + '''' GEO CERCA + '''' esto es para la geocerca validar tambien el las variables del whats y del no venta que las borra si existe venta + Dim l1, l2 As Location + l1.Initialize2(Starter.lat_gps, Starter.lon_gps) + + +' Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$) + l2.Initialize2(m_lat, m_lon) + + Dim distance As Long + distance = l1.DistanceTo(l2) ' resultado en metros + gest.Visible = True + + gps_boton_doe ="1" +' LogColor($"Distancia actual: ${distance}"$, Colors.Blue) + If distance <= 5000000000000 Or usuario = "KMTSKLL1" Then +' If pgs_boton_noventa = "1" Then Tels.Visible = True + If gps_boton_doe ="1" Then b_whats.Visible = True + B_VENTA.Visible = True + Tels.Visible = True + If l_total.Text <> Null And l_total.Text <> "null" Then +' Log("Hide NoVenta" & "|" & l_total.Text & "|") + Tels.Visible = False + End If + pedido_doe_muestra + Else + Tels.Visible = False + B_VENTA.Visible = False + b_whats.Visible = False + End If + ''' fin de la geocerca +End Sub + +Sub ListView1_ItemLongClick (Position As Int, Value As Object) + +End Sub + +Sub gest_Click + Starter.tipov = "PREVENTA" + Subs.iniciaActividad("Productos") +End Sub + +Sub Tels_Click + Subs.iniciaActividad("noventa") +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub + ' BACK key pressed + 'Return True to close, False to cancel + If PNL_TOTALES.Visible Then + PNL_TOTALES.Visible = False + P_BOLETA.Visible = False + P_INF_GENERAL.Visible = True + Log("Panel general="&P_INF_GENERAL.Visible) + Subs.iniciaActividad("Principal") + else if p_pideGeoPass.Visible Then + p_pideGeoPass.Visible = False + else if Panel_INV_A.Visible Then + Panel_INV_A.Visible = False + P_INF_GENERAL.Visible = True + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) + Else + Msgbox("Presione Guardar para continuar","Aviso") 'ignore + End If + Return False +End Sub + +Sub Tar_Click + Subs.iniciaActividad("nota") +End Sub + +Sub DATOS_Click + Subs.iniciaActividad("telefonos") +End Sub + +Sub Guardar_Click + Log("GUARDAR") + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + If Starter.lat_gps = 0 Or Starter.lat_gps = Null Then + Private coords As List = Subs.traeCoordsDeBD + Starter.lat_gps = coords.Get(0) + Starter.lon_gps = coords.Get(1) + End If + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(clie_id) 'Solo lo marcamos com impreso si tiene venta (total > 0). + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + Starter.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + s=Starter.skmt.ExecQuery("SELECT count(*) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + s.Position = 0 + If s.GetString("FOLIO") > 0 Then + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + End If + s.Close + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO2)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_FECHA = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_FECHA IS NULL", Array As Object(sDate & sTime)) + Starter.skmt.ExecNonQuery("delete from PEDIDO where PE_CANT = 0") 'Mod por CHV para que borre los productos que esten con cantidad 0 - 211228 + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("ULTIMOMODULO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ULTIMOMODULO", "seleccion")) +' Activity.Finish + CallSubDelayed(Tracker, "StartFLP") + If logger Then LogColor("Cerramos Cliente, iniciamos Principal", Colors.blue) +' B4XPages.ShowPage("Principal") + Starter.ultima_back_productos = 0 + B4XPages.ShowPageAndRemovePreviousPages("Principal") +End Sub + +Sub NUEVO_Click + Subs.iniciaActividad("nuevocliente") +End Sub + +Sub HIST_Click + Subs.iniciaActividad("Historico") +End Sub + +Sub BT_QR_Click + Dim scan_width As Int + Dim scan_height As Int + scan_width = 400 + scan_height = 400 + sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height) +End Sub + +Sub sc_result(atype As String,Values As String) + 'Log("Type : " & atype) + 'Log("Value : " & Values) + CODIGO = Values + Starter.skmt.ExecNonQuery2("UPDATE kmt_info set CAT_CL_NUM_SERIEFISICO = ?, CAT_CL_LONG = ?, CAT_CL_LAT =? where CAT_CL_CODIGO In (select cuenta from cuentaa)", Array As Object(CODIGO, Starter.lon_gps, Starter.lat_gps)) +End Sub + +Sub sc_noScan + If logger Then Log("nothing returned from the scan !!!!!") +End Sub + +Sub calc_ean_checksum(number As String) As String 'this has now become redundant as I am only interested in QR Codes + Dim i As Int + Dim cO As Char + Dim soma As Int + Dim n As Int + Dim digit As Float + soma = 0 + For i=0 To number.Length - 1 + digit = number.SubString2(i,i+1) + n= digit * ((i Mod 2) * 2 + 1) + soma=soma+n + Next + Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 ) +End Sub + +Sub b_mapa_Click + Subs.iniciaActividad("mapas") +End Sub + +Sub B_IMP_Click + Starter.skmt.Close : Log("Cerramos BD") : Starter.revisaBD + Subs.panelAnchoAlto(Panel_INV_A, Root.Width, Root.Height) + Panel_INV_A.Visible = True + P_INF_GENERAL.Visible = False + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) + L_INVA.Clear + Dim label1 As Label + label1 = L_INVA.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = L_INVA.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black +' Aqui es donde esta el pedo de julieta de los descuentos, quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. + s=Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS")) + If s.RowCount>0 Then + For i=0 To S.RowCount -1 + s.Position=i + S1=Starter.skmt.ExecQuery2("select CAT_GP_ALMACEN from cat_gunaprod5 where CAT_GP_ID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S1.Position=0 + S3=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S3.Position=0 + If S3.GetString("CUANTOS") > 0 Then + S2=Starter.skmt.ExecQuery2("select HIST_CANT from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S2.Position=0 + a_inicial = S1.GetString("CAT_GP_ALMACEN") - S2.GetString("HIST_CANT") + Else + a_inicial = S1.GetString("CAT_GP_ALMACEN") + End If + a_inicial_5 = S1.GetString("CAT_GP_ALMACEN") + If S3.GetString("CUANTOS") > 0 Then + ABORDO = S2.GetString("HIST_CANT") + Else + ABORDO = 0 + End If + a_total = S1.GetString("CAT_GP_ALMACEN") + C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) <> ? AND PE_PROID = ? AND PE_TIPO = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID"), "VENTA")) + C4.Position=0 + If C4.GetString("CUANTOS") > 0 Then + C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE, sum(PE_COSTO_TOT) AS TOTAL from pedido where substr(pe_pronombre,1,6) <> ? AND PE_PROID = ? AND PE_TIPO = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID"), "VENTA")) + C3.Position=0 + a_venta = C3.GetString("CANTIDAD") + a_VENTA_F = C3.GetString("TOTAL") + Else + a_venta = 0 + a_VENTA_F = 0 + End If + C4.Close + + C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID"))) + C4.Position=0 + If C4.GetString("CUANTOS") > 0 Then + C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID"))) + C1.Position=0 + RMI = C1.GetString("CANTIDAD") + C1.Close + Else + RMI = 0 + End If + C4.Close + a_final = a_inicial_5 - a_venta + L_INVA.AddTwoLines(s.GetString("CAT_GP_NOMBRE"), "II-" & a_inicial & ".CD." & ABORDO & ".IIT." & a_total & ".VT." & a_venta & "..$" & a_VENTA_F & ".IF." & a_final & ".RMI." & RMI) + Next + End If + s.Close +End Sub + +Sub B_IMP2_Click + Log("inicia B_IMP2_Click") + B_IMP2.Enabled = False + If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0). + ProgressDialogShow("Imprimiendo, un momento ...") + Printer1.DisConnect + If Not(Printer1.IsConnected) Then + If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else + If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If +' If Logger Then Log($"Impresora Conectada: ${Printer1.IsConnected}"$) + If la_cuenta.Text <> "0" And la_cuenta.Text <> "null" Then + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ", Array As Object("VENTA")) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO In (select cuenta from cuentaa)")'' + Guardar.Visible = True + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? AND PE_FOLIO = ?", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"), c.GetString("PE_FOLIO"))) + Next + End If + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + perfil = c.GetString("CUANTOS") + c.Close + If perfil > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + perfil = c.GetString("CAT_VA_VALOR") + c.Close + End If + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close + c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL")) + c.Position = 0 + sucursal = c.GetString("CAT_VA_VALOR") + c.Close + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + 'esto para las impresoras nuevas + 'printer.Initialize(cmp20.OutputStream) + Printer1.Reset + Dim bmp As Bitmap + bmp.InitializeResize(File.DirAssets, "kelloggs.png", 376, 129, True) 'ignore + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + myimage = Printer1.DitherImage2D(myimage, 128) + myimage= Printer1.PackImage(myimage) + + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage) + Printer1.WriteString(Printer1.UNREVERSE) + '' Printer1.Justify = 1 + If la_cuenta.Text = "0" Then + Try + Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF) + Printer1.WriteString(sDate &" " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & ruta_tienda & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("C.P.: " & la_cp.Text & CRLF) + Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF) + Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("PEDIDO" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("ABORDO","CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next +' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + Printer1.WriteString(CRLF) + Printer1.WriteString("------------RMI---------------" & CRLF) + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("ABORDO","CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + If logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + Next + End If + s.Close + Printer1.WriteString(CRLF) + + s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO")) + s.Position =0 + Private sTotal1 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then + sTotal1 = s.GetString("TOTAL") + Else + sTotal1 = 0 + End If + Printer1.WriteString( "Total entrega: $" & NumberFormat2(sTotal1, 1, 2, 2, False) & CRLF) + + Printer1.WriteString("===============================" & CRLF) + ''bold para las nuevas impresoras + Private total3 As String = 0 + If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total3 = s.GETSTRING("TOTAL") + Printer1.WriteString( Printer1.BOLD & "Total pedido: $" & NumberFormat2(total3, 1, 2, 2, False) & CRLF) + + s.Close + s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO")) + s.Position =0 + Private total4 As String = "0" + If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total4 = s.GetString("TOTAL") + Printer1.WriteString( Printer1.BOLD & "No. Productos: " & total4 & CRLF) + Printer1.WriteString("===============================" & CRLF) + s.Close + Printer1.WriteString(Printer1.DEFAULTS) + +' printer.WriteLine("------------VENTA-------------") + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + + Printer1.WriteString( "Nombre y Firma del cliente" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString("______________________________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + 'printer.Close + Sleep(1000) + Printer1.DisConnect + Catch + ToastMessageShow("Error en la impresion 1.", True) + Printer1.Disconnect + B4XPages.ShowPage("Principal") + End Try + Else + Try + DateTime.DateFormat = "yyyymmdd" + sDate=DateTime.Date(DateTime.Now) + Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF) + Printer1.WriteString("No. Ticket: " & sDate & la_cuenta.Text & CRLF) + + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + + Printer1.WriteString(sDate &" " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & ruta_tienda & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("C.P.: " & la_cp.Text & CRLF) + Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF) + Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF) + Printer1.WriteString(" " & CRLF) + + ''''''' PEDIDOS DOE + + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("DOE")) + + '' s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and pe_codpromo = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA", "DOE", "CAMBIO")) + If S.RowCount>0 Then + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("PEDIDO DON TOÑO" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + For i=0 To S.RowCount -1 + S.Position=i + + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Private strT As String = "" + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) +' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + + s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DOE")) + s.Position = 0 + Private sTotal2 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then + sTotal2 = s.GetString("TOTAL") + Printer1.WriteString( $"Sub Total : $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF) + + Else + sTotal2 = 0 + End If + Private cantidad1 As String = "0" + If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then + cantidad1 = s.GetString("CANTIDAD") + + Printer1.WriteString( "No. Productos: " & cantidad1 & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("FIN PEDIDO DON TOÑO" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + End If + + ' Printer1.WriteString(CRLF) + s.Close + ''''SE MODIFCA EL QUERY POR LOS PEDIDOS DOE + S=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA","CAMBIO","DOE")) + + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("VENTA" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + ''s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and pe_codpromo <> ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA", "DOE", "CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Private strT As String = "" + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) +' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO","DOE")) + s.Position = 0 + Private sTotal2 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then + sTotal2 = s.GetString("TOTAL") + Else + sTotal2 = 0 + End If + Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) + Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & $"Sub Total Venta: $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF) + Private cantidad1 As String = "0" + If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad1 = s.GetString("CANTIDAD") + Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad1 & CRLF) + Printer1.WriteString(CRLF) + s.Close + Printer1.WriteString("------------RMI---------------" & CRLF) + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + + Else + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) + If logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + + s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO")) + s.Position = 0 + Private sTotal3 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then + sTotal3 = s.GetString("TOTAL") + Else + sTotal3 = 0 + End If + Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) + Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Sub Total CAMBIOS: $" & NumberFormat2(sTotal3, 1, 2, 2, False) & CRLF) + Private cantidad2 As String = "0" + If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad2 = s.GetString("CANTIDAD") + Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad2 & CRLF) + Printer1.WriteString(CRLF) + s.Close + Printer1.WriteString(CRLF) + s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA")) + s.Position =0 + Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) + Private total2 As String = 0 + If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total2 = s.GETSTRING("TOTAL") + Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & NumberFormat2(total2, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & s.GetString("TOTAL") & CRLF) +' Printer1.WriteString("===============================" & CRLF) +' +' Printer1.WriteString( "Total venta: $" & s.GetString("TOTAL") & CRLF) + s.Close + s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA")) + s.Position =0 + Private total5 As String = "0" + If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total5 = s.GetString("TOTAL") + Printer1.WriteString(Printer1.BOLD & "No. Productos vendidos: " & (total5 - cantidad2) & CRLF) + Printer1.WriteString(Printer1.BOLD & "Producto devuelto : " & cantidad2 & CRLF) + Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) +' Printer1.WriteString( "No. Productos: " & s.GetString("TOTAL") & CRLF) +' Printer1.WriteString( "===============================" & CRLF) + s.Close + Printer1.WriteString(Printer1.UNREVERSE) + Printer1.WriteString(Printer1.NOBOLD) +' printer.WriteLine("------------VENTA-------------") +' printer.WriteLine("TOTAL COMPRA: $:" & total_cliente) +' Printer1.WriteString(Printer1.DEFAULTS & CRLF) + Printer1.WriteString(CRLF) + ' Printer1.WriteString(Printer1.SINGLE) + 'Printer1.WriteString("------------------------------") + ' Printer1.WriteString(Printer1.HIGH) + ' Printer1.Justify = 1 + Printer1.WriteString( "Nombre y Firma del cliente" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + ' Printer1.WriteString(Printer1.DEFAULTS) + ' Printer1.WriteString(Printer1.SINGLE) + Printer1.WriteString("______________________________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Sleep(1000) + Printer1.DisConnect + Catch + ToastMessageShow("Error en la impresion 2.", True) + Printer1.Disconnect + B4XPages.ShowPage("Principal") + End Try + End If + Sleep(1000) + B_IMP2.Enabled = True + ProgressDialogHide +' If Logger Then Log("Habilitamos boton") +End Sub + +Sub Printer_Connected (Success As Boolean) + If Success Then + B_IMP.Enabled = True + PASA_IMP = "1" + Else + B_IMP.Enabled = False + If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore + StartPrinter + End If + End If +End Sub + +Sub StartPrinter + Dim PairedDevices As Map + Dim L As List + Dim resimp As Int + ToastMessageShow("Printing.....",True) + PairedDevices.Initialize + Try + PairedDevices = cmp20.GetPairedDevices + Catch + Msgbox("Getting Paired Devices","Printer Error") 'ignore + printer.Close + cmp20.Disconnect + End Try + + If PairedDevices.Size = 0 Then + Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore + Return + End If + + If PairedDevices.Size = 1 Then + Try + cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0))) + Catch + Msgbox("Connecting","Printer Error") 'ignore + printer.Close + cmp20.Disconnect + End Try + Else + L.Initialize + For i = 0 To PairedDevices.Size - 1 + L.Add(PairedDevices.GetKeyAt(i)) + Next + resimp = InputList(L, "Choose device", -1) 'ignore + If resimp <> DialogResponse.CANCEL Then + cmp20.Connect(PairedDevices.Get(L.Get(resimp))) + End If + End If +End Sub + + +Sub B_VENTA_Click + If la_cuenta.Text = "0" Then + Starter.tipov = "ABORDO" + Subs.iniciaActividad("Productos") + Else + Cuestionario + End If +End Sub + +'Muestra un boton con las dimensiones, posicion y texto especificados. +Sub muestraBoton (thisButton As Button, theText As String, Left As Int, Top As Int, width As Int, height As Int) + thisButton.Text = theText + thisButton.Tag = theText + thisButton.Left = Left + thisButton.Top = Top + thisButton.Width = width + thisButton.Height = height + thisButton.Visible = True +End Sub + +'Muestra un boton con las dimensiones, posicion y texto especificados. +Sub muestraBotonCentrado (thisButton As Button, theText As String, Top As Int, width As Int, height As Int) 'ignore + Private anchoPantalla As Int + thisButton.Text = theText + thisButton.Tag = theText + anchoPantalla = GetDeviceLayoutValues.Width + thisButton.Left = (anchoPantalla/2) - (width/2) + thisButton.Top = Top + thisButton.Width = width + thisButton.Height = height + thisButton.Visible = True +End Sub + +'Esta subrutina muestra las encuestas. +Sub Cuestionario + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + CUANTOS = 0 + If TOMAR_FOTO = 0 Then + s=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)") + s.Position= 0 + CUANTOS = s.GetString("CUANTOS") + Private CUANTOS2 As Int = 0 + s=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS2 from HIST_ENCUESTA2 where HE_CLIENTE In (Select cuenta from cuentaa)") + s.Position = 0 + CUANTOS2 = s.GetString("CUANTOS2") + If logger Then LogColor($"Hist:encuesta=${CUANTOS}, hist_encuesta2 = ${CUANTOS2}"$, Colors.Magenta) + End If + If CUANTOS = 0 And CUANTOS2 = 0 Then + c=Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + If TOMAR_FOTO = 1 Then + If CURSOR_FOTO + 1 > c.RowCount -1 Then + TOMAR_FOTO = 0 + Exit + Else + i = CURSOR_FOTO +1 + End If + 'Msgbox(i,"a") + TOMAR_FOTO = 0 + End If + c.Position=i + Dim tipoPregunta As String = c.GetString("CAT_EP_IDTIPOPREGUNTA") +' If Logger Then Log("=================== "&tipoPregunta) +' If Logger Then Log($"Pregunta tipo: ${tipoPregunta}"$) + ' Msgbox("paso1","a") + If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 5 Then + id_encuesta = c.GetString("CAT_EP_ID") + TOMAR_FOTO = 1 + CURSOR_FOTO = i + Subs.iniciaActividad("foto") + ' Msgbox("paso2","a") + Exit + ELSE IF c.GetString("CAT_EP_IDTIPOPREGUNTA") = 3 Then ' Tipo SI/NO + botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta + l_titEncuesta.Text = c.GetString("CAT_CE_DESCRIPCION") + l_txtEncuesta.Text = c.GetString("CAT_EP_PREGUNTA") + Subs.centraEtiqueta(l_txtEncuesta, Root.Width) + muestraBoton(b_encuesta_1,"SI", centroPantalla-350, 580, 300, 160) + muestraBoton(b_encuesta_2, "NO", centroPantalla+50, 580, 300, 160) + muestraEncuesta + Do Until botonPresionado = 1 'Esperamos que respondan la pregunta + Sleep(0) + Loop + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes,sDate & sTime,c.GetString("CAT_EP_ID"))) + ocultaPanelEncuesta + ELSE IF c.GetString("CAT_EP_IDTIPOPREGUNTA") = 4 Then + res = Msgbox2(c.GetString("CAT_EP_PREGUNTA"),c.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If res = DialogResponse.POSITIVE Then + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,c.GetString("CAT_EP_ID"))) + Else IF res = DialogResponse.NEGATIVE Then + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,c.GetString("CAT_EP_ID"))) + i = c.GetInt("CAT_EP_RES2_PRED") -2 + Else IF res = DialogResponse.CANCEL Then + i = i -1 + End If + ' Msgbox("paso3","a") + ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 2 Then ' Tipo 3 opciones. + botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta. + l_titEncuesta.Text = c.GetString("CAT_CE_DESCRIPCION") + l_txtEncuesta.Text = c.GetString("CAT_EP_PREGUNTA") + muestraBoton(b_encuesta_1, c.GetString("CAT_EP_RES2_PRED"), centroPantalla-250, 580, 500, 160) + muestraBoton(b_encuesta_2, c.GetString("CAT_EP_RES3_PRED"), centroPantalla-250, 740, 500, 160) + muestraBoton(b_encuesta_3, c.GetString("CAT_EP_RES1_PRED"), centroPantalla-250, 900, 500, 160) + muestraEncuesta + Do Until botonPresionado = 1 'Esperamos que respondan la pregunta. + Sleep(0) + Loop + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes,sDate & sTime,c.GetString("CAT_EP_ID"))) + ocultaPanelEncuesta + ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 6 Then + Panel10.Visible = True + l_chk_e.Text = c.GetString("CAT_EP_PREGUNTA") + Chk_1.Checked = False + chk_2.Checked = False + chk_3.Checked = False + Chk_1.Text = c.GetString("CAT_EP_RES1_PRED") + chk_2.Text = c.GetString("CAT_EP_RES2_PRED") + chk_3.Text = c.GetString("CAT_EP_RES3_PRED") + chk_1_valor = c.GetString("CAT_EP_RES1_PRED") + chk_2_valor = c.GetString("CAT_EP_RES2_PRED") + chk_3_valor = c.GetString("CAT_EP_RES3_PRED") + Chk_1.Tag = c.GetString("CAT_EP_ID") + chk_2.Tag = c.GetString("CAT_EP_ID") + chk_3.Tag = c.GetString("CAT_EP_ID") + TOMAR_FOTO = 1 + CURSOR_FOTO = i + Exit + ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 1 Then + botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta + l_titEncuesta.Text = c.GetString("CAT_CE_DESCRIPCION") + l_txtEncuesta.Text = c.GetString("CAT_EP_PREGUNTA") + Subs.centraEditText(et_encuesta, Root.Width) + et_encuesta.Visible = True + b_encuesta_continuar.Enabled = False + muestraBoton(b_encuesta_continuar,"Continuar", centroPantalla-250, 680, 500, 160) + muestraEncuesta + Do Until botonPresionado = 1 'Esperamos que respondan la pregunta + Sleep(0) + Loop + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes,sDate & sTime,c.GetString("CAT_EP_ID"))) + ocultaPanelEncuesta + Else + Starter.tipov = "VENTA" + Subs.iniciaActividad("Productos") + End If + Next + Else + Starter.tipov = "VENTA" + Subs.iniciaActividad("Productos") + End If + Else + Starter.tipov = "VENTA" + Subs.iniciaActividad("Productos") + End If +End Sub + +Sub b1_Click + Log("B1 clicked") +End Sub + +Sub b2_Click + If logger Then Log("B2 clicked") +End Sub + +Sub b_factura_Click + +End Sub + +Sub CH_TA_CheckedChange(Checked As Boolean) + +End Sub + +Sub CH_TC_CheckedChange(Checked As Boolean) + +End Sub + +Sub CH_TB_CheckedChange(Checked As Boolean) + +End Sub + +Sub CH_TD_CheckedChange(Checked As Boolean) + +End Sub + +Sub B_GUARDAR_Click + If logger Then Log("Guardar clic") + If CH_TA.Checked = True Then + TIPOEX = "TIPO A" + ELSE If CH_TB.Checked = True Then + TIPOEX = "TIPO B" + ELSE If CH_TC.Checked = True Then + TIPOEX = "TIPO C" + ELSE If CH_TD.Checked = True Then + TIPOEX = "TIPO D" + End If + Panel1.Visible = False + B_EXIBI.Visible = True + b_factura.Visible = True + HIST.Visible = True + c=Starter.skmt.ExecQuery("select CUENTA from cuentaa") + c.Position = 0 + cuenta = c.GetString("CUENTA") + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR) VALUES(?,?,?)", Array As Object(cuenta,TIPOEX,E_CUANTOS_E.Text)) +End Sub + +Sub B_EXIBI_Click + Panel1.Visible = True + B_EXIBI.Visible = False + b_factura.Visible = False + HIST.Visible = False +End Sub + +'''''''''''''''''''''''''''''''''''''' BOLETA DE LIQUIDACION +Sub LLAMA_BOLETA + '' FECHA DE TELEFONO + If Subs.clienteActual = "" Then Starter.skmt.ExecNonQuery("insert into cuentaa (cuenta) values (0)") + DateTime.DateFormat="dd/MM/yyyy" + Edt_FH.Text=DateTime.Date(DateTime.Now) + Subs.panelAnchoAlto(PNL_TOTALES, Root.Width, Root.Height) + PNL_TOTALES.Visible=True + Pnl_Billete.Visible=True + Pnl_Moneda.visible=True + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + Subs.panelAnchoAlto(P_BOLETA, Root.Width, Root.Height) + P_BOLETA.Visible=True + P_INF_GENERAL.Visible=False + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) + LBL_REGRESA.Visible=True + Private c As Cursor = Starter.skmt.ExecQuery("select * from TMP_CAT_BILLETE join TMP_CAT_MONEDAS") + If c.RowCount > 0 Then + c.Position = 0 + If logger Then Log("==================== CALCULADORA "&c.ColumnCount) +' Traemos billetes + EDT_CANMIL.Text = "0" + If IsNumber(c.GetString("TMP_BILLE_MIL")) Then EDT_CANMIL.Text = c.GetString("TMP_BILLE_MIL") + EDT_CANQUIN.Text = "0" + If c.GetString("TMP_BILLE_QUINIENTOS")<> Null Then EDT_CANQUIN.Text = c.GetString("TMP_BILLE_QUINIENTOS") + EDT_CANDOS.Text = "0" + If c.GetString("TMP_BILLE_DOSCIENTOS") <>Null Then EDT_CANDOS.Text = c.GetString("TMP_BILLE_DOSCIENTOS") + EDT_CANCIEN.Text = "0" + If c.GetString("TMP_BILLE_CIEN")<> Null Then EDT_CANCIEN.Text = c.GetString("TMP_BILLE_CIEN") + EDT_CANCIN.Text = "0" + If c.GetString("TMP_BILLE_CINCUENTA")<> Null Then EDT_CANCIN.Text = c.GetString("TMP_BILLE_CINCUENTA") + EDT_CANVEIN.Text = "0" + If c.GetString("TMP_BILLE_VEINTE")<> Null Then EDT_CANVEIN.Text = c.GetString("TMP_BILLE_VEINTE") +' Traemos monedas + EDT_CANVEINTE.Text = "0" + If c.GetString("TMP_MON_VEINTE")<> Null Then EDT_CANVEINTE.Text = c.GetString("TMP_MON_VEINTE") + EDT_CANDIEZ.Text = "0" + If c.GetString("TMP_MON_DIEZ")<> Null Then EDT_CANDIEZ.Text = c.GetString("TMP_MON_DIEZ") + EDT_CANCI.Text = "0" + If c.GetString("TMP_MON_CINCO")<> Null Then EDT_CANCI.Text = c.GetString("TMP_MON_CINCO") + EDT_CANDO.Text = "0" + If c.GetString("TMP_MON_DOS")<> Null Then EDT_CANDO.Text = c.GetString("TMP_MON_DOS") + EDT_CANUN.Text = "0" + If c.GetString("TMP_MON_UN")<> Null Then EDT_CANUN.Text = c.GetString("TMP_MON_UN") + EDT_CANCEN.Text = "0" + If c.GetString("TMP_MON_CENTAVOS")<> Null Then EDT_CANCEN.Text = c.GetString("TMP_MON_CENTAVOS") + L_CALCULA_BILLE_CLICK + L_CALCULA_MONEDA_Click + B_SUM_TOTAL.Text = TOTALBILLETES.Text + TOTALMONEDA.text + End If + 'Starter.boleta = 0 + c.Close +End Sub + +'''BILLETES +Sub L_CALCULA_BILLE_CLICK + If EDT_CANMIL.Text="" Or EDT_CANQUIN.Text="" Or EDT_CANDOS.Text="" Or EDT_CANCIEN.Text="" Or EDT_CANCIN.Text="" Or EDT_CANVEIN.Text="" Then + Pnl_Billete.RequestFocus + Msgbox("Por favor llena todas las cantidades","") 'ignore + Else + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'20 +Private Sub EDT_CANVEIN_FocusChanged (HasFocus As Boolean) + If EDT_CANVEIN.Text = "" Then EDT_CANVEIN.Text = "0" + EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUVEI_Click + If EDT_CANVEIN.Text = "" Then + EDT_CANVEIN.Text=0 + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Else + EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text + 1) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENVEI_Click + If EDT_CANVEIN.Text = "" Then + EDT_CANVEIN.Text=0 + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Else IF EDT_CANVEIN.Text > 0 Then + EDT_CANVEIN.Text = Round(EDT_CANVEIN.Text -1) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub +'50 +Private Sub EDT_CANCIN_FocusChanged (HasFocus As Boolean) + If EDT_CANCIN.Text = "" Then EDT_CANCIN.Text = "0" + EDT_CANCIN.Text = Round (EDT_CANCIN.Text) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUCIN_Click + If EDT_CANCIN.Text = "" Then + EDT_CANCIN.Text =0 + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Else + EDT_CANCIN.Text = Round (EDT_CANCIN.Text + 1) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENCIN_Click + If EDT_CANCIN.Text = "" Then + EDT_CANCIN.Text =0 + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Else IF EDT_CANCIN.Text > 0 Then + EDT_CANCIN.Text = Round(EDT_CANCIN.Text -1) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'100 +Private Sub EDT_CANCIEN_FocusChanged (HasFocus As Boolean) + If EDT_CANCIEN.Text = "" Then EDT_CANCIEN.Text = "0" + EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUCIEN_Click + If EDT_CANCIEN.Text = "" Then + EDT_CANCIEN.Text = 0 + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Else + EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text + 1) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENCIE_Click + If EDT_CANCIEN.Text = "" Then + EDT_CANCIEN.Text = 0 + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Else IF EDT_CANCIEN.Text > 0 Then + EDT_CANCIEN.Text = Round(EDT_CANCIEN.Text -1) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'200 +Private Sub EDT_CANDOS_FocusChanged (HasFocus As Boolean) + If EDT_CANDOS.Text = "" Then EDT_CANDOS.Text = "0" + EDT_CANDOS.Text = Round (EDT_CANDOS.Text) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUDOS_Click + If EDT_CANDOS.Text = "" Then + EDT_CANDOS.Text = 0 + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Else + EDT_CANDOS.Text = Round (EDT_CANDOS.Text + 1) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENDOS_Click + If EDT_CANDOS.Text = "" Then + EDT_CANDOS.Text = 0 + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Else IF EDT_CANDOS.Text > 0 Then + EDT_CANDOS.Text = Round(EDT_CANDOS.Text -1) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'500 +Private Sub EDT_CANQUIN_FocusChanged (HasFocus As Boolean) + If EDT_CANQUIN.Text = "" Then EDT_CANQUIN.Text = "0" + EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUQUI_Click + If EDT_CANQUIN.Text = "" Then + EDT_CANQUIN.Text =0 + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Else + EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text + 1) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENQUI_Click + If EDT_CANQUIN.Text = "" Then + EDT_CANQUIN.Text =0 + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Else IF EDT_CANQUIN.Text > 0 Then + EDT_CANQUIN.Text = Round(EDT_CANQUIN.Text -1) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub +'1000 +Private Sub EDT_CANMIL_FocusChanged (HasFocus As Boolean) + If EDT_CANMIL.Text = "" Then EDT_CANMIL.Text = "0" + EDT_CANMIL.Text = Round (EDT_CANMIL.Text ) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUMIL_Click + If EDT_CANMIL.Text = "" Then + EDT_CANMIL.Text = 0 + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Else + EDT_CANMIL.Text = Round (EDT_CANMIL.Text + 1) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENMIL_Click + If EDT_CANMIL.Text = "" Then + EDT_CANMIL.Text = 1 + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Else IF EDT_CANMIL.Text > 0 Then + EDT_CANMIL.Text = Round(EDT_CANMIL.Text -1) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'''' MONEDAS +Sub L_CALCULA_MONEDA_Click + If EDT_CANDIEZ.Text="" Or EDT_CANCI.Text="" Or EDT_CANDO.Text="" Or EDT_CANUN.Text="" Or EDT_CANCEN.Text="" Or EDT_CANVEINTE.Text="" Then + Msgbox("Por favor llena todas las cantidades","") 'ignore + Pnl_Billete.RequestFocus + Else + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + LBL_TVEINTE.Text=L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'0.50 +Private Sub EDT_CANCEN_FocusChanged (HasFocus As Boolean) + If EDT_CANCEN.Text = "" Then EDT_CANCEN.Text = "0" + EDT_CANCEN.Text = Round (EDT_CANCEN.Text) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMCENT_Click + If EDT_CANCEN.Text = "" Then + EDT_CANCEN.Text = 0 + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + Else + EDT_CANCEN.Text = Round (EDT_CANCEN.Text + 1) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENCENT_Click + If EDT_CANCEN.Text = "" Then + EDT_CANCEN.Text =0 + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + Else IF EDT_CANCEN.Text > 0 Then + EDT_CANCEN.Text = Round(EDT_CANCEN.Text -1) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'1 +Private Sub EDT_CANUN_FocusChanged (HasFocus As Boolean) + If EDT_CANUN.Text = "" Then EDT_CANUN.Text = "0" + EDT_CANUN.Text = Round (EDT_CANUN.Text) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMUN_Click + If EDT_CANUN.Text = "" Then + + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + Else + EDT_CANUN.Text = Round (EDT_CANUN.Text + 1) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENUN_Click + If EDT_CANUN.Text = "" Then + EDT_CANUN.Text = 0 + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + Else IF EDT_CANUN.Text > 0 Then + EDT_CANUN.Text = Round(EDT_CANUN.Text -1) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'2 +Private Sub EDT_CANDO_FocusChanged (HasFocus As Boolean) + If EDT_CANDO.Text = "" Then EDT_CANDO.Text = "0" + EDT_CANDO.Text = Round (EDT_CANDO.Text) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMDO_Click + If EDT_CANDO.Text = "" Then + EDT_CANDO.Text =0 + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + Else + EDT_CANDO.Text = Round (EDT_CANDO.Text + 1) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENDO_Click + If EDT_CANDO.Text = "" Then + EDT_CANDO.Text=0 + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + Else IF EDT_CANDO.Text > 0 Then + EDT_CANDO.Text = Round(EDT_CANDO.Text -1) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'5 +Private Sub EDT_CANCI_FocusChanged (HasFocus As Boolean) + If EDT_CANCI.Text = "" Then EDT_CANCI.Text = "0" + EDT_CANCI.Text = Round (EDT_CANCI.Text) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMCIN_Click + If EDT_CANCI.Text = "" Then + EDT_CANCI.Text =0 + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + Else + EDT_CANCI.Text = Round (EDT_CANCI.Text + 1) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENCI_Click + If EDT_CANCI.Text = "" Then + EDT_CANCI.Text =0 + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + Else IF EDT_CANCI.Text > 0 Then + EDT_CANCI.Text = Round(EDT_CANCI.Text -1) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub +'10 +Private Sub EDT_CANDIEZ_FocusChanged (HasFocus As Boolean) + If EDT_CANDIEZ.Text = "" Then EDT_CANDIEZ.Text = "0" + EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMDIEZ_Click + If EDT_CANDIEZ.Text = "" Then + EDT_CANDIEZ.Text =0 + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + Else + EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text + 1) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENDIEZ_Click + If EDT_CANDIEZ.Text = "" Then + EDT_CANDIEZ.Text = 0 + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + Else IF EDT_CANDIEZ.Text > 0 Then + EDT_CANDIEZ.Text = Round(EDT_CANDIEZ.Text -1) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'20 +Private Sub EDT_CANVEINTE_FocusChanged (HasFocus As Boolean) + If EDT_CANVEINTE.Text = "" Then EDT_CANVEINTE.Text = "0" + EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_MENVEINTE_Click + If EDT_CANVEINTE.Text = "" Then + EDT_CANVEINTE.Text = 0 + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + Else IF EDT_CANVEINTE.Text > 0 Then + EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text -1) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_SUMVEINTE_Click + If EDT_CANVEINTE.Text = "" Then + EDT_CANVEINTE.Text =0 + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + Else + EDT_CANVEINTE.Text = Round (EDT_CANVEINTE.Text + 1) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +''''''TOTALES +Sub TOTALES_Click + If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then + TOTALMONEDA.Text=0 + TOTALBILLETES.Text=0 + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + Else + B_SUM_TOTAL.Text= "$"&(TOTALMONEDA.Text + TOTALBILLETES.Text) + End If +End Sub + +Sub B_AGREGABILL_Click + Pnl_Billete.Visible=True + Pnl_Moneda.Visible=False + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub B_AGREGAMONE_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=True + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub LBL_RETURN_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=False + PNL_TOTALES.Visible=True + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + ''' CALCULO FINAL + If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then + TOTALMONEDA.Text=0 + TOTALBILLETES.Text=0 + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + Else + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + End If +End Sub + +Sub LBL_REGRESA_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=False + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + PNL_TOTALES.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub B_Regresar_Click +' StartActivity("SELECCION") + Subs.iniciaActividad("principal") +' B4XPages.ShowPage("Principal") +' Activity.Finish + PNL_TOTALES.Visible=False + Pnl_Billete.Visible=False + Pnl_Moneda.visible=False + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + P_BOLETA.Visible=False + P_INF_GENERAL.Visible=True + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) + LBL_REGRESA.Visible=False + +End Sub + +Sub IMG_IMPRESORA_Click +' Printer1.DisConnect : Log("Desconectando impresora") +' impresoraConectada = False +' Private cont As Int = 0 +' ToastMessageShow("Conectando impresora", False) +' Do While Not(impresoraConectada) And cont < 9 +' Printer1.Connect +' If Logger Then Log("Conectando impresora") +' Sleep(1000) +' If Logger Then Log(impresoraConectada) +' cont = cont + 1 +' Loop +' If Logger Then Log("connected") + ProgressDialogShow("Imprimiendo, un momento ...") + Printer1.DisConnect + If Not(Printer1.IsConnected) Then + If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else + If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If + + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close + Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF) + Printer1.WriteString(sDate &" " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("BILLETES" & CRLF) + Printer1.WriteString("$1,000 X " & EDT_CANMIL.TEXT & " = " & LBL_TMIL.TEXT & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$500 X " & EDT_CANQUIN.TEXT & " = " & LBL_TQUIN.TEXT &CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$200 X " & EDT_CANDOS.TEXT & " = " & LBL_TDOS.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$100 X " & EDT_CANCIEN.TEXT & " = " & LBL_TCIEN.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$50 X " & EDT_CANCIN.TEXT & " = " & LBL_TCIN.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$20 X " & EDT_CANVEIN.TEXT & " = " & LBL_TVEIN.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("TOTAL BILLETES...... " & Btn_TOTALBILLETE.TEXT & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("MONEDAS" & CRLF) + Printer1.WriteString("$20 X " & EDT_CANVEINTE.TEXT & " = " & LBL_TVEINTE.TEXT &CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$10 X " & EDT_CANDIEZ.TEXT & " = " & LBL_TDIEZ.TEXT &CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$5 X " & EDT_CANCI.TEXT & " = " & LBL_TCI.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$2 X " & EDT_CANDO.TEXT & " = " & LBL_TDO.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$1 X " & EDT_CANUN.TEXT & " = " & LBL_TUN.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$.50 X " & EDT_CANCEN.TEXT & " = " & LBL_TCEN.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("TOTAL MONEDAS....... " & B_TOTALMONEDA.TEXT & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("TOTAL .........." & B_SUM_TOTAL.TEXT & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("Nombre y Firma" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString("______________________________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + ProgressDialogHide +End Sub + +Sub B_IMP_INV_Click + ProgressDialogShow("Imprimiendo, un momento ...") + Printer1.DisConnect + If Not(Printer1.IsConnected) Then + If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else + If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close + TAMANO = 5 + ESPACIO = 14 + BLANCO = " " + Printer1.WriteString("KELLOG COMPANY MEXICO" & CRLF) + Printer1.WriteString("RESUMEN DIA" & CRLF) + Printer1.WriteString(sDate & " " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("-------INVENTARIO A BORDO----------" & CRLF) +''' se cambia este Printer1.WriteString("---II---CD---IIT---VT---RMI---IF---" & CRLF) ------- sin RMI + Printer1.WriteString("---II---CD---IIT---VT---------IF---" & CRLF) + + ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. + s=Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS")) + Log($"Reglones: ${s.RowCount}"$) + If s.RowCount>0 Then + For i=0 To S.RowCount -1 + Log(i) + Try + s.Position=i + Printer1.WriteString(s.GetString("CAT_GP_NOMBRE") & CRLF) + Log("p"&i) + Catch + Log(LastException) + If logger Then Log("Saliendo con Try/Catch") + Exit + End Try + S1=Starter.skmt.ExecQuery2("select CAT_GP_ALMACEN from cat_gunaprod5 where CAT_GP_ID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S1.Position=0 + S3=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S3.Position=0 + If S3.GetString("CUANTOS") > 0 Then + S2=Starter.skmt.ExecQuery2("select HIST_CANT from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S2.Position=0 + a_inicial = S1.GetString("CAT_GP_ALMACEN") - S2.GetString("HIST_CANT") + Else + a_inicial = S1.GetString("CAT_GP_ALMACEN") + End If + a_inicial_5 = S1.GetString("CAT_GP_ALMACEN") + 'Printer1.WriteString("INICIAL: " & ABORDO & CRLF) + If S3.GetString("CUANTOS") > 0 Then + 'Printer1.WriteString("CARGA DIA : " & S2.GetString("HIST_CANT") & CRLF) + ABORDO = S2.GetString("HIST_CANT") + Else + 'Printer1.WriteString("CARGA DIA : 0" & CRLF) + ABORDO = 0 + End If + 'Printer1.WriteString("CARGA TOTAL : " & S1.GetString("CAT_GP_ALMACEN") & CRLF) + a_total = S1.GetString("CAT_GP_ALMACEN") + + C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) <> ? AND PE_TIPO = ? and PE_PROID = ? ", Array As String("CAMBIO","VENTA", s.GetString("CAT_GP_ID"))) + C4.Position=0 + If C4.GetString("CUANTOS") > 0 Then + C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) <> ? AND PE_TIPO = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO","VENTA", s.GetString("CAT_GP_ID"))) + C3.Position=0 + 'Printer1.WriteString("VENTA: " & C3.GetString("CANTIDAD") & CRLF) + a_venta = C3.GetString("CANTIDAD") + Else + 'Printer1.WriteString("VENTA: 0" & CRLF) + a_venta = 0 + End If + C4.Close + ''' se conenta esto para el cambio de RMI + C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID"))) + C4.Position=0 + If C4.GetString("CUANTOS") > 0 Then + C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID"))) + C1.Position=0 + RMI = C1.GetString("CANTIDAD") + Else + RMI = 0 + End If + + 'Printer1.WriteString("INV. ACT.: " & s.GetString("CAT_GP_ALMACEN") & CRLF) + 'a_final =s.GetString("CAT_GP_ALMACEN") + ''' se cammbi a este a_final = a_inicial_5 - a_venta - RMI por el sin RMI cambiuo de rmi + a_final = a_inicial_5 - a_venta + + 'Printer1.WriteString("RMI: " & RMI & CRLF) + Private sep1 As String + Private sep2 As String + Private sep3 As String + Private sep4 As String + Private sep5 As String + Private sep6 As String + + sep1 = a_inicial.Length + If sep1 = 1 Then + a_inicial = "----" & a_inicial + else if sep1 = 2 Then + a_inicial = "---" & a_inicial + else if sep1 = 3 Then + a_inicial = "--" & a_inicial + else if sep1 = 4 Then + a_inicial = "-" & a_inicial + else if sep1 = 5 Then + a_inicial = a_inicial + End If + sep2 = ABORDO.Length + If sep2 = 1 Then + ABORDO = "----" & ABORDO + else if sep2 = 2 Then + ABORDO = "---" & ABORDO + else if sep2 = 3 Then + ABORDO = "--" & ABORDO + else if sep2 = 4 Then + ABORDO = "-" & ABORDO + else if sep2 = 5 Then + ABORDO = ABORDO + End If + + sep3 = a_total.Length + If sep3 = 1 Then + a_total = "----" & a_total + else if sep3 = 2 Then + a_total = "---" & a_total + else if sep3 = 3 Then + a_total = "--" & a_total + else if sep3 = 4 Then + a_total = "-" & a_total + else if sep3 = 5 Then + a_total = a_total + End If + + sep4 = a_venta.Length + If sep4 = 1 Then + a_venta = "----" & a_venta + else if sep4 = 2 Then + a_venta = "---" & a_venta + else if sep4 = 3 Then + a_venta = "--" & a_venta + else if sep4 = 4 Then + a_venta = "-" & a_venta + else if sep4 = 5 Then + a_venta = a_venta + End If + + sep5 = a_final.Length + If sep5 = 1 Then + a_final = "----" & a_final + else if sep5 = 2 Then + a_final = "---" & a_final + else if sep5 = 3 Then + a_final = "--" & a_final + else if sep5 = 4 Then + a_final = "-" & a_final + else if sep5 = 5 Then + a_final = a_final + End If +''''se cambia por lo de RMI +'' sep6 = RMI.Length +'' If sep6 = 1 Then +'' RMI = "----" & RMI +'' else if sep6 = 2 Then +'' RMI = "---" & RMI +'' else if sep6 = 3 Then +'' RMI = "--" & RMI +'' else if sep6 = 4 Then +'' RMI = "-" & RMI +'' else if sep6 = 5 Then +'' RMI = RMI +'' End If +'' se cambia este Printer1.WriteString( a_inicial & ABORDO & a_total & a_venta & RMI & a_final & CRLF) --- por este sin RMI + + Printer1.WriteString( a_inicial & ABORDO & a_total & a_venta & a_final & CRLF) + + TAMANO = TAMANO + 1 + If TAMANO > 40 Then + + t3.Initialize("T3", 4000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + TAMANO = 0 + End If + Next + End If + s.Close + If S3.IsInitialized Then S3.Close + Try + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from pedido") + c.Position =0 + CUANTOS = c.GetString("CUANTOS") + c.Close + Catch + CUANTOS = 0 + End Try + ''' se quita por el RMI + Try + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO")) + If c.RowCount > 0 Then + c.Position =0 + CUANTOS1 = c.GetString("CUANTOS") + Else + CUANTOS1 = 0 + End If + c.Close + Catch + CUANTOS1 = 0 + End Try + If CUANTOS <> CUANTOS1 Then + Try + c=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO")) + Printer1.WriteString(CRLF) + Printer1.WriteString("-----------RMI----------------" & CRLF) + Printer1.WriteString(CRLF) + If C.RowCount>0 Then + For i=0 To C.RowCount -1 + C.Position=i + Printer1.WriteString(C.GetString("CANTIDAD") & " " & C.GetString("PE_PRONOMBRE") & CRLF) + Next + End If + c.Close + Catch + Printer1.WriteString(CRLF) + End Try + End If + + ' TOTALES DE LOS ARCHIVOS + + s.Close + S=Starter.skmt.ExecQuery2("select SUM(CAT_GP_ALMACEN) AS CAT_GP_ALMACEN from cat_gunaprod2 WHERE CAT_GP_CLASIF <> ? ", Array As String("PROMOS")) + S.Position=0 + a_final =s.GetString("CAT_GP_ALMACEN") + + S1.Close + S1=Starter.skmt.ExecQuery("select SUM(CAT_GP_ALMACEN) AS CAT_GP_ALMACEN from cat_gunaprod5 ") + S1.Position=0 + a_total = S1.GetString("CAT_GP_ALMACEN") + a_inicial = S1.GetString("CAT_GP_ALMACEN") + S1.Close + ABORDO =0 + C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD, SUM(PE_COSTO_TOT) AS PE_TOTAL from pedido where pe_proid <> pe_cedis and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE <> ?", Array As String("CAMBIO", "0")) + C8=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS PE_TOTAL from pedido where pe_proid <> pe_cedis AND PE_CLIENTE <> ?", Array As String( "0")) + C8.Position=0 + If C3.RowCount > 0 Then + C3.Position=0 + a_venta = C3.GetString("CANTIDAD") + Else + a_venta = 0 + End If + + If a_venta = Null Then a_venta = 0 + If CUANTOS <> CUANTOS1 Then + C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL from pedido where substr(pe_pronombre,1,6) = ? ", Array As String("CAMBIO")) + C1.Position=0 + RMI = C1.GetString("CANTIDAD") + RMI_VALOR = C1.GetString("TOTAL") + C1.Close + Else + RMI = 0 + End If + If RMI = Null Then RMI = 0 + If logger Then Log($"a_total=${a_total}, a_venta=${a_venta}, rmi=${RMI}"$) + a_final = a_total - a_venta + Printer1.WriteString(Printer1.BOLD & "Piezas en RMI : " & RMI & CRLF) + Printer1.WriteString(Printer1.BOLD & "TOTAL RMI : " & RMI_VALOR & CRLF) + + Printer1.WriteString(Printer1.BOLD & "----RESUMEN TOTAL---- " & CRLF) + '' se cambia por lo del rmi Printer1.WriteString("---" & a_inicial & "..." & ABORDO & "..." & a_total & "..." & a_venta & "..." & a_final & "..." & RMI & CRLF) + Printer1.WriteString("---" & a_inicial & "..." & ABORDO & "..." & a_total & "..." & a_venta & "..." & a_final & "..." & CRLF) + + Printer1.WriteString(Printer1.BOLD & "TOTAL VENTA " & C8.GetString("PE_TOTAL") & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("Nombre y Firma" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString("______________________________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + If C3.IsInitialized Then C3.Close + ProgressDialogHide +End Sub + +Sub B_CERRAR_I_Click + Panel_INV_A.Visible = False + P_INF_GENERAL.Visible = True + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) +End Sub + +Sub Bt_GuardarBoleta_Click + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + cursorBoleta=Starter.skmt.ExecQuery("select ID_ALMACEN FROM CAT_ALMACEN") + cursorBoleta.Position=0 + Id_Almacen=cursorBoleta.GetString("ID_ALMACEN") + Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE") + Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS") + Starter.skmt.ExecNonQuery2("INSERT INTO TMP_CAT_BILLETE (TMP_BILLE_RUTA, TMP_BILLE_IDALMACEN, TMP_BILLE_FECHA, TMP_BILLE_MIL, TMP_BILLE_QUINIENTOS, TMP_BILLE_DOSCIENTOS, TMP_BILLE_CIEN, TMP_BILLE_CINCUENTA, TMP_BILLE_VEINTE) values (?,?,?,?,?,?,?,?,?)", Array As Object (RutaBoleta,Id_Almacen,sDate & sTime,EDT_CANMIL.Text,EDT_CANQUIN.Text,EDT_CANDOS.Text,EDT_CANCIEN.Text,EDT_CANCIN.Text,EDT_CANVEIN.Text)) + Starter.skmt.ExecNonQuery2("INSERT INTO TMP_CAT_MONEDAS (TMP_MON_RUTA, TMP_MON_IDALMACEN, TMP_MON_FECHA, TMP_MON_VEINTE, TMP_MON_DIEZ, TMP_MON_CINCO, TMP_MON_DOS, TMP_MON_UN, TMP_MON_CENTAVOS) values (?,?,?,?,?,?,?,?,?)", Array As Object (RutaBoleta,Id_Almacen,sDate & sTime,EDT_CANVEINTE.Text,EDT_CANDIEZ.Text,EDT_CANCI.Text,EDT_CANDO.Text,EDT_CANUN.Text,EDT_CANCEN.Text)) +' If Logger Then Log($"${RutaBoleta},${Id_Almacen},${EDT_CANMIL.Text},${EDT_CANQUIN.Text},${EDT_CANDOS.Text},${EDT_CANCIEN.Text},${EDT_CANCIN.Text},${EDT_CANVEIN.Text}"$) +' If Logger Then Log($"${RutaBoleta},${Id_Almacen},${EDT_CANVEINTE.Text},${EDT_CANDIEZ.Text},${EDT_CANCI.Text},${EDT_CANDO.Text},${EDT_CANUN.Text},${EDT_CANCEN.Text}"$) + Msgbox("Datos Guardados ","Listo") 'ignore +End Sub + +Sub B_E_NEXT_Click + Panel9.Visible = False + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, E_RES_E.Text ,sDate & sTime,c.GetString("CAT_EP_ID"))) + Starter.tipov = "VENTA" + Cuestionario +End Sub + +Sub b_chk_e_Click + Panel10.Visible = False + Private resp As String = "" + If Chk_1.Checked = True Then resp = chk_1_valor + If chk_2.Checked = True Then resp = resp & " / " & chk_2_valor + If chk_3.Checked = True Then resp = resp & " / " & chk_3_valor + If resp.StartsWith(",") Then resp = resp.SubString(2) 'Quitamos la coma si existe al principio. + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, resp, sDate & sTime, Chk_1.Tag)) + Starter.tipov = "VENTA" + Cuestionario +End Sub + +'Muestra el panel de la encuesta, le da el alto y ancho de la pantalla y la pone en 0,0 +Sub muestraEncuesta +' If Logger Then Log("Muestra Encuesta") + p_encuesta.Top = 0 + p_encuesta.left = 0 + p_encuesta.Height = GetDeviceLayoutValues.Height + p_encuesta.Width = GetDeviceLayoutValues.Width + p_encuesta.SetVisibleAnimated(200, True) + p_encuesta.Elevation = 90 'ignore + p_encuesta.BringToFront + P_INF_GENERAL.Visible = False + Log("Panel general="&P_INF_GENERAL.Visible) +End Sub + +' Oculta el panel de la encuesta y los botones de la misma. +Sub ocultaPanelEncuesta +' Log("Oculta Encuesta") + b_encuesta_1.Visible = False + b_encuesta_2.Visible = False + b_encuesta_3.Visible = False + p_encuesta.Visible = False + P_INF_GENERAL.Visible = True + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) +End Sub + +'Regresa el valor de "left" para el centro de la pantalla +Sub centroPantalla As Int + Private anchoPantalla As Int = GetDeviceLayoutValues.Width + Private anchoPantalla As Int = Root.Width + Return anchoPantalla/2 +End Sub + +Private Sub b_encuesta_1_Click + Dim btn As Button = Sender + Log(btn.Tag & " clicked - " & btn.Text) + encuestaRes = btn.Text + ocultaPanelEncuesta + botonPresionado = 1 +End Sub + +Private Sub b_encuesta_2_Click + Dim btn As Button = Sender + Log(btn.Tag & " clicked - " & btn.Text) + encuestaRes = btn.Text + ocultaPanelEncuesta + botonPresionado = 1 +End Sub + +Private Sub b_encuesta_3_Click + Dim btn As Button = Sender + If logger Then Log(btn.Tag & " clicked - " & btn.Text) + encuestaRes = btn.Text + ocultaPanelEncuesta + botonPresionado = 1 +End Sub + +Private Sub b_encuesta_continuar_Click + encuestaRes = et_encuesta.Text + et_encuesta.Text = "" + et_encuesta.Visible = False + b_encuesta_continuar.Visible = False + ocultaPanelEncuesta + botonPresionado = 1 +End Sub + +Private Sub et_encuesta_TextChanged (Old As String, New As String) +' Log($"|${Old}|,|${New}|"$) + If New.Length > 0 Then b_encuesta_continuar.Enabled = True + If New.Length < 1 Then b_encuesta_continuar.Enabled = False +End Sub + +'Revisa si el cliente actual es candidato a la promo especial que da regalo según el monto de la compra. +'Se revisa que el cliente tenga asignada la promoción, que no tenga venta impresa y que el producto de regalo tenga existencia. +'Si cumple las 3 condiciones regresa esValida=True, si no, esValida=False. +Sub revisaPromoEspecial As Map +' Necesitamos cliente autorizado, producto promocional con existencia y cliente no impreso. + Private hayInventario As String = "" + Private clienteConPromo As String = "" + Private clienteImpreso As String = "" + Dim promoInfo As Map + promoInfo.Initialize + Private x As Cursor + 'Revisamos si ya tiene venta impresa. + x=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)") + x.Position = 0 + clienteImpreso = x.GetString("CUANTOS") +' Log(clienteImpreso) +' If clienteImpreso = "0" Then Log("El cliente no tiene venta impresa.") + x.Close + 'Revisamos que tenga asignada la promo. + x=Starter.skmt.ExecQuery("select count(*) as clienteConPromo, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC, CPM_IDPROMO, CPM_MONTO from CAT_PROMO_MONTO where CPM_CLIENTE in (Select CUENTA from cuentaa)") + If x.RowCount > 0 Then + x.Position = 0 + If x.GetString("clienteConPromo") = 1 Then 'Cliente autorizado para promo. + clienteConPromo = "1" + Private y As Cursor + Private nombreProd As String = "" + y=Starter.skmt.ExecQuery("select cat_gp_nombre as nombreProd from cat_gunaprod where cat_gp_id = '" & x.GetString("CPM_PROID") & "'") + If y.RowCount > 0 Then + y.Position = 0 + nombreProd = y.GetString("nombreProd") + End If + Log("El cliente tiene asignada la promo especial.") + Private p As Cursor + p=Starter.skmt.ExecQuery("select count(*) as hayInventario from CAT_GUNAPROD where CAT_GP_ALMACEN > 0 and CAT_GP_ID = " & x.GetString("CPM_PROID")) + p.Position = 0 + hayInventario = p.GetString("hayInventario") + If hayInventario = "1" Then Log("El producto de la promo tiene existencia.") + p.Close + promoInfo = CreateMap("idProd":x.GetString("CPM_PROID"), "cantProd":x.GetString("CPM_CANT"), "rangoPromo":x.GetString("CPM_RANGO"), "descrPromo":x.GetString("CPM_DESC"), "idPromo":x.GetString("CPM_IDPROMO"), "montoPromo":x.GetString("CPM_MONTO"), "nombreProd":nombreProd) + End If + End If + x.Close + If clienteImpreso = "0" And clienteConPromo = "1" And hayInventario = "1" Then + Log("Cumple con TODAS las condiciones de la promo.") + promoInfo.Put("esValida", True) + Return promoInfo + Else +' Log("NO cumple con las condiciones de la promo.") + promoInfo.Put("esValida", False) + Return promoInfo + End If +End Sub + +'Mete la promoción especial de regalo por monto vendido. +Sub metePromoEspecial(idProd As String, idPromo As String, cantProd As Int, nombreProd As String, promoDescr As String, idCliente As String, idUsuario As String, idRuta As String) 'ignore + Dim query As String + query = "cat_gunaprod" + If Starter.tipov = "VENTA" Then query = "cat_gunaprod2" +' Falta nombre de producto en el insert + Starter.skmt.ExecNonQuery2("DELETE from PEDIDO where PE_CEDIS = ?", Array As String (idPromo)) + 'Metemos encabezado de la promo. + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_RUTA, PE_TIPO, PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (idPromo, 0, 0, cantProd, promoDescr, idPromo, idCliente, sDate & sTime, idUsuario, idRuta, Starter.tipov, 0)) + 'Metemos el producto de regalo. + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_RUTA, PE_TIPO, PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (idPromo, 0.01, 0.01, cantProd, nombreProd, idProd, idCliente, sDate & sTime, idUsuario, idRuta, Starter.tipov, 0.01)) + 'Actualizamos existencia en CAT_GUNAPROD. + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantProd, idProd)) +End Sub + +Sub revisaImpresora (mode As String) 'ignore + '' Log("Revisamos impresora " & Starter.intentosImpresora) + '' Log("RevisandoImpresora= " & Starter.revisandoImpresora) +' If Not(Starter.btAdmin.IsEnabled) Then Starter.btAdmin.Enable 'Si no esta prendido el BT lo prendemos. +' If Not(Printer1.IsInitialized) Then Printer1.Initialize(Me, "Printer1") 'Si no esta inicializada la inicializamos. +' If Not(Starter.revisandoImpresora) Then Return +' Starter.revisandoImpresora = True +' If mode = "BT" Then + '' Try + '' LogColor("reiniciamos BT", Colors.Blue) + '' Starter.btAdmin.Disable + '' Sleep(500) + '' Starter.btAdmin.Enable + '' Sleep(1000) + '' If Starter.btAdmin.IsEnabled Then revisaImpresora("") + '' Catch + '' Log(LastException) + '' End Try +' Else + '' ToastMessageShow("Conectando impresora.", False) +' If Not(Printer1.IsConnected) Then 'Si no estamos conectados, nos conectamos. +' Log("Connect") +' Printer1.Connect +' Else 'Si ya estamos conectados +' Log("Disc-Conn") +' Printer1.DisConnect +' Sleep(1000) +' Printer1.Connect +' End If +' End If +End Sub + +Private Sub l_exhibidor2_Click + p_exhibidores.Left = (Root.Width/2) - (p_exhibidores.Width/2) + p_exhibidores.Top = Root.Height/4 + p_exhibidores.Visible = True + p_exhibidores.Elevation = 90dip +End Sub + +Private Sub b_exhibidor_Click + p_exhibidores.Visible = False +End Sub + +Private Sub Panel9_Click + 'Esta vacio porque solo esta capturado los clics. +End Sub + +Private Sub PNL_TOTALES_Click + 'Esta vacio porque solo esta capturado los clics. +End Sub + +Private Sub b_ubicacion_Click + CallSubDelayed(Tracker, "StartFLP2") +End Sub + +Private Sub P_BOLETA_Click + 'Esta vacio porque solo esta capturado los clics. +End Sub + +Private Sub b_whats_Click + P_INF_GENERAL.Visible = False + p_promowhats.visible = True + + c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + If c.RowCount > 0 Then + c.Position=0 + l_promowhats.Text = c.GetString("CAT_CL_CODIGO") + End If + c.Close +End Sub + +Private Sub b_aceptarrpomo_Click +' c=Starter.skmt.ExecQuery("select CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") +' If c.RowCount > 0 Then +' c.Position=0 +' l_promowhats.Text = c.GetString("CAT_CL_NOMBRE") +' End If +' c.Close + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + If c.RowCount>0 Then + C.Position=0 + Id_Almacen = C.GetString("ID_ALMACEN") + End If + c.Close + + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMO_WHATS VALUES (?,?)", Array As Object(l_promowhats.Text, "PROMO ACEPTADA")) + + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0 , 0, 1, "KIT DE BIENVENIDA DON TOÑO", "PROMODOE",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,Starter.tipov,0)) + Starter. skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.01 , 0.01, 1, "CAJA CHOCO ZUCARITAS 260 GR", "1008094223",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,Starter.tipov,0)) + Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("1", "1008094223")) + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps,Id_Almacen,Starter.rutaV,c.GetString("TOTAL_CLIE_SIN"))) + + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") 'Mod por CHV - 220302 - Agregué PE_FECHA al select/insert + +' starter.skmt.ExecNonQuery2("INSERT INTO") + p_promowhats.Visible = False + P_INF_GENERAL.Visible = True + c.Close + b_whats.Visible = False + Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS where HCCP_CLIENTE IN (Select cuenta from cuentaa)") +End Sub + +Private Sub b_rechazapromo_Click + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMO_WHATS VALUES (?,?)", Array As Object(l_promowhats.Text, "PROMO RECHAZADA")) + p_promowhats.Visible = False + P_INF_GENERAL.Visible = True + b_whats.Visible = False +End Sub + +Private Sub BP_DOE_A_Click + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + If c.RowCount>0 Then + C.Position=0 + Id_Almacen = C.GetString("ID_ALMACEN") + End If + c.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2 FROM PEDIDO_DOE WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = ?, PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object("DOE","DOE")) + + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps,Id_Almacen,Starter.rutaV,c.GetString("TOTAL_CLIE_SIN"))) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + c.Close + Starter.skmt.ExecNonQuery("delete from PEDIDOS_DOE_ENTREGA where PC_CLIENTE in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery2("insert into PEDIDOS_DOE_ENTREGA (PC_CLIENTE, PC_ENTREGA) VALUES (?,?) ", Array As Object(clie_id,"ENTREGADO")) + + Starter.skmt.ExecNonQuery("delete from pedido_DOE where pe_cliente in (Select CUENTA from cuentaa)") + + P_DOE.Visible = False +End Sub + +Private Sub BP_DOE_R_Click + + Dim result As Int + result = Msgbox2("El cliente perderá el descuento si cancela el pedio, se cancela el pedido ?", "Pedido Cancela", "SI", "", "NO", LoadBitmap(File.DirAssets, "alert2.png")) + If result = DialogResponse.Positive Then + + Panel11.Visible = True + BP_DOE_A.Visible = False + BP_DOE_R.Visible = False + Else + P_DOE.Visible = False + End If + +End Sub + +Private Sub l_ubicacion2_LongClick + If laDist > 49 Then + p_pideGeoPass.BringToFront + p_pideGeoPass.Visible = True + End If +End Sub + +Private Sub p_pideGeoPass_Click +End Sub + +Private Sub b_geopass_Click + ime.HideKeyboard + If et_geopass.Text = "KMTS1" Then + m_lat = Starter.lat_gps + m_lon = Starter.lon_gps + GPS_LocationChanged(Starter.ubicacionActual) + Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$) + B_VENTA.Visible = True + Tels.Visible = True + et_geopass.Text = "" + p_pideGeoPass.Visible = False + Else + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_geoPass" + cmd.Parameters = Array As Object(et_geopass.Text, Subs.traeAlmacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "traeGeoPass") + Log($"${Starter.server}, ${et_geopass.Text}, ${Subs.traeAlmacen}, ${Subs.traeRuta}"$) + p_pideGeoPass.Visible = False + ime.HideKeyboard + ' Log("Guardamos coords") + ' LATITUD = Starter.lat_gps + ' LONGITUD = Starter.lon_gps + ' GPS_LocationChanged(Starter.ubicacionActual) + ' Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$) + End If +End Sub + +Sub P_INF_GENERAL_Click + If p_pideGeoPass.Visible Then p_pideGeoPass.Visible = False +End Sub + +Sub JobDone(Job As HttpJob) + If Job.Success = False Then +' ToastMessageShow("Error: " & Job.ErrorMessage, True) + LogColor("Error: " & Job.ErrorMessage, Colors.red) + Else + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110 + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "traeGeoPass" Then 'query tag + Log("SIN REGISTROS " & result.Rows.Size) + If result.Rows.Size = 0 Then MsgboxAsync("Contraseña equivocada, por favor intente de nuevo.", "ATENCION") + For Each records() As Object In result.Rows +' For Each k As String In result.Columns.Keys +' Log(k & ": " & records(result.Columns.Get(k))) +' Next + Private permiso_geoPass As String = records(result.Columns.Get("'OK'")) + If permiso_geoPass = "OK" Then + m_lat = Starter.lat_gps + m_lon = Starter.lon_gps + GPS_LocationChanged(Starter.ubicacionActual) + Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$) + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "delete_geoPass" + cmd.Parameters = Array As Object( Subs.traeAlmacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "traeGeoPass") + + End If + Next + End If + End If + End If + Job.Release +End Sub + +Private Sub BP_DOE_R1_Click + If r_1.Checked Then + motivo = "CERRADO" + Else If r_2.Checked Then + motivo = "NO LO PIDIO" + Else If r_3.Checked Then + motivo = "FUERA DE TIEMPO" + Else if r_4.Checked Then + motivo = "NO ESTA EL ENCARGADO" + Else if R_5.Checked Then + motivo = "FALTA DE DINERO" + End If + motivo = motivo & " " & e_comm.Text + + BP_DOE_A.Visible = True + BP_DOE_R.Visible = True + + Panel11.Visible = False + P_DOE.Visible = False + c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO_DOE where pe_cliente in (Select CUENTA from cuentaa) ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Next + End If +' Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery("delete from PEDIDOS_DOE_ENTREGA where PC_CLIENTE in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery2("insert into PEDIDOS_DOE_ENTREGA (PC_CLIENTE, PC_ENTREGA) VALUES (?,?) ", Array As Object(clie_id,motivo)) + + Starter.skmt.ExecNonQuery("delete from pedido_DOE where pe_cliente in (Select CUENTA from cuentaa)") + P_DOE.Visible = False +End Sub + +private Sub pedido_doe_muestra + ''' ESTO SE AGREGA PARA QUE SE VEA LOS CLIENTES DOE + Dim YA_TIENE_PEDIDO_DOE As String + + C5=Starter.skmt.ExecQuery2("select COUNT(*) AS CLIENTE_DOE from PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_CEDIS = ? ", Array As String("DOE")) + C5.Position = 0 + If C5.GetString("CLIENTE_DOE") > 0 Then + YA_TIENE_PEDIDO_DOE = 1 + Else + YA_TIENE_PEDIDO_DOE = 0 + End If + C5.Close + If YA_TIENE_PEDIDO_DOE = 0 Then + C5=Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE_DOE from PEDIDO_DOE WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + C5.Position = 0 + If C5.GetString("CLIENTE_DOE") >0 Then + P_DOE.VISIBLE = True + C6=Starter.skmt.ExecQuery("select PE_PROID, PE_PRONOMBRE, PE_CANT, PE_COSTO_TOT from PEDIDO_DOE where PE_CLIENTE IN (Select CUENTA from cuentaa)") + LP_DOE.Clear + If C6.RowCount>0 Then + For i=0 To C6.RowCount -1 + C6.Position=i + Dim label1 As Label + label1 = LP_DOE.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = LP_DOE.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black + LP_DOE.AddTwoLines(C6.GetString("PE_PRONOMBRE"), " # " & C6.GetString("PE_CANT") & " TOTAL " & C6.GetString("PE_COSTO_TOT") ) + Next + End If + C6.Close + C6=Starter.skmt.ExecQuery("select SUM(PE_CANT) AS CANT, SUM(PE_COSTO_TOT) AS TOTAL from PEDIDO_DOE where PE_CLIENTE IN (Select CUENTA from cuentaa)") + C6.Position= 0 + L_DOE_TOTAL.Text = "TOTAL PEDIDO DOE :"& C6.GetString("TOTAL") & " No. PIEZAS: " & C6.GetString("CANT") + C6.Close + ''' FALTAN LOS BOTONES DE ACEPTAR Y RECHAZAR, INVENTAIRO ABORDO MODIFICAR PARA IMPRIMIR + End If + C5.Close + End If +End Sub + diff --git a/B4A/C_Clientes.bas b/B4A/C_Clientes.bas new file mode 100644 index 0000000..81673f0 --- /dev/null +++ b/B4A/C_Clientes.bas @@ -0,0 +1,281 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '// Process Globals + Dim ruta As String + Dim q_buscar As String + Dim MAC_IMPRESORA As String + '// Globals + Dim c As Cursor + Dim c2 As Cursor + Dim s As Cursor + Dim ListView1 As ListView + Dim entro As String + Dim gest As Button + Dim lfila As Label + Dim busca As EditText + Dim colonia As String 'ignore + Private b_qr As Button + Private qr As QRCode + Dim sc As Zxing_scanner + Dim CODIGO As String + Private b_bdd As Button + Private SEMANA As String + Private B_IMP As Button + Dim logger As Boolean = True +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("Clientes") + entro ="2" + ruta = File.DirInternal + qr.initialize + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) + c.Position =0 + MAC_IMPRESORA = c.GetString("CAT_VA_VALOR") + Starter.MAC_IMPRESORA = MAC_IMPRESORA + If Not(Starter.Logger) Then logger = False +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + B_IMP.Visible = False +' If Logger Then Log(Me) +' If Logger Then LogColor("Ultima actividad guardada=" & Subs.traeUltimaActividadBD, Colors.Blue) +' If Subs.traeUltimaActividadBD <> "colonia" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) + c.Position =0 + SEMANA = c.GetString("CUANTOS") + c.Close + If SEMANA > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) + c.Position =0 + SEMANA = c.GetString("CAT_VA_VALOR") + c.Close + End If + b_bdd.Visible = True +' b_qr.Visible = True + busca.Text = "" + entro ="2" + colonia = 0 + c=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO, CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo not in (select pe_cliente from pedido) and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) and CAT_CL_CODIGO not in (select NV_CLIENTE from NOVENTA) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA",SEMANA, "SEMANAL")) + ListView1.Clear + lfila.Text = "NOMBRE" + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NUM_SERIEFISICO") & " " & c.GetString("CAT_CL_NOMBRE") ) + Next + End If + entro = "4" +End Sub + +Sub ListView1_ItemClick (Position As Int, Value As Object) +' If Logger Then Log(Regex.Split("\.",Me)(Regex.Split("\.",Me).Length-1)) + Private Subrutina As Map =CreateMap("nombre":"ListView1_ItemClick", "param1":Position, "param2":Value) + Starter.sesion = CreateMap("actividad":Me, "sub":Subrutina) + If colonia = 0 Then + colonia = Value + End If + If entro = "2" Then + c2=Starter.skmt.ExecQuery2("select CAT_CL_CALLE, CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 and CAT_CL_COLONIA = ? GROUP BY CAT_CL_CALLE, CAT_CL_COLONIA order by CAT_CL_CALLE ", Array As String(Value)) + ListView1.Clear + lfila.text = "Calle" + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") ) + Next + End If + entro = "3" + Else If entro = "3" Then + c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 and CAT_CL_CALLE = ? AND CAT_CL_COLONIA = ? order by CAT_CL_NOMBRE ", Array As String(Value, colonia)) + ListView1.Clear + lfila.text = "Nombre" + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE")) + Next + End If + entro = "4" + Else If entro = "4" Then + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value)) + Starter.boleta = 0 + Subs.iniciaActividad("Cliente") + End If +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean 'ignore + ' BACK key pressed + If key=KeyCodes.KEYCODE_BACK Then + Subs.iniciaActividad("Principal") + Return False + 'End If + End If + ' Returning False signals the system to handle the key +End Sub + +Sub BUSCA_TextChanged (Old As String, New As String) + q_buscar = "%" & busca.Text & "%" + c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ?) and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar,"DIA_VISITA")) + ListView1.Clear + lfila.text = "Nombre y Calle" + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE") &" CALLE: "& c2.GetString("CAT_CL_CALLE")) + Next + End If + entro = "4" + c2.Close +End Sub + +Sub b_qr_Click + Dim scan_width As Int + Dim scan_height As Int + scan_width = 400 + scan_height = 400 + sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height) +End Sub + +Sub sc_result(atype As String,Values As String) + 'If Logger Then Log("Type : " & atype) + 'If Logger Then Log("Value : " & Values) + CODIGO = Values + c2=Starter.skmt.ExecQuery2("select COUNT(*) AS ENCONTRADO from kmt_info where CAT_CL_NUM_SERIEFISICO = ? order by CAT_CL_NOMBRE ", Array As String(CODIGO)) + c2.Position =0 + If c2.GetString("ENCONTRADO") > 0 Then + s=Starter.skmt.ExecQuery2("select CAT_CL_CODIGO from kmt_info where CAT_CL_NUM_SERIEFISICO = ? order by CAT_CL_NOMBRE ", Array As String(CODIGO)) + s.Position =0 + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(s.GetString("CAT_CL_CODIGO"))) + s.Close + b_qr.Visible = False + Subs.iniciaActividad("Cliente") + Else + Msgbox("CODIGO " & CODIGO & " NO ENCONTRADO","AVISO") 'ignore + End If +End Sub + +Sub sc_noScan + If logger Then Log("nothing returned from the scan !!!!!") +End Sub + +Sub calc_ean_checksum(number As String) As String 'this has now become redundant as I am only interested in QR Codes + Dim i As Int +' Dim cO As Char + Dim soma As Int + Dim n As Int + Dim digit As Float + soma = 0 + For i=0 To number.Length - 1 + digit = number.SubString2(i,i+1) + n= digit * ((i Mod 2) * 2 + 1) + soma=soma+n + Next + Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 ) +End Sub + +Sub b_bdd_Click + q_buscar = "%" & busca.Text & "%" + c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ?) and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar)) + ListView1.Clear + lfila.text = "Nombre y Calle" + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE") &" CALLE: "& c2.GetString("CAT_CL_CALLE")) + Next + End If + entro = "4" + c2.Close +End Sub + +'Imprimimos clientes. +Sub B_IMP_Click +' If Printer1.IsInitialized And Printer1.IsConnected = False Then +' Printer1.Connect +' ToastMessageShow("Conectando impresora ...", False) +' End If +' Try +' c=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO, CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo not in (select pe_cliente from pedido) and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA",SEMANA, "SEMANAL")) + '' c=skmt.ExecQuery("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO,CAT_CL_DIAS_VISITA from kmt_info where gestion = 0 and cat_cl_codigo <> 0 ORDER BY CAT_CL_CODIGO") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Printer1.WriteString("ID. " & c.GetString("CAT_CL_CODIGO") & CRLF) +' Printer1.WriteString("Nombre " & c.GetString("CAT_CL_NUM_SERIEFISICO") & " " & c.GetString("CAT_CL_NOMBRE") & CRLF) +' Printer1.WriteString("------------------------------" & CRLF) +' Next +' End If +' Catch +' Log(LastException) +' End Try +End Sub + +Sub revisaImpresora (mode As String) 'ignore +' If Not(Starter.btAdmin.IsEnabled) Then Starter.btAdmin.Enable 'Si no esta prendido el BT lo prendemos. +' If Not(Printer1.IsInitialized) Then Printer1.Initialize(Me, "Printer1") 'Si no esta inicializada la inicializamos. +' If Not(Starter.revisandoImpresora) Then Return +' Starter.revisandoImpresora = True +' If mode = "BT" Then + '' If Logger Then LogColor("reiniciamos BT", Colors.Blue) + '' Starter.btAdmin.Disable + '' Sleep(500) + '' Starter.btAdmin.Enable + '' Sleep(1000) + '' If Starter.btAdmin.IsEnabled Then revisaImpresora("") +' Else + '' ToastMessageShow("Conectando impresora.", False) +' If Not(Printer1.IsConnected) Then 'Si no estamos conectados, nos conectamos. +' If Logger Then Log("Connect") +' Printer1.Connect +' Else 'Si ya estamos conectados +' If Logger Then Log("Disc-Conn") +' Printer1.DisConnect +' Sleep(1000) +' Printer1.Connect +' End If +' End If +End Sub \ No newline at end of file diff --git a/B4A/C_Foto.bas b/B4A/C_Foto.bas new file mode 100644 index 0000000..cb0f9fb --- /dev/null +++ b/B4A/C_Foto.bas @@ -0,0 +1,184 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim ruta As String + Dim g As GPS + Private frontCamera As Boolean = False + Dim quien_llamo As String + Dim foto_g () As Byte + Dim foto_g1 () As Byte + Dim foto_g2 () As Byte + Dim foto_g3 () As Byte + Dim foto_g4 () As Byte + '//Globals + Dim btnTakePicture As Button + Dim Panel1 As Panel + Dim c As Cursor + Dim cuenta As String + Dim lat_gps As String + Dim lon_gps As String + Private camEx As CameraExClass + Private i_foto As ImageView + Private b_guardar As Button +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("foto") + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA) + Wait For Activity_PermissionResult (Permission As String, Result As Boolean) + ruta = File.DirInternal +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + + +Sub Camera1_Ready (Success As Boolean) + If Success Then + ' camEx.SetJpegQuality(90) + ' camEx.CommitParameters + Dim ps As CameraSize + ps.Width =640'480 '1280 + ps.Height =480'360 '960 + camEx.SetPictureSize(ps.Width, ps.Height) + camEx.CommitParameters + Try + camEx.StartPreview + Catch + camEx.Release + Subs.iniciaActividad("CHECKLIST_AUTO") + End Try + ' Dim ps As CameraSize + ' ps.Width =640 '1280 + ' ps.Height =480 '960 + ' camEx.SetPictureSize(ps.Width, ps.Height) + ' camEx.CommitParameters + + ' Log(camEx.GetPreviewSize) + 'Msgbox(camEx.GetPreviewSize,"aviso") 'ignore + Else + Subs.iniciaActividad("CHECKLIST_AUTO") + 'ToastMessageShow("Cannot open camera.", True) + End If +End Sub + +Sub Activity_Resume + i_foto.Visible = False +' If g.GPSEnabled=False Then +' ToastMessageShow("Habilitar el GPS", True) +' StartActivity(g.LocationSettingsIntent) +' Else +' g.Start(0,0) +' End If + InitializeCamera + btnTakePicture.Enabled = True + b_guardar.Enabled = False +End Sub + +Sub Activity_Pause (UserClosed As Boolean) + camEx.Release +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +' 'btnTakePicture.Enabled = True +' 's.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE,HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, lat_gps, lon_gps)) +End Sub + +Private Sub InitializeCamera + camEx.Initialize(Panel1, frontCamera, Me, "Camera1") + frontCamera = camEx.Front +End Sub + +Sub Camera1_PictureTaken (Data() As Byte) + btnTakePicture.Enabled = True + Dim filename As String = "2.jpg" + Dim dir As String = File.DirRootExternal + camEx.SavePictureToFile(Data, dir, filename) + camEx.StartPreview 'restart preview + i_foto.Visible = True + i_foto.Bitmap = LoadBitmap(File.DirRootExternal, "2.jpg") + If B4XPages.MainPage.cliente.TOMAR_FOTO = 1 Then + Dim InputStream1 As InputStream + InputStream1 = File.OpenInput(File.DirRootExternal, "2.jpg") + Dim OutputStream1 As OutputStream + OutputStream1.InitializeToBytesArray(500) + File.Copy2(InputStream1, OutputStream1) + foto_g = OutputStream1.ToBytesArray + End If + b_guardar.Enabled = True + camEx.Release + InitializeCamera + btnTakePicture.Enabled = True +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean + ' BACK key pressed + If key=KeyCodes.KEYCODE_BACK Then + ' I want to capture the key here so I return True + B4XPages.ShowPage("Principal") + 'Return True + End If + ' Returning False signals the system to handle the key + Return False +End Sub + +Sub b_guardar_Click + camEx.Release + 'If quien_llamo = "1" Then + Try + If quien_llamo = "1" Then + File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO1.jpg") + Subs.iniciaActividad("CHECKLIST_AUTO") + else if quien_llamo = "2" Then + File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO2.jpg") + Subs.iniciaActividad("CHECKLIST_AUTO") + else if quien_llamo = "3" Then + File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO3.jpg") + Subs.iniciaActividad("CHECKLIST_AUTO") + else if quien_llamo = "4" Then + File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO4.jpg") + Subs.iniciaActividad("CHECKLIST_AUTO") + End If + If B4XPages.MainPage.cliente.TOMAR_FOTO = 1 Then + c=Starter.skmt.ExecQuery("select cuenta from cuentaa") + c.Position = 0 + cuenta = c.GetString("CUENTA") + c.Close + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FOTOS (HF_FOTO, HF_CUENTA, HF_IDENCUESTA) VALUES(?,?,?) ", Array As Object (foto_g,cuenta, B4XPages.MainPage.cliente.id_encuesta )) + Subs.iniciaActividad("fila") + End If + Catch + Msgbox("ERROR EN FOTO","") 'ignore + If B4XPages.MainPage.cliente.TOMAR_FOTO = 1 Then + Subs.iniciaActividad("fila") + Else + Subs.iniciaActividad("CHECKLIST_AUTO") + End If + End Try +End Sub + +Sub btnTakePicture_Click + btnTakePicture.Enabled = False + Dim ps As CameraSize + ps.Width =640'480 '1280 + ps.Height =480'360 '960 + camEx.SetPictureSize(ps.Width, ps.Height) + camEx.CommitParameters + camEx.TakePicture +End Sub \ No newline at end of file diff --git a/B4A/C_Historico.bas b/B4A/C_Historico.bas new file mode 100644 index 0000000..dec7c0b --- /dev/null +++ b/B4A/C_Historico.bas @@ -0,0 +1,135 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim g As GPS + Dim clie_id As String + Dim sDate,sTime As String + Dim usuario As String + '//Globals + Dim c As Cursor + Dim ruta As String + Dim Regresar As Button + Dim ListView1 As ListView + Dim L_CANT As Label + Dim L_TOTAL As Label + Dim borra As Button + Dim Existe As String + Dim result As String + Dim lat_gps, lon_gps As String + Private Titulo As Label + Private b_desc As Button + Private ListView2 As ListView + Private B_RMI As Button +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + ruta = File.DirInternal + Root.LoadLayout("historico") + B_RMI.Visible = True + borra.Visible = False + Titulo.Text = "Acumulado" + b_desc.Visible = False +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + L_CANT.Text ="" + L_TOTAL.Text="" + c=Starter.skmt.ExecQuery("select count(*) as EXISTE from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)") + C.Position=0 + Existe = C.GetString("EXISTE") + C.Close + c=Starter.skmt.ExecQuery("select HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_FECHA asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 10 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT")& " FECHA " &c.GetString("HVD_FECHA") ) + Next + End If + If Existe <> 0 Then + c=Starter.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from HIST_VENTAS where HVD_CLIENTE in (Select CUENTA from cuentaa)") + C.Position=0 + L_CANT.Text = c.GetString("PC_NOART") + L_TOTAL.Text = c.GetString("PC_MONTO") + End If +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +End Sub + +Sub Regresar_Click + B_RMI.Visible = False + Subs.iniciaActividad("Cliente") +End Sub + +Sub B4XPage_CloseRequest As ResumableSub + Log("Vamos a Cliente") +' BACK key pressed +' Return True To close, False To cancel + Regresar_Click +' Return True + Return False +End Sub + +Sub ListView2_ItemClick (Position As Int, Value As Object) + ListView2.Visible = False + ListView1.Visible = True +End Sub + +Sub ListView1_ItemClick (Position As Int, Value As Object) + ListView2.Visible = True + ListView1.Visible = False + Dim label1 As Label + For i=0 To 20 + label1 = ListView2.SingleLineLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + ListView2.AddSingleLine(i) + Next +End Sub + +Sub B_RMI_Click + c=Starter.skmt.ExecQuery("select HR_CLIENTE,HR_PRONOMBRE,HR_CANT from HIST_RMI WHERE HR_CLIENTE IN (Select CUENTA from cuentaa)") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 10 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("HR_PRONOMBRE"),"Cantidad #"& c.GetString("HR_CANT") ) + Next + End If +End Sub \ No newline at end of file diff --git a/B4A/C_Mapas.bas b/B4A/C_Mapas.bas new file mode 100644 index 0000000..0473176 --- /dev/null +++ b/B4A/C_Mapas.bas @@ -0,0 +1,135 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim GPS As GPS + Dim rp As RuntimePermissions + Dim ruta As String + '//Globals + Private gmap As GoogleMap + Private MapFragment1 As MapFragment + Dim Latitud As Double = 0 + Dim Longitud As Double = 0 + Dim Lat2 As Double = 0 + Dim Lon2 As Double = 0 + Dim p1, p2 As Location + Dim Distance As Float + Dim boton1 As Button + Dim c As Cursor + Dim latmarker As String + Dim longmarker As String + Private l_long As Label + Private l_lat As Label + Private NOMBRE_TIENDA As String + Dim logger As Boolean = True +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("mapas") + If MapFragment1.IsGooglePlayServicesAvailable = False Then + ToastMessageShow("Please install Google Play Services.", True) + End If + 'Boton velocidad' + boton1.Initialize(0) + boton1.Text = 0 &" "&"km/h" + boton1.TextColor = Colors.Red + boton1.TextSize = 15 + Root.AddView(boton1, 40%x, 5dip, 25%x, 40dip) +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + Log("INICIAMOS MAPAS") + rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + gmap.MyLocationEnabled = Result + GPS.Initialize("GPS") + If GPS.GPSEnabled = False Then + ToastMessageShow("Debe Activar el GPS del Equipo.", True) + StartActivity(GPS.LocationSettingsIntent) + Else + GPS.Start(0, 0) + End If + latmarker = B4XPages.MainPage.cliente.LATITUD + longmarker = B4XPages.MainPage.cliente.LONGITUD + NOMBRE_TIENDA = B4XPages.MainPage.cliente.NOMBRE + If logger Then Log($"lat=${latmarker}, lon=${longmarker}"$) + If logger Then Log(gmap) + If gmap.IsInitialized And gmap.MyLocationEnabled Then + gmap.Clear + MapFragment1_Ready + End If + If Not(Starter.Logger) Then logger = False +End Sub + +Sub B4XPage_CloseRequest As ResumableSub + Log("Vamos a Cliente") +' BACK key pressed +' Return True To close, False To cancel + Subs.iniciaActividad("Cliente") +' Return True + Return False +End Sub + +Sub MapFragment1_Ready +' LogColor("MapReady", Colors.red) + gmap = MapFragment1.GetMap + rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + gmap.MyLocationEnabled = Result + gmap.Clear + + Dim JavaMapsObject As JavaObject + JavaMapsObject = gmap.GetUiSettings + JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True)) + + 'marcadores + If latmarker = "null" Or latmarker = Null Or latmarker = "" Then 'Zocalo + latmarker = "19.432568527069805" + longmarker = "-99.13335030112772" + End If + If logger Then Log($"lat=${latmarker}, lon=${longmarker}"$) + Dim marcador1 As Marker = gmap.AddMarker(latmarker, longmarker, "TIENDA") + marcador1.Snippet = B4XPages.MainPage.cliente.NOMBRE + 'Tienda 1 + + 'posicion inicial + Dim aa As CameraPosition + aa.Initialize(latmarker, longmarker,15)''' RECOMENDABLE CAMBIAR A 10 SI ES MAS DE 1 MARCADOR + gmap.AnimateCamera(aa) +End Sub + +Sub GPS_LocationChanged (Parametro As Location) + Dim sp As Int + sp = Ceil(Parametro.Speed * 3.6) + boton1.Text = sp &" "&"km/h" + Latitud = Parametro.Latitude + Longitud = Parametro.Longitude + p2.Initialize2(Latitud,Longitud) + p1.Initialize2(Lat2, Lon2) + Distance = p1.DistanceTo(p2) +End Sub + +Sub Activity_Pause (UserClosed As Boolean) + GPS.Stop +End Sub + +Sub reg_Click + Subs.iniciaActividad("Cliente") +End Sub + diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas new file mode 100644 index 0000000..30ebd03 --- /dev/null +++ b/B4A/C_NoVenta.bas @@ -0,0 +1,120 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim g As GPS + Dim ruta As String +' Dim skmt As SQL + Dim c As Cursor + Dim t3 As Timer + '// Globals + Dim CANCELA As Button + Dim GUARDA As Button + Dim r_1 As RadioButton + Dim r_2 As RadioButton + Dim r_3 As RadioButton + Dim e_comm As EditText + Dim motivo As String + Dim cuenta As String + Dim usuario As String + Dim sDate,sTime As String + Dim lat_gps, lon_gps As String + Dim CUANTOS As String + Dim r_4 As RadioButton + Private ImageView1 As ImageView + Private ImageView2 As ImageView +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("noventa") + ruta = File.DirInternal +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + e_comm.Text="" + lat_gps = 0 + lon_gps = 0 + res_gps +End Sub + +Sub res_gps + GUARDA.Visible = False + t3.Initialize("T3", 5000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + GUARDA.Visible = True +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +End Sub + +Sub CANCELA_Click + Subs.iniciaActividad("Cliente") +End Sub +Sub GUARDA_Click + If r_1.Checked Then + motivo = "CERRADO" + Else If r_2.Checked Then + motivo = "NO COMPRA" + Else If r_3.Checked Then + motivo = "CON PRODUCTO" + Else + motivo = "NO ESTA EL ENCARGADO" + End If + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("select CUENTA from cuentaa") + c.Position = 0 + cuenta = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Next + End If + + If lat_gps = 0 Then + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from HIST_GPS") + c.Position =0 + CUANTOS = c.GetString("CUANTOS") + c.Close + If CUANTOS > 0 Then + c=Starter.skmt.ExecQuery("SELECT HGLAT as HGLAT, HGLON as HGLON FROM HIST_GPS") + c.Position=0 + lon_gps = c.GetString("HGLON") + lat_gps = c.GetString("HGLAT") + c.Close + End If + End If + + Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") + + Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text,Starter.lat_gps,Starter.lon_gps)) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)") +' StartActivity(seleccion) + B4XPages.ShowPage("Principal") +' Activity.Finish +End Sub \ No newline at end of file diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas new file mode 100644 index 0000000..26f9071 --- /dev/null +++ b/B4A/C_Nota.bas @@ -0,0 +1,434 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Mods 'Ignore + '2023/05/11 - Se modifico "ListView1_ItemLongClick" para que si al borrar un producto de la nota, el total es negativo, entonces se borren todos los RMIs de la orden. +End Sub + +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim clie_id As String + Dim sDate,sTime As String + Dim usuario As String + '//Globals + Dim c,C_DOE As Cursor + Dim C1 As Cursor + Dim ruta As String + Dim Regresar As Button + Dim ListView1 As ListView + Dim L_CANT As Label + Dim L_TOTAL As Label + Dim borra As Button + Dim Existe As String + Dim result As String + Dim lat_gps, lon_gps As String + Private Titulo As Label + Private b_desc As Button + Dim DESCUENTO As String + Dim folio As String + Dim TIPO As String + Private CAMBIOS As String + Dim logger As Boolean = True + Private B_PEDIDO_DOE As Button + Private ListView3 As ListView + Private L_CANT_D As Label + Private L_TOTAL_D As Label +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + If Not(Starter.Logger) Then logger = False + Root = Root1 + 'load the layout to Root + ruta = File.DirInternal + Root.LoadLayout("nota") + borra.Visible = True + Titulo.Text = "Pedido Actual" + Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null") + c=Starter.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)") + C.Position=0 + Existe = C.GetString("EXISTE") + C.Close + c=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 13 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 12 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"),"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO")) + folio = c.GetString("PE_FOLIO") + Next + End If + If Existe <> 0 Then + c=Starter.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + C.Position=0 + L_CANT.Text = c.GetString("PC_NOART") + L_TOTAL.Text = c.GetString("PC_MONTO") + End If +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As String("DOE")) + c.Position = 0 + ListView1.Visible = True + L_CANT.Visible = True + L_TOTAL.Visible = True + ListView3.Visible = False + L_CANT_D.Visible = False + L_TOTAL_D.Visible = False + If c.GetString("CUANTOS") > 0 Then + + B_PEDIDO_DOE.Text = "PEDIDO DON TOÑO" + B_PEDIDO_DOE.VISIBLE = True + C_DOE=Starter.skmt.ExecQuery2("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc", Array As String("DOE")) + ListView3.Clear + If C_DOE.RowCount>0 Then + For i=0 To C_DOE.RowCount -1 + C_DOE.Position=i + Private txtPromo As String = "" + If C_DOE.GetString("PE_COSTO_TOT") < 0.02 And C_DOE.GetString("PE_COSTO_TOT") >= 0 Then txtPromo = "P - " + If C_DOE.GetString("PE_COSTO_TOT") < 0 Then txtPromo = "RMI - " + Dim label1 As Label + label1 = ListView3.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView3.TwoLinesLayout.SecondLabel + label2.TextSize = 12 + label2.TextColor = Colors.Black + ListView3.AddTwoLines(C_DOE.GetString("PE_PRONOMBRE"),txtPromo & "Cantidad #"& C_DOE.GetString("PE_CANT")& " SubTotal $"& C_DOE.GetString("PE_COSTO_TOT")& " Folio "& C_DOE.GetString("PE_FOLIO")) + folio = C_DOE.GetString("PE_FOLIO") + Next + End If + C_DOE.Close + C_DOE=Starter.skmt.ExecQuery2("select sum(pe_cant) AS CANTIDAD, sum(pe_costo_tot) AS MONTO from pedido where PE_CEDIS <> PE_PROID and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As String("DOE")) + C_DOE.Position=0 + L_CANT_D.Text = C_DOE.GetString("CANTIDAD") + L_TOTAL_D.Text = C_DOE.GetString("MONTO") + c.Close + Else + B_PEDIDO_DOE.VISIBLE = False + End If + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from kmt_info where (impresion = 1 or cat_cl_codigo in (select ci_cuenta from cliente_impreso)) and CAT_CL_CODIGO in (Select CUENTA from cuentaa)") + c.Position = 0 + If logger Then Log($"Impreso: ${c.GetString("CUANTOS")}"$) + If c.GetString("CUANTOS") > 0 Then + borra.Visible = False + Else + borra.Visible = True + End If + If Subs.clienteActual = "0" Then borra.Visible = True 'Si el cliente actual es "abordo" entonces SIEMPRE lo dejamos modificar la venta. + c.Close + L_CANT.Text ="" + L_TOTAL.Text="" + Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null") + c=Starter.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)") + C.Position=0 + Existe = C.GetString("EXISTE") + C.Close + c=Starter.skmt.ExecQuery2("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc", Array As String("DOE")) + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Private txtPromo As String = "" + If c.GetString("PE_COSTO_TOT") < 0.02 And c.GetString("PE_COSTO_TOT") >= 0 Then txtPromo = "P - " + If c.GetString("PE_COSTO_TOT") < 0 Then txtPromo = "RMI - " + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 12 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"),txtPromo & "Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO")) + folio = c.GetString("PE_FOLIO") + Next + End If + If Existe <> 0 Then + c=Starter.skmt.ExecQuery2("select sum(pe_cant) AS CANTIDAD, sum(pe_costo_tot) AS MONTO from pedido where PE_CEDIS <> PE_PROID and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS <> ?", Array As String("DOE")) + C.Position=0 + L_CANT.Text = c.GetString("CANTIDAD") + L_TOTAL.Text = c.GetString("MONTO") + c.Close + c=Starter.skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + b_desc.Visible = False + End If + c=Starter.skmt.ExecQuery("select count(*) As CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("CUANTOS") = 0 Then + folio = 0 + Else + C1=Starter.skmt.ExecQuery("SELECT SUM(ifnull(PE_FOLIO,0)) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + C1.Position = 0 + folio = C1.GetString("FOLIO") + If C1.GetString("FOLIO") > 0 Then + folio = 100 + End If + End If + c.Close +End Sub + +Sub Activity_Pause (UserClosed As Boolean) + +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +End Sub + +Sub Regresar_Click + Subs.iniciaActividad("Cliente") +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean + ' BACK key pressed + If key=KeyCodes.KEYCODE_BACK Then + ' I want to capture the key here so I return True + Subs.iniciaActividad("Cliente") + 'Return True + End If + ' Returning False signals the system to handle the key + Return False +End Sub + +Sub borra_Click + If folio = "0" Or Subs.clienteActual = "0" Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 + result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + c=Starter.skmt.ExecQuery("select PE_PROID, PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + TIPO = c.GetString("PE_TIPO") + If c.GetString("PE_TIPO") = "VENTA" Then + Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Else + Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + End If + Next + End If + Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + B4XPage_Appear + End If + Else + Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore + End If +End Sub + +Sub ListView1_ItemLongClick (Position As Int, Value As Object) + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("CUANTOS") = 0 Or Subs.clienteActual = "0" Then 'Si la venta no está impresa o es abordo entonces continuamos ... + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS, sum(PE_COSTO_TOT) as sumaRMIs FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR")) + c.Position = 0 + CAMBIOS = c.GetString("CUANTOS") + c.Close + c=Starter.skmt.ExecQuery2("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PRONOMBRE = ? order by PE_PRONOMBRE asc", Array As String(Value) ) + c.Position = 0 + If c.GetString("PE_FOLIO") = "0" Or Subs.clienteActual = "0" Then + result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + c=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS <> ? ", Array As String(Value, "DOE")) + c.Position=0 + TIPO = c.GetString("PE_TIPO") + If c.GetString("PE_TIPO") = "VENTA" Then + Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Else + Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + End If + c.Close + + + If TIPO = "VENTA" Then + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value)) + Else + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value)) + End If + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + Starter.skmt.ExecNonQuery2("delete from pedido where pe_folio = 0 and pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and pe_cedis <> ?", Array As Object(Value, "DOE")) + Else + Starter.skmt.ExecNonQuery2("delete from pedido where pe_folio = 0 and pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS <> ?", Array As Object(Value, "DOE")) + End If + + 'Borramos RMIs si la venta es menor que los RMIs + Private x2 As Cursor = Starter.skmt.ExecQuery2("select sum(PE_COSTO_TOT) as sumaRMIs FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR")) + Private x As Cursor = Starter.skmt.ExecQuery2("select sum(PE_COSTO_TOT) as sumaNoRMIs FROM PEDIDO WHERE PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR")) + x.Position = 0 + x2.Position = 0 + Private sumaRMIs = 0 + Private sumaNoRMIs = 0 + If x2.GetString("sumaRMIs") <> Null Then sumaRMIs = x2.GetString("sumaRMIs") + If x.GetString("sumaNoRMIs") <> Null Then sumaNoRMIs = x.GetString("sumaNoRMIs") + LogColor($"${x2.GetString("sumaRMIs")}, ${x.GetString("sumaNoRMIs")}"$, Colors.Magenta) + If (sumaRMIs + sumaNoRMIs) >= 0 Then + Log("No borrar RMIs") + Else + Log("Borrar RMIs") + Starter.skmt.ExecNonQuery2("delete FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR")) + End If + + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Else + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + + + + B4XPage_Appear + End If + Else + Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore + End If + Else + ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False) + End If +End Sub + +Sub b_desc_Click + If DESCUENTO = "MENOS" Then + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + result = Msgbox2("Seguro que desea dar descuento del 5%?","Dar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + Starter.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT * .95, PE_DESC = 5 WHERE PE_CLIENTE In (select cuenta from cuentaa)") + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) + c.Close + B4XPage_Appear + End If + ELSE IF DESCUENTO = "MAS" Then + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + result = Msgbox2("Seguro que desea CANCELAR el descuento?","Cancelar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + Starter.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT / .95, PE_DESC = 0 WHERE PE_CLIENTE In (select cuenta from cuentaa)") + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) + c.Close + B4XPage_Appear + End If + End If +End Sub + +Private Sub B_PEDIDO_DOE_Click + If B_PEDIDO_DOE.Text = "PEDIDO DON TOÑO" Then + ListView1.Visible = False + L_CANT.Visible = False + L_TOTAL.Visible = False + B_PEDIDO_DOE.Text = "PEDIDO NORMAL" + ListView3.Visible = True + L_CANT_D.Visible = True + L_TOTAL_D.Visible = True + + Else + ListView1.Visible = True + B_PEDIDO_DOE.Text = "PEDIDO DON TOÑO" + ListView3.Visible = False + L_CANT_D.Visible = False + L_TOTAL_D.Visible = False + L_CANT.Visible = True + L_TOTAL.Visible = True + + End If +End Sub + +Private Sub ListView3_ItemLongClick (Position As Int, Value As Object) + + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from kmt_info where (impresion = 1 or cat_cl_codigo in (select ci_cuenta from cliente_impreso)) and CAT_CL_CODIGO in (Select CUENTA from cuentaa)") + c.Position = 0 + If logger Then Log($"Impreso: ${c.GetString("CUANTOS")}"$) + If c.GetString("CUANTOS") > 0 Then + ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False) + Else + + If folio = "0" Or Subs.clienteActual = "0" Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 + result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + c=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As String("DOE")) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + TIPO = c.GetString("PE_TIPO") + If c.GetString("PE_TIPO") = "VENTA" Then + Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Else + Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + End If + Next + End If + + Starter.skmt.ExecNonQuery2("delete from pedido where pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As Object("DOE")) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + B4XPage_Appear + End If + Else + Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore + End If + End If +End Sub \ No newline at end of file diff --git a/B4A/C_NuevoCliente.bas b/B4A/C_NuevoCliente.bas new file mode 100644 index 0000000..ae66a5a --- /dev/null +++ b/B4A/C_NuevoCliente.bas @@ -0,0 +1,88 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim g As GPS + Dim ruta As String + Dim c As Cursor + Dim C2 As Cursor + '//Globals + Dim CANCELA As Button + Dim GUARDA As Button + Dim cuenta As String + Dim usuario As String + Dim sDate,sTime As String + Dim lat_gps, lon_gps As String + Dim no_cliente As String + Dim no_ruta As String + Dim r_4 As RadioButton + Dim E_NOMBRE As EditText + Dim ALMACEN As String + Dim DIA_VISITA As String +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("nuevocliente") + ruta = File.DirInternal +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + E_NOMBRE.Text = "" +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +End Sub + +Sub CANCELA_Click + B4XPages.ShowPage("Principal") +End Sub + +Sub GUARDA_Click + If E_NOMBRE.Text = "" Then + ToastMessageShow("Se tiene que nombrar la tienda para continuar" , True) + Else + DateTime.DateFormat = "MM/dd/yyyy" + DateTime.Timeformat = "HHmmss" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA ,CAT_CL_DIAS_VISITA FROM kmt_info WHERE CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'DIA_VISITA')") + c.Position=0 + no_ruta= c.GetString("CAT_CL_RUTA") + DIA_VISITA=c.GetString("CAT_CL_DIAS_VISITA") + + 'Aqui creamos manualmete la hora con el separador de los 2 puntos porque en algunas versiones de android no respeta el formato "Timeformat = 'HH:mm:ss'" + Private hora As String = sTime.SubString2(0,2) + Private mins As String = sTime.SubString2(2,4) + Private segs As String = sTime.SubString(4) + Private sTime2 As String = hora&":"&mins&":"&segs + Log("////////////// sTime: "&sTime&" ////////////////") + no_cliente= "N" & sTime2 & no_ruta + c.Close + C2=Starter.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + C2.Position=0 + ALMACEN= C2.GetString("ID_ALMACEN") + C2.Close + Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_DIAS_VISITA,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BCREDITO, gestion,CAT_CL_BFACTURA,IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,0,1000000,0) ",Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,DIA_VISITA,"new","null","null","null","null","null","null","null","null","NULL","NULL","null","0",Starter.lon_gps,Starter.lat_gps)) + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente)) + Subs.iniciaActividad("Cliente") + End If +End Sub diff --git a/B4A/C_Pedidos.bas b/B4A/C_Pedidos.bas new file mode 100644 index 0000000..36fa8d1 --- /dev/null +++ b/B4A/C_Pedidos.bas @@ -0,0 +1,24 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. \ No newline at end of file diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas new file mode 100644 index 0000000..9f38d9a --- /dev/null +++ b/B4A/C_Principal.bas @@ -0,0 +1,3189 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + '//Process_Globas + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim reqManager As DBRequestManager + Dim t1 As Timer + Dim t2 As Timer + Private t3 As Timer + Dim inicioContador As String + + '//Globals + Dim trabajar As Button + Dim Cursor_check As Cursor + Dim c As Cursor + Dim d As Cursor + Dim b As Cursor + Dim e As Cursor + Dim f As Cursor + Dim C_DOE As Cursor + Dim D_DOE As Cursor + Dim F_DOE As Cursor + + Dim TOTAL_DOE_BB As String + Dim TOTAL_EFE_DOE As String + Dim TOTAL_ENTREGA_DOE As String + + + Dim DDD As Cursor + Dim cargar As Button + Dim foto1() As Byte + Dim foto2() As Byte + Dim foto3() As Byte + Dim foto4() As Byte + Dim usuario As String + Dim connecta As Button + Dim conn As String + Dim Subir As Button + Dim cmd As DBCommand + Dim COUNT_CLIE As Int + Dim fecha As String + Dim drop As Double + Dim efectiva As Double + Dim L_MONTOD As Label + Dim l_cuantosc As Label + Dim l_drop As Label + Dim l_efectiva As Label + Dim l_ctast As Label + Dim BUSCA As Button + Dim Cuantos As String + Dim l_cuantosn As Label + Dim e_ruta As EditText + Dim l_porvisitar As Label + Dim b_mapa As Button + Dim l_ruta As Label + Dim ALMACEN As String + Private img2 As ImageView + Dim Listo1 As String + Dim Listo2 As String + Dim Listo3 As String + Dim Listo4 As String + Dim Listo5 As String + Dim EJECUTANDO As String + Dim res As String + Dim inve As String + Dim cuantos_pedidosc As String + Dim cuantos_pedido As String + Dim cuantos_noventa As String + Dim datos_iguales As String + Dim p As PhoneId + Dim imei As String + Dim Today As String + Private inv As Button + Private P1 As Panel + Private CLAVE As EditText + Private B_OK_PAS As Button + Dim PASO As String + Private USUARIO1 As EditText + Dim connecta1 As Double + Dim armafolio As String + Private NUEVO As Button + Private S_CC As Label + Private S_CP As Label + Private S_CH As Label + Private PB2 As ProgressBar + Private PB1 As ProgressBar + Private L_P_1 As Label + Private L_P_2 As Label + Private L_P_3 As Label + Private CARGA As String + Private PORCENTAJE As Int + Private P_RESUMEN As Panel + Private B_OK_RES As Button + Private Resumen As Button + Private L_CUANTOST As Label + Private img3 As ImageView + Private ImageView3 As ImageView + Private ImageView5 As ImageView + Private L_TICKPROM As Label + Private MARCASQ As String + Private B_PROXIMA As Button + Private l_monto_a As Label + Private ImageView9 As ImageView + Private L_MONTO_R As Label + Dim PERFIL As String + Dim NUMERO_PEDIDO As String + Private l_cambios As Label + Dim l_monto_ks As Label + Dim l_monto_kp As Label + Dim l_monto_k As Label + Private Cuantos As String + Dim cmp20 As Serial + Dim printer As TextWriter + Dim PairedDevices As Map + Dim TAMANO As Int + Dim ESPACIO As Int + Dim BLANCO As String + Dim sDate,sTime As String + Dim PASA_IMP As String + Dim s As Cursor + Private B_IMP As Button + Private l_monto_c1 As Label + Private l_monto_c2 As Label + Private l_monto_c3 As Label + Private B_BOLETA As Button + Private B_MAPA_RUTA As Button + Private Panel5 As Panel + Private L_CUOTA1 As Label + Private L_CUOTA2 As Label + Private L_CUOTA3 As Label + Private L_CUOTA4 As Label + Private L_CUOTA5 As Label + Private L_CUOTA6 As Label + Private L_META1 As Label + Private L_META2 As Label + Private L_META3 As Label + Private L_META4 As Label + Private L_META5 As Label + Private L_META6 As Label + Private B_CUOATA_C As Button + Private b_cuotas As Button + Private Panel1 As Panel + Private Panel2 As Panel + Dim ENVIADA As String + Dim PORENVIAR As String + Private Btn_CheckList As Button + Dim Cedis_Check As String + Private TIEMPO As String + Private RUTA1 As Label + Private L_ABORDO As Label + Private bcarga1 As String + Private bcarga2 As String + Private bcarga3 As String + Private contador_env As String + Private contador_strem As String + Private ruta_valida As String + Private PNL_ACCESO As Panel + Private Panel7 As Panel + Private L_SUPLENCIA As Label + Private E_RUTA2 As EditText + Private Label4 As Label + Private SEMANA As String + Private ImageView1 As ImageView + Dim DIA_VISITA As String + +' Para el PDFViewer + Dim pdf As PdfiumCore + Private PDFView1 As PDFView + Private btnFirst As Button + Private btnPrev As Button + Private lblPages As Label + Private btnNext As Button + Private btnLast As Button + Private glPages As Int + Private p_pdfViewer As Panel + Private pdfViewerActivo As Boolean + Private p_controles_pdf As Panel + Private pdfURL As String + Private l_2 As Label + Dim cartaPorteLista As Boolean + Private l_downloadPDF As Label + Private ProgressBarPDF As ProgressBar + Private p_downloadPDF As Panel + Private p_progress1 As Panel + Private l_porcentaje As Label + Private detenerLoop As Boolean = False + Dim logger As Boolean = True + Private L_DOE As Label +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + If Not(Starter.Logger) Then logger = False + Root = Root1 + 'load the layout to Root + Root.LoadLayout("principal") + EJECUTANDO=1 + Dim ruta As String + img2.Visible =False + ruta = File.DirInternal + DateTime.DateFormat = "MM/dd/yyyy" + fecha=DateTime.Date(DateTime.Now) + c=Starter.skmt.ExecQuery2("select CAT_CO_CONFIGURACION from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER")) + c.Position =0 + Starter.server = c.GetString("CAT_CO_CONFIGURACION") + c.Close + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente") + b.Position=0 + Cuantos = b.GetString("CUANTOS") + d=Starter.skmt.ExecQuery("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0") + D.Position=0 + b.Close + e=Starter.skmt.ExecQuery("select count(*) as POR_VISITAR from kmt_info") + e.Position=0 + f=Starter.skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + f.Close + If l_ruta.Text = 0 Then + l_ruta.Text =0 + Else + f=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + RUTA1.Text = l_ruta.TEXT + f.Close + End If + If Cuantos = 0 Then + L_MONTOD.Text =0 + l_cuantosc.Text = 0 + l_cuantosn.Text = 0 + drop = 0 + l_drop.Text = 0 + efectiva = 0 + l_efectiva.text =0 + l_ctast.Text = d.GetString("TOTAL_VISITAR") + ' l_porvisitar.Text = e.GetString("POR_VISITAR") + Else + c=Starter.skmt.ExecQuery("select sum(pc_monto) as MONTO_DIA, count(pc_cliente) AS CLIENTES_DIA from pedido_cliente ") + b=Starter.skmt.ExecQuery("select count(*) as CUANTOS from noventa") + 'where pc_fecha = ?", Array As String(fecha) + C.Position=0 + b.Position=0 + L_MONTOD.Text = c.GetString("MONTO_DIA") + l_cuantosc.Text = c.GetString("CLIENTES_DIA") + l_cuantosn.Text = b.GetString("CUANTOS") + drop = c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA") + l_drop.Text = Round2(drop,2) + efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR") + l_efectiva.text = Round2(efectiva*100,2) + l_ctast.Text = d.GetString("TOTAL_VISITAR") + 'l_porvisitar.Text = e.GetString("POR_VISITAR") + End If +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + If Starter.ultima_back_productos = 1 Then + Subs.iniciaActividad("productos") + Else + + Starter.btAdmin.Initialize("BlueTeeth") + If Not(Starter.btAdmin.IsEnabled) Then Starter.btAdmin.Enable + e_ruta.Enabled = True + Starter.rutaV = l_ruta.Text + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) + c.Position =0 + If c.GetString("CUANTOS") = 0 Then + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER", Starter.server)) + Else + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) + c.Position =0 + Starter.server = c.GetString("CAT_VA_VALOR") + End If + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA")) + If c.RowCount > 0 Then + c.Position = 0 + Starter.FECHA_HOY = c.GetString("CAT_VA_VALOR") + End If + reqManager.Initialize(Me, Starter.server) + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) + c.Position =0 + SEMANA = c.GetString("CUANTOS") + c.Close + If SEMANA > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) + c.Position =0 + SEMANA = c.GetString("CAT_VA_VALOR") + c.Close + End If + c.Close + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA",SEMANA, "SEMANAL")) + c.Position = 0 + Starter.clientesTotal = c.GetString("CUANTOS") + l_porvisitar.Text = Starter.clientesTotal + PASO = 0 + If EJECUTANDO =0 Then + Listo1 = 0 + Listo2 = 0 + Listo3 = 0 + Listo4 = 0 + Listo5 = 0 + inve = 0 + img2.Visible =False + End If + DateTime.DateFormat = "MM/dd/yyyy" + fecha=DateTime.Date(DateTime.Now) + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente where pc_cliente <> 0") + b.Position=0 + Cuantos = b.GetString("CUANTOS") +' If Starter.marcaCel <> "LGE" Then ToastMessageShow(Cuantos , True) + d=Starter.skmt.ExecQuery2("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0 and cat_cl_codigo <> 0 AND CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?)", Array As String("DIA_VISITA")) + D.Position=0 + b.Close + e=Starter.skmt.ExecQuery2("select count(*) as POR_VISITAR from kmt_info where cat_cl_codigo <> 0 and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) ", Array As String("DIA_VISITA")) + e.Position=0 + f=Starter.skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info where cat_cl_codigo <> 0") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + f.Close + If l_ruta.Text = 0 Then + l_ruta.Text =0 + Else + f=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + f.Close + End If + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + If c.RowCount > 0 Then + usuario = c.GetString("USUARIO") + Starter.usuario = usuario + End If + c.Close + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + C.Position =0 + ALMACEN = C.GetString("ID_ALMACEN") + C.Close + Cursor_check = Starter.skmt.ExecQuery("select count(*) as CUANTOS from TMP_INSPECCION_AUTO_DIARIA where tmp_auto_kilometraje <> '' ") + Cursor_check.Position = 0 + Cedis_Check = Cursor_check.GetString("CUANTOS") + + If Not(File.Exists(File.DirInternal,"FOTO1.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO2.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO3.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO4.jpg")) Then + If Not(File.Exists(File.DirInternal,"FOTO1.jpg")) Then Log("Falta foto1") + If Not(File.Exists(File.DirInternal,"FOTO2.jpg")) Then Log("Falta foto2") + If Not(File.Exists(File.DirInternal,"FOTO3.jpg")) Then Log("Falta foto3") + If Not(File.Exists(File.DirInternal,"FOTO4.jpg")) Then Log("Falta foto4") + Cedis_Check = 0 + End If + If Cedis_Check = 0 And l_ruta.Text <> 0 Then + Btn_CheckList.Visible = True + B_MAPA_RUTA.Visible = False + Else + ' PONER EN FALSE + Btn_CheckList.Visible = False + B_MAPA_RUTA.Visible = True + If usuario = "JOSELUIS" Then Btn_CheckList.Visible = True 'Mod por CHV - 211125 + End If + contador_strem = 0 + contador_env = 0 + E_RUTA2.Visible = False + L_SUPLENCIA.Visible = False + Label4.Visible = False + Starter.montoActual = L_MONTOD.Text + Starter.clientesventa = l_cuantosc.Text + Starter.clientesvisitados = l_porvisitar.TEXT + Starter.ALMACEN = ALMACEN + Starter.rutapreventa = l_ruta.text + CallSub(Starter, "ENVIA_ULTIMA_GPS") + c.Close + Subs.guardaUltimaActividadBD("principal") + Subs.ultimaActividad(Me) + + End If +End Sub + +Sub trabajar_Click + 'CallSubDelayed(gestion,"gestion") + 'Mod por CHV para que si no se ha hecho el checklist no permita la venta - 211125 + c=Starter.skmt.ExecQuery("select 'TMP_AUTO_FECHA ' from TMP_INSPECCION_AUTO_DIARIA where tmp_auto_kilometraje <> ''") + If c.RowCount > 0 Then + If logger Then Log("Si hay checklist") + Else + If logger Then Log("NO hay checklist") + Msgbox("No se ha realizado aún el 'Checklist' del vehículo, por favor completelo antes de realizar una venta.", "FALTA EL CHECKLIST") 'ignore + Return + End If + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MARCAS")) + c.Position =0 + If c.RowCount > 0 Then + MARCASQ = c.GetString("CAT_VA_VALOR") + c.Close + Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_CLASIF NOT IN (" & MARCASQ &")" ) + Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT CAT_DP_ID FROM CAT_DETALLES_PAQ WHERE CAT_DP_IDPROD NOT IN (SELECT CAT_GP_ID FROM CAT_GUNAPROD))") + B4XPages.ShowPage("Clientes") + Else + If Starter.marcaCel <> "LGE" Then ToastMessageShow("No hay marcas en la base de datos ... ya se cargo ruta??", True) + End If +End Sub + +Sub Subir_Click + CARGA = "SUBIR" +' P1.Visible = True + trabajar.Visible = False + B_PROXIMA.Visible =False + NUEVO.Visible =False + BUSCA.Visible=False + connecta.Visible=False + Subir.Visible=False + cargar.Visible=False + L_P_1.Visible = False + S_CC.Visible = False + L_P_3.Visible = False + S_CH.Visible = False + PB1.Visible = False + Resumen.Visible= False + L_P_2.Text = "Envio de Pedidos" + 'L_P_3.Text = "Envio de Pedidos" + 'S_CH.Text = "EN PROCESO" + S_CP.Text = "EN PROCESO" + PB1.Progress = 0 + PB2.Progress = 0 + contador_env = 0 + contador_strem = 0 + e_ruta.Text = ruta_valida + PASO = 1 + 'End If + If PASO = 1 Then + c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_RUTA from kmt_info") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("update PEDIDO set PE_RUTA = ? where PE_CLIENTE = ? ", Array As Object(c.GetString("CAT_CL_RUTA"),c.GetString("CAT_CL_CODIGO"))) + Next + End If + c=Starter.skmt.ExecQuery2("SELECT HE_CUANTOS, HE_FECHA FROM HIST_ENVIOS WHERE HE_TIPO = ?", Array As String("PEDIDO")) + c.Position = 0 + ''' FALTA PONER EL IF DE CUANTAS VECES MANDO Y SI MANDO PREGUNTAR ENVIAR BOLETA O PEDIDO + If c.GetString("HE_CUANTOS") = 0 Then + SUBIR_INFO_PEDIDO + Else + Dim result As Int + result = Msgbox2("QUE VA A ENVIAR?", "ENVIO DE INFO.", "BOLETA", "VALIDAR", "VTA/PED", LoadBitmap(File.DirAssets, "alert2.png")) 'ignore + If result = DialogResponse.Positive Then + SUBIR_INFO_BOLETA + ELSE IF result = DialogResponse.NEGATIVE Then + SUBIR_INFO_PEDIDO + ELSE IF result = DialogResponse.CANCEL Then + VALIDAR_INFO + End If + End If + End If +End Sub + +Sub cargar_Click + 'Para descargar el PDF de la carta porte ///////////////////////////////////////////////////////////////////////// + DateTime.DateFormat = "yyyyMMdd" + Dim hoy As String = DateTime.Date(DateTime.Now) + If logger Then Log(DateTime.Date(File.LastModified(File.DirInternal,"cartaPorte.pdf")) & " - " & hoy ) +' If Not(File.Exists(File.DirInternal,"cartaPorte.pdf")) Then 'Si no existe la descargamos ... +' If logger Then LogColor("No hay carta porte.", Colors.Red) +' descargaCartaPorte ' la descargamos. +' Do While Not(cartaPorteLista) 'Mientras no se termine de descargar la carta porte, esperamos ... +' Sleep(1000) +' If logger Then Log("Descargando Carta Porte (Loop cargar_Click)") +' Loop +' Else If (DateTime.Date(File.LastModified(File.DirInternal,"cartaPorte.pdf")) < hoy And Starter.rutaTipo <> "FORANEA") Then ' si la fecha del pdf NO es de hoy y la ruta NO es foranea entonces ... +' LogColor("La carta porte es vieja.", Colors.Red) +' If logger Then Log(Starter.rutaTipo) +' descargaCartaPorte ' la descargamos. +' Do While Not(cartaPorteLista) 'Mientras no se termine de descargar la carta porte, esperamos ... +' Sleep(1000) +' If logger Then Log("Descargando Carta Porte (Loop cargar_Click)") +' If detenerLoop Then Exit +' detenerLoop = False +' Loop +' Else + cartaPorteLista = True + If logger Then LogColor("Ya hay carta porte con fecha de hoy", Colors.Green) + Private MB As Int + MB = Msgbox2("¿Quiere descargarla nuevamente?", "YA SE DESCARGO LA CARTA PORTE", "Si", "", "No", Null) 'ignore + If MB = DialogResponse.Positive Then + descargaCartaPorte + Do While Not(cartaPorteLista) 'Mientras no se termine de descargar la carta porte esperamos ... + Sleep(1000) + If logger Then Log("Descargando Carta Porte (Loop cargar_Click)") + If detenerLoop Then Exit + detenerLoop = False + Loop + ELSE IF MB = DialogResponse.NEGATIVE Then +' descargaCartaPorte + ELSE IF MB = DialogResponse.CANCEL Then +' VALIDAR_INFO + End If +' End If + 'Termina descargar el PDF de la carta porte /////////////////////////////////////////////////////////////////////////////// + If cartaPorteLista Then + CARGA = "CARGAR" + img2.Visible =True + L_P_1.Visible = True + S_CC.Visible = True + Btn_CheckList.Visible=False +' P1.Visible = True +' P1.BringToFront + P1.Width = GetDeviceLayoutValues.Width + P1.Height = GetDeviceLayoutValues.Height + Subs.panelVisible(P1, 0, 0) + trabajar.Visible = False + B_PROXIMA.Visible =False + NUEVO.Visible =False + BUSCA.Visible=False + connecta.Visible=False + L_P_3.Visible = True + S_CH.Visible = True + PB1.Visible = True + Resumen.Visible= False + E_RUTA2.Visible = False + L_SUPLENCIA.Visible = False + Label4.Visible = False + L_P_1.Text = "Catalogo de Clientes" + L_P_2.Text = "Catalogos de Productos" + L_P_3.Text = "Catalogos Historicos" + S_CC.Text = "EN PROCESO" + S_CH.Text = "EN PROCESO" + S_CP.Text = "EN PROCESO" + PB1.Progress = 0 + PB2.Progress = 0 + EJECUTANDO = 1 + bcarga1 = 0 + bcarga2 = 0 + bcarga3 = 0 + e_ruta.Text = ruta_valida + ' NUEVOS CLIENTE + + Starter.skmt.ExecNonQuery2("delete from kmt_info where substr(CAT_CL_CODIGO,1,1) <> ?", Array As Object ("N")) + Starter.skmt.ExecNonQuery("delete from cod_result") + Starter.skmt.ExecNonQuery("delete from hist_gest") + Starter.skmt.ExecNonQuery("delete from cat_gunaprod") + Starter.skmt.ExecNonQuery("delete from cat_gunaprod2") + + Starter.skmt.ExecNonQuery("delete from cat_gunaprod_doe") + Starter.skmt.ExecNonQuery("delete from pedido_doe") + + Starter.skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD5") + Starter.skmt.ExecNonQuery("DELETE FROM HIST_ENCUESTA2") + Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") + Starter.skmt.ExecNonQuery("delete from telefonos") + Starter.skmt.ExecNonQuery("delete from HIST_VENTAS") + Starter.skmt.ExecNonQuery("delete from HIST_PROMOS") + Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS") + Starter.skmt.ExecNonQuery("delete from PROMOS_COMP") + Starter.skmt.ExecNonQuery("delete from CAT_VERIFICACION") + Starter.skmt.ExecNonQuery("delete from LISTA_PRECIOS") + Starter.skmt.ExecNonQuery("delete from CAT_PRECIOS") + Starter.skmt.ExecNonQuery("delete from HIST_RMI") + Starter.skmt.ExecNonQuery("delete from HIST_CUOTAS") + Starter.skmt.ExecNonQuery("delete from HIST_EXHIBIDORES2") + Starter.skmt.ExecNonQuery("delete from CAT_DESCUENTOS_SKU") + Starter.skmt.ExecNonQuery("delete from HIST_ABORDO") + Starter.skmt.ExecNonQuery("delete from DESC_CLIENTES") + Starter.skmt.ExecNonQuery("delete from CAT_ENCUESTA_PREGUNTA") + Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO") + Starter.skmt.ExecNonQuery("delete from CAT_RMI") + Starter.skmt.ExecNonQuery("delete from CAT_DEV") + + + Starter.skmt.ExecNonQuery("delete from CLIENTE_CARGA_DIA") + Starter.skmt.ExecNonQuery("INSERT INTO CLIENTE_CARGA_DIA (CCD_CUENTA) SELECT DISTINCT PE_CLIENTE FROM PEDIDO") + + + ''' PEDIDO DOE + Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD_DOE") + Starter.skmt.ExecNonQuery("delete from PEDIDO_DOE") + ''' FIN DOE + + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0)) + + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + + DateTime.TimeFormat = "HHmmss" + inicioContador = DateTime.Now + + cmd.Initialize + cmd.Name = "SELECT_HIST_ENCUESTA_KELL" + cmd.Parameters = Array As Object( e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "HIST_ENCUESTA2") + + cmd.Initialize + cmd.Name = "SELECT_EXHIBIDOR_RUTA_KELL" + cmd.Parameters = Array As Object( e_ruta.text ) + If logger Then Log(e_ruta.TEXT) + reqManager.ExecuteQuery(cmd , 0, "exhibidores") + + cmd.Initialize 'Para traer la contraseña del candado de "FIN DIA" + cmd.Name = "SELECT_PASS_FIN_DIA" + reqManager.ExecuteQuery(cmd , 0, "pass_fin_dia") + + cmd.Initialize + cmd.Name = "select_cat_gunaprod_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "gunaprod") + + cmd.Initialize + cmd.Name = "select_cat_devoluciones_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "devoluciones") + + cmd.Initialize + cmd.Name = "select_cat_gunaprod2_KELL" + cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text) + reqManager.ExecuteQuery(cmd , 0, "gunaprod2") + + cmd.Initialize + cmd.Name = "select_cat_encuesta_p_KELL" + cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text) + reqManager.ExecuteQuery(cmd , 0, "encuesta_p") + + cmd.Initialize + cmd.Name = "select_cat_paquetes_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "gunaprodp") + + cmd.Initialize + cmd.Name = "select_cat_paquetess_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "gunaprodps") + + cmd.Initialize + cmd.Name = "select_cat_detallepa_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "detallepaq") + + cmd.Initialize + cmd.Name = "select_cat_clientes_guna_KELL2" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "kmt_datos") + + cmd.Initialize + cmd.Name = "select_hist_datos_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_datos") + + cmd.Initialize + cmd.Name = "select_hist_datos_KELL2" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_datos") + + cmd.Initialize + cmd.Name = "select_hist_promos_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_promos") + + cmd.Initialize + cmd.Name = "select_hist_cliente_promos_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_cliente_promos") + + cmd.Initialize + cmd.Name = "select_promo_comp_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_comp_promos") + + cmd.Initialize + cmd.Name = "select_promo_monto_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "promo_monto") + + + + If E_RUTA2.Text <> "" Then + cmd.Initialize + cmd.Name = "select_cat_clientes_guna_KELL2" + cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "kmt_datos") + + cmd.Initialize + cmd.Name = "select_hist_datos_KELL" + cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN,e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_datos") + + cmd.Initialize + cmd.Name = "select_hist_promos_KELL" + cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_promos") + + cmd.Initialize + cmd.Name = "select_hist_cliente_promos_KELL" + cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_cliente_promos") + + cmd.Initialize + cmd.Name = "select_promo_comp_KELL" + cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_comp_promos") + + cmd.Initialize + cmd.Name = "select_DESC_CLIENTE_KELL" + cmd.Parameters = Array As Object( ALMACEN,E_RUTA2.text) + reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE") + + cmd.Initialize + cmd.Name = "select_DESC_CLIE_SKU_KELL" + cmd.Parameters = Array As Object( ALMACEN,E_RUTA2.text) + reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE_SKU") + End If + + cmd.Initialize + cmd.Name = "select_DESC_CLIENTE_KELL" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE") + + cmd.Initialize + cmd.Name = "select_cat_RMI_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "RMI") + + cmd.Initialize + cmd.Name = "select_DESC_CLIE_SKU_KELL" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE_SKU") + + cmd.Initialize + cmd.Name = "select_fecha" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "fecha") + + cmd.Initialize + cmd.Name = "select_folio_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "folio") + + ' esto es para sacar el perfil y marcas del usuario + cmd.Initialize + cmd.Name = "select_perfil_KELL" + cmd.Parameters = Array As Object(usuario) + reqManager.ExecuteQuery(cmd , 0, "perfil") + + cmd.Initialize + cmd.Name = "select_marcas_KELL" + cmd.Parameters = Array As Object(usuario) + reqManager.ExecuteQuery(cmd , 0, "marcas") + + cmd.Initialize + cmd.Name = "select_CAMBIOS_KELL" + 'cmd.Parameters = Array As Object( ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "cat_cambios") + + cmd.Initialize + cmd.Name = "select_SUCURSAL_KELL" + cmd.Parameters = Array As Object( ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "sucursal") + + cmd.Initialize + cmd.Name = "select_dia_visita_KELL" + cmd.Parameters = Array As Object( ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "dia_visita") + + cmd.Initialize + cmd.Name = "select_HIST_CUOTAS" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "CUOTAS") + + cmd.Initialize + cmd.Name = "select_hist_ventas_abordo_KELL" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "hist_abordo") + + cmd.Initialize + cmd.Name = "select_cat_encuesta_p_KELL" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "carga_encuesta") + + cmd.Initialize + cmd.Name = "select_placas_kell" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "placas") + + cmd.Initialize + cmd.Name = "select_cat_variables_semana_tipo_KELL" + reqManager.ExecuteQuery(cmd , 0, "SEMANA") + + cmd.Initialize + cmd.Name ="insert_drop_KELL" + cmd.Parameters = Array As Object(usuario,e_ruta.Text,fecha, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"CARGA", ALMACEN) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_drop_kell") + + cmd.Initialize + cmd.Name = "select_precios_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "precios") + + cmd.Initialize + cmd.Name = "select_limite_abordo" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "limite_abordo") + +''' PARA LO DE DOE + cmd.Initialize + cmd.Name = "select_pedido_doe" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "pedido_doe") + + cmd.Initialize + cmd.Name = "select_cat_gunaprod_doe" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "cat_gunaprod_doe") + +''' FIN DOE + cargar.Visible = False + Subir.Visible = False + trabajar.Visible=False + inv.Visible = False + If Starter.marcaCel <> "LGE" Then ToastMessageShow("Se Actualizarán los datos. Este proceso podria tardar hasta un minuto, gracias" , True) + End If +End Sub + +Sub JobDone(Job As HttpJob) +' LogColor("JobDone: "&Job.Tag & " Success:" & Job.Success , Colors.Magenta) ' Mod by CHV - 211116 + If inicioContador = "" Then inicioContador = 0 + If Job.Success = False Then + If logger Then LogColor("** " & Job.Tag & " Error: " & Job.ErrorMessage, Colors.Red) ' Mod by CHV - 211116 + If Job.ErrorMessage = "STREAM" Then + contador_strem = contador_strem +1 + If CARGA = "SUBIR" Then + PB1.Progress = PB1.Progress + 1 + If PB1.Progress > 100 Then + PB1.Progress = 1 + End If + If contador_env = contador_strem And S_CP.Text <> "INFO OK" Then + PB1.Progress = 100 + S_CP.Text = "VALIDANDO" + End If + End If + End If + Else + If logger Then LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110 + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "kmt_datos" Then 'query tag + If logger Then Log("TIEMPO kmt_datos : " & ((DateTime.Now-inicioContador)/1000)) + S_CC.TEXT = "CARGANDO" + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_CL_CODIGO As String = records(RESULT.Columns.Get("CAT_CL_CODIGO")) + Dim CAT_CL_RUTA As String = records(RESULT.Columns.Get("CAT_CL_RUTA")) + Dim CAT_CL_NOMBRE As String = records(RESULT.Columns.Get("CAT_CL_NOMBRE")) + Dim CAT_CL_ATIENDE1 As String = records(RESULT.Columns.Get("CAT_CL_ATIENDE1")) + Dim CAT_CL_ATIENTE2 As String = records(RESULT.Columns.Get("CAT_CL_ATIENTE2")) + Dim CAT_CL_TELEFONO As String = records(RESULT.Columns.Get("CAT_CL_TELEFONO")) + Dim CAT_CL_EMAIL As String = records(RESULT.Columns.Get("CAT_CL_EMAIL")) + Dim CAT_CL_CALLE As String = records(RESULT.Columns.Get("CAT_CL_CALLE")) + Dim CAT_CL_NOEXT As String = records(RESULT.Columns.Get("CAT_CL_NOEXT")) + Dim CAT_CL_NOINT As String = records(RESULT.Columns.Get("CAT_CL_NOINT")) + Dim CAT_CL_CALLE1 As String = records(RESULT.Columns.Get("CAT_CL_CALLE1")) + Dim CAT_CL_CALLE2 As String = records(RESULT.Columns.Get("CAT_CL_CALLE2")) + Dim CAT_CL_COLONIA As String = records(RESULT.Columns.Get("CAT_CL_COLONIA")) + Dim CAT_CL_MUNI As String = records(RESULT.Columns.Get("CAT_CL_MUNI")) + Dim CAT_CL_EDO As String = records(RESULT.Columns.Get("CAT_CL_EDO")) + Dim CAT_CL_CP As String = records(RESULT.Columns.Get("CAT_CL_CP")) + Dim CAT_CL_LONG As String = records(RESULT.Columns.Get("CAT_CL_LONG")) + Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_CL_LAT")) + Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_CL_MTOCOMPRA")) + Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO")) + Dim CAT_CL_BFACTURA As String = records(RESULT.Columns.Get("CAT_CL_BFACTURA")) + Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BBLOQUEOCRED")) + Dim CAT_CL_DIAS_VISITA As String = records(RESULT.Columns.Get("CAT_CL_DIAS_VISITA")) + Dim CAT_CL_TIPO_RUTA As String = records(RESULT.Columns.Get("CAT_CL_TIPO_RUTA")) + Dim CAT_CL_CATEGORIA As String = records(RESULT.Columns.Get("CAT_CL_CATEGORIA")) + Dim CAT_CL_SEGMENTO As String = records(RESULT.Columns.Get("CAT_CL_SEGMENTO")) + Dim CAT_CL_LIMITECREDITO As String = records(RESULT.Columns.Get("CAT_CL_LIMITECREDITO")) + + If CAT_CL_LIMITECREDITO = "0" Then CAT_CL_BFACTURA = "100000000" + Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA, gestion, IMPRESION, CAT_CL_CATEGORIA, CAT_CL_SEGMENTO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,?,?)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LAT,CAT_CL_LONG,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA,CAT_CL_CATEGORIA, CAT_CL_SEGMENTO)) + Next + Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_DIAS_VISITA, gestion, IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","null","NULL","null","null","NULL","NULL")) + Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!! + Starter.skmt.EndTransaction + Listo1 = 1 + S_CC.Text = "LISTO" +' ToastMessageShow("Catalogo Clientes Actualizados." , True) + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + bcarga1 = 20 + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_promos" Then 'query tag + If logger Then Log("TIEMPO hist_promos : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HP_CLIENTE As String = records(RESULT.Columns.Get("HP_CLIENTE")) + Dim HP_CODIGO_PROMOCION As String = records(RESULT.Columns.Get("HP_CODIGO_PROMOCION")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMOS(HP_CLIENTE, HP_CODIGO_PROMOCION) VALUES (?,?)", Array As Object (HP_CLIENTE, HP_CODIGO_PROMOCION)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + 'ToastMessageShow("Historico Promociones Actualizado." , True) + If PB1.Progress = 0 Then + PB1.Progress = 30 + S_CH.Text = "CARGANDO" + ELSE If PB1.Progress = 30 Then + PB1.Progress = 70 + ELSE IF PB1.Progress = 70 Then + PB1.Progress = 100 + S_CH.Text = "LISTO" + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_cliente_promos" Then 'query tag + If logger Then Log("TIEMPO hist_cliente_promos : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HCCP_CLIENTE As String = records(RESULT.Columns.Get("HCCP_CLIENTE")) + Dim HCCP_PROMO As String = records(RESULT.Columns.Get("HCCP_PROMO")) + Dim HCCP_CANT As String = records(RESULT.Columns.Get("HCCP_CANT")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT) VALUES (?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO,HCCP_CANT)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + ' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True) + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_comp_promos" Then 'query tag + If logger Then Log("TIEMPO hist_comp_promos : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_PA_ID As String = records(RESULT.Columns.Get("CAT_PA_ID")) + Dim CAT_PA_MAXPROM As String = records(RESULT.Columns.Get("CAT_PA_MAXPROM")) + Dim CAT_PA_MAXPROMREC As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMREC")) + Dim CAT_PA_MAXPROMCLIE As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMCLIE")) + Starter.skmt.ExecNonQuery2("INSERT INTO PROMOS_COMP(CAT_PA_ID, CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE) VALUES (?,?,?,?)", Array As Object (CAT_PA_ID, CAT_PA_MAXPROM,CAT_PA_MAXPROMREC,CAT_PA_MAXPROMCLIE)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + If PB1.Progress = 0 Then + PB1.Progress = 30 + S_CH.Text = "CARGANDO" + ELSE If PB1.Progress = 30 Then + PB1.Progress = 70 + ELSE IF PB1.Progress = 70 Then + PB1.Progress = 100 + S_CH.Text = "LISTO" + End If + End If + End If + + + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "promo_monto" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CPM_CLIENTE As String = records(RESULT.Columns.Get("CPM_CLIENTE")) + Dim CPM_IDPROMO As String = records(RESULT.Columns.Get("CPM_IDPROMO")) + Dim CPM_MONTO As String = records(RESULT.Columns.Get("CPM_MONTO")) + Dim CPM_PROID As String = records(RESULT.Columns.Get("CPM_PROID")) + Dim CPM_CANT As String = records(RESULT.Columns.Get("CPM_CANT")) + Dim CPM_RANGO As String = records(RESULT.Columns.Get("CPM_RANGO")) + Dim CPM_DESC As String = records(RESULT.Columns.Get("CPM_DESC")) + + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PROMO_MONTO(CPM_CLIENTE, CPM_IDPROMO, CPM_MONTO, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC) VALUES (?,?,?,?,?,?,?)", Array As Object (CPM_CLIENTE, CPM_IDPROMO, CPM_MONTO, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC)) + + Next + End If + End If + + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "RMI" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CAT_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_DESCRIPCION As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_MONTO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RMI(CAT_ID, CAT_DESCRIPCION, CAT_MONTO) VALUES (?,?,?)", Array As Object (CAT_ID,CAT_DESCRIPCION,CAT_MONTO)) + + Next + End If + End If + + + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "cat_verificacion" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CAT_VE_IDPROD As String = records(RESULT.Columns.Get("CAT_VE_IDPROD")) + Dim CAT_VE_NOMBRE As String = records(RESULT.Columns.Get("CAT_VE_NOMBRE")) + Dim CAT_VE_ORDEN As String = records(RESULT.Columns.Get("CAT_VE_ORDEN")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VERIFICACION(CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN) VALUES (?,?,?)", Array As Object (CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "DESCUENTOS_CLIENTE" Then 'query tag + If logger Then Log("TIEMPO DESCUENTOS_CIENTE : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim DC_CL_CLIENTE As String = records(RESULT.Columns.Get("CAT_CL_CLIENTE")) + Dim CAT_CL_DESCUENTO_SS As String = records(RESULT.Columns.Get("CAT_CL_DESCUENTO_SS")) + Dim CAT_CL_DESCUENTO_RTEC As String = records(RESULT.Columns.Get("CAT_CL_DESCUENTO_RTEC")) + Dim CAT_CL_DESCUENTO_PING As String = records(RESULT.Columns.Get("CAT_CL_DESCUENTO_PING")) + Dim CAT_CL_TIPOCLIENTE As String = records(RESULT.Columns.Get("CAT_CL_TIPOCLIENTE")) + Starter.skmt.ExecNonQuery2("INSERT INTO DESC_CLIENTES(DC_CL_CLIENTE , CAT_CL_DESCUENTO_SS , CAT_CL_DESCUENTO_RTEC , CAT_CL_DESCUENTO_PING, CAT_CL_TIPOCLIENTE ) VALUES (?,?,?,?,?)", Array As Object (DC_CL_CLIENTE , CAT_CL_DESCUENTO_SS , CAT_CL_DESCUENTO_RTEC , CAT_CL_DESCUENTO_PING,CAT_CL_TIPOCLIENTE)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + End If + End If + + 'DESCUENTOS SKU + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "DESCUENTOS_CLIENTE_SKU" Then 'query tag + If logger Then Log("TIEMPO DESCUENTOS_CLIENTE_SKU : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_DS_CLIENTE As String = records(RESULT.Columns.Get("CAT_DS_CLIENTE")) + Dim CAT_DS_PRODID As String = records(RESULT.Columns.Get("CAT_DS_PRODID")) + Dim CAT_DS_PORCENTAJE As String = records(RESULT.Columns.Get("CAT_DS_PORCENTAJE")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DESCUENTOS_SKU (CAT_DS_CLIENTE, CAT_DS_PRODID, CAT_DS_PORCENTAJE ) VALUES (?,?,?)", Array As Object (CAT_DS_CLIENTE, CAT_DS_PRODID, CAT_DS_PORCENTAJE)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_abordo" Then 'query tag + If logger Then Log("TIEMPO hist_abordo : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID")) + Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ABORDO(HIST_PROID, HIST_CANT) VALUES (?,?)", Array As Object (HVD_PROID, HVD_CANT)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "gunaprod" Then 'query tag + If logger Then Log("TIEMPO gunaprod : " & ((DateTime.Now-inicioContador)/1000)) + S_CP.Text = "CARGANDO" + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) + Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) + 'CAT_GP_INICIATIVA = 5 + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc") + ' c.Position=0 + ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD") + ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS"))) + ' c.Close + Listo2=1 + If PB2.Progress = 0 Then + PB2.Progress = 30 + S_CP.Text = "CARGANDO" + ELSE If PB2.Progress = 30 Then + PB2.Progress = 60 + ELSE IF PB2.Progress = 60 Then + PB2.Progress = 80 + ELSE IF PB2.Progress = 80 Then + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + ' ToastMessageShow("Productos Actualizados." , True) + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + ''' CARGAS DOE PEDIDO + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "cat_gunaprod_doe" Then 'query tag + If logger Then Log("TIEMPO gunaprod_DOE : " & ((DateTime.Now-inicioContador)/1000)) + S_CP.Text = "CARGANDO" + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) + Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) + 'CAT_GP_INICIATIVA = 5 + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD_DOE(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc") + ' c.Position=0 + ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD") + ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS"))) + ' c.Close + 'Listo2=1 + + ' ToastMessageShow("Productos Actualizados." , True) + + End If + End If + + ''' FIN CARGA CATALOGO DOE + ''' INICIO CARGA PEDIDO DOE + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "pedido_doe" Then 'query tag + If logger Then Log("TIEMPO PEDIDO_DOE : " & ((DateTime.Now-inicioContador)/1000)) + S_CP.Text = "CARGANDO" + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HVD_ALMACEN As String = records(RESULT.Columns.Get("HVD_ALMACEN")) + Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT")) + Dim HVD_COSTOU As String = records(RESULT.Columns.Get("HVD_COSTOU")) + Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) + Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE")) + Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID")) + Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE")) + Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA")) + Dim HVD_USUARIO As String = records(RESULT.Columns.Get("HVD_USUARIO")) + Dim HVD_RUTA As String = records(RESULT.Columns.Get("HVD_RUTA")) + + 'CAT_GP_INICIATIVA = 5 + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO_DOE(PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES (?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (HVD_ALMACEN, HVD_COSTO_TOT, HVD_COSTOU,HVD_CANT, HVD_PRONOMBRE, HVD_PROID, HVD_CLIENTE, HVD_FECHA, HVD_USUARIO,HVD_RUTA, "DOE")) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + + + + ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc") + ' c.Position=0 + ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD") + ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS"))) + ' c.Close + 'Listo2=1 + + ' ToastMessageShow("Productos Actualizados." , True) + + End If + End If + ''' FIN CARGA PEDIDO DOE + 'CARGA DEL CATALOGO ABORDO + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "gunaprod2" Then 'query tag + If logger Then Log("TIEMPO gunaprod2 : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) + Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) + Dim CAT_GP_CODPROMO As String = records(RESULT.Columns.Get("CAT_GP_CODPROMO")) + 'CAT_GP_INICIATIVA = 5 + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO)) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID,CAT_GP_ALMACEN) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + c=Starter.skmt.ExecQUERY("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE <> 0") + c.Position = 0 + cuantos_pedidosc = c.GetString("CUANTOS") + c.Close + If cuantos_pedidosc > 0 Then + c=Starter.skmt.ExecQUERY("SELECT PE_PROID, SUM(PE_CANT) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTE <> 0 GROUP BY PE_PROID") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("update CAT_GUNAPROD2 set CAT_GP_ALMACEN = CAT_GP_ALMACEN - ? where CAT_GP_ID = ? ", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Next + End If + End If + ' skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD5") + ' skmt.ExecNonQuery("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID, CAT_GP_ALMACEN) SELECT CAT_GP_ID, CAT_GP_ALMACEN FROM CAT_GUNAPROD2") + + ' + ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD2 GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc") + ' c.Position=0 + ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD2") + ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD2(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS"))) + ' c.Close + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "devoluciones" Then 'query tag + If logger Then Log("TIEMPO devoluciones : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DEV(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO) VALUES (?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + If PB2.Progress = 0 Then + PB2.Progress = 30 + S_CP.Text = "CARGANDO" + ELSE If PB2.Progress = 30 Then + PB2.Progress = 60 + ELSE IF PB2.Progress = 60 Then + PB2.Progress = 80 + ELSE IF PB2.Progress = 80 Then + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + ' ToastMessageShow("Promociones Actualizados." , True) + Listo4=1 + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "gunaprodp" Then 'query tag + If logger Then Log("TIEMPO gunaprodp : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) +' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD,"0")) + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD,"0")) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + If PB2.Progress = 0 Then + PB2.Progress = 30 + S_CP.Text = "CARGANDO" + ELSE If PB2.Progress = 30 Then + PB2.Progress = 60 + ELSE IF PB2.Progress = 60 Then + PB2.Progress = 80 + ELSE IF PB2.Progress = 80 Then + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + ' ToastMessageShow("Promociones Actualizados." , True) + Listo4=1 + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "gunaprodps" Then 'query tag + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD)) + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + If PB2.Progress = 0 Then + PB2.Progress = 30 + S_CP.Text = "CARGANDO" + ELSE If PB2.Progress = 30 Then + PB2.Progress = 60 + ELSE IF PB2.Progress = 60 Then + PB2.Progress = 80 + ELSE IF PB2.Progress = 80 Then + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + 'ToastMessageShow("Promociones especiales Actualizados." , True) + Listo4=1 + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "detallepaq" Then 'query tag + If logger Then Log("TIEMPO detallepaq : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_DP_ALMACEN As String = records(RESULT.Columns.Get("CAT_DP_ALMACEN")) + Dim CAT_DP_ID As String = records(RESULT.Columns.Get("CAT_DP_ID")) + Dim CAT_DP_IDPROD As String = records(RESULT.Columns.Get("CAT_DP_IDPROD")) + Dim CAT_DP_TIPO As String = records(RESULT.Columns.Get("CAT_DP_TIPO")) + Dim CAT_DP_PZAS As String = records(RESULT.Columns.Get("CAT_DP_PZAS")) + Dim CAT_DP_USUARIO As String = records(RESULT.Columns.Get("CAT_DP_USUARIO")) + Dim CAT_DP_FECHA As String = records(RESULT.Columns.Get("CAT_DP_FECHA")) + Dim CAT_DP_REGALO As String = records(RESULT.Columns.Get("CAT_DP_REGALO")) + Dim CAT_DP_CLASIF As String = records(RESULT.Columns.Get("CAT_DP_CLASIF")) + Dim CAT_DP_PRECIO As String = records(RESULT.Columns.Get("CAT_DP_PRECIO")) + Dim CAT_DP_PRECIO_SIMPTOS As String = records(RESULT.Columns.Get("CAT_DP_PRECIO_SIMPTOS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DETALLES_PAQ(CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + If PB2.Progress = 0 Then + PB2.Progress = 30 + S_CP.Text = "CARGANDO" + ELSE If PB2.Progress = 30 Then + PB2.Progress = 60 + ELSE IF PB2.Progress = 60 Then + PB2.Progress = 80 + ELSE IF PB2.Progress = 80 Then + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + Listo3 =1 + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_datos" Then 'query tag + If logger Then Log("TIEMPO hist_datos : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE")) + Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE")) + Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) + Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT")) + Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA) VALUES (?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + Listo3 =1 + If PB1.Progress = 0 Then + PB1.Progress = 30 + S_CH.Text = "CARGANDO" + ELSE If PB1.Progress = 30 Then + PB1.Progress = 70 + ELSE IF PB1.Progress = 70 Then + PB1.Progress = 100 + S_CH.Text = "LISTO" + End If +' ToastMessageShow("Venta historico Actualizado." , True) + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_rmi" Then 'query tag + If logger Then Log("TIEMPO hist_rmi : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE")) + Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE")) + Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) + Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_RMI(HR_CLIENTE,HR_PRONOMBRE,HR_PROID, HR_CANT) VALUES (?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_PROID, HVD_CANT)) + Next + Listo3 =1 + If PB1.Progress = 0 Then + PB1.Progress = 30 + S_CH.Text = "CARGANDO" + ELSE If PB1.Progress = 30 Then + PB1.Progress = 50 + ELSE IF PB1.Progress = 50 Then + PB1.Progress = 80 + ELSE If PB1.Progress = 80 Then + PB1.Progress = 100 + S_CH.Text = "LISTO" + End If +' ToastMessageShow("Venta historico Actualizado." , True) + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "variables" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim Cat_Va_Descripcion As String = records(RESULT.Columns.Get("CAT_VA_DESCRIPCION")) + Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_VA_VALOR")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object (Cat_Va_Descripcion, Cat_Va_Valor)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "limite_abordo" Then 'query tag + If logger Then Log("TIEMPO limite_abordo : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_LA_LIMITE_ABORDO")) + Dim CAT_LA_ESTATUS_AUTORIZA As String = records(RESULT.Columns.Get("CAT_LA_ESTATUS_AUTORIZA")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("LIMITE")) + If CAT_LA_ESTATUS_AUTORIZA = 1 Then + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("LIMITE", "100000")) + Else + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("LIMITE", Cat_Va_Valor)) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "carga_encuesta" Then 'query tag + If logger Then Log("TIEMPO carga_encuesta : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim CAT_EP_ID As String = records(RESULT.COLUMNS.GET("CAT_EP_ID")) + Dim CAT_EP_IDTIPOPREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_IDTIPOPREGUNTA")) + Dim CAT_CE_DESCRIPCION As String = records(RESULT.COLUMNS.GET("CAT_CE_DESCRIPCION")) + Dim CAT_EP_PREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_PREGUNTA")) + Dim CAT_EP_RES1_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES1_PRED")) + Dim CAT_EP_RES2_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES2_PRED")) + Dim CAT_EP_RES3_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES3_PRED")) + Dim CAT_EP_ORDEN_PREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_ORDEN_PREGUNTA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_PREGUNTA (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA ) VALUES (?,?,?,?,?,?,?,?)", Array As Object (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "carga_encuesta_cliente" Then 'query tag + If logger Then Log("TIEMPO carga_encuesta_cliente : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim HIST_ECD_IDGRUPO As String = records(RESULT.COLUMNS.GET("HIST_ECD_IDGRUPO")) + Dim HIST_ECD_CLIENTE As String = records(RESULT.COLUMNS.GET("HIST_ECD_CLIENTE")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_CLIENTE(HIST_ECD_IDGRUPO ,HIST_ECD_CLIENTE) VALUES (?,?)", Array As Object (HIST_ECD_IDGRUPO ,HIST_ECD_CLIENTE)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_pedido" Then 'query tag + If logger Then Log("TIEMPO valida_pedido : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP")) + If cuantos_pedido < = CUANTOSP Then + datos_iguales = "ok" + S_CP.Text = "INFO OK" + Else + If Starter.marcaCel <> "LGE" Then ToastMessageShow("No se cargo bien la info P. Sync Nuevamente" & CUANTOSP & " " & cuantos_pedido, True) + S_CP.Text = "ENVIAR DATOS (K-2)" + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_pedido1" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP")) + If cuantos_pedido = CUANTOSP Then + Msgbox("ENVIO EXITOSO","AVISO") 'ignore + cargar.Visible = True + Subir.Visible = True + trabajar.Visible = True + Else + Msgbox("NO ESTA COMPLETA LA INFO", "AVISO") 'ignore + connecta.Visible = True + Resumen.Visible = True + BUSCA.Visible = True + NUEVO.Visible = True + trabajar.Visible = True + B_PROXIMA.Visible = True + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_pedidoc" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC")) + If cuantos_pedidosc = CUANTOSC Then + datos_iguales = "ok" + S_CP.Text = "INFO OK" + Else + If Starter.marcaCel <> "LGE" Then ToastMessageShow("No se cargo bien la info C. Sync Nuevamente" & CUANTOSC & " " & cuantos_pedidosc, True) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_noventa" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN")) + If cuantos_noventa = CUANTOSN Then + datos_iguales = "ok" + S_CP.Text = "INFO OK" + Else + If Starter.marcaCel <> "LGE" Then ToastMessageShow("No se cargo bien la info N. Sync Nuevamente" & CUANTOSN & " " & cuantos_noventa, True) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "ins_pedido" Then 'query tag + For Each records() As Object In RESULT.Rows + PB2.Progress = PB2.Progress + 5 + S_CP.Text = "SUBIENDO" + Next + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "version" Then 'query tag + For Each records() As Object In RESULT.Rows + Starter.skmt.ExecNonQuery("delete from VERSION") + Dim CAT_VE_VERSION As String = records(RESULT.Columns.Get("CAT_VE_VERSION")) + Starter.skmt.ExecNonQuery("delete from VERSION") + Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "count_cli" Then 'query tag + For Each records() As Object In RESULT.Rows + COUNT_CLIE = records(RESULT.Columns.Get("COUNT_CLIE")) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "ruta" Then 'query tag + e_ruta.Enabled = True +' Log(RESULT) +' Log(RESULT.Columns.Get("VALIDO")) + If RESULT.Columns.Get("VALIDO") = "0" Then ToastMessageShow("Ruta incorrecta", True) + If RESULT.Rows.Size = 0 Then ToastMessageShow("No hay ruta para ese usuario", True) + For Each records() As Object In RESULT.Rows + Dim VALIDO As String = records(RESULT.Columns.Get("VALIDO")) + Log("|"&VALIDO&"|") +' If Logger Then Log(records(RESULT.Columns.Get("CAT_RU_CATEGORIA"))) + Starter.rutaTipo = records(RESULT.Columns.Get("CAT_RU_CATEGORIA")) 'Traemos el tipo de ruta para que cuando sean foraneas no carguen la carta oprte todos los dias. + If VALIDO = "OK" Then + cargar.Visible = True + Subir.Visible = True + inv.Visible = True + connecta.Visible = False + Starter.rutapreventa = e_ruta.text + If conn = "1" Then + ToastMessageShow("Existe Conexión con el Servidor." , True) + End If + Else + cargar.Visible = False + Subir.Visible = False + inv.Visible = False + connecta.Visible = False + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "usuario" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim name2 As String = records(RESULT.Columns.Get("VALIDO")) + Next + If name2 = "OK" Then + PASO = 1 + End If + P1.Visible = False + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "fecha" Then 'query tag + For Each records() As Object In RESULT.Rows + Starter.FECHA_HOY = records(RESULT.Columns.Get("FECHA")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",Starter.FECHA_HOY)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "folio" Then 'query tag + If logger Then Log("TIEMPO folio : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim FOLIO As String = records(RESULT.Columns.Get("FOLIO")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FOLIO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FOLIO",FOLIO)) + Next + End If + End If + + 'Perfil + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "perfil" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim PERFIL As String = records(RESULT.Columns.Get("PERFIL")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PERFIL")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PERFIL",PERFIL)) + Next + End If + End If + + 'Marcas + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "marcas" Then 'query tag + If logger Then Log("TIEMPO marcas : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim MARCAS As String = records(RESULT.Columns.Get("MARCAS")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MARCAS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MARCAS",MARCAS)) + Next + End If + End If + + ' SUCURSAL + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "sucursal" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim SUCURSAL As String = records(RESULT.Columns.Get("SUCURSAL")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SUCURSAL")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SUCURSAL",SUCURSAL)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "placas" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim PLACAS As String = records(RESULT.Columns.Get("PLACAS")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PLACAS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PLACAS",PLACAS)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "SEMANA" Then 'query tag + If logger Then Log("TIEMPO SEMANA : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_VA_VALOR")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SEMANA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SEMANA",Cat_Va_Valor)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "dia_visita" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim DIA_VISITA As String = records(RESULT.Columns.Get("DIA_VISITA")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DIA_VISITA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DIA_VISITA",DIA_VISITA)) + 'Msgbox(DIA_VISITA, "") 'ignore + Next + End If + End If + + 'CUOTAS + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "CUOTAS" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim HC_RUTA As String = records(RESULT.Columns.Get("HC_RUTA")) + Dim HC_CUOTA1 As String = records(RESULT.Columns.Get("HC_CUOTA1")) + Dim HC_CUOTA2 As String = records(RESULT.Columns.Get("HC_CUOTA2")) + Dim HC_CUOTA3 As String = records(RESULT.Columns.Get("HC_CUOTA3")) + Dim HC_CUOTA4 As String = records(RESULT.Columns.Get("HC_CUOTA4")) + Dim HC_CUOTA5 As String = records(RESULT.Columns.Get("HC_CUOTA5")) + Dim HC_CUOTA6 As String = records(RESULT.Columns.Get("HC_CUOTA6")) + Dim HC_META1 As String = records(RESULT.Columns.Get("HC_META1")) + Dim HC_META2 As String = records(RESULT.Columns.Get("HC_META2")) + Dim HC_META3 As String = records(RESULT.Columns.Get("HC_META3")) + Dim HC_META4 As String = records(RESULT.Columns.Get("HC_META4")) + Dim HC_META5 As String = records(RESULT.Columns.Get("HC_META5")) + Dim HC_META6 As String = records(RESULT.Columns.Get("HC_META6")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CUOTAS(HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6)) + Next + End If + End If + + + 'Cambios + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "cat_cambios" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CAMBIOS As String = records(RESULT.Columns.Get("CAT_VA_VALOR")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("CAMBIOS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CAMBIOS",CAMBIOS)) + Next + End If + End If + + 'Precios + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "precios" Then 'query tag + If logger Then Log("TIEMPO precios : " & ((DateTime.Now-inicioContador)/1000)) +' Subs.cronoX("Precios", 1) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_PRECIO1 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO1")) + Dim CAT_GP_PRECIO2 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO2")) + Dim CAT_GP_PRECIO3 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO3")) + Dim CAT_GP_PRECIO4 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO4")) + Dim CAT_GP_PRECIO5 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO5")) + Dim CAT_GP_PRECIO6 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO6")) + Dim CAT_GP_PRECIO7 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO7")) + Dim CAT_GP_PRECIO8 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO8")) + Dim CAT_GP_PRECIO9 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO10")) + Dim CAT_GP_PRECIO10 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO10")) 'ignore + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PRECIOS(CAT_GP_ID,CAT_GP_PRECIO, CAT_GP_PRECIO1,CAT_GP_PRECIO2,CAT_GP_PRECIO3,CAT_GP_PRECIO4,CAT_GP_PRECIO5,CAT_GP_PRECIO6,CAT_GP_PRECIO7,CAT_GP_PRECIO8,CAT_GP_PRECIO9) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_PRECIO, CAT_GP_PRECIO1,CAT_GP_PRECIO2,CAT_GP_PRECIO3,CAT_GP_PRECIO4,CAT_GP_PRECIO5,CAT_GP_PRECIO6,CAT_GP_PRECIO7,CAT_GP_PRECIO8,CAT_GP_PRECIO9)) + Next + Starter.skmt.ExecNonQuery("delete from LISTA_PRECIOS") + Starter.skmt.ExecNonQuery(" insert into LISTA_PRECIOS(PRECIO, CAT_GP_ID, NLISTA) select cat_gp_precio as precio, cat_gp_id, '1' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO1 As precio, CAT_GP_ID, '2' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO2 As precio, CAT_GP_ID, '3' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO3 As precio, CAT_GP_ID, '4' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO4 As precio, CAT_GP_ID, '5' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO5 As precio, CAT_GP_ID, '6' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO6 As precio, CAT_GP_ID, '7' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO7 As precio, CAT_GP_ID, '8' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO8 As precio, CAT_GP_ID, '9' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO9 As precio, CAT_GP_ID, '10' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO10 As precio, CAT_GP_ID, '11' as NLISTA from CAT_PRECIOS") + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction +' If Logger Then LogColor($"///////////////// ${Subs.cronoX("Precios", 2)} ///////////////////////////"$, Colors.red) + ' ToastMessageShow("LISTA DE PRECIOS OK LISTA DE PRECIOS OK", True) + End If + End If + + 'Candado Fin Dia + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "pass_fin_dia" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim nuevaContrasena As String = records(RESULT.Columns.Get("CAR_VA_VALOR3")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_PASS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FINDIA_PASS", nuevaContrasena)) + Next + End If + End If + + 'Exhibidores + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "exhibidores" Then 'query tag + If logger Then Log("TIEMPO exhibidores : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HIST_EX_ID_CLIENTE As String = records(RESULT.Columns.Get("HIST_EX_ID_CLIENTE")) + Dim HIST_EX_TIPO As String = records(RESULT.Columns.Get("HIST_EX_TIPO")) + Dim HIST_EX_CANT As String = records(RESULT.Columns.Get("HIST_EX_CANT")) 'ignore + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_EXHIBIDORES2(HIST_EX_ID_CLIENTE,HIST_EX_TIPO, HIST_EX_CANT) VALUES (?,?,?)", Array As Object (HIST_EX_ID_CLIENTE,HIST_EX_TIPO, HIST_EX_CANT)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + End If + End If + + 'HIST_ENCUESTA2 + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "HIST_ENCUESTA2" Then 'query tag + If logger Then Log("TIEMPO HIST_ENCUESTA2 : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HE_CLIENTE As String = records(RESULT.Columns.Get("HE_CLIENTE")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA2(HE_CLIENTE) VALUES (?)", Array As Object (HE_CLIENTE)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + End If + End If + End If + Job.Release +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub + ' BACK key pressed + 'Return True to close, False to cancel + If pdfViewerActivo Then + pdfViewerActivo = False + PNL_ACCESO.Visible = True + Panel7.Visible = True + PNL_ACCESO.BringToFront + p_pdfViewer.Visible = False + Else if P_RESUMEN.Visible Then + B_OK_RES_Click + Else + Subs.iniciaActividad("Login") + End If + Return False +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean +' ' BACK key pressed +' If key=KeyCodes.KEYCODE_BACK Then +' If pdfViewerActivo Then +' pdfViewerActivo = False +' PNL_ACCESO.Visible = True +' Panel7.Visible = True +' PNL_ACCESO.BringToFront +' p_pdfViewer.Visible = False +' Else if P_RESUMEN.Visible Then +' B_OK_RES_Click +' Else +' Subs.iniciaActividad("Main") +' End If +' ' I want to capture the key here so I return True +' Return True +' End If +' ' Returning False signals the system to handle the key +' Return False +End Sub + +Sub connecta_Click +' c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("RUTA")) +' c.Position =0 +' If c.GetString("CAT_VA_VALOR") = l_ruta.Text Then + If e_ruta.Text = "KMTSKLL1" Then + cargar.Visible = True + Subir.Visible = True + e_ruta.Text = "" + End If +' Aqui el codigo para que solo acepte numeros en la ruta, sin caracteres especiales ' Mod por CHV - 211130 + Dim m As Matcher = Regex.Matcher("\d+", e_ruta.Text) 'Buscamos numeros en el campo de la ruta + If m.Find Then e_ruta.Text = m.Match ' Si tiene numeros, solo nos quedamos con ellos. + If e_ruta.Text.Length > 6 Then e_ruta.Text = e_ruta.Text.SubString2(0,6) ' Si tiene mas de 6 numeros solo tomamos los primeros 6 + If logger Then Log(e_ruta.Text) + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + connecta1 = connecta1 + 1 +' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE) +' Wait For Activity_PermissionResult (Permission As String, Result As Boolean) +' If Result Then +' imei = p.GetDeviceId +' End If + imei = "" + conn = "1" + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_version_KELL" + reqManager.ExecuteQuery(cmd , 0, "version") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_ruta3_KELL" + cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, usuario) + reqManager.ExecuteQuery(cmd , 0, "ruta") + e_ruta.Enabled = False + If e_ruta.Text = "KMTSKLL1" Then e_ruta.Enabled = True + ToastMessageShow("Validando Conexión." , False) + ruta_valida = e_ruta.Text +' Else +' Msgbox("LA RUTA NO ES CORRECTA","") 'ignore +' End If +End Sub + +Sub BUSCA_Click + Subs.iniciaActividad("TicketsDia") +End Sub + +Sub b_mapa_Click + Subs.iniciaActividad("mapas") +End Sub + +Sub e_ruta_EnterPressed + Private adelanteFinDia As Boolean = True + c=Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'") 'Buscamos "FIN DIA" anterior + If c.RowCount > 0 Then + c.Position = 0 + If Not(c.GetString("CAT_VA_VALOR") < Starter.FECHA_HOY) Then 'Si el "FIN DIA" guardado NO es de ayer o anterior ... + adelanteFinDia = False + End If + c.Close + End If +' If e_ruta.Text = "VALIDA" Then +' c=Starter.skmt.ExecQuery("SELECT PC_CLIENTE, PC_ENTREGA FROM PEDIDOS_DOE_ENTREGA") +' Msgbox("PASA","1") +' If c.RowCount>0 Then +' Msgbox("PASA 2","1") +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "UPDATE_PEDIDOS_DOE_ENTREGA" +' cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_ENTREGA"), ALMACEN, l_ruta.Text) +' Log("ALO " & C.GetString("PC_CLIENTE")& "|" & C.GetString("PC_ENTREGA") & "|" & ALMACEN & "|" & l_ruta.Text ) +' +' reqManager.ExecuteCommand(cmd , "INSERT_PEDIDOS_DOE_ENTREGA") +' PB2.Progress = PB2.Progress + 1 +' contador_env = contador_env + 1 +' Next +' c.Close +' End If +' End If + + If e_ruta.Text = "FIN DIA" And adelanteFinDia Then + res = Msgbox2("Seguro que desea hacer el cierre? ... todos los datos se borraran","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If res = DialogResponse.POSITIVE Then + e_ruta.Text = "" + Starter.skmt.ExecNonQuery("delete from pedido_cliente") + Starter.skmt.ExecNonQuery("delete from pedido") + Starter.skmt.ExecNonQuery("delete from noventa") + Starter.skmt.ExecNonQuery("delete from clie_act") + Starter.skmt.ExecNonQuery("delete from kmt_info") + Starter.skmt.ExecNonQuery("delete from cat_gunaprod") + Starter.skmt.ExecNonQuery("delete from cat_gunaprod2") + Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") + Starter.skmt.ExecNonQuery("delete from HIST_VENTAS") + Starter.skmt.ExecNonQuery("delete from HIST_VERIFICACION") + Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") + Starter.skmt.ExecNonQuery("delete from CAT_FOTOS") + Starter.skmt.ExecNonQuery("delete from HIST_GPS") + Starter.skmt.ExecNonQuery("DELETE FROM HIST_ENCUESTA") + Starter.skmt.ExecNonQuery("DELETE FROM HIST_ENVIOS") + Starter.skmt.ExecNonQuery("DELETE FROM CLIENTE_IMPRESO") + Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO") + Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE") + Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS") + Starter.skmt.ExecNonQuery("delete from CAT_RMI") + Starter.skmt.ExecNonQuery("delete from CAT_DEV") + + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0)) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_FECHA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object("FINDIA_FECHA", Starter.FECHA_HOY)) + If File.Exists(File.DirInternal,"FOTO1.jpg") Then File.Delete(File.DirInternal,"FOTO1.jpg") + If File.Exists(File.DirInternal,"FOTO2.jpg") Then File.Delete(File.DirInternal,"FOTO2.jpg") + If File.Exists(File.DirInternal,"FOTO3.jpg") Then File.Delete(File.DirInternal,"FOTO3.jpg") + If File.Exists(File.DirInternal,"FOTO4.jpg") Then File.Delete(File.DirInternal,"FOTO4.jpg") + B4XPage_Appear + End If + Else if e_ruta.Text = "FIN DIA" Then + Msgbox("Ya se hizo FIN DIA hoy, solo se puede hacer un FIN DIA cada día, por favor comuniquese con un supervisor.", "LIMITE DIARIO SUPERADO") 'ignore + End If + If e_ruta.Text = "SUPLENCIA" Then + E_RUTA2.Visible = True + E_RUTA2.Text = "" + L_SUPLENCIA.Visible = True + Label4.Visible = True + ' ImageView9.Visible = True + End If +End Sub + +Sub inv_Click + img2.Visible =True + EJECUTANDO = 1 + inve = 1 + Starter.skmt.ExecNonQuery("delete from cat_gunaprod") + Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + + cmd.Initialize + cmd.Name = "select_cat_gunaprod_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "gunaprod") + + cmd.Initialize + cmd.Name = "select_cat_paquetes_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "gunaprodp") + + cmd.Initialize + cmd.Name = "select_cat_detallepa_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "detallepaq") + + cargar.Visible = False + Subir.Visible = False + connecta.Visible = True + inv.Visible = False +' ToastMessageShow("Se Actualizaran los datos. Este proceso podria tardar hasta un minuto, gracias" , True) +End Sub + +Sub t1_tick + cmd.Initialize + cmd.Name = "select_cuantos_pedido_KELL" + cmd.Parameters = Array As Object(ALMACEN,l_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido") + + t3.Initialize("T3", 5000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick +' +' cmd.Initialize +' cmd.Name = "select_cuantos_noventa_KELL" +' cmd.Parameters = Array As Object(ALMACEN,l_ruta.text) +' reqManager.ExecuteQuery(cmd , 0, "valida_noventa") +' +' cmd.Initialize +' cmd.Name = "select_cuantos_pedidoc_KELL" +' cmd.Parameters = Array As Object(ALMACEN,l_ruta.text) +' reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") +' + If PB2.Progress = 0 Then + S_CP.Text = "ENVIAR DATOS (K-1)" + End If + img2.Visible=False + t1.Enabled = False +End Sub + +Sub B_OK_PAS_Click + If CARGA = "SUBIR" And S_CP.Text = "INFO OK" Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + PERFIL = "0" + If c.RowCount > 0 Then + c.Position =0 + PERFIL = c.GetString("CAT_VA_VALOR") + End If + c.Close + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO")) + NUMERO_PEDIDO = "0" + If c.RowCount > 0 Then + c.Position =0 + NUMERO_PEDIDO = c.GetString("CAT_VA_VALOR") + End If + c.Close + If PERFIL = "V-ESPECIAL" Then + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",NUMERO_PEDIDO + 1)) + End If + P1.Visible = False + trabajar.Visible = True + B_PROXIMA.Visible =True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + img2.Visible=False + P1.SendToBack + Else If CARGA = "SUBIR" And S_CP.Text = "ERROR" Then + Msgbox("Tiene que subir de nuevo la información","Atención") 'ignore + P1.Visible = False + trabajar.Visible = True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + img2.Visible=False + P1.SendToBack + Else if CARGA = "SUBIR" And S_CP.Text <> "INFO OK" Then + res = Msgbox2("Seguro que desea abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If res = DialogResponse.POSITIVE Then + P1.Visible = False + trabajar.Visible = True + B_PROXIMA.Visible =True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + img2.Visible=False +' ExitApplication + P1.SendToBack + End If + End If + + If CARGA = "CARGAR" And S_CP.Text = "LISTO" And S_CC.Text = "LISTO" And S_CH.Text = "LISTO" Then + c=Starter.skmt.ExecQUERY("SELECT COUNT(*) AS CUANTOS FROM PEDIDO_DOE WHERE PE_CLIENTE <> 0") + c.Position = 0 + cuantos_pedidosc = c.GetString("CUANTOS") + c.Close + If cuantos_pedidosc > 0 Then + c=Starter.skmt.ExecQUERY("SELECT PE_PROID, SUM(PE_CANT) AS PE_CANT FROM PEDIDO_DOE WHERE PE_CLIENTE <> 0 GROUP BY PE_PROID") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("update CAT_GUNAPROD2 set CAT_GP_ALMACEN = CAT_GP_ALMACEN - ? where CAT_GP_ID = ? ", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Next + End If + End If + c=Starter.skmt.ExecQuery("select COUNT(DISTINCT(PE_CLIENTE)) AS CLIENTES from PEDIDO_DOE ") + c.Position = 0 + If c.GetString("CLIENTES") >0 Then Msgbox("AVISO TIENES "& c.GetString("CLIENTES") & " PEDIDOS DON TOÑO PARA ENTREGAR"," PEDIDOS DON TOÑO") + c.Close + P1.Visible = False + trabajar.Visible = True + B_PROXIMA.Visible =True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + img2.Visible=False + P1.SendToBack + ELSE IF CARGA = "CARGAR" Then + S_CP.Text = "LISTO" + S_CC.Text = "LISTO" + S_CH.Text = "LISTO" + + Else if CARGA = "CARGAR" And (S_CP.Text <> "LISTO" Or S_CC.Text <> "LISTO" Or S_CH.Text <> "LISTO") Then + res = Msgbox2("Seguro que desea abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If res = DialogResponse.POSITIVE Then + P1.Visible = False + trabajar.Visible = True + B_PROXIMA.Visible =True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + img2.Visible=False + Starter.skmt.ExecNonQuery("delete from kmt_info") + If logger Then Log("Borramos KMT_INFO") + Starter.skmt.ExecNonQuery("delete from cod_result") + Starter.skmt.ExecNonQuery("delete from hist_gest") + Starter.skmt.ExecNonQuery("delete from cat_gunaprod") + Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") + Starter.skmt.ExecNonQuery("delete from telefonos") + Starter.skmt.ExecNonQuery("delete from HIST_VENTAS") + Starter.skmt.ExecNonQuery("delete from HIST_PROMOS") + Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS") + Starter.skmt.ExecNonQuery("delete from PROMOS_COMP") + Starter.skmt.ExecNonQuery("delete from CAT_VERIFICACION") + Starter.skmt.ExecNonQuery("delete from HIST_CUOTAS") + P1.SendToBack + ExitApplication + End If + End If +' P1.SendToBack 'Mod por CHV - 211213 - Se movio el sendToBack a los diferentes if/then porque no en todos los casos hay que ocultar el panel (Por ejemplo cuando se selecciona "No Abortar") +End Sub + +Sub NUEVO_Click + If l_ruta.Text = 0 Then + Msgbox("No se ha cargado ruta","Alerta") 'ignore + Else + + c=Starter.skmt.ExecQuery2("select count(*) AS COUNT from kmt_info where CAT_CL_CODIGO like ?", Array As String ("N%")) + c.Position = 0 + If c.GetString("COUNT") > 2000 Then + MsgboxAsync("YA NO SE PUEDEN CREAR MAS CLIENTES","AVISO") + Else + Subs.iniciaActividad("nuevocliente") + + End If + + + End If +End Sub + +Sub B_OK_RES_Click + trabajar.Visible = True + B_PROXIMA.Visible =True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + P_RESUMEN.Visible=False +End Sub + +Sub Resumen_Click + P_RESUMEN.Visible = True + P_RESUMEN.BringToFront + trabajar.Visible = False + B_PROXIMA.Visible =False + NUEVO.Visible =False + BUSCA.Visible=False + connecta.Visible=False + Subir.Visible=False + cargar.Visible=False + Resumen.Visible= False + DateTime.DateFormat = "MM/dd/yyyy" + fecha=DateTime.Date(DateTime.Now) + Starter.skmt.ExecNonQuery2("update PEDIDO set PE_TIPO = ? where PE_CLIENTE =?", Array As Object("ABORDO", "0")) + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente where pc_cliente <> 0") + b.Position=0 + Cuantos = b.GetString("CUANTOS") +' ToastMessageShow(Cuantos , True) + d=Starter.skmt.ExecQuery2("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0 and cat_cl_codigo <> 0 AND CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?)", Array As String("DIA_VISITA")) + D.Position=0 + b.Close + e=Starter.skmt.ExecQuery2("select count(*) as POR_VISITAR from kmt_info where cat_cl_codigo <> 0 and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) ", Array As String("DIA_VISITA")) + e.Position=0 + f=Starter.skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info where cat_cl_codigo <> 0") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + f.Close + If l_ruta.Text = 0 Then + l_ruta.Text =0 + Else + f=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + f.Close + End If + If Cuantos = 0 Then + L_MONTOD.Text =0 + l_cuantosc.Text = 0 + l_cuantosn.Text = 0 + drop = 0 + l_drop.Text = 0 + efectiva = 0 + l_efectiva.text =0 + l_ctast.Text = d.GetString("TOTAL_VISITAR") + 'l_porvisitar.Text = e.GetString("POR_VISITAR") + d.Close + e.Close + l_monto_kp.Text = "0" + l_monto_k.Text = "0" + l_monto_ks.Text = "0" + Else + ' aqui poner lo de efectividad de doe y la cantidad de doe para enviar a tiempo real + Dim TOTAL_DOE_BB As String + Dim TOTAL_EFE_DOE As String + Dim TOTAL_ENTREGA_DOE As String + + + C_DOE = Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM PEDIDO_DOE") + C_DOE.Position = 0 + If C_DOE.GetString("CUANTOS") > 0 Then + F_DOE = Starter.skmt.ExecQuery("SELECT SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO_DOE") + F_DOE.Position = 0 + TOTAL_DOE_BB = F_DOE.GetString("TOTAL") + F_DOE.Close + D_DOE=Starter.skmt.ExecQuery2("select sum(PE_COSTO_TOT) as DOE from pedido where PE_CEDIS = ? ", Array As String("PROMODOE")) + D_DOE.Position = 0 + TOTAL_ENTREGA_DOE = D_DOE.GetString("DOE") + D_DOE.Close + + + End If + + '' fin de esto modificar lo anterior + c=Starter.skmt.ExecQuery2("select sum(pe_cant) as CAMBIOS from pedido where substr(pe_pronombre,1,6) = ?", Array As String("CAMBIO")) + c.Position = 0 + l_cambios.Text = c.GetString("CAMBIOS") + c.Close + c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_TIPO = ? )", Array As String("RTEC")) + c.Position = 0 + l_monto_k.Text = c.GetString("MONTO_DIA") + If l_monto_k.Text = "null" Then + l_monto_k.Text = "0" + End If + c.Close + c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_TIPO = ? )", Array As String("PING")) + c.Position = 0 + l_monto_kp.Text = c.GetString("MONTO_DIA") + If l_monto_kp.Text = "null" Then + l_monto_kp.Text = "0" + End If + c.Close + c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_TIPO = ? )", Array As String("SALTY SNACKS")) + c.Position = 0 + l_monto_ks.Text = c.GetString("MONTO_DIA") + If l_monto_ks.Text = "null" Then + l_monto_ks.Text = "0" + End If + c.Close + DDD=Starter.skmt.ExecQuery("Select COUNT(*) AS CUANTOS from HIST_CUOTAS ") + DDD.Position = 0 + If DDD.GetString("CUANTOS") > 0 Then + c=Starter.skmt.ExecQuery("Select HC_CUOTA1,HC_CUOTA2,HC_CUOTA3 from HIST_CUOTAS ") + c.Position = 0 + l_monto_c1.Text = Round( c.GetString("HC_CUOTA1") / 6) + l_monto_c2.Text = Round(c.GetString("HC_CUOTA2") / 6) + l_monto_c3.Text = Round(c.GetString("HC_CUOTA3") / 6) + c.Close + Else + l_monto_c1.Text = 2000 + l_monto_c2.Text = 2000 + l_monto_c3.Text = 2000 + End If + DDD.Close + c=Starter.skmt.ExecQuery("select sum(pc_monto) as MONTO_DIA, count(pc_cliente) AS CLIENTES_DIA from pedido_cliente where pc_cliente <> 0") + b=Starter.skmt.ExecQuery("select count(*) as CUANTOS from noventa") + 'where pc_fecha = ?", Array As String(fecha) + C.Position=0 + b.Position=0 + + L_MONTOD.Text = c.GetString("MONTO_DIA") + l_cuantosc.Text = c.GetString("CLIENTES_DIA") + l_cuantosn.Text = b.GetString("CUANTOS") + efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR") + l_efectiva.text = Round2(efectiva*100,2) + l_ctast.Text = d.GetString("TOTAL_VISITAR") + 'l_porvisitar.Text = e.GetString("POR_VISITAR") + L_CUANTOST.Text = l_cuantosc.Text + l_cuantosn.Text + + drop = (c.GetString("CLIENTES_DIA") + b.GetString("CUANTOS"))/ Starter.clientesTotal 'd.GetString("TOTAL_VISITAR") + + l_drop.Text = Round(drop * 100) + If l_drop.Text + l_efectiva.Text < 100 Then + ImageView3.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png") + Else If l_drop.Text + l_efectiva.Text > = 100 And l_drop.Text + l_efectiva.Text < 130 Then + ImageView3.bitmap = LoadBitmap(File.DirAssets, "alerta_amarilla.png") + Else + ImageView3.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png") + End If + L_TICKPROM.Text = Round2((c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")),2) + If c.GetString("MONTO_DIA") < 2500 Then + ImageView5.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png") + Else if c.GetString("MONTO_DIA") > = 2500 And c.GetString("MONTO_DIA") < 4000 Then + ImageView5.bitmap = LoadBitmap(File.DirAssets, "alerta_amarilla.png") + Else + ImageView5.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png") + End If + c.Close + b.Close + End If + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente = 0") + b.Position=0 + Cuantos = b.GetString("CUANTOS") + If Cuantos > 0 Then + c=Starter.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente = 0") + c.Position = 0 + L_ABORDO.Text = c.GetString("TOTAL") + c.Close + End If +End Sub + +Sub B_PROXIMA_Click + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0")) + Starter.tipov = "ABORDO" + B4XPages.ShowPage("Productos") +End Sub + +Sub Printer_Connected (Success As Boolean) + If Success Then + B_IMP.Enabled = True + PASA_IMP = "1" + Else + B_IMP.Enabled = False + If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore + StartPrinter + End If + End If +End Sub + +Sub StartPrinter + Dim PairedDevices As Map + Dim L As List + Dim resimp As Int + ToastMessageShow("Printing.....",True) + PairedDevices.Initialize + Try + PairedDevices = cmp20.GetPairedDevices + Catch + Msgbox("Getting Paired Devices","Printer Error") 'ignore + printer.Close + cmp20.Disconnect + End Try + If PairedDevices.Size = 0 Then + Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore + Return + End If + If PairedDevices.Size = 1 Then + Try + cmp20.ConnectInsecure(Starter.btAdmin,PairedDevices.Get(PairedDevices.GetKeyAt(0)),1) + Catch + Msgbox("Connecting","Printer Error") 'ignore + printer.Close + cmp20.Disconnect + End Try + Else + L.Initialize + For i = 0 To PairedDevices.Size - 1 + L.Add(PairedDevices.GetKeyAt(i)) + Next + resimp = InputList(L, "Choose device", -1) 'ignore + If resimp <> DialogResponse.CANCEL Then + cmp20.Connect(PairedDevices.Get(L.Get(resimp))) + End If + End If +End Sub + +' BOLETA +Sub B_BOLETA_Click + GetResult +End Sub + +Sub GetResult + Starter.boleta = 1 + B4XPages.MainPage.cliente.muestraBoleta = True + B4XPages.MainPage.cliente.LLAMA_BOLETA + Subs.iniciaActividad("cliente") +' CallSubDelayed(B4XPages.GetPage("Cliente"), "LLAMA_BOLETA") +End Sub + +Sub B_MAPA_RUTA_Click + Subs.iniciaActividad2("MAPA_RUTAS") +End Sub + +Sub b_cuotas_Click + DDD=Starter.skmt.ExecQuery("Select COUNT(*) AS CUANTOS from HIST_CUOTAS ") + DDD.Position = 0 + If DDD.GetString("CUANTOS") > 0 Then + c=Starter.skmt.ExecQuery("Select HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6 from HIST_CUOTAS ") + c.Position= 0 + L_CUOTA1.TEXT = c.GetString("HC_CUOTA1") + L_CUOTA2.TEXT = c.GetString("HC_CUOTA2") + L_CUOTA3.TEXT = c.GetString("HC_CUOTA3") + L_CUOTA4.TEXT = c.GetString("HC_CUOTA4") + L_CUOTA5.TEXT = c.GetString("HC_CUOTA5") + L_CUOTA6.TEXT = c.GetString("HC_CUOTA6") + L_META1.Text = c.GetString("HC_META1") + L_META2.Text = c.GetString("HC_META2") + L_META3.Text = c.GetString("HC_META3") + L_META4.Text = c.GetString("HC_META4") + L_META5.Text = c.GetString("HC_META5") + L_META6.Text = c.GetString("HC_META6") + If L_MONTOD.Text > 0 Then + L_META1.Text= $"$1.2{(l_monto_k.Text + L_META1.Text)}"$ 'l_monto_k.Text + L_META1.Text + L_META2.Text= $"$1.2{(l_monto_kp.Text + L_META2.Text)}"$ + L_META3.Text= $"$1.2{(l_monto_ks.Text + L_META3.Text)}"$ 'l_monto_ks.Text + L_META3.Text + L_META4.Text= $"$1.2{(l_monto_k.Text + L_META4.Text)}"$ ' l_monto_k.Text + L_META4.Text + L_META5.Text= $"$1.2{(l_monto_kp.Text + L_META5.Text)}"$ 'l_monto_kp.Text + L_META5.Text + L_META6.Text= $"$1.2{(l_monto_ks.Text + L_META6.Text)}"$ 'l_monto_ks.Text + L_META6.Text + End If + Else + L_CUOTA1.TEXT = 0 + L_CUOTA2.TEXT = 0 + L_CUOTA3.TEXT = 0 + L_CUOTA4.TEXT = 0 + L_CUOTA5.TEXT = 0 + L_CUOTA6.TEXT = 0 + L_META1.Text = 0 + L_META2.Text = 0 + L_META3.Text = 0 + L_META4.Text = 0 + L_META5.Text = 0 + L_META6.Text = 0 + End If + DDD.Close + Panel5.BringToFront + Panel5.Visible = True + Panel2.Visible = False + Panel1.Visible = False +End Sub + +Sub B_CUOATA_C_Click + Panel5.Visible = False + Panel2.Visible = True + Panel1.Visible = True +End Sub + +Sub Btn_CheckList_Click + If logger Then Log("Cambiamos a CHECKLIST_AUTO") + B4XPages.ShowPage("CheckList") +' Activity.Finish +End Sub + +Sub Btn_CheckList_LongClick +' Dim x As Int = "a" +' StartActivity(errorManager) +End Sub + +Sub SUBIR_INFO_PEDIDO + P1.Width = GetDeviceLayoutValues.Width + P1.Height = GetDeviceLayoutValues.Height + Subs.panelVisible(P1, 0, 0) + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + PERFIL = c.GetString("CUANTOS") + c.Close + If PERFIL > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + PERFIL = c.GetString("CAT_VA_VALOR") + c.Close + End If + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO")) + c.Position =0 + Cuantos = c.GetString("CUANTOS") + c.Close + If Cuantos > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO")) + c.Position =0 + NUMERO_PEDIDO = c.GetString("CAT_VA_VALOR") + c.Close + End If + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + ' DROP + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente = 0") + b.Position=0 + Cuantos = b.GetString("CUANTOS") + If Cuantos > 0 Then + c=Starter.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente = 0") + c.Position = 0 + L_ABORDO.Text = c.GetDouble("TOTAL") + c.Close + End If + Dim PEDIDO_TOT As String + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente <> 0") + b.Position=0 + Cuantos = b.GetString("CUANTOS") + If Cuantos > 0 Then + c=Starter.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente <> 0") + c.Position = 0 + PEDIDO_TOT = c.GetDouble("TOTAL") + c.Close + End If + d=Starter.skmt.ExecQuery("SELECT SUM(PE_COSTO_TOT) as MONTO FROM PEDIDO") + d.Position = 0 + Private monto1 As String = d.GetString("MONTO") + Private abordo1 As String = L_ABORDO.Text + If abordo1 = "" Then abordo1 = "0" + monto1 = monto1 - abordo1 + Dim cmd As DBCommand + cmd.Initialize + cmd.Name ="insert_drop2_KELL" + cmd.Parameters = Array As Object(usuario, l_ruta.Text, fecha, l_porvisitar.Text, l_drop.Text, l_efectiva.Text, l_cuantosc.Text, l_cuantosn.Text, monto1, "ENVIO", ALMACEN, abordo1) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_drop_kell") + img2.Visible =True + contador_env = contador_env + 1 + S_CP.Text = "Envio Cabecera" + PB2.Progress = 100 + t3.Initialize("T3", 500) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + Dim cmd As DBCommand + cmd.Initialize + cmd.Name ="UPDATE_INFO_E_KELL" + cmd.Parameters = Array As Object(PEDIDO_TOT, L_ABORDO.Text, d.GetDouble("MONTO"),l_ruta.TEXT, ALMACEN) + reqManager.ExecuteCommand(cmd , "inst_noventa_Upd_Info_e_Kell") + contador_env = contador_env + 1 + +' ENCUESTA + c=Starter.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") + S_CP.Text = "Envio Encuesta" + PB2.Progress = 1 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuesta_KELL" + cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"),l_ruta.Text ) + If logger Then Log($"${C.GetString("HE_CLIE")},${C.GetString("HE_RES")},${C.GetString("HE_FECHA")}, ${c.GetString("HE_TIPO")},${l_ruta.Text}"$) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_enc_kell_"&i) + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + PB2.Progress = 100 + End If + c.Close + c=Starter.skmt.ExecQuery("Select HF_FOTO, HF_CUENTA, HF_IDENCUESTA from HIST_FOTOS") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuesta_foto_KELLS" + cmd.Parameters = Array As Object(C.GetBLOB("HF_FOTO"),C.GetString("HF_CUENTA"),C.GetString("HF_IDENCUESTA"),l_ruta.Text, ALMACEN, usuario ) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_enc_foto_kell") + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + End If + c.Close + t3.Initialize("T3", 500) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + 'clientes nuevos + c=Starter.skmt.ExecQuery2("SELECT CAT_CL_CODIGO, CAT_CL_NOMBRE FROM kmt_info where CAT_CL_ATIENDE1 = ?", Array As String("new")) + S_CP.Text = "Envio C/Nuevos" + PB2.Progress = 1 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_clie_new_KELL" + cmd.Parameters = Array As Object(C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_NOMBRE"),l_ruta.Text,ALMACEN ) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_clie_new_kell") + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + End If + c.Close + t3.Initialize("T3", 500) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + S_CP.Text = "Envio C/Pedidos" + PB2.Progress = 1 + ' PEDIO_CLIENTE + c=Starter.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN FROM PEDIDO_CLIENTE ") + d=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_KELL" + cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"),ALMACEN,l_ruta.text,C.GetString("PC_COSTO_SIN") ) + reqManager.ExecuteCommand(cmd , "ins_pedidos") + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + c.Close + End If + d.Position=0 + cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC") + PB2.Progress = 100 + d.Close + ENVIADA = 0 + PORENVIAR = 0 +' Msgbox(ENVIADA & " " & PORENVIAR, "A") 'ignore + c=Starter.skmt.ExecQuery2("SELECT COUNT(*) as CANTIDAD FROM HIST_ENVIOS WHERE HE_TIPO = ?",Array As String("ABORDO") ) + c.Position = 0 + If c.GetString("CANTIDAD") > 0 Then + Log($"pe_cedis_0"$) + Starter.skmt.ExecNonQuery2("update PEDIDO set PE_CEDIS = ? where PE_CLIENTE =? AND PE_FOLIO IS NULL ", Array As Object("RECARGA", "0")) + End If + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = rowid where PE_FOLIO = 0 or PE_FOLIO = 1") + If PERFIL = "V-ESPECIAL" Then + Log($"pe_cedis_1"$) + c=Starter.skmt.ExecQuery("SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO FROM PEDIDO ORDER BY PE_CLIENTE") + d=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_esp_KELL" + Log($"pe_cedis_2"$) + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO"),NUMERO_PEDIDO ) + reqManager.ExecuteCommand(cmd , "ins_pedido") + contador_env = contador_env + 1 + Next + c.Close + End If + Else + Log($"pe_cedis_3"$) + c=Starter.skmt.ExecQuery("SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO FROM PEDIDO") + d=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + TIEMPO = 0 + t3.Initialize("T3", 500) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + S_CP.Text = "Envio de Pedidos" + PB2.Progress = 1 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_KELL" + If logger Then Log($"pe_cedis_4"$) + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO")) + reqManager.ExecuteCommand(cmd , "ins_pedido") + contador_env = contador_env + 1 + TIEMPO = TIEMPO + 1 + PB2.Progress = PB2.Progress + 1 + If TIEMPO > 20 Then + ' Msgbox("M","A") 'ignore + If L_P_2.Text = "Envio de Pedidos" Then + L_P_2.Text = "Envio de Pedidos --" + else if L_P_2.Text = "Envio de Pedidos --" Then + L_P_2.Text = "Envio de Pedidos \" + else if L_P_2.Text = "Envio de Pedidos \" Then + L_P_2.Text = "Envio de Pedidos |" + else if L_P_2.Text = "Envio de Pedidos |" Then + L_P_2.Text = "Envio de Pedidos /" + else if L_P_2.Text = "Envio de Pedidos /" Then + L_P_2.Text = "Envio de Pedidos --" + End If + t3.Initialize("T3", 2000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + TIEMPO = 0 + End If + Next + c.Close + End If + End If + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + PB2.Progress = 100 + d.Close + + ' NOVENTA + c=Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + t3.Initialize("T3", 500) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + S_CP.Text = "Envio No Venta" + PB2.Progress = 1 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_KELL" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), ALMACEN, l_ruta.Text) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_noventa_kell") + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + c.Close + End If + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + PB2.Progress = 100 + d.Close + + ' ENTREGA DOE PEDIDOS_DOE_ENTREGA (PC_CLIENTE, PC_ENTREGA) + c=Starter.skmt.ExecQuery("SELECT PC_CLIENTE, PC_ENTREGA FROM PEDIDOS_DOE_ENTREGA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "UPDATE_PEDIDOS_DOE_ENTREGA" + cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_ENTREGA"), ALMACEN, l_ruta.Text) + reqManager.ExecuteCommand(cmd , "UPDATE_PEDIDOS_DOE_ENTREGA") + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + c.Close + End If + + ' CHECK LIST VALIDAR + 'Msgbox("antesde de mandar","") 'ignore + c=Starter.skmt.ExecQuery("SELECT " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & " as TMP_AUTO_RUTA," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & " as TMP_AUTO_PLACA," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & " as TMP_AUTO_CEDIS," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & " as TMP_AUTO_IDALMACEN," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & " as TMP_AUTO_FECHA," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & " as TMP_AUTO_KILOMETRAJE," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & " as TMP_AUTO_COMBUSTIBLE," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & " as TMP_AUTO_TABLERO," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & " as TMP_AUTO_CLAXON," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & " as TMP_AUTO_PARABRISAS," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & " as TMP_AUTO_CINTURON," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " as TMP_AUTO_ESPEJOS," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " as TMP_AUTO_LICENCIA," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " as TMP_AUTO_LIB_OBJETOSINE," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & " as TMP_AUTO_LIB_OBJETOTMPERVI," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & " as TMP_AUTO_ORDEN_HERRA," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & " as TMP_AUTO_UNILIMPIA," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & " as TMP_AUTO_LIMPIO," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & " as TMP_AUTO_BASURA," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & " as TMP_AUTO_RESPONSABILIDAD," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & " as TMP_AUTO_AUDITORIA," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & " as TMP_AUTO_HABITUAL," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & " as TMP_AUTO_HERRAMIENTAS," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & " as TMP_AUTO_CONOS," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & " as TMP_AUTO_EDO_CARROCERIA," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & " as TMP_AUTO_FUN_LUCES," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & " as TMP_AUTO_PLACAS_CIRCU," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & " as TMP_AUTO_COND_LLANTAS," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & " as TMP_AUTO_ACEITEMOTOR," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & " as TMP_AUTO_ACEITEDIREC," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & " as TMP_AUTO_NVL_REFRIGERANTE," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & " as TMP_AUTO_NVL_LIQUIDBRISAS," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & " as TMP_AUTO_COND_BANMOTOR," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & " as TMP_AUTO_FUGASGRAL," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & " as TMP_AUTO_FRENOS," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & " as TMP_AUTO_COMENTARIOS FROM TMP_INSPECCION_AUTO_DIARIA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + If File.Exists(File.DirInternal,"FOTO1.jpg") And File.Exists(File.DirInternal,"FOTO2.jpg") And _ + File.Exists(File.DirInternal,"FOTO3.jpg") And File.Exists(File.DirInternal,"FOTO4.jpg") Then + foto1 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO1.jpg")) + foto2 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO2.jpg")) + foto3 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO3.jpg")) + foto4 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO4.jpg")) + Else +' Msgbox("No estan completas las fotos.", "FOTOS INCOMPLETAS") 'ignore + ToastMessageShow("FOTOS INCOMPLETAS!!", True) + End If + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "INSERT_TMP_INSPECCION_AUTO_DIARIA" + cmd.Parameters = Array As Object(C.GetString("TMP_AUTO_RUTA"),C.GetString("TMP_AUTO_PLACA"),C.GetString("TMP_AUTO_CEDIS"),C.GetString("TMP_AUTO_IDALMACEN"),C.GetString("TMP_AUTO_FECHA"),C.GetString("TMP_AUTO_KILOMETRAJE"),C.GetString("TMP_AUTO_COMBUSTIBLE"),C.GetString("TMP_AUTO_TABLERO"),C.GetString("TMP_AUTO_CLAXON"),C.GetString("TMP_AUTO_PARABRISAS"),C.GetString("TMP_AUTO_CINTURON"),C.GetString("TMP_AUTO_ESPEJOS"),C.GetString("TMP_AUTO_LICENCIA"),C.GetString("TMP_AUTO_LIB_OBJETOSINE"),C.GetString("TMP_AUTO_LIB_OBJETOTMPERVI"),C.GetString("TMP_AUTO_ORDEN_HERRA"),C.GetString("TMP_AUTO_UNILIMPIA"),C.GetString("TMP_AUTO_LIMPIO"),C.GetString("TMP_AUTO_BASURA"),C.GetString("TMP_AUTO_RESPONSABILIDAD"),C.GetString("TMP_AUTO_AUDITORIA"),C.GetString("TMP_AUTO_HABITUAL"),C.GetString("TMP_AUTO_HERRAMIENTAS"),C.GetString("TMP_AUTO_CONOS"),C.GetString("TMP_AUTO_EDO_CARROCERIA"),C.GetString("TMP_AUTO_FUN_LUCES"),C.GetString("TMP_AUTO_PLACAS_CIRCU"),C.GetString("TMP_AUTO_COND_LLANTAS"),C.GetString("TMP_AUTO_ACEITEMOTOR"),C.GetString("TMP_AUTO_ACEITEDIREC"),C.GetString("TMP_AUTO_NVL_REFRIGERANTE"),C.GetString("TMP_AUTO_NVL_LIQUIDBRISAS"),C.GetString("TMP_AUTO_COND_BANMOTOR"),C.GetString("TMP_AUTO_FUGASGRAL"),C.GetString("TMP_AUTO_FRENOS"),C.GetString("TMP_AUTO_COMENTARIOS"), foto1, foto2, foto3, foto4) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_tmp_insp_auto") + contador_env = contador_env + 1 + Next + c.Close + End If + t1.Initialize("T1", 20000) ' 1000 = 1 second + t1.Enabled = True + PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) + PORCENTAJE = 1 + + DateTime.TimeFormat = "HHmm" + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery2("SELECT HE_CUANTOS, HE_FECHA FROM HIST_ENVIOS WHERE HE_TIPO = ?", Array As String("PEDIDO")) + c.Position = 0 + Starter.skmt.ExecNonQuery2("UPDATE HIST_ENVIOS SET HE_FECHA = ?, HE_CUANTOS = ? WHERE HE_TIPO = ?", Array As Object(sTime,c.GetString("HE_CUANTOS") + 1, "PEDIDO")) + c.Close + c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CANTIDAD FROM PEDIDO WHERE PE_CLIENTE = 0 ") + c.Position = 0 + PORENVIAR = c.GetString("CANTIDAD") + If PORENVIAR > 0 Then + Starter.skmt.ExecNonQuery2("delete from HIST_ENVIOS where HE_TIPO = ?", Array As Object ("ABORDO")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,1,?)", Array As Object(sTime, "ABORDO")) + End If +' ToastMessageShow("Se Actualizaran los datos. Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) + S_CP.Text = "SUBIENDO" + DateTime.TimeFormat = "HH:mm:ss" +End Sub + +Sub SUBIR_INFO_BOLETA + P1.Width = GetDeviceLayoutValues.Width + P1.Height = GetDeviceLayoutValues.Height + Subs.panelVisible(P1, 0, 0) + Try + c=Starter.skmt.ExecQuery("SELECT TMP_BILLE_IDALMACEN,TMP_BILLE_RUTA, TMP_BILLE_FECHA,TMP_BILLE_MIL,TMP_BILLE_QUINIENTOS,TMP_BILLE_DOSCIENTOS,TMP_BILLE_CIEN,TMP_BILLE_CINCUENTA,TMP_BILLE_VEINTE FROM TMP_CAT_BILLETE") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_boletab_KELL" + cmd.Parameters = Array As Object(C.GetString("TMP_BILLE_IDALMACEN"),l_ruta.Text,C.GetString("TMP_BILLE_FECHA"),C.GetString("TMP_BILLE_MIL"),C.GetString("TMP_BILLE_QUINIENTOS"),C.GetString("TMP_BILLE_DOSCIENTOS"),C.GetString("TMP_BILLE_CIEN"),C.GetString("TMP_BILLE_CINCUENTA"),C.GetString("TMP_BILLE_VEINTE")) + reqManager.ExecuteCommand(cmd , "ins_boletab") + Next + c.Close + End If + + c=Starter.skmt.ExecQuery("SELECT TMP_MON_RUTA,TMP_MON_IDALMACEN,TMP_MON_FECHA,TMP_MON_VEINTE,TMP_MON_DIEZ,TMP_MON_CINCO,TMP_MON_DOS,TMP_MON_UN,TMP_MON_CENTAVOS FROM TMP_CAT_MONEDAS") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_boletam_KELL" + cmd.Parameters = Array As Object(l_ruta.Text,C.GetString("TMP_MON_IDALMACEN"),C.GetString("TMP_MON_FECHA"),C.GetString("TMP_MON_VEINTE"),C.GetString("TMP_MON_DIEZ"),C.GetString("TMP_MON_CINCO"),C.GetString("TMP_MON_DOS"),C.GetString("TMP_MON_UN"),C.GetString("TMP_MON_CENTAVOS")) + reqManager.ExecuteCommand(cmd , "ins_boletam") + Next + c.Close + End If + + S_CP.Text = "Envio Boleta" + PB2.Progress = 1 + contador_env = 2 + PB2.Progress = 100 + t3.Initialize("T3", 5000) ' 1000 = 1 second + Wait For t3_tick + t3.Enabled = True + S_CP.Text = "INFO OK" + Catch +' ToastMessageShow("ACTUALIZAR APK BOLETA",0) + Log(LastException) + End Try +End Sub + +Sub VALIDAR_INFO + d=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + d.Position = 0 + cuantos_pedido = d.GetString("CUANTOS_PEDIDO") + d.Close + cmd.Initialize + cmd.Name = "select_cuantos_pedido_KELL" + cmd.Parameters = Array As Object(ALMACEN,l_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido1") + t3.Initialize("T3", 8000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick +End Sub + +' /////////////////////////////////////////////////////////////////////////////////////////////////////////////// +' /////////////////////////////////////////////// PDF CARTA PORTE /////////////////////////////////////// +' /////////////////////////////////////////////////////////////////////////////////////////////////////////////// +Private Sub ImageView1_LongClick 'Mostramos la carta porte al hacer clic largo en el logo de Kelloggs + Log("Logo clicked") + pdf.Initialize("PDFium") + PNL_ACCESO.Visible = False + Panel7.Visible = False + p_pdfViewer.Width = GetDeviceLayoutValues.Width + p_pdfViewer.Height = GetDeviceLayoutValues.Height + PDFView1.Width = GetDeviceLayoutValues.Width-20 + p_controles_pdf.Width = GetDeviceLayoutValues.Width-20 +' If Logger Then Log($"pantalla: ${GetDeviceLayoutValues.Width}x${GetDeviceLayoutValues.Height} - panel: ${p_pdfViewer.Width}x${p_pdfViewer.Height}"$) + Subs.panelVisible(p_pdfViewer, 0, 0) + pdfViewerActivo = True +' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) + Dim cfg As Configurator = PDFView1.fromUri(File.DirInternal,"/cartaPorte.pdf") + cfg.SetEventname("PDFium") + cfg.pageFitPolicy("BOTH").autoSpacing(True).enableSwipe(True).pageSnap(True).swipeHorizontal(False).addOnErrorListener.addOnLoadCompleteListener.addOnPageChangeListener.addOnPageErrorListener.load +End Sub + +'Descarga del servidor el PDF de la carta porte del dia de hoy y la +'guarda en el almacenamiento externo con el nombre "cartaPorte.pdf" +Sub descargaCartaPorte + Log("Inicia descargaCartaPorte") + cartaPorteLista = False + 'Generamos el nombre del PDF de la carta porte + DateTime.DateFormat = "ddMMyyyy" + Private almacenX As String = Starter.almacen + Private rutaX As String = Starter.rutapreventa + Private cartaPortePDF As String = $"CPORTE${almacenX}_${rutaX}.pdf"$ +' cartaPortePDF = "CPORTE2_100_Prueba.pdf" 'Para pruebas +' Log(cartaPortePDF) + 'Para el servidor + Private pdfServer As String = "keymon.lat" + If Starter.server.IndexOf("10.0.0.205") > -1 Then pdfServer = "10.0.0.205" +' Log(pdfServer) + pdfURL = $"https://${pdfServer}/CartaPorteKelloggs/CartaPorteMovil${DateTime.Date(DateTime.now)}/${cartaPortePDF}"$ + LogColor(pdfURL,Colors.Red) +' Log("Iniciamos wait for descargaCartaPorteyProgreso") + Wait For (descargaCartaPorteyProgreso(pdfURL)) Complete (Success As Boolean) +' Log("Terminamos wait for descargaCartaPorteyProgreso") + l_porcentaje.Text = "0%" + ProgressBarPDF.Progress = 0 +' Log("Ocultamos panel descarga") + Subs.panelOculto(p_downloadPDF) +End Sub + +'Muestra el panel de descarga de la carta porte con barra de progreso +Sub descargaCartaPorteyProgreso (urlx As String) As ResumableSub + Log("Iniciamos descargaCartaPorteyProgreso") + If logger Then Log("Mostramos panel descarga") + Subs.panelVisible(p_downloadPDF, 0, 0) + Subs.centraPanel(p_progress1, Root.Width) + Subs.centraEtiqueta(l_downloadPDF, p_progress1.Width) + Subs.centraEtiqueta(l_porcentaje, p_progress1.Width) + Subs.centraProgressBar(ProgressBarPDF, p_progress1.Width) + Dim job_PDF As HttpJob + job_PDF.Initialize("job_PDF",Me) +' job_PDF.GetRequest.Timeout = 120000 ' Timeout a 2 minutos + job_PDF.Download(urlx) + + 'Para la barra de progreso + ' == TaskIdToJob == necesita que se agregue "HU2_PUBLIC" a "Conditional Symbols" (Project/Build Configurations) (Ctrl+B) + Dim TaskToJob As Map = HttpUtils2Service.TaskIdToJob + Do While HttpUtils2Service.TaskIdToJob.IsInitialized = False + Log("Waiting for HttpUtils2Service to be ready.") + Sleep(20) + Loop + Dim TaskId As Int + Do While TaskId = 0 + For Each id As Int In TaskToJob.Keys + If TaskToJob.Get(id) = job_PDF Then + TaskId = id + Exit + End If + Next + Sleep(10) + Loop + Dim bx() As Boolean = Array As Boolean(False) + Log("Llamamos TrackProgress") + TrackProgress(job_PDF, bx, TaskId) + '**** Termina barra de progreso + + Log("Iniciamos Wait for JobDone Descarga") + Log("Mostramos panel descarga") + Subs.panelVisible(p_downloadPDF, 0, 0) + Wait for (job_PDF) JobDone (job_PDF As HttpJob) +' Log("Terminamos Wait for JobDone Descarga ") + If job_PDF.Success = False Then Log("Error PDF") + If job_PDF.Success = True Then + Log("Carta descargada con exito") + cartaPorteLista = True + ' // Delete existing file +' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) +' Wait For Activity_PermissionResult (Permission As String, Result As Boolean) + If File.Exists(File.DirInternal,"cartaPorte.pdf") Then +' Log("Borramos carta anterior") + File.Delete(File.DirInternal,"cartaPorte.pdf") + End If + ' // Save new file + Dim outNewAPK As OutputStream = File.OpenOutput(File.DirInternal,"cartaPorte.pdf", False) + File.Copy2(job_PDF.GetInputStream, outNewAPK) +' Log("Guardamos nueva carta") + outNewAPK.Close + Log("APK dir: "&File.DirInternal) + Log("Carta porte lista") + ToastMessageShow("Carta Porte descargada exitosamente!!", False) + Else + Log("Hubo un error, intente de nuevo") + job_PDF.Release + Subs.panelOculto(p_downloadPDF) + Log("Ruta tipo " & Starter.rutaTipo) + If File.Exists(File.DirInternal,"cartaPorte.pdf") And Starter.rutaTipo <> "FORANEA" Then 'Existe, NO es de hoy y NO ES es FORANEA + Private mb1 As Int + mb1 = Msgbox2("No se pudo descargar la carta porte, por favor intente de nuevo o comuniquese con un supervisor", "Error Carta Porte", "Aceptar", "", "Reintentar", Null) 'ignore + If mb1 = DialogResponse.Positive Then +' Activity.Finish +' ExitApplication + detenerLoop = True + B4XPages.ShowPage("Login") + ELSE IF mb1 = DialogResponse.NEGATIVE Then + descargaCartaPorte + ELSE IF mb1 = DialogResponse.CANCEL Then + ' VALIDAR_INFO + End If + Else + LogColor("Hay carta porte vieja PERO la ruta es Foranea", Colors.RGB(255,131,0)) + ToastMessageShow("Hay carta porte de dias anteriores y la ruta es foranea.", True) + cartaPorteLista = True + End If + End If + bx(0) = True + job_PDF.Release +' Log("Termina descargaCartaPorteyProgreso") + Return job_PDF.Success +End Sub + +'Para visualizar el progreso de la descarga +Private Sub TrackProgress (j As HttpJob, Stop() As Boolean, TaskId As Int) + Do While Stop(0) = False + If j.Out.IsInitialized Then + Dim TotalLength As Long = j.Response.ContentLength + Dim size As Long = File.Size(HttpUtils2Service.TempFolder, TaskId) +' Log(size & ", " & TotalLength & " | " & ((size/TotalLength)*100)) + ProgressBarPDF.Progress = (size/TotalLength)*100 + l_porcentaje.Text = $"$1.0{((size/TotalLength)*100)} %"$ + End If + Sleep(100) + Loop +' Log("TrackProgress - "&size & ", " & TotalLength) +End Sub + +Sub PDFium_loadComplete(pages As Int) +' Log($"PDFium_loadComplete(${pages})"$) + glPages = pages + lblPages.Text = $"${glPages}"$ +End Sub + +Sub PDFium_onInitiallyRendered(page As Int) + Log($"PDFium_onInitiallyRendered(${page})"$) +End Sub + +Sub PDFium_onPageChanged(page As Int, TotalPages As Int) +' Log($"PDFium_onPageChanged(${page},${TotalPages})"$) + lblPages.Text = $"${page+1}/${glPages}"$ +End Sub + +Sub PDFium_PageNum(page As Int) + Log($"PDFium_PageNum(${page})"$) +End Sub + +Sub PDFium_Show() + Log($"PDFium_Show()"$) +End Sub + +Sub btnFirst_Click + PDFView1.jumpTo2(0,False) +End Sub + +Sub btnPrev_Click + PDFView1.jumpTo2(PDFView1.CurrentPage-1,False) +End Sub + +Sub btnNext_Click + PDFView1.jumpTo2(PDFView1.CurrentPage+1,False) +End Sub + +Sub btnLast_Click + PDFView1.jumpTo2(glPages-1,False) +End Sub + +Private Sub B_PROXIMA_LongClick + '' StartActivity(Starter.ultimaActividad) +' If Starter.sesion.Get("actividad") <> "" Then + '' StartActivity(Starter.sesion.Get("actividad")) +' Log(Starter.sesion) +' If Starter.sesion.Size = 1 Then +' CallSubDelayed(Starter.sesion.Get("actividad"), "activity_resume") +' else if Starter.sesion.ContainsKey("sub") Then +' Private esteSub As Map = Starter.sesion.Get("sub") + '' If Logger Then Log(esteSub) +' If esteSub.Size = 1 Then CallSubDelayed(Starter.sesion.Get("actividad"), esteSub.Get("nombre")) +' If esteSub.Size = 2 Then CallSubDelayed2(Starter.sesion.Get("actividad"), esteSub.Get("nombre"), esteSub.get("param1")) +' If esteSub.Size = 3 Then CallSubDelayed3(Starter.sesion.Get("actividad"), esteSub.Get("nombre"), esteSub.get("param1"), esteSub.get("param2")) +' End If +' End If +End Sub + +Private Sub P1_Click + 'Vacio, solo está aquib para capturar el evento de clic y que no se pase hacia el fondo. +End Sub + +Private Sub Resumen_LongClick + ToastMessageShow("Enviamos UTR", True) + CallSubDelayed(Starter, "ENVIA_ULTIMA_GPS") +End Sub \ No newline at end of file diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas new file mode 100644 index 0000000..8d8f8d3 --- /dev/null +++ b/B4A/C_Productos.bas @@ -0,0 +1,1506 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Mods 'ignore +' Lineas 709 y 1041 para corregir lo del almacen pachuca y rmi's +End Sub + +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '// Process Gloals + Dim g As GPS + Dim ruta As String + Dim q_buscar As String + '// Globals + Dim c As Cursor + Dim c2 As Cursor + Dim C7 As Cursor + Dim ListView1 As ListView + Dim entro As String = 0 + Dim lfila As Label + Dim marca As String + Dim tipo As String + Private BUSCA As EditText + Dim ya_entro As String + Dim bmp As Bitmap + Dim c As Cursor + Dim e As Cursor + Dim f As Cursor + Dim h As Cursor + Dim CC As Cursor + Dim DD As Cursor + Dim l_tipo As Label + Dim l_sub As Label + Dim l_marca As Label + Dim l_desc As Label + Dim l_precio As Label + Dim l_bodega As Label + Dim cantidad As EditText + Dim guardar As Button + Dim Terminar As Button + Dim img_prod As ImageView + Dim IMG_PASO() As Byte + Dim L_PROID As Label + Dim clie_id As String + Dim sDate,sTime As String + Dim usuario As String + Dim lat_gps, lon_gps As String + Dim t_venta As Label + Dim PROMO_C As String + Dim i_fotol As ImageView + Private DESC_PROMO As Button + Private nopromo As Button + Dim TOT_ART_PROMO As String + Dim cambio As String + Dim COSTO_TOT As String + Dim ALMACEN As String + Dim preciosin As String + Dim cl_ruta As String + Dim d As Cursor + Dim TOT_ART_PROMOR As String + Dim PROMO_CR As String + Dim TOTAL_PROMO As String + Dim HCCP_CANT As String + Private Panel1 As Panel + Dim query As String + Private t_precio As Label + Private LV_PRECIOS As ListView + Private PERFIL As String + Private EXISTE_CAMBIO As String + Private QUERY2 As String + Dim CAMBIOS As String + Dim precio2 As String + Private B_MENOS As Button + Private B_MAS As Button + Private E_CAMBIO As EditText + Private B_MENOSC As Button + Private B_MASC As Button + Private limite_abordo As String + Private limite_anterior As String + Private cuenta As String + Private limite_actual As String + Private l_invact As Label + Private L_LINV As Label + Private L_CANT As Label + Private V_ANT_SALIR As String + Private L_CARGA As Label + Private DESC_SS As String + Private DESC_PING As String + Private DESC_RTEC As String + Private TIPO_CLIENTE As String + Private PROMOS_VENTAS As String + Private Label3 As Label + Private ImageView4 As ImageView + Dim PRECIO_CERO As String + Private SI_APLICA_PROMO As String + Private PROMO_ESP As String + Private TOTAL_PROMO_CLIE As String + Private INV_TOTAL_PROMO As String + Private YA_IMPRIMIO As String + Private HCCP_CANT_E As String + Dim lvClic As Map + Private TECLA_BACK As String = 0 + Private lv_producto2 As ListView + Private lv_subtipo As ListView + Dim logger As Boolean = True + Private clv_rmi As CustomListView + Private Panel5 As Panel + Private l_prodX As Label + Private p_prods As Panel + Private et_pCant As EditText + Private l_pCant As Label + Dim r As Cursor + Private b_rmi As Button +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + If Not(Starter.Logger) Then logger = False + Root = Root1 + 'load the layout to Root + Root.LoadLayout("productos") + ruta = File.DirInternal + Panel1.Visible= False + lvClic.Initialize + Panel5.Visible = False +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear +' If Subs.traeUltimaActividadBD <> "Productos" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) + CARGA_PRODUCTOS + + + B_MASC.Enabled = True + B_MENOSC.Enabled = True + E_CAMBIO.Enabled = True + + If Subs.revisaimpreso(Subs.traeCliente) And l_sub.Text = "PROMOS" Then + Msgbox ("YA SE IMPRIMIO EL TICKET.", "AVISO") 'ignore + Panel1.Visible= False + l_bodega.Text = "0" + Subs.iniciaActividad("Cliente") + l_sub.Text = "" + End If + + If l_sub.Text = "PROMOS" Or l_sub.Text = "EXHIBIDOR/POP" Then + B_MASC.Enabled = False + B_MENOSC.Enabled = False + E_CAMBIO.Enabled = False + Log("Botones NO activos") + Else + B_MASC.Enabled = True + B_MENOSC.Enabled = True + E_CAMBIO.Enabled = True + End If +End Sub + +Sub CARGA_PRODUCTOS + Terminar.Enabled = True + guardar.Enabled = True + If Subs.clienteActual <> "0" Then Starter.tipov = "VENTA" Else Starter.tipov = "ABORDO" + If logger Then Log(Subs.clienteActual & "|" &Starter.tipov) + If logger Then Log("Entro="&entro) + If logger Then Log("ya_entro="&ya_entro) + If Starter.tipov = "PREVENTA" Then + query = "cat_gunaprod" + QUERY2 = "COUNT_GUNAPROD" + Else IF Starter.tipov = "VENTA" Then + query = "cat_gunaprod2" + QUERY2= " COUNT_GUNAPROD2" + ELSE IF Starter.tipov = "ABORDO" Then + query = "cat_gunaprod" + QUERY2 = "COUNT_GUNAPROD" + Else + query = "cat_gunaprod" + QUERY2 = "COUNT_GUNAPROD" + End If + E_CAMBIO.Text = "0" + cantidad.Text = "0" + If ya_entro <> "1" Then + If entro=0 Then entro ="2" + ya_entro ="1" + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black + c2=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS, CAT_GP_TIPO from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) GROUP BY CAT_GP_TIPO ORDER BY CAT_GP_TIPO ASC") + ListView1.Clear + lfila.text = "TIPO" + lvClic.Put("PASO", "TIPO") + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + ListView1.AddTwoLines(c2.GetString("CAT_GP_TIPO"),c2.GetString("CUANTOS")) + Next + End If + entro = "2" + Else + entro = "3" + If logger Then LogColor($"Entro=${entro}"$, Colors.Blue) + ListView1_ItemClick(1,V_ANT_SALIR) + End If + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + PERFIL = c.GetString("CAT_VA_VALOR") + c.Close + If PERFIL = "V-COSTO" Then + Starter.skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT CAT_GP_ID FROM LISTA_PRECIOS WHERE NLISTA = '9' AND PRECIO = '0')") + End If + ListView1.Visible = True + If cuenta = "0" Then + B4XPages.mainpage.Cliente.CREDITO_DISPONIBLE = 10000000 + End If + + LogColor(ListView1.Visible,Colors.Red) +End Sub + +Sub ListView1_ItemClick (Position As Int, Value As Object) + Log(Value) + Private l As List + l.Initialize + l.Add(Position) + l.Add(Value) + If lvClic.ContainsKey("ultimo") Then lvClic.Put("anterior", lvClic.get("ultimo")) + lvClic.Put("ultimo", l) +' If Logger Then Log($"lvClic=${lvClic}"$) + Private Subrutina As Map =CreateMap("nombre":"ListView1_ItemClick", "param1":Position, "param2":Value) + Starter.sesion = CreateMap("actividad":Me, "sub":Subrutina) +' If Logger Then LogColor($"Entro=${entro}, Value=${Value}"$, Colors.Blue) + Log("MARCA=" & l_marca.Text & "|" & entro) + B_MASC.Enabled = True + B_MENOSC.Enabled = True + E_CAMBIO.Enabled = True + Log("Botones activos") + If Value = "PROMOS" And B4XPages.mainpage.Cliente.cuenta <> "N" Then + entro = "3" + marca = "PROMOS" + tipo = "PROMOS" + Log($"MARCA=${marca}, tipo=${tipo}"$) + Else if Value = "PROMOS" And B4XPages.mainpage.Cliente.cuenta = "N" Then + entro = "5" + Subs.iniciaActividad("Cliente") + End If + If entro = "1" Then + marca = Value + c2=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS, CAT_GP_TIPO from " & query & " where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) GROUP BY CAT_GP_TIPO ORDER BY CAT_GP_TIPO ASC", Array As String(Value)) + ListView1.Clear + lfila.text = "TIPO" + lvClic = CreateMap("PASO":0, "TIPO":0, "SUB-TIPO":0) + lvClic.Put("TIPO", l) + lvClic.Put("PASO", lfila.Text) + If logger Then Log("lvClic="&lvClic) + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + ListView1.AddTwoLines(c2.GetString("CAT_GP_TIPO"),c2.GetString("CUANTOS")) + Next + End If + entro = "3" + Else If entro = "2" Then 'Or lvClic.Get("PASO") = "TIPO" Then + tipo = Value + c2=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS, CAT_GP_SUBTIPO from " & query & " where CAT_GP_ALMACEN > 0 and CAT_GP_TIPO = ? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) GROUP BY CAT_GP_SUBTIPO ORDER BY CAT_GP_SUBTIPO ASC ", Array As String( Value)) + ListView1.Clear + lfila.text = "SUB-TIPO" + lvClic.Put("PASO", lfila.Text) + lvClic.Put("SUB-TIPO", l) +' If Logger Then Log("lvClic="&lvClic) + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + ListView1.AddTwoLines(c2.GetString("CAT_GP_SUBTIPO"),c2.GetString("CUANTOS")) + Next + End If + entro = "3" +' If Logger Then LogColor($"Entro=${entro}, Value=${Value}"$, Colors.Blue) + Else If entro = "3" Then + Log(tipo) + TECLA_BACK = 0 + If tipo = "PROMOS" Then TECLA_BACK = 1 +' If Logger Then LogColor($"Entro=${entro}, Value=${Value}"$, Colors.Blue) + V_ANT_SALIR = Value + c2=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) and CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CEDIS = PE_PROID AND pe_cliente in (Select CUENTA from cuentaa)) ", Array As String( tipo, Value)) + ListView1.Clear + lfila.text = "PRODUCTO" + lvClic.Put("PASO", lfila.Text) + lvClic.Put("PRODUCTO", l) +' If Logger Then Log("lvClic="&lvClic) + Dim ins As InputStream + Dim bmp As Bitmap + Dim jpeg() As Byte + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + jpeg = c2.GetBlob("CAT_GP_IMG") + ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length) + bmp.Initialize2(ins) + ListView1.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO")) + Next + End If + entro = "4" +' LogColor($"Entro=${entro}, Value=${Value}"$, Colors.Blue) + Else If entro = "4" Then +' If Logger Then LogColor($"Entro=${entro}, Value=${Value}"$, Colors.Blue) + Starter.skmt.ExecNonQuery("delete from PROID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROID VALUES (?)", Array As Object(Value)) + Log($"MARCA=${marca}, tipo=${tipo}"$) + Log("************* MARCA=" & l_marca.Text & "|" & l_sub.text & "|" & marca & "|" & Value) + HACER_PEDIDO + If tipo = "PROMOS" Or tipo = "EXHIBIDOR/POP" Then + B_MASC.Enabled = False + B_MENOSC.Enabled = False + E_CAMBIO.Enabled = False + Log("Botones NO activos") + Else + B_MASC.Enabled = True + B_MENOSC.Enabled = True + E_CAMBIO.Enabled = True + End If + + + End If +End Sub + +Private Sub lv_subtipo_ItemClick (Position As Int, Value As Object) + +End Sub + +Private Sub lv_producto2_ItemClick (Position As Int, Value As Object) + +End Sub + +Sub B4XPage_CloseRequest As ResumableSub'ignore + ' BACK key pressed + Starter.ultima_back_productos = 1 + If logger Then LogColor("BACK", Colors.Red) + If TECLA_BACK = 1 Then entro ="2" + If Panel5.Visible Then + Panel5.Visible = False + Else + End If + ya_entro ="0" + + If entro = "4" Or entro = "3" Then + entro = "2" + TECLA_BACK = 1 + ListView1_ItemClick(1,tipo) + Return True + Else If entro = "2" Then 'Antes 3 + 'B4XPage_Appear + CARGA_PRODUCTOS + Return False + Else + If logger Then LogColor($"Entro=${entro} - BACK"$, Colors.Blue) + Return False + End If + ' Returning False signals the system to handle the key +End Sub + +Sub BUSCA_TextChanged (Old As String, New As String) + + q_buscar = "%" & BUSCA.Text & "%" + + + c=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO,CAT_GP_IMG, CAT_GP_TIPO from " & query & " where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_NOMBRE like ? and CAT_GP_CLASIF <> ? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_GP_NOMBRE asc", Array As String(q_buscar,"PROMOS")) + + ListView1.Clear + Dim ins As InputStream + Dim bmp As Bitmap + Dim jpeg() As Byte + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + jpeg = c.GetBlob("CAT_GP_IMG") + ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length) + bmp.Initialize2(ins) + tipo = c.GetString("CAT_GP_TIPO") + ListView1.AddTwoLines(c.GetString("CAT_GP_NOMBRE"),"Existencia " & c.GetString("CAT_GP_ALMACEN") & " Precio $" & c.GetString("CAT_GP_PRECIO")) + + Next + End If + entro= "4" + c.Close +End Sub + +Sub HACER_PEDIDO + ListView1.Visible = False + c=Starter.skmt.ExecQuery("Select SUBSTR(CUENTA,1,1) AS CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") +' If Logger Then Log("+ + + "&c.RowCount) + c.Position=0 + cuenta = c.GetString("CUENTA") + c.Close + Panel1.Visible= True + cambio = "0" + cantidad.Text = "0" + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") +' If Logger Then Log("+ + + "&c.RowCount) + C.Position =0 + ALMACEN = C.GetString("ID_ALMACEN") + C.Close + i_fotol.Visible = False + c=Starter.skmt.ExecQuery("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV from " & query & " where CAT_GP_NOMBRE In (Select PDESC from PROID)") + c.Position=0 + L_PROID.Text = c.GetString("CAT_GP_ID") + l_tipo.Text = c.GetString("CAT_GP_TIPO") + l_sub.Text = c.GetString("CAT_GP_SUBTIPO") + l_marca.Text = c.GetString("CAT_GP_CLASIF") + l_desc.Text = c.GetString("CAT_GP_NOMBRE") + + + If l_sub.Text = "PROMOS" Or l_sub.Text = "EXHIBIDOR/POP" Then + B_MASC.Enabled = False + B_MENOSC.Enabled = False + E_CAMBIO.Enabled = False + Log("Botones NO activos") + Else + B_MASC.Enabled = True + B_MENOSC.Enabled = True + E_CAMBIO.Enabled = True + End If + + If PERFIL = "V-SUPER" Then + c2=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = '10' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC") + If logger Then Log("+ + + "&c.RowCount) + c2.Position=0 + l_precio.Text = c2.GetString("PRECIO") + c2.Close + Else + l_precio.Text = c.GetDouble("CAT_GP_PRECIO") + End If + l_bodega.Text = c.GetString("CAT_GP_ALMACEN") + PROMOS_VENTAS = c.GetString("CAT_GP_ALMACEN") + IMG_PASO = c.GetBlob("CAT_GP_IMG") + PROMO_C = c.GetString("CAT_GP_STS") + cambio = c.GetString("CAT_GP_DEV") + preciosin = c.GetString("CAT_GP_IMP2") + PROMO_CR = c.GetString("CAT_GP_IMP1") + precio2 = l_precio.Text + c=Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'LIMITE'") +' If Logger Then Log("+ + + "&c.RowCount) + If c.RowCount > 0 Then + C.Position = 0 + limite_abordo = C.GetString("CAT_VA_VALOR") + End If + C.Close + c=Starter.skmt.ExecQuery2("select sum(cat_gp_precio * cat_gp_almacen) as MONTO from cat_gunaprod2 where cat_gp_almacen > 0 and cat_gp_clasif <> ? ", Array As String("PROMOS")) +' If Logger Then Log("+ + + "&c.RowCount) + c.Position = 0 + limite_anterior = c.GetString("MONTO") + c.Close + If clie_id = "0" Then + l_invact.Visible=True + L_LINV.Visible=True + L_CARGA.Visible = True + L_CANT.Text ="PEDIDO" + c2=Starter.skmt.ExecQuery("select count(*) as CUANTOS from cat_gunaprod2 where CAT_GP_NOMBRE In (Select PDESC from PROID)") +' If Logger Then Log("+ + + "&c2.RowCount) + c2.Position =0 + If c2.GetString("CUANTOS") > 0 Then + c=Starter.skmt.ExecQuery("select CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_NOMBRE In (Select PDESC from PROID)") + C.Position =0 + l_invact.text = C.GetString("CAT_GP_ALMACEN") + C.Close + Else + l_invact.text = 0 + End If + Label3.Visible = False + ImageView4.Visible = False + E_CAMBIO.Visible = False + B_MENOSC.Visible = False + B_MASC.Visible = False + Else + l_invact.Visible=False + L_LINV.Visible=False + L_CARGA.Visible = False + L_CANT.Text ="VENTA" + Label3.Visible = True + ImageView4.Visible = True + E_CAMBIO.Visible = True + B_MENOSC.Visible = True + B_MASC.Visible = True + End If + DESC_SS = 0 + DESC_PING = 0 + DESC_RTEC = 0 + CC=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM DESC_CLIENTES WHERE DC_CL_CLIENTE IN (Select cuenta from cuentaa) ") +' If Logger Then Log("+ + + "&CC.RowCount) + CC.Position =0 + If CC.GetString("CUANTOS") > 0 Then + DD=Starter.skmt.ExecQuery("SELECT DC_CL_CLIENTE , CAT_CL_DESCUENTO_SS , CAT_CL_DESCUENTO_RTEC , CAT_CL_DESCUENTO_PING, CAT_CL_TIPOCLIENTE FROM DESC_CLIENTES WHERE DC_CL_CLIENTE IN (Select cuenta from cuentaa) ") +' If Logger Then Log("+ + + "&DD.RowCount) + DD.Position =0 + DESC_SS = DD.GetString("CAT_CL_DESCUENTO_SS") + DESC_RTEC = DD.GetString("CAT_CL_DESCUENTO_RTEC") + DESC_PING = DD.GetString("CAT_CL_DESCUENTO_PING") + TIPO_CLIENTE = DD.GetString("CAT_CL_TIPOCLIENTE") + DD.Close + Else + DESC_SS = 0 + DESC_PING = 0 + DESC_RTEC = 0 + TIPO_CLIENTE = 0 + End If + CC.Close + '' esto es de las promos para activarlas despues + If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" Then + DESC_PROMO.Visible = True + CC=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PROMOS_COMP WHERE CAT_PA_ID = ?", Array As String(L_PROID.Text)) + CC.Position =0 + If CC.GetString("CUANTOS") = 0 Then + l_bodega.Text = "1" + Else + CC.Close + CC=Starter.skmt.ExecQuery2("select CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE FROM PROMOS_COMP WHERE CAT_PA_ID = ?", Array As String(L_PROID.Text)) + CC.Position =0 + + DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(L_PROID.Text)) + DD.Position =0 + If DD.GetString("CUANTOS") = 0 Then + HCCP_CANT_E = 0 + Else + DD.Close + DD=Starter.skmt.ExecQuery2("SELECT HCCP_CANT FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(L_PROID.Text)) + DD.Position =0 + HCCP_CANT_E = DD.GetString("HCCP_CANT") + DD.Close + End If + DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select cuenta from cuentaa) AND HVD_PRONOMBRE =?", Array As String(l_desc.Text)) + DD.Position =0 + If DD.GetString("CUANTOS") = 0 Then + HCCP_CANT = 0 + Else + DD.Close + DD=Starter.skmt.ExecQuery2("SELECT SUM(HVD_CANT) AS HCCP_CANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select cuenta from cuentaa) AND HVD_PRONOMBRE =?", Array As String(l_desc.Text)) + DD.Position =0 + HCCP_CANT = DD.GetString("HCCP_CANT") + DD.Close + End If + HCCP_CANT_E = HCCP_CANT_E - HCCP_CANT + TOTAL_PROMO = CC.GetString("CAT_PA_MAXPROMCLIE") - HCCP_CANT + If HCCP_CANT = 0 Then + PROMOS_VENTAS = CC.GetString("CAT_PA_MAXPROM") + Else IF TOTAL_PROMO > CC.GetString("CAT_PA_MAXPROMREC") Then + PROMOS_VENTAS = CC.GetString("CAT_PA_MAXPROMREC") + Else + PROMOS_VENTAS = TOTAL_PROMO + End If + End If + Else + DESC_PROMO.Visible = False + End If + c.Close + c=Starter.skmt.ExecQuery("select CASE WHEN pe_costo_tot is null then 0 else sum( pe_costo_tot ) end as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + t_venta.Text = c.GetString("TOTAL_CLIE") + c.Close + Terminar.Visible = True + guardar.Visible = True + cantidad.Visible = True + If cambio = "1" Then + nopromo.Visible = True + Else + nopromo.Visible = False + End If + Dim out As OutputStream + out = File.OpenOutput(ruta, "1.jpg", False) + out.WriteBytes(IMG_PASO, 0, IMG_PASO.Length) + out.Close + img_prod.Bitmap = LoadBitmap(ruta,"1.jpg") + TOT_ART_PROMO = "0" + TOT_ART_PROMOR = "0" + If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And l_bodega.Text = "0" Then + MsgboxAsync("ALERTA","EL CLIENTE YA NO PUEDE TENER ESTA PROMOCION") 'ignore + Panel1.Visible= False + End If + If marca = "PROMOS" Then + DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM PROMOS_COMP WHERE CAT_PA_ID =?", Array As String(L_PROID.Text)) + DD.Position =0 + If DD.GetString("CUANTOS") > 0 Then + C=Starter.skmt.ExecQuery2("SELECT CAT_PA_MAXPROMCLIE FROM PROMOS_COMP WHERE CAT_PA_ID =?", Array As String(L_PROID.Text)) + C.Position =0 + TOTAL_PROMO_CLIE = c.GetString("CAT_PA_MAXPROMCLIE") + c.Close + Else + TOTAL_PROMO_CLIE = 0 + End If + DD.Close + Else + If TIPO_CLIENTE = "TDCK" Then + + c=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA ='10' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC") + c.Position=0 + l_precio.Text = c.GetString("PRECIO") + c.Close + End If + End If + If l_tipo.Text = "SALTY SNACKS" Then + l_precio.Text = Round2(l_precio.Text -(l_precio.Text * DESC_SS/100),2) + ELSE IF l_tipo.Text = "PING" Then + l_precio.Text = Round2(l_precio.Text - (l_precio.Text * DESC_PING/100),2) + ELSE IF l_tipo.Text = "RTEC" Then + l_precio.Text = Round2(l_precio.Text - (l_precio.Text * DESC_RTEC/100),2) + End If + + If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And l_bodega.Text = "0" Then + MsgboxAsync("ALERTA","EL CLIENTE NO PUEDE TENER ESTA PROMOCION") 'ignore + Panel1.Visible= False + End If + DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(L_PROID.Text)) + DD.Position =0 + SI_APLICA_PROMO = DD.GetString("CUANTOS") + DD.Close + DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_PROMO =?", Array As String(L_PROID.Text)) + DD.Position =0 + PROMO_ESP = DD.GetString("CUANTOS") + DD.Close + + + If PROMO_ESP > 0 And SI_APLICA_PROMO = 0 Then + MsgboxAsync("ALERTA","EL CLIENTE NO PUEDE TENER ESTA PROMOCION 1") 'ignore + Panel1.Visible= False + End If + If L_PROID.Text = "PROMO58" Then + l_bodega.Text = 1 + End If + If L_PROID.Text = "PROMO58" And HCCP_CANT_E < 1 Then + MsgboxAsync("ALERTA","EL CLIENTE NO PUEDE TENER ESTA PROMOCION <") + Panel1.Visible= False + End If + If HCCP_CANT_E = 0 And ( L_PROID.Text = "1000000001" Or L_PROID.Text = "PROMO243" Or L_PROID.Text = "PROMO244" Or L_PROID.Text = "PROMO245" )Then + MsgboxAsync("ALERTA","EL CLIENTE NO PUEDE TENER ESTA PROMOCION 0 " &HCCP_CANT & " "& L_PROID.Text) 'ignore + Panel1.Visible= False + Else IF L_PROID.Text = "1000000001" Or L_PROID.Text = "PROMO243" Or L_PROID.Text = "PROMO244" Or L_PROID.Text = "PROMO245" Then + l_bodega.Text = 1 + End If + If L_PROID.Text = "PROMO76" And HCCP_CANT = 0 Then + MsgboxAsync("ALERTA","EL CLIENTE NO PUEDE TENER ESTA PROMOCION 2") 'ignore + Panel1.Visible= False + Else IF L_PROID.Text = "PROMO76" Then + l_bodega.Text = 1 + End If + C=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM CAT_DESCUENTOS_SKU WHERE CAT_DS_CLIENTE IN (Select cuenta from cuentaa) AND CAT_DS_PRODID = " & "'" &L_PROID.TEXT&"' ") + C.Position =0 + If c.GetString("CUANTOS") > 0 Then + DD=Starter.skmt.ExecQuery("SELECT CAT_DS_PORCENTAJE FROM CAT_DESCUENTOS_SKU WHERE CAT_DS_CLIENTE IN (Select cuenta from cuentaa) AND CAT_DS_PRODID = " & "'" &L_PROID.TEXT&"' ") + DD.Position =0 + l_precio.Text = Round2(l_precio.Text - (l_precio.Text * DD.GetString("CAT_DS_PORCENTAJE")/100),2) + End If + c.Close + '' ESTO ES PARA NO PASAR DE LAS PROMOS ABORDO Y MANDARLAS AL MINIMO INICIO + If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" Then + e=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM pedido WHERE PE_PROID = ? AND PE_CLIENTE IN (Select cuenta from cuentaa) ", Array As String(L_PROID.Text)) + e.Position =0 + If e.GetString("CUANTOS") = 0 Then + l_bodega.Text = PROMOS_VENTAS + e=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = ? and cat_dp_tipo = 0", Array As String(L_PROID.Text) ) + e.Position = 0 + If e.GetString("CUANTOS") > 0 Then + F=Starter.skmt.ExecQuery2("select CAT_DP_IDPROD, sum(CAT_DP_PZAS) as CAT_DP_PZAS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = ? and cat_dp_tipo = 0 GROUP BY CAT_DP_IDPROD", Array As String(L_PROID.Text) ) + 'se coloco el if por la mala promocion. + For i=0 To F.RowCount -1 + F.Position=i + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from cat_gunaprod2 where CAT_GP_ID = ? and cat_gp_almacen > 0 ", Array As String(f.GetString("CAT_DP_IDPROD"))) + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h.Position=0 + If TOTAL_PROMO_CLIE > l_bodega.Text Then + INV_TOTAL_PROMO = l_bodega.Text + Else + INV_TOTAL_PROMO = TOTAL_PROMO_CLIE + End If + If h.GetString("CAT_GP_ALMACEN") < INV_TOTAL_PROMO * f.GetString("CAT_DP_PZAS") Then + If h.GetString("CAT_GP_ALMACEN") < f.GetString("CAT_DP_PZAS") Then + l_bodega.Text = "0" + Else + l_bodega.Text = Round(h.GetString("CAT_GP_ALMACEN") / f.GetString("CAT_DP_PZAS")) + End If + End If + h.Close + else if c.GetString("CUANTOS") = 0 Then + l_bodega.Text = "0" + End If + c.Close + Next + f.Close + End If + e.Close + If l_bodega.Text = "0" Then + Msgbox ("PROMO LLEGO AL LIMITE PARA ESTE CLIENTE", "AVISO") 'ignore + Panel1.Visible= False + l_bodega.Text = "0" + Subs.iniciaActividad("Cliente") + End If + Else + Msgbox ("YA SE VENDIO LA PROMO.", "AVISO") 'ignore + Panel1.Visible= False + l_bodega.Text = "0" + Subs.iniciaActividad("Cliente") + End If + End If + If l_marca.text = "PROMOS" And B4XPages.MainPage.cliente.YA_IMPRIMIO2 = 1 Then + Msgbox ("YA SE IMPRIMIO EL TICKET.", "AVISO") 'ignore + Panel1.Visible= False + l_bodega.Text = "0" + Subs.iniciaActividad("Cliente") + l_sub.Text = "" + End If + + If l_marca.text = "PROMOS" Then + c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM CLIENTE_CARGA_DIA WHERE CCD_CUENTA IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("CUANTOS") > 0 Then + Msgbox ("YA SE IMPRIMIO EL TICKET.", "AVISO") 'ignore + Panel1.Visible= False + l_bodega.Text = "0" + Subs.iniciaActividad("Cliente") + l_sub.Text = "" + End If + c.Close + End If + If l_marca.text = "PROMOS" Then + C7=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) AND PE_PROID = ? ", Array As String(L_PROID.Text)) + C7.Position=0 + If C7.GetString("CUANTOS") > 0 Then + Msgbox ("YA SE VENDIO LA PROMO.", "AVISO") 'ignore + Panel1.Visible= False + End If + End If +End Sub + +Sub guardar_Click + B_MASC.Enabled = True + B_MENOSC.Enabled = True + E_CAMBIO.Enabled = True + guardar.Enabled = False + Panel1.Visible=False + If cantidad.Text = "" Then + cantidad.Text = 0 + End If + limite_actual = t_venta.Text + (cantidad.Text * l_precio.Text) + Log($"Limite actual=${limite_actual}"$) + If cuenta = "0" Then + limite_actual = limite_actual + limite_anterior + End If + Log($"Limite actual=${limite_actual}"$) + If Starter.lat_gps = 0 Or Starter.lat_gps = Null Then + Private coords As List = Subs.traeCoordsDeBD + Starter.lat_gps = coords.Get(0) + Starter.lon_gps = coords.Get(1) + End If +' If Logger Then Log($"cuenta: ${cuenta}, limite_actual:${limite_actual}, limite_abordo:${limite_abordo}"$) + If limite_abordo = "" Then limite_abordo = 0 'Mod por CHV - 211213 - Para que si limite_abordo no tiene valor, no nos saque de la app. + If cuenta ="0" And limite_actual > limite_abordo And cantidad.Text <> 0 And cantidad.Text <> "" Then + Log($"${cuenta},${limite_actual > limite_abordo},${cantidad.text}"$) + Msgbox("Excede el limite abordo","limite") 'ignore + Else IF (cuenta <> "0" And limite_actual < B4XPages.MainPage.cliente.CREDITO_DISPONIBLE) Or (cuenta ="0" And limite_actual < limite_abordo) Then + If E_CAMBIO.Text = "" Or E_CAMBIO.Text = "0" Then + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + Else + If E_CAMBIO.Text = "" Then E_CAMBIO.Text = "0" + If E_CAMBIO.Text * l_precio.Text > t_venta.Text Then + Msgbox("Excede EL MONTO DE LA VENTA", "ADVERTENCIA") 'ignore + else if E_CAMBIO.Text + cantidad.Text > l_bodega.Text Then + Msgbox("Excede existencia", "ADVERTENCIA") 'ignore + Else + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + '' para el rmi con costo se quita el comentado de abajo FL 11-05-2023 + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR", E_CAMBIO.text * l_precio.Text * (-1),l_precio.Text, E_CAMBIO.text,"CAMBIO" & l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,Starter.tipov,precio2)) + '' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR", 0,0, E_CAMBIO.text,"CAMBIO" & l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,Starter.tipov,precio2)) + + 'Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(E_CAMBIO.Text, L_PROID.Text)) + E_CAMBIO.Text = "" + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + End If + End If + If cantidad.Text = "" Or cantidad.Text = "0.0" Or cantidad.Text = "0" Then + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + ELSE If cantidad.Text > l_bodega.Text Then + Msgbox("Excede la existencia", "ADVERTENCIA") 'ignore + Else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C > 0 And cantidad.Text > 0 Then + Starter.skmt.ExecNonQuery("delete from PROIDID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text)) + c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1)") + c.Position =0 + If c.GetString("CUANTOSD") = 0 Then + Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA") 'ignore + Else + c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1)") + C.Position =0 + TOT_ART_PROMO = C.GetString("TOT_ART_PROMO") + COSTO_TOT = C.GetString("COSTO_TOT") + C.Close + ' se agrego and PE_COSTOU > 0 para que no tome los cambios + c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1)") + c.Position =0 + If c.GetString("CUANTOSD") = 0 Then + TOT_ART_PROMOR = "0" 'Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA") 'ignore + Else + c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1)") + C.Position =0 + TOT_ART_PROMOR = C.GetString("TOT_ART_PROMO") + End If + C.Close + If PROMO_C = "" Then PROMO_C = "0" + PROMO_C = PROMO_C * cantidad.Text + If PROMO_CR = "" Then PROMO_CR = "0" + PROMO_CR = PROMO_CR * cantidad.Text + If TOT_ART_PROMO = PROMO_C And TOT_ART_PROMOR = PROMO_CR Then + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = (?) WHERE PE_CEDIS and length(pe_cedis) < 3 and PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(L_PROID.text)) + D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 1 AND CAT_DP_TIPO = 1") ' MODIFCADO 05/05/2021 PARA QUE NO TOME LOS CAMBIOS + If D.RowCount>0 Then + For i=0 To D.RowCount -1 + D.Position=i + ' se agrega esta linea para que no tome los cambios + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1 AND CAT_DP_PRECIO > 1) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD"))) + Next + End If + D.Close + D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1") + If D.RowCount>0 Then + For i=0 To D.RowCount -1 + D.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) AND PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD"))) + Next + End If + D.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + cl_ruta = "0" + If c.RowCount > 0 Then + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + End If + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + usuario = "" + If c.RowCount > 0 Then + c.Position=0 + usuario = c.GetString("USUARIO") + End If + 'para insertar la promo de ades el de regalo en 0 + e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 ") + e.Position =0 + If e.GetString("CUANTOS") > 0 Then + F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS,CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 ") + 'meter el otro + If f.RowCount>0 Then + For i=0 To f.RowCount -1 + f.Position=i + 'F.Position =0 + PRECIO_CERO = f.GetString("CAT_DP_PRECIO") + h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD2 where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h.Position=0 + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,PRECIO_CERO * f.GetString("CAT_DP_PZAS") * cantidad.text, PRECIO_CERO, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + 'ESTO LO CAMBIE POR QUE NO DESCUENTA EL INVENTARIO ABORDO CON LAS PROMOS + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD"))) + h.Close + Next + End If + f.Close + End If + e.Close + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + Else + Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA") 'ignore + End If + End If + cantidad.Text = "" + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + + ''''' PROMOS QUE NO SON VARIABLE + else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then + Starter.skmt.ExecNonQuery("delete from PROIDID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text)) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + 'para insertar la promo de ades el de regalo en 0 + e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) ") + e.Position =0 + If e.GetString("CUANTOS") > 0 Then + F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)") + For i =0 To f.RowCount -1 + F.Position =i + h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h.Position=0 + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + 'ESTO LO CAMBIE POR QUE NO DESCUENTA EL INVENTARIO ABORDO CON LAS PROMOS + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD"))) + h.Close + Next + f.Close + End If + e.Close + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + cantidad.Text = "" + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN"))) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + Else + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps, ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN"))) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") 'Mod por CHV - 220302 - Agregué PE_FECHA al select/insert + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + 'StartActivity(fila) + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") 'Mod por CHV - 220302 - Agregue PE_FECHA al select/insert + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + Else + Log($"${cuenta},${limite_actual > limite_abordo},${cantidad.text},${B4XPages.MainPage.cliente.CREDITO_DISPONIBLE},${limite_actual},${limite_abordo}"$) + Msgbox("EXCEDE EL LIMITE DE CREDITO","AVISO") 'ignore + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + If cuenta <> "0" Then + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + End If + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") 'Mod por CHV - 220302 - Agregué PE_FECHA al select/insert + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + ListView1.Visible = True + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_FECHA = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_FECHA IS NULL", Array As Object(sDate & sTime)) + guardar.Enabled = True +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +End Sub + +Sub Terminar_Click + B_MASC.Enabled = True + B_MENOSC.Enabled = True + E_CAMBIO.Enabled = True + Terminar.Enabled = False + Panel1.Visible=False + If cantidad.Text = "" Then + cantidad.Text = 0 + End If + If Starter.lat_gps = 0 Or Starter.lat_gps = Null Then + Private coords As List = Subs.traeCoordsDeBD + Starter.lat_gps = coords.Get(0) + Starter.lon_gps = coords.Get(1) + End If + limite_actual = t_venta.Text + (cantidad.Text * l_precio.Text) + Log($"Limite actual=${limite_actual}"$) + If cuenta = "0" Then + limite_actual = limite_actual + limite_anterior + End If + Log($"Limite actual=${limite_actual}"$) + If limite_abordo = "" Then limite_abordo = 0 'Mod por CHV - 211213 - Para que si limite_abordo no tiene valor, no nos saque de la app. + If cuenta ="0" And limite_actual > limite_abordo And cantidad.Text <> 0 And cantidad.Text <> "" Then + Msgbox("excede el limite abordo","limite") 'ignore + Else IF (cuenta <> "0" And limite_actual < B4XPages.MainPage.cliente.CREDITO_DISPONIBLE) Or (cuenta ="0" And limite_actual < limite_abordo) Then + If E_CAMBIO.Text = "" Or E_CAMBIO.Text = "0" Then + Panel1.Visible= False + Else + If E_CAMBIO.Text = "" Then E_CAMBIO.Text = "0" + If E_CAMBIO.Text * l_precio.Text > t_venta.Text Then + Msgbox("Excede EL MONTO DE LA VENTA", "ADVERTENCIA") 'ignore + else if E_CAMBIO.Text + cantidad.Text > l_bodega.Text Then + Msgbox("Excede existencia", "ADVERTENCIA") 'ignore + Else + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + '' cambio para el rmi con costo fl 11-05-2023 + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR",E_CAMBIO.text * l_precio.Text * (-1),l_precio.Text, E_CAMBIO.text,"CAMBIO" & l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,Starter.tipov,precio2)) + '' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR",0,0, E_CAMBIO.text,"CAMBIO" & l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,Starter.tipov,precio2)) + + 'Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(E_CAMBIO.Text, L_PROID.Text)) + E_CAMBIO.Text = "" + Panel1.Visible= False + End If + End If + If cantidad.Text = "" Or cantidad.Text = "0.0" Or cantidad.Text = "0" Then + B4XPages.ShowPage("Cliente") + ELSE If cantidad.Text > l_bodega.Text Then + Msgbox("Excede la existencia", "ADVERTENCIA") 'ignore + Else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C > 0 And cantidad.Text > 0 Then + Starter.skmt.ExecNonQuery("delete from PROIDID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text)) + c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1)") + c.Position =0 + If c.GetString("CUANTOSD") = 0 Then + Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA") 'ignore + Else + c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1)") + TOT_ART_PROMO = 0 + COSTO_TOT = 0 + If c.RowCount > 0 Then + c.Position =0 + TOT_ART_PROMO = c.GetString("TOT_ART_PROMO") + COSTO_TOT = c.GetString("COSTO_TOT") + End If + C.Close + ' Se agrego and PE_COSTOU > 0 para que no tome los cambios + c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1)") + c.Position =0 + If c.GetString("CUANTOSD") = 0 Then + TOT_ART_PROMOR = "0" 'Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA") 'ignore + Else + c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1)") + TOT_ART_PROMOR = 0 + If c.RowCount > 0 Then + C.Position =0 + TOT_ART_PROMOR = C.GetString("TOT_ART_PROMO") + End If + End If + C.Close + If PROMO_C = "" Then PROMO_C = "0" + PROMO_C = PROMO_C * cantidad.Text + If PROMO_CR = "" Then PROMO_CR = "0" + PROMO_CR = PROMO_CR * cantidad.Text + If TOT_ART_PROMO = PROMO_C And TOT_ART_PROMOR = PROMO_CR Then + ' anterior a 29/06/2015 + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = (?) WHERE length(pe_cedis) < 3 and PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(L_PROID.text)) + D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 1 AND CAT_DP_TIPO = 1") ' MODIFCADO 05/05/2021 PARA QUE NO TOME LOS CAMBIOS + If D.RowCount>0 Then + For i=0 To D.RowCount -1 + D.Position=i + ' se agrega esta linea para que no tome los cambios + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1 AND CAT_DP_PRECIO > 1) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD"))) + Next + End If + D.Close + D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1") + If D.RowCount>0 Then + For i=0 To D.RowCount -1 + D.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) AND PE_CLIENTE IN (Select CUENTA from cuentaa) and length(pe_cedis) < 3 and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD"))) + Next + End If + D.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + cl_ruta = 0 + If c.RowCount > 0 Then + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + End If + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + usuario = "0" + If c.RowCount > 0 Then + c.Position=0 + usuario = c.GetString("USUARIO") + End If + 'para insertar la promo de ades el de regalo en 0 + e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 ") + e.Position =0 + If e.GetString("CUANTOS") > 0 Then + F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS,CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 ") + 'meter el otro + If f.RowCount>0 Then + For i=0 To f.RowCount -1 + f.Position=i + PRECIO_CERO = f.GetString("CAT_DP_PRECIO") + h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD2 where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h.Position=0 + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,PRECIO_CERO * f.GetString("CAT_DP_PZAS") * cantidad.text, PRECIO_CERO, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + 'ESTO LO CAMBIE POR QUE NO DESCUENTA EL INVENTARIO ABORDO CON LAS PROMOS + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD"))) + h.Close + Next + End If + f.Close + End If + e.Close + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + Else + Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA") 'ignore + End If + End If + cantidad.Text = "" + Panel1.Visible= False + Subs.iniciaActividad("Cliente") + else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then + Starter.skmt.ExecNonQuery("delete from PROIDID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text)) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + clie_id = "0" + If c.RowCount > 0 Then + c.Position=0 + clie_id = c.GetString("CUENTA") + End If + c.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + c.Close + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + 'para insertar la promo de ades el de regalo en 0 + e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) ") + e.Position =0 + If e.GetString("CUANTOS") > 0 Then + F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)") + For i =0 To f.RowCount -1 + F.Position =i + h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h.Position=0 + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + 'ESTO LO CAMBIE POR QUE NO DESCUENTA EL INVENTARIO ABORDO CON LAS PROMOS + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD"))) + h.Close + Next + f.Close + End If + e.Close + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + cantidad.Text = "" + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps, ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN"))) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Subs.iniciaActividad("Cliente") + Else + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + c.Close + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps, ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN"))) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Panel1.Visible= False + + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + Subs.iniciaActividad("Cliente") + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + Else + Log($"${cuenta},${limite_actual > limite_abordo},${cantidad.text},${B4XPages.MainPage.cliente.CREDITO_DISPONIBLE},${limite_actual},${limite_abordo}"$) + Msgbox("EXCEDE EL LIMITE DE CREDITO","AVISO") 'ignore + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + If cuenta <> "0" Then + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + End If + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + ListView1.Visible = True + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_FECHA = ? where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_FECHA IS NULL", Array As Object(sDate & sTime)) + Terminar.Enabled = True + Starter.ultima_back_productos = 0 + Subs.iniciaActividad("Cliente") +End Sub + +Sub i_fotol_Click + i_fotol.Visible = False +End Sub + +Sub DESC_PROMO_Click + Starter.skmt.ExecNonQuery("delete from PROIDID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text)) + Subs.iniciaActividad("detalle_promo") +End Sub + +Sub nopromo_Click + If cantidad.Text = "" Then + Panel1.Visible= False + Else + If cantidad.Text * l_precio.Text > t_venta.Text Then + Msgbox("Excede EL MONTO DE LA VENTA", "ADVERTENCIA") 'ignore +' Else +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") +' c.Position=0 +' clie_id = c.GetString("CUENTA") +' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") +' c.Position=0 +' usuario = c.GetString("USUARIO") +' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR",0,0, cantidad.text,"CAMBIO" & l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,Starter.tipov,precio2)) +' Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) +' cantidad.Text = "" +' Panel1.Visible= False + End If + End If +End Sub + +Sub LV_PRECIOS_ItemClick (Position As Int, Value As Object) + c=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = " & "'" & Value &"' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC") + c.Position=0 + l_precio.Text = c.GetString("PRECIO") + c.Close +End Sub + +Sub B_MENOS_Click + If cantidad.Text = "" Then + cantidad.Text = "" + Else IF cantidad.Text > 0 Then + cantidad.Text = cantidad.Text -1 + End If +End Sub + +Sub B_MAS_Click + If cantidad.Text = "" Then + cantidad.Text = 1 + Else + cantidad.Text = cantidad.Text + 1 + End If +End Sub + +Sub B_MENOSC_Click + If E_CAMBIO.Text = "" Then + E_CAMBIO.Text = "" + Else IF E_CAMBIO.Text > 0 Then + E_CAMBIO.Text = E_CAMBIO.Text -1 + End If +End Sub + +Sub B_MASC_Click + If E_CAMBIO.Text = "" Then + E_CAMBIO.Text = 1 + Else + E_CAMBIO.Text = E_CAMBIO.Text + 1 + End If +End Sub + + +Private Sub b_rmi_Click + Panel5.Visible = True + + r = Starter.skmt.ExecQuery("select CAT_ID, CAT_DESCRIPCION, CAT_MONTO FROM CAT_RMI") + clv_rmi.Clear + For i=0 To r.RowCount -1 + r.Position = i + clv_rmi.Add(CreateListItem(i &" ," &r.GetString("CAT_DESCRIPCION"), r.GetString("CAT_MONTO"), clv_rmi.AsView.Width , 50dip),i) + Next + r.Close +End Sub + + +Sub CreateListItem(descripcion As String, monto As String, Width As Int, Height As Int) As Panel + Dim p As B4XView = xui.CreatePanel("") + p.SetLayoutAnimated(0, 0, 0, Width, Height) + p.LoadLayout("proitem") + l_prodX.Text = descripcion& CRLF & " $ " & monto + Return p +End Sub \ No newline at end of file diff --git a/B4A/C_Promos.bas b/B4A/C_Promos.bas new file mode 100644 index 0000000..36fa8d1 --- /dev/null +++ b/B4A/C_Promos.bas @@ -0,0 +1,24 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. \ No newline at end of file diff --git a/B4A/C_TicketsDia.bas b/B4A/C_TicketsDia.bas new file mode 100644 index 0000000..0cf4c5c --- /dev/null +++ b/B4A/C_TicketsDia.bas @@ -0,0 +1,131 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim c As Cursor + Dim ruta As String + Dim ListView1 As ListView + Dim b_noventa As Button + Dim nombre_boton As String +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + ruta = File.DirInternal + Root.LoadLayout("ticketsDia") + c=Starter.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 13 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO")) + Next + End If +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + nombre_boton = "NOVENTA" + c=Starter.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 13 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cant. #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO")) + Next + End If + c.Close +End Sub + +Sub Regresar_Click + B4XPages.ShowPage("Cliente") +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean + ' BACK key pressed + If key=KeyCodes.KEYCODE_BACK Then + ' I want to capture the key here so I return True + B4XPages.ShowPage("Principal") + 'Return True + End If + ' Returning False signals the system to handle the key + Return False +End Sub + +Sub ListView1_ItemLongClick (Position As Int, Value As Object) + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value)) + Subs.iniciaActividad("Cliente") +End Sub + +Sub b_noventa_Click + If nombre_boton = "NOVENTA" Then + nombre_boton = "VENTA" + b_noventa.Text ="VENTA" + c=Starter.skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = NV_CLIENTE ) as NOMBRE FROM NOVENTA ORDER BY NV_CLIENTE asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 10 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),c.GetString("NOMBRE") &" Motivo #"& c.GetString("NV_MOTIVO")& " Comentario $"& c.GetString("NV_COMM")) + Next + End If + Else + nombre_boton = "NOVENTA" + b_noventa.Text ="NO VENTA" + c=Starter.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 10 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO")) + Next + End If + c.Close + End If +End Sub \ No newline at end of file diff --git a/B4A/C_updateAvailable.bas b/B4A/C_updateAvailable.bas new file mode 100644 index 0000000..36fa8d1 --- /dev/null +++ b/B4A/C_updateAvailable.bas @@ -0,0 +1,24 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. \ No newline at end of file diff --git a/B4A/CameraExClass.bas b/B4A/CameraExClass.bas new file mode 100644 index 0000000..bff2c72 --- /dev/null +++ b/B4A/CameraExClass.bas @@ -0,0 +1,293 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=6.8 +@EndOfDesignText@ +'Class module +'version 1.20 +'See this page for the list of constants: +'http://developer.android.com/intl/fr/reference/android/hardware/Camera.Parameters.html +'Note that you should use the constant values instead of the names. +Sub Class_Globals + Private nativeCam As Object + Private cam As Camera + Private r As Reflector + Private target As Object + Private event As String + Public Front As Boolean + Type CameraInfoAndId (CameraInfo As Object, Id As Int) + Type CameraSize (Width As Int, Height As Int) + Private parameters As Object +End Sub + +Public Sub Initialize (Panel1 As Panel, FrontCamera As Boolean, TargetModule As Object, EventName As String) + target = TargetModule + event = EventName + Front = FrontCamera + Dim id As Int + id = FindCamera(Front).id + If id = -1 Then + Front = Not(Front) 'try different camera + id = FindCamera(Front).id + If id = -1 Then + ToastMessageShow("No camera found.", True) + Return + End If + End If + cam.Initialize2(Panel1, "camera", id) +End Sub + +Private Sub FindCamera (frontCamera As Boolean) As CameraInfoAndId + Dim ci As CameraInfoAndId + Dim cameraInfo As Object + Dim cameraValue As Int + If frontCamera Then cameraValue = 1 Else cameraValue = 0 + cameraInfo = r.CreateObject("android.hardware.Camera$CameraInfo") + Dim numberOfCameras As Int = r.RunStaticMethod("android.hardware.Camera", "getNumberOfCameras", Null, Null) + For i = 0 To numberOfCameras - 1 + r.RunStaticMethod("android.hardware.Camera", "getCameraInfo", Array As Object(i, cameraInfo), _ + Array As String("java.lang.int", "android.hardware.Camera$CameraInfo")) + r.target = cameraInfo + If r.GetField("facing") = cameraValue Then 'ignore + ci.cameraInfo = r.target + ci.Id = i + Return ci + End If + Next + ci.id = -1 + Return ci +End Sub + +Private Sub SetDisplayOrientation + r.target = r.GetActivity + r.target = r.RunMethod("getWindowManager") + r.target = r.RunMethod("getDefaultDisplay") + r.target = r.RunMethod("getRotation") + Dim previewResult, result, degrees As Int = r.target * 90 + Dim ci As CameraInfoAndId = FindCamera(Front) + r.target = ci.CameraInfo + Dim orientation As Int = r.GetField("orientation") + If Front Then + previewResult = (orientation + degrees) Mod 360 + result = previewResult + previewResult = (360 - previewResult) Mod 360 + Else + previewResult = (orientation - degrees + 360) Mod 360 + result = previewResult +' Log(previewResult) + End If + r.target = nativeCam + r.RunMethod2("setDisplayOrientation", previewResult, "java.lang.int") + r.target = parameters + r.RunMethod2("setRotation", result, "java.lang.int") + CommitParameters +End Sub + +Private Sub Camera_Ready (Success As Boolean) + If Success Then + r.target = cam + nativeCam = r.GetField("camera") + r.target = nativeCam + parameters = r.RunMethod("getParameters") + SetDisplayOrientation + Else + Log("success = false, " & LastException) + End If + CallSub2(target, event & "_ready", Success) +End Sub + +Sub Camera_Preview (Data() As Byte) + If SubExists(target, event & "_preview") Then + CallSub2(target, event & "_preview", Data) + End If +End Sub + +Public Sub TakePicture + cam.TakePicture +End Sub + +Private Sub Camera_PictureTaken (Data() As Byte) + CallSub2(target, event & "_PictureTaken", Data) +End Sub + +Public Sub StartPreview + cam.StartPreview +End Sub + +Public Sub StopPreview + cam.StopPreview +End Sub + +Public Sub Release + cam.Release +End Sub + +'Saves the data received from PictureTaken event +Public Sub SavePictureToFile(Data() As Byte, Dir As String, FileName As String) + Dim out As OutputStream = File.OpenOutput(Dir, FileName, False) + out.WriteBytes(Data, 0, Data.Length) + out.Close +End Sub + +Public Sub SetParameter(Key As String, Value As String) + r.target = parameters + r.RunMethod3("set", Key, "java.lang.String", Value, "java.lang.String") +End Sub + +Public Sub GetParameter(Key As String) As String + r.target = parameters + Return r.RunMethod2("get", Key, "java.lang.String") +End Sub + +Public Sub CommitParameters + Try + r.target = nativeCam + r.RunMethod4("setParameters", Array As Object(parameters), Array As String("android.hardware.Camera$Parameters")) + Catch + ToastMessageShow("Error setting parameters.", True) + Log(LastException) + End Try +End Sub + +Public Sub GetColorEffect As String + Return GetParameter("effect") +End Sub + +Public Sub SetColorEffect(Effect As String) + SetParameter("effect", Effect) +End Sub + +Public Sub GetSupportedPicturesSizes As CameraSize() + r.target = parameters + Dim list1 As List = r.RunMethod("getSupportedPictureSizes") + Dim cs(list1.Size) As CameraSize + For i = 0 To list1.Size - 1 + r.target = list1.Get(i) + cs(i).Width = r.GetField("width") + cs(i).Height = r.GetField("height") + Next + Return cs +End Sub + +Public Sub SetPictureSize(Width As Int, Height As Int) + r.target = parameters + r.RunMethod3("setPictureSize", Width, "java.lang.int", Height, "java.lang.int") +End Sub + +Public Sub SetJpegQuality(Quality As Int) + r.target = parameters + r.RunMethod2("setJpegQuality", Quality, "java.lang.int") +End Sub + +Public Sub SetFlashMode(Mode As String) + r.target = parameters + r.RunMethod2("setFlashMode", Mode, "java.lang.String") +End Sub + +Public Sub GetFlashMode As String + r.target = parameters + Return r.RunMethod("getFlashMode") +End Sub + +Public Sub GetSupportedFlashModes As List + r.target = parameters + Return r.RunMethod("getSupportedFlashModes") +End Sub + +Public Sub GetSupportedColorEffects As List + r.target = parameters + Return r.RunMethod("getSupportedColorEffects") +End Sub + +Public Sub GetPreviewSize As CameraSize + r.target = parameters + r.target = r.RunMethod("getPreviewSize") + Dim cs As CameraSize + cs.Width = r.GetField("width") + cs.Height = r.GetField("height") + Return cs +End Sub + +Public Sub GetPictureSize As CameraSize + r.target = parameters + r.target = r.RunMethod("getPictureSize") + Dim cs As CameraSize + cs.Width = r.GetField("width") + cs.Height = r.GetField("height") + Return cs +End Sub + +'Converts a preview image formatted in YUV format to JPEG. +'Note that you should not save every preview image as it will slow down the whole process. +Public Sub PreviewImageToJpeg(data() As Byte, quality As Int) As Byte() + Dim size, previewFormat As Object + r.target = parameters + size = r.RunMethod("getPreviewSize") + previewFormat = r.RunMethod("getPreviewFormat") + r.target = size + Dim width = r.GetField("width"), height = r.GetField("height") As Int + Dim yuvImage As Object = r.CreateObject2("android.graphics.YuvImage", _ + Array As Object(data, previewFormat, width, height, Null), _ + Array As String("[B", "java.lang.int", "java.lang.int", "java.lang.int", "[I")) + r.target = yuvImage + Dim rect1 As Rect + rect1.Initialize(0, 0, r.RunMethod("getWidth"), r.RunMethod("getHeight")) + Dim out As OutputStream + out.InitializeToBytesArray(100) + r.RunMethod4("compressToJpeg", Array As Object(rect1, quality, out), _ + Array As String("android.graphics.Rect", "java.lang.int", "java.io.OutputStream")) + Return out.ToBytesArray +End Sub + +Public Sub GetSupportedFocusModes As List + r.target = parameters + Return r.RunMethod("getSupportedFocusModes") +End Sub + +Public Sub SetContinuousAutoFocus + Dim modes As List = GetSupportedFocusModes + If modes.IndexOf("continuous-picture") > -1 Then + SetFocusMode("continuous-picture") + Else If modes.IndexOf("continuous-video") > -1 Then + SetFocusMode("continuous-video") + Else + Log("Continuous focus mode is not available") + End If +End Sub + +Public Sub SetFocusMode(Mode As String) + r.target = parameters + r.RunMethod2("setFocusMode", Mode, "java.lang.String") +End Sub + +Public Sub GetFocusDistances As Float() + Dim F(3) As Float + r.target = parameters + r.RunMethod4("getFocusDistances", Array As Object(F), Array As String("[F")) + Return F +End Sub + +'This method should only be called if you need to immediately release the camera. +'For example if you need to start another application that depends on the camera. +Public Sub CloseNow + cam.Release + r.target = cam + r.RunMethod2("releaseCameras", True, "java.lang.boolean") +End Sub + +'Calls AutoFocus and then takes the picture if focus was successfull. +Public Sub FocusAndTakePicture + cam.AutoFocus +End Sub + +Private Sub Camera_FocusDone (Success As Boolean) + If Success Then + TakePicture + Else + Log("AutoFocus error.") + End If +End Sub + + + diff --git a/B4A/DBRequestManager.bas b/B4A/DBRequestManager.bas new file mode 100644 index 0000000..d8ebf11 --- /dev/null +++ b/B4A/DBRequestManager.bas @@ -0,0 +1,270 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=6.8 +@EndOfDesignText@ +''Class module +Sub Class_Globals + Private mTarget As Object + Type DBResult (Tag As Object, Columns As Map, Rows As List) + Type DBCommand (Name As String, Parameters() As Object) + Private link As String + Private bc As ByteConverter + Private T_NULL = 0, T_STRING = 1, T_SHORT = 2, T_INT = 3, T_LONG = 4, T_FLOAT = 5 _ + ,T_DOUBLE = 6, T_BOOLEAN = 7, T_BLOB = 8 As Byte + Private VERSION As Float = 0.9 + Private tempArray(1) As Object + Dim jobTagAnterior As String = "" 'Mod por CHV - 211109 +End Sub + +'Target - The module that handles JobDone (usually Me). +'ConnectorLink - URL of the Java server. +Public Sub Initialize (Target As Object, ConnectorLink As String) + mTarget = Target + link = ConnectorLink +End Sub + +'Sends a query request. +'Command - Query name and parameters. +'Limit - Maximum rows to return or 0 for no limit. +'Tag - An object that will be returned in the result. +Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object) + Dim j As HttpJob + Dim ms As OutputStream + Dim out2 As OutputStream = StartJob(j,ms, Tag) + + WriteObject(Command.Name, out2) + WriteInt(Limit, out2) + WriteList(Command.Parameters, out2) + out2.Close + j.PostBytes(link & "?method=query", ms.ToBytesArray) +End Sub + +'Executes a batch of (non-select) commands. +'ListOfCommands - List of the commands that will be executes. +'Tag - An object that will be returned in the result. +Public Sub ExecuteBatch(ListOfCommands As List, Tag As Object) + Dim j As HttpJob + Dim ms As OutputStream + Dim out2 As OutputStream = StartJob(j,ms, Tag) + WriteInt(ListOfCommands.Size, out2) + For Each Command As DBCommand In ListOfCommands + WriteObject(Command.Name, out2) + WriteList(Command.Parameters, out2) + Next + out2.Close + j.PostBytes(link & "?method=batch", ms.ToBytesArray) +End Sub + +'Similar to ExecuteBatch. Sends a single command. +Public Sub ExecuteCommand(Command As DBCommand, Tag As Object) + ExecuteBatch(Array As DBCommand(Command), Tag) +End Sub + +Private Sub StartJob(j As HttpJob, MemoryStream As OutputStream, Tag As Object) As OutputStream + j.Initialize("DBRequest", mTarget) + j.Tag = Tag + MemoryStream.InitializeToBytesArray(0) + Dim compress As CompressedStreams + Dim out As OutputStream = compress.WrapOutputStream(MemoryStream, "gzip") + WriteObject(VERSION, out) + Return out +End Sub + +Private Sub WriteList(Parameters As List, out As OutputStream) + Dim data() As Byte + If Parameters = Null Or Parameters.IsInitialized = False Then + Dim Parameters As List + Parameters.Initialize + End If + data = bc.IntsToBytes(Array As Int(Parameters.Size)) + out.WriteBytes(data, 0, data.Length) + For Each o As Object In Parameters + WriteObject(o, out) + Next +End Sub + +Private Sub WriteObject(o As Object, out As OutputStream) + Dim data() As Byte + tempArray(0) = o + If tempArray(0) = Null Then + out.WriteBytes(Array As Byte(T_NULL), 0, 1) + Else If tempArray(0) Is Short Then + out.WriteBytes(Array As Byte(T_SHORT), 0, 1) + data = bc.ShortsToBytes(Array As Short(o)) + Else If tempArray(0) Is Int Then + out.WriteBytes(Array As Byte(T_INT), 0, 1) + data = bc.IntsToBytes(Array As Int(o)) + Else If tempArray(0) Is Float Then + out.WriteBytes(Array As Byte(T_FLOAT), 0, 1) + data = bc.FloatsToBytes(Array As Float(o)) + Else If tempArray(0) Is Double Then + out.WriteBytes(Array As Byte(T_DOUBLE), 0, 1) + data = bc.DoublesToBytes(Array As Double(o)) + Else If tempArray(0) Is Long Then + out.WriteBytes(Array As Byte(T_LONG), 0, 1) + data = bc.LongsToBytes(Array As Long(o)) + Else If tempArray(0) Is Boolean Then + out.WriteBytes(Array As Byte(T_BOOLEAN), 0, 1) + Dim b As Boolean = 0 + Dim data(1) As Byte + If b Then data(0) = 1 Else data(0) = 0 + Else If GetType(tempArray(0)) = "[B" Then + data = o + out.WriteBytes(Array As Byte(T_BLOB), 0, 1) + WriteInt(data.Length, out) + Else 'If o Is String Then (treat all other values as string) + out.WriteBytes(Array As Byte(T_STRING), 0, 1) + data = bc.StringToBytes(o, "UTF8") + WriteInt(data.Length, out) + End If + If data.Length > 0 Then out.WriteBytes(data, 0, data.Length) +End Sub + +Private Sub ReadObject(In As InputStream) As Object + Dim data(1) As Byte + In.ReadBytes(data, 0, 1) + Select data(0) + Case T_NULL + Return Null + Case T_SHORT + Dim data(2) As Byte + Return bc.ShortsFromBytes(ReadBytesFully(In, data, data.Length))(0) + Case T_INT + Dim data(4) As Byte + Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0) + Case T_LONG + Dim data(8) As Byte + Return bc.LongsFromBytes(ReadBytesFully(In, data, data.Length))(0) + Case T_FLOAT + Dim data(4) As Byte + Return bc.FloatsFromBytes(ReadBytesFully(In, data, data.Length))(0) + Case T_DOUBLE + Dim data(8) As Byte + Return bc.DoublesFromBytes(ReadBytesFully(In, data, data.Length))(0) + Case T_BOOLEAN + Dim b As Byte = ReadByte(In) + Return b = 1 + Case T_BLOB + Dim len As Int = ReadInt(In) + Dim data(len) As Byte + Return ReadBytesFully(In, data, data.Length) + Case Else + Dim len As Int = ReadInt(In) + Dim data(len) As Byte + ReadBytesFully(In, data, data.Length) + Return BytesToString(data, 0, data.Length, "UTF8") + End Select +End Sub + +Private Sub ReadBytesFully(In As InputStream, Data() As Byte, Len As Int) As Byte() + Dim count = 0, read As Int + Do While count < Len And read > -1 + read = In.ReadBytes(Data, count, Len - count) + count = count + read + Loop + Return Data +End Sub + +Private Sub WriteInt(i As Int, out As OutputStream) + Dim data() As Byte + data = bc.IntsToBytes(Array As Int(i)) + out.WriteBytes(data, 0, data.Length) +End Sub + +Private Sub ReadInt(In As InputStream) As Int + Dim data(4) As Byte + Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0) +End Sub + +Private Sub ReadByte(In As InputStream) As Byte + Dim data(1) As Byte + In.ReadBytes(data, 0, 1) + Return data(0) +End Sub + +'Handles the Job result and returns a DBResult. +Public Sub HandleJob(Job As HttpJob) As DBResult + Dim start As Long = DateTime.Now 'ignore + Dim In As InputStream = Job.GetInputStream + Dim cs As CompressedStreams + In = cs.WrapInputStream(In, "gzip") + Dim serverVersion As Float = ReadObject(In) 'ignore + Dim method As String = ReadObject(In) + Dim table As DBResult + table.Initialize + table.Columns.Initialize + table.rows.Initialize + table.Tag = Job.Tag + If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.Blue) 'Mod por CHV - 211109 + jobTagAnterior = Job.Tag 'Mod por CHV - 211109 + If method = "query" Then + Dim numberOfColumns As Int = ReadInt(In) + For i = 0 To numberOfColumns - 1 + table.Columns.Put(ReadObject(In), i) + Next + Do While ReadByte(In) = 1 + Dim rowObjects(numberOfColumns) As Object + table.rows.Add(rowObjects) + For col = 0 To numberOfColumns - 1 + Dim o As Object = ReadObject(In) + rowObjects(col) = o + Next + Loop + Else If method = "batch" Then + table.Columns.Put("AffectedRows", 0) + Dim rows As Int = ReadInt(In) + For i = 0 To rows - 1 + table.rows.Add(Array As Object(ReadInt(In))) + Next + End If + In.Close +' Log("HandleJob: " & (DateTime.Now - start))'Comentado por CHV - 211112 + Return table +End Sub +'Reads a file and returns the file as a bytes array. +Public Sub FileToBytes(Dir As String, FileName As String) As Byte() + Dim out As OutputStream + out.InitializeToBytesArray(0) + Dim In As InputStream = File.OpenInput(Dir, FileName) + File.Copy2(In, out) + out.Close + Return out.ToBytesArray +End Sub +'Converts an image to a bytes array (for BLOB fields). +Public Sub ImageToBytes(Image As Bitmap) As Byte() + Dim out As OutputStream + out.InitializeToBytesArray(0) + Image.WriteToStream(out, 100, "JPEG") + out.Close + Return out.ToBytesArray +End Sub +'Converts a bytes array to an image (for BLOB fields). +Public Sub BytesToImage(bytes() As Byte) As Bitmap + Dim In As InputStream + In.InitializeFromBytesArray(bytes, 0, bytes.Length) + Dim bmp As Bitmap + bmp.Initialize2(In) + Return bmp +End Sub +'Prints the table to the logs. +Public Sub PrintTable(Table As DBResult) + Log("Tag: " & Table.Tag & ", Columns: " & Table.Columns.Size & ", Rows: " & Table.Rows.Size) + Dim sb As StringBuilder + sb.Initialize + For Each col In Table.Columns.Keys + sb.Append(col).Append(TAB) + Next + Log(sb.ToString) + For Each row() As Object In Table.Rows + Dim sb As StringBuilder + sb.Initialize + For Each record As Object In row + sb.Append(record).Append(TAB) + Next + ToastMessageShow(sb.ToString, True) + Next +End Sub + + \ No newline at end of file diff --git a/B4A/DownloadService.bas b/B4A/DownloadService.bas new file mode 100644 index 0000000..036d602 --- /dev/null +++ b/B4A/DownloadService.bas @@ -0,0 +1,114 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Service +Version=5.5 +@EndOfDesignText@ +#Region Service Attributes + #StartAtBoot: False +#End Region + +Sub Process_Globals + Private jobs As Map + Private timer1 As Timer + Type DownloadData (url As String, Target As Object, EventName As String) + Type JobTag (Data As DownloadData, _ + CountingStream As CountingOutputStream, Total As Long) + Private pw As PhoneWakeState +End Sub +Sub Service_Create + jobs.Initialize + timer1.Initialize("timer1", 1000) +End Sub + +Sub Service_Start (StartingIntent As Intent) + +End Sub + +Sub Service_Destroy + +End Sub + +Private Sub StartTimer (Target As Object) + Dim n As Notification + n.Initialize2(n.IMPORTANCE_LOW) + n.Icon = "icon" + n.Vibrate = False + n.Sound = False + n.Light = False + n.SetInfo("Downloading file...", "", Target) + Service.StartForeground(1, n) + timer1.Enabled = True + pw.PartialLock +End Sub + +Private Sub EndTimer 'ignore + Service.StopForeground(1) + timer1.Enabled = False + pw.ReleasePartialLock +End Sub + +Public Sub StartDownload(data As DownloadData) + If jobs.ContainsKey(data.url) Then + Log("Ignoring duplicate request.") + Return + End If + Dim J As HttpJob + J.Initialize(data.url, Me) + Log(J) + Dim tag As JobTag + tag.Initialize + tag.data = data + Log(tag) + J.tag = tag + jobs.Put(data.url, J) + Log(jobs) + J.Download(data.url) + If timer1.Enabled = False Then StartTimer(data.Target) +End Sub + +Public Sub CancelDownload(url As String) + If jobs.ContainsKey(url) = False Then + Log("Ignoring cancel request.") + Return + End If + Dim job As HttpJob = jobs.Get(url) + Dim jt As JobTag = job.Tag + If jt.CountingStream.IsInitialized Then + jt.CountingStream.Close + Else + jt.Data.url = "" + End If +End Sub + +Sub timer1_tick + For Each job As HttpJob In jobs.Values + Dim jt As JobTag = job.Tag + If jt.CountingStream.IsInitialized Then + CallSub3(jt.Data.Target, jt.Data.EventName & "_Progress", _ + jt.CountingStream.Count, jt.Total) + End If + Next +End Sub + +Sub JobDone(job As HttpJob) +' Log("1") +' jobs.Remove(job.JobName) +' Dim jt As JobTag = job.Tag +' Log(jt) +' If jobs.Size = 0 Then EndTimer +' Log(jobs.Size) +' If job.Success Then +' Log("5-"&jt.Data.Target&"-"&jt.Data.EventName&"-"&jt.CountingStream.Count&"-"&jt.Total) +' CallSubDelayed3(jt.Data.Target, jt.Data.EventName & "_Progress", jt.CountingStream.Count, jt.Total) +' Log("6") +' CallSubDelayed2(jt.Data.Target, jt.Data.EventName & "_Complete", job) +' Log("7") +' Else +' Log(job.ErrorMessage) +' Log("8") +' CallSubDelayed2(jt.Data.Target, jt.Data.EventName & "_Complete", job) +' Log("9") +' End If +' Log("10") +End Sub diff --git a/B4A/EscPosPrinter.bas b/B4A/EscPosPrinter.bas new file mode 100644 index 0000000..40292c1 --- /dev/null +++ b/B4A/EscPosPrinter.bas @@ -0,0 +1,1148 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=9.3 +@EndOfDesignText@ +#IgnoreWarnings: 9 +' 9 = unused variable + +Sub Class_Globals + ' 1.0 Initial version + ' 2.0 Added FeedPaper, changed many WriteString(.." & Chr(number)) instances to WriteBytes(params) + ' This is to avoid Unicode code page transformations on some numbers > 32 + ' Added PrintAndFeedPaper, setRelativePrintPosn, + ' Added user defined characters, DefineCustomCharacter, DeleteCustomCharacter and setUseCustomCharacters + ' Addedhelper methods CreateCustomCharacter, CreateLine, CreateBox and CreateCircle + Private Version As Double = 2.0 ' Printer class version + + Type AnImage(Width As Int, Height As Int, Data() As Byte) + + Private EventName As String 'ignore + Private CallBack As Object 'ignore + + Private Serial1 As Serial + Private Astream As AsyncStreams + Private Connected As Boolean + Private ConnectedError As String + + Dim ESC As String = Chr(27) + Dim FS As String = Chr(28) + Dim GS As String = Chr(29) + + 'Bold and underline don't work well in reversed text + Dim UNREVERSE As String = GS & "B" & Chr(0) + Dim REVERSE As String = GS & "B" & Chr(1) + + ' Character orientation. Print upside down from right margin + Dim UNINVERT As String = ESC & "{0" + Dim INVERT As String = ESC & "{1" + + ' Character rotation clockwise. Not much use without also reversing the printed character sequence + Dim UNROTATE As String = ESC & "V0" + Dim ROTATE As String = ESC & "V1" + + ' Horizontal tab + Dim HT As String = Chr(9) + + ' Character underline + Dim ULINE0 As String = ESC & "-0" + Dim ULINE1 As String = ESC & "-1" + Dim ULINE2 As String = ESC & "-2" + + ' Character emphasis + Dim BOLD As String = ESC & "E1" + Dim NOBOLD As String = ESC & "E0" + + ' Character height and width + Dim SINGLE As String = GS & "!" & Chr(0x00) + Dim HIGH As String = GS & "!" & Chr(0x01) + Dim WIDE As String = GS & "!" & Chr(0x10) + Dim HIGHWIDE As String = GS & "!" & Chr(0x11) + + ' Default settings + Private LEFTJUSTIFY As String = ESC & "a0" + Private LINEDEFAULT As String = ESC & "2" + Private LINSET0 As String = ESC & "$" & Chr(0x0) & Chr(0x0) + Private LMARGIN0 As String = GS & "L" & Chr(0x0) & Chr(0x0) + Private WIDTH0 As String = GS & "W" & Chr(0xff) & Chr(0xff) + Private CHARSPACING0 As String = ESC & " " & Chr(0) + Private CHARFONT0 As String = ESC & "M" & Chr(0) + Dim DEFAULTS As String = CHARSPACING0 & CHARFONT0 & LMARGIN0 & WIDTH0 & LINSET0 & LINEDEFAULT & LEFTJUSTIFY _ + & UNINVERT & UNROTATE & UNREVERSE & NOBOLD & ULINE0 + +End Sub + +'********** +'PUBLIC API +'********** + +'Initialize the object with the parent and event name +Public Sub Initialize(vCallback As Object, vEventName As String) + EventName = vEventName + CallBack = vCallback + Serial1.Initialize("Serial1") + Connected = False + ConnectedError = "" +End Sub + +' Returns any error raised by the last attempt to connect a printer +Public Sub ConnectedErrorMsg As String + Return ConnectedError +End Sub + +' Returns whether a printer is connected or not +Public Sub IsConnected As Boolean + Return Connected +End Sub + +' Returns whether Bluetooth is on or off +Public Sub IsBluetoothOn As Boolean + Return Serial1.IsEnabled +End Sub + +' Ask the user to connect to a printer and return whether she tried or not +' If True then a subsequent Connected event will indicate success or failure +Public Sub Connect As Boolean + 'leos +' Serial1.Connect("88:6B:0F:3E:53:9E") +' Return True + Try + If Starter.MAC_IMPRESORA = "0" Then + Dim PairedDevices As Map + PairedDevices = Serial1.GetPairedDevices + Dim l As List + l.Initialize + For i = 0 To PairedDevices.Size - 1 + l.Add(PairedDevices.GetKeyAt(i)) + Next + Dim Res As Int + Res = InputList(l, "Choose a printer", -1) 'show list with paired devices 'ignore + If Res <> DialogResponse.CANCEL Then + Serial1.Connect(PairedDevices.Get(l.Get(Res))) 'convert the name to mac address + 'Msgbox(PairedDevices.Get(l.Get(Res)),"mac") + Starter.mac_impresora = PairedDevices.Get(l.Get(Res)) + Return True + End If + Return False + Else + Serial1.Connect(Starter.mac_impresora) + ' Starter.mac_impresora = colonia.MAC_IMPRESORA + Return True + End If + Catch + Log(LastException) + End Try +End Sub + +' Disconnect the printer +Public Sub DisConnect + Serial1.Disconnect + Connected = False +End Sub + +' Reset the printer to the power on state +Public Sub Reset + WriteString(ESC & "@") +End Sub + +'-------------- +' Text Commands +'-------------- + +' Print any outstanding characters then feed the paper the specified number of units of 0.125mm +' This is similar to changing LineSpacing before sending CRLF but this has a one off effect +' A full character height is always fed even if units = 0. Units defines the excess over this minimum +Public Sub PrintAndFeedPaper(units As Int) + WriteString(ESC & "J") + Dim params(1) As Byte + params(0) = units + WriteBytes(params) +End Sub + +' Set the distance between characters +Public Sub setCharacterSpacing(spacing As Int) + WriteString(ESC & " ") + Dim params(1) As Byte + params(0) = spacing + WriteBytes(params) +End Sub + +' Set the left inset of the next line to be printed +' Automatically resets to 0 for the following line +' inset is specified in units of 0.125mm +Public Sub setLeftInset(inset As Int) + Dim dh As Int = inset / 256 + Dim dl As Int = inset - dh + WriteString(ESC & "$" & Chr(dl) & Chr(dh)) + Dim params(2) As Byte + params(0) = dl + params(1) = dh + WriteBytes(params) +End Sub + +' Set the left margin of the print area, must be the first item on a new line +' margin is specified in units of 0.125mm +' This affects barcodes as well as text +Public Sub setLeftMargin(margin As Int) + Dim dh As Int = margin / 256 + Dim dl As Int = margin - dh + WriteString(GS & "L") + Dim params(2) As Byte + params(0) = dl + params(1) = dh + WriteBytes(params) +End Sub + +' Set the width of the print area, must be the first item on a new line +' margin is specified in units of 0.125mm +' This affects barcodes as well as text +' This appears to function more like a right margin than a print area width when used with LeftMargin +Public Sub setPrintWidth(width As Int) + Dim dh As Int = width / 256 + Dim dl As Int = width - dh + WriteString(GS & "W") + Dim params(2) As Byte + params(0) = dl + params(1) = dh + WriteBytes(params) +End Sub + +' Set the distance between lines in increments of 0.125mm +' If spacing is < 0 then the default of 30 is set +Public Sub setLineSpacing(spacing As Int) + If spacing < 0 Then + WriteString(ESC & "2") + Else + WriteString(ESC & "3") + Dim params(1) As Byte + params(0) = spacing + WriteBytes(params) + End If +End Sub + +' Set the line content justification, must be the first item on a new line +' 0 left, 1 centre, 2 right +Public Sub setJustify(justify As Int) + WriteString(ESC & "a" & Chr(justify + 48)) +End Sub + +' Set the codepage of the printer +' You need to look at the printer documentation to establish which codepages are supported +Public Sub setCodePage(codepage As Int) + WriteString(ESC & "t") + Dim params(1) As Byte + params(0) = codepage + WriteBytes(params) +End Sub + +' Select the size of the font for printing text. 0 = Font A (12 x 24), 1 = Font B (9 x 17) +' For font B you may want to set the line spacing to a lower value than the default of 30 +' This affects only the size of printed characters. The code page determines the actual character set +' On my printer setting UseCustomCharacters = while Font B is selected crashes the printer and turns it off +Public Sub setCharacterFont(font As Int) + WriteString(ESC & "M" & Chr(Bit.And(1,font))) +End Sub + +' Set the positions of the horizontal tabs +' Each tab is specified as a number of character widths from the beginning of the line +' There may be up to 32 tab positions specified each of size up to 255 characters +' The printer default is that no tabs are defined +Public Sub setTabPositions(tabs() As Int) + WriteString(ESC & "D") + Dim data(tabs.Length+1) As Byte + For i = 0 To tabs.Length - 1 + data(i) = tabs(i) + Next + data(tabs.Length) = 0 + WriteBytes(data) +End Sub + +' Set print position relative to the current position using horizontal units of 0.125mm +' relposn can be negative +' Unless I have misundertood this doesn't work as documented on my printer +' It only seems take effect at the beginning of a line as a one off effect +Public Sub setRelativePrintPosn(relposn As Int) + Dim dh As Int = relposn / 256 + Dim dl As Int = relposn - dh + WriteString(ESC & "\") + Dim params(2) As Byte + params(0) = dl + params(1) = dh + WriteBytes(params) +End Sub + +' Send the contents of an array of bytes to the printer +' Remember that if the printer is expecting text the bytes will be printed as characters in the current code page +Public Sub WriteBytes(data() As Byte) + If Connected Then + Astream.Write(data) + End If +End Sub + +' Send the string to the printer in IBM437 encoding which is the original PC DOS codepage +' This is usually the default codepage for a printer and is CodePage = 0 +' Beware of using WriteString with Chr() to send numeric values as they may be affected by Unicode to codepage translations +' Most character level operations are pre-defined as UPPERCASE string variables for easy concatenation with other string data +Public Sub WriteString(data As String) + WriteString2(data, "IBM437") +End Sub + +' Send the string to the printer in the specified encoding +' You also need to set the printer to a matching encoding using the CodePage property +' Beware of using WriteString2 with Chr() to send numeric values as they may be affected by codepage substitutions +' Most character level operations are pre-defined as UPPERCASE string variables for easy concatenatipon with other string data +Public Sub WriteString2(data As String, encoding As String) + Try + If Connected Then + Astream.Write(data.GetBytes(encoding)) + End If + Catch + Log("Printer error : " & LastException.Message) + AStream_Error + End Try +End Sub + +'----------------------------------------- +' User defined character commands commands +'----------------------------------------- + +' Delete the specified user defined character mode +' This command deletes the pattern defined for the specified code in the font selected by ESC ! +' If the code is subsequently printed in custom character mode the present code page character is printed instead +Public Sub DeleteCustomCharacter(charcode As Int) + WriteString(ESC & "?") + Dim params(1) As Byte + params(0) = charcode + WriteBytes(params) +End Sub + +' Enable the user defined character mode if custom is True, revert to normal if custom is False +' If a custom character has not been defined for a given character code then the default character for the present font is printed +' FontA and FontB have separate definitions for custom characters +' On my printer setting UseCustomCharacters = while Font B is selected crashes the printer and turns it off +' Therefore the cuatom character routines have not been tested on ont B +Public Sub setUseCustomCharacters(custom As Boolean) + If custom Then + WriteString(ESC & "%1") + Else + WriteString(ESC & "%0") + End If +End Sub + +' Define a user defined character +' The allowable character code range is the 95 characters) from ASCII code 32 (0x20) to 126 (0x7E) +' Characters can be defined in either font A (12*24) or font B (9*17) as selected by present setting of CharacterFont +' The programmer must ensure that the correct font size definition is used for the present setting of CharacterFont +' The user-defined character definition is cleared when Reset is invoked or the printer is turned off +' The vertical and horizontal printed resolution is approximaely 180dpi +' Characters are always defined by sets of three bytes in the vertical direction and up to 9 or 12 sets horizontally +' Each byte defines a vertical line of 8 dots. The MSB of each byte is the highest image pixel, the LSB is the lowest +' Byte(0+n) defines the topmost third of the vertical line, Byte(1+n) is below and Byte(2+n) is the lowest +' Set a bit to 1 to print a dot or 0 to not print a dot +' If the lines to the right of the character are blank then there set of three bytes can be omiited from the byte array +' When the user-defined characters are defined in font B (9*17) only the most significant bit of the 3rd byte of data is used +' charcode defines the character code for the character being defined +' bitdata is a Byte array containing the character definitiopn as described above. +' If the length of bitdata is not a multiple of 3 the definition is ignored and a value of -1 returned +Public Sub DefineCustomCharacter(charcode As Int, bitdata() As Byte) As Int + Dim excess As Int = bitdata.Length Mod 3 + If excess <> 0 Then Return -1 + Dim size As Int = bitdata.Length / 3 + WriteString(ESC & "&") + Dim params(4) As Byte + params(0) = 3 + params(1) = charcode + params(2) = charcode + params(3) = size + WriteBytes(params) + WriteBytes(bitdata) + Return 0 +End Sub + +' The third triangle point is hacked into spare bits keeping the generated Int human readable i hex for other shapes +' The shape array contains the character shapes and characterfont is 0 for a 12*24 character andd 1 for a 9*17 character +' Returns a Byte(36) for characterfont = 0 and a Byte(27) for characterfont = 1 +' The returned array can be directly passed to DefineCustomCharacter +' To define a custom character requires specifying up to 288 data points +' This is a lot of data and in most cases it is mainly white space +' This method takes a character definition that defines only the shapes in the character that are to be printed black +' It will be easier use the outputs from CreateLine, CreateTriangle, CreateBox and CreateCircle rather then building the actual Int values +' Each shape is defined by a single Int value containing four parameters in hex format plugs some single bit flags +' Taking the representation of the Int as eight hex characters numbered from the MS end as 0x01234567 +' 0 contains the shape to draw. 0 = Line, 1 = Box, 2 = Circle, 3 = Triangle +' 1 contains a value between 0 and 0xF. This is either an X coordinate or for a circle the radius +' 2 and 3 contain a value between 0 and 0x1F. This is either a Y coordinate or for a circle the quadrants to draw +' 4 contains a value between 0 and 0xF. This is 0 for an empty shope or 1 for a filled shape +' 5 contains a value between 0 and 0xF. This is an X coordinate +' 5 and 6 contain a value between 0 and 0x1F. This is a Y coordinate +' The coordinate 0,0 is at the top left of the character +' Line +' One point of the vector is contained in the top part of the Int and the other in the bottom half +' To define a single point place its coordinates as both sr=start and end of a line +' Box +' The two X,Y coordinates specify the top left and bottom right corners of the box +' Circle +' The left X parameter is now the radius of the circle, the left Y is the quadrants to be drawn +' The right X and Y parameters are the centre of the circle' +' The quadrants to draw are bit ORed together, UpperRight = 0x1, LowerRight = 0x2, LowerLeft = 0x4, Upper Left = 0x8 +' Triangle +' The left X and Y parameters are now one point of the triangle, the right X and Y parameters another point +' The third triangle point is hacked into spare bits keeping the generated Int human readable in hex for the other shapes +' The bit allocations of a shape are as follows. f = fill as 0 or 1, s = shape as 0 to 7, xn as 0 to 15, yn as 0 to 31 +' Shape 0 = line, 1 = box, 2 = triangle, 3 = circle, 4 to 7 = unused +' fsss xxxx -yyy yyyy xxxx xxxx yyyy yyyy +' 0000 220 0000 2222 1111 2221 1111 +' x0 y2 y0 x2 x1 y2 y1 +' The shape array contains the character shapes and characterfont is 0 for a 12*24 character andd 1 for a 9*17 character +' Returns a Byte(36) for characterfont = 0 and a Byte(27) for characterfont = 1 +' The returned array can be directly passed to DefineCustomCharacter +Public Sub CreateCustomCharacter(shapes() As Int, characterfont As Int) As Byte() + Dim masks(8) As Byte + masks(0) = 0x80 + masks(1) = 0x40 + masks(2) = 0x20 + masks(3) = 0x10 + masks(4) = 0x08 + masks(5) = 0x04 + masks(6) = 0x02 + masks(7) = 0x01 + ' rather than try to catch errors whenever we access this array we Dim it to the maximum possible values of X and Y + ' then copy the top left of it to the final character definition array of the correct size + Dim points(16,32) As Byte + ' initialise the character to all white + For x = 0 To 15 + For y = 0 To 31 + points(x,y) = 0 + Next + Next + Dim size As Int = 12 + If characterfont = 1 Then size = 9 + Dim charbyes(size * 3) As Byte + For c = 0 To charbyes.Length - 1 + charbyes(c) = 0 + Next + ' set the points array from the shapes provided + For i = 0 To shapes.Length -1 + Dim fill As Int = Bit.UnsignedShiftRight(Bit.And(0x80000000, shapes(i)), 31) + Dim shape As Int = Bit.UnsignedShiftRight(Bit.And(0x70000000, shapes(i)), 28) + Dim x0 As Int = Bit.UnsignedShiftRight(Bit.And(0x0f000000, shapes(i)), 24) + Dim y0 As Int = Bit.UnsignedShiftRight(Bit.And(0x001f0000, shapes(i)), 16) + Dim x1 As Int = Bit.UnsignedShiftRight(Bit.And(0x00000f00, shapes(i)), 8) + Dim y1 As Int = Bit.And(0x0000001f, shapes(i)) + Dim x2 As Int = Bit.UnsignedShiftRight(Bit.And(0x0000f000, shapes(i)), 12) + Dim y2 As Int = Bit.UnsignedShiftRight(Bit.And(0x00e00000, shapes(i)), 18) + Bit.UnsignedShiftRight(Bit.And(0x000000e0, shapes(i)), 5) + ' The bit allocations of a shape are as follows. f = fill as 0 or 1, s = shape as 0 to 7, xn as 0 to 15, yn as 0 to 31 + ' Shape 0 = line, 1 = box, 2 = triangle, 3 = circle, 4 to 7 = unused + ' fsss xxxx -yyy yyyy xxxx xxxx yyyy yyyy + ' 0000 220 0000 2222 1111 2221 1111 + ' x0 y2 y0 x2 x1 y2 y1 + Dim logmsg As String = ": Fill=" & fill & " : Points " & x0 & "," & y0 & " " & x1 & "," & y1 & " " & x2 & "," & y2 + If shape = 3 Then + Log("Triangle " & logmsg) + PlotTriangle(x0, y0, x1, y1, x2, y2, points, fill) + else If shape = 2 Then + Log("Circle " & logmsg) + PlotCircle(x0, y0, x1, y1, points, fill) + Else If shape = 1 Then + Log("Box " & logmsg) + PlotBox(x0, y0, x1, y1, points, fill) + Else + Log("Line " & logmsg) + PlotLine(x0, y0, x1, y1, points) + End If + ' map the points array onto the character definition array + For x = 0 To size -1 ' 9 or 12 horizontal bytes + For y = 0 To 2 ' 3 vertical bytes + Dim bits As Byte = 0 + For b = 0 To 7 ' 8 vertical bits + If points(x, y*8+b) <> 0 Then + bits = Bit.Or(bits, masks(b)) + End If + Next + charbyes(x*3+y) = bits + Next + Next + Next + Return charbyes +End Sub + +' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array +' Create the value to draw a line in a custom character +' The line starts at X0,Y0 and ends at X1,Y1 +Public Sub CreateLine(x0 As Int, y0 As Int, x1 As Int, y1 As Int) As Int + Dim line As Int = 0 + line = line + Bit.ShiftLeft(Bit.And(0xf,x0), 24) + line = line + Bit.ShiftLeft(Bit.And(0x1f,y0), 16) + line = line + Bit.ShiftLeft(Bit.And(0xf,x1), 8) + line = line + Bit.And(0x1f,y1) + Return line +End Sub + +' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array +' Create the value to draw a circle in a custom character +' The circle is centred on X1,Y1 and the quadrants to draw are bit ORed together +' UpperRight = 0x1, LowerRight = 0x2, LowerLeft = 0x4, Upper Left = 0x8 +Public Sub CreateCircle(radius As Int, quadrants As Int, x1 As Int, y1 As Int, fill As Boolean) As Int + Dim circle As Int = 0x20000000 + If fill Then circle = circle + 0x80000000 + circle = circle + Bit.ShiftLeft(radius, 24) + circle = circle + Bit.ShiftLeft(quadrants, 16) + circle = circle + Bit.ShiftLeft(x1, 8) + circle = circle + y1 + Return circle +End Sub + + +' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array +' Create the value to draw a triangle in a custom character +' The triangles corners are at X0,Y0 X1,Y1 and X2,Y2 +Public Sub CreateTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, fill As Boolean) As Int + Dim triangle As Int = 0x30000000 + If fill Then triangle = triangle + 0x80000000 + triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x0), 24) + triangle = triangle + Bit.ShiftLeft(Bit.And(0x1f,y0), 16) + triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x1), 8) + triangle = triangle + Bit.And(0x1f,y1) + triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x2), 12) ' extra X + triangle = triangle + Bit.ShiftLeft(Bit.And(0x7,y2), 5) ' extra Y lsbits * 3 + triangle = triangle + Bit.ShiftLeft(Bit.And(0x18,y2), 18) ' extra Y msbits * 2 + Return triangle +End Sub + +' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array +' Create the value to draw a box in a custom character +' The box top left start is X0,Y0 and bottom right is X1,Y1 +Public Sub CreateBox(x0 As Int, y0 As Int, x1 As Int, y1 As Int, fill As Boolean) As Int + Dim box As Int = 0x10000000 + If fill Then box = box + 0x80000000 + box = box + Bit.ShiftLeft(Bit.And(0xf,x0), 24) + box = box + Bit.ShiftLeft(Bit.And(0x1f,y0), 16) + box = box + Bit.ShiftLeft(Bit.And(0xf,x1), 8) + box = box + Bit.And(0x1f,y1) + Return box +End Sub + +'----------------------------------------- +' Private custom character drawing methods +'----------------------------------------- + +Private Sub PlotTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, points(,) As Byte, Fill As Int) + ' This is a pretty crude algorithm, but it is simple, works and it isn't invoked often + PlotLine(x0, y0, x1, y1, points) + PlotLine(x1, y1, x2, y2, points) + PlotLine(x2, y2, x0, y0, points) + If Fill > 0 Then + FillTriangle(x0, y0, x1, y1, x2, y2, points) + End If +End Sub + +Private Sub FillTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, points(,) As Byte) + ' first sort the three vertices by y-coordinate ascending so v0 Is the topmost vertice */ + Dim tx, ty As Int + If y0 > y1 Then + tx = x0 : ty = y0 + x0 = x1 : y0 = y1 + x1 = tx : y1 = ty + End If + If y0 > y2 Then + tx = x0 : ty = y0 + x0 = x2 : y0 = y2 + x2 = tx : y2 = ty + End If + If y1 > y2 Then + tx = x1 : ty = y1 + x1 = x2 : y1 = y2 + x2 = tx : y2 = ty + End If + + Dim dx0, dx1, dx2 As Double + Dim x3, x4, y3, y4 As Double + Dim inc As Int + + If y1 - y0 > 0 Then dx0=(x1-x0)/(y1-y0) Else dx0=0 + If y2 - y0 > 0 Then dx1=(x2-x0)/(y2-y0) Else dx1=0 + If y2 - y1 > 0 Then dx2=(x2-x1)/(y2-y1) Else dx2=0 + x3 = x0 : x4 = x0 + y3 = y0 : y4 = y0 + If dx0 > dx1 Then + While + Do While y3 <= y1 + If x3 > x4 Then inc = -1 Else inc = 1 + For x = x3 To x4 Step inc + points(x, y3) = 1 + Next + y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx1 : x4 = x4 + dx0 + Loop + x4=x1 + y4=y1 + Do While y3 <= y2 + If x3 > x4 Then inc = -1 Else inc = 1 + For x = x3 To x4 Step inc + points(x ,y3) = 1 + Next + y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx1 : x4 = x4 + dx2 + Loop + Else + While + Do While y3 <= y1 + If x3 > x4 Then inc = -1 Else inc = 1 + For x = x3 To x4 Step inc + points(x, y3) = 1 + Next + y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx0 : x4 = x4 +dx1 + Loop + x3=x1 + y3=y1 + Do While y3<=y2 + If x3 > x4 Then inc = -1 Else inc = 1 + For x = x3 To x4 Step inc + points(x, y3) = 1 + Next + y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx2 : x4 = x4 + dx1 + Loop + End If +End Sub + +Private Sub PlotBox(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte, Fill As Int) + ' This is a pretty crude algorithm, but it is simple, works and itsn't invoked often + PlotLine(x0, y0, x0, y1, points) + PlotLine(x0, y0, x1, y0, points) + PlotLine(x1, y0, x1, y1, points) + PlotLine(x0, y1, x1, y1, points) + If Fill > 0 Then + For x = x0 To x1 + PlotLine(x, y0, x, y1, points) + Next + End If +End Sub + + +Private Sub PlotCircle(radius As Int, quadrants As Int, x1 As Int, y1 As Int, points(,) As Byte, fill As Int) + ' This is a pretty crude algorithm, but it is simple, works and itsn't invoked often + Dim mask As Int = 1 + For q = 3 To 0 Step -1 + If Bit.And(quadrants, mask) <> 0 Then + For i = q*90 To q*90+90 Step 1 + Dim x,y As Double + x = x1 - SinD(i)*radius + y = y1 - CosD(i)*radius + If fill > 0 Then + PlotLine(x1, y1, x, y, points) + Else + points(Round(x), Round(y)) = 1 + End If + Next + End If + mask = Bit.ShiftLeft(mask, 1) + Next +End Sub + +' Bresenham's line algorithm - see Wikipedia +Private Sub PlotLine(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte ) + If Abs(y1 - y0) < Abs(x1 - x0) Then + If x0 > x1 Then + PlotLineLow(x1, y1, x0, y0, points) + Else + PlotLineLow(x0, y0, x1, y1, points) + End If + Else + If y0 > y1 Then + PlotLineHigh(x1, y1, x0, y0, points) + Else + PlotLineHigh(x0, y0, x1, y1, points) + End If + End If +End Sub + +Private Sub PlotLineHigh(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte ) + Dim dx As Int = x1 - x0 + Dim dy As Int = y1 - y0 + Dim xi As Int = 1 + If dx < 0 Then + xi = -1 + dx = -dx + End If + Dim D As Int = 2*dx - dy + Dim x As Int = x0 + For y = y0 To y1 + points(x,y) = 1 + If D > 0 Then + x = x + xi + D = D - 2*dy + End If + D = D + 2*dx + Next +End Sub + +Private Sub PlotLineLow(x0 As Int, y0 As Int, x1 As Int,y1 As Int, points(,) As Byte ) + Dim dx As Int = x1 - x0 + Dim dy As Int = y1 - y0 + Dim yi As Int = 1 + If dy < 0 Then + yi = -1 + dy = -dy + End If + Dim D As Int = 2*dy - dx + Dim y As Int = y0 + For x = x0 To x1 + points(x,y) = 1 + If D > 0 Then + y = y + yi + D = D - 2*dx + End If + D = D + 2*dy + Next +End Sub + + +'------------------- +' Image commands +'------------------- +' There are two different image printing options with different pixel formats. +' PrintImage prints an entire image at once with a maximum size of 576x512 +' PrintImage2 prints a slice of an image with a height of 8 or 24 and a maximum width of 576 +' One or other may look better on your particular printer + +' Printer support method for pre-processing images to print +' Convert the bitmap supplied to an array of pixel values representing the luminance value of each original pixel +Sub ImageToBWIMage(bmp As Bitmap) As AnImage + Dim BC As BitmapCreator 'ignore + Dim W As Int = bmp.Width + Dim H As Int = bmp.Height + Dim pixels(W * H) As Byte + + For y = 0 To H - 1 + For x = 0 To W - 1 + Dim j As Int = bmp.GetPixel(x, y) + ' convert color to approximate luminance value + Dim col As ARGBColor + BC.ColorToARGB(j, col ) + Dim lum As Int = col.r * 0.2 + col.b*0.1 + col.g*0.7 + If lum> 255 Then lum = 255 + ' save the pixel luminance + pixels(y*W + x) = lum + Next + Next + Dim ret As AnImage + ret.Width = bmp.Width + ret.Height = bmp.Height + ret.Data = pixels + Return ret +End Sub + +' Printer support method for pre-processing images to print +' Convert the array of luminance values to an array of 0s and 1s according to the threshold value +Sub ThresholdImage(img As AnImage, threshold As Int) As AnImage 'ignore + Dim pixels(img.Data.Length) As Byte + For i = 0 To pixels.Length - 1 + Dim lum As Int = Bit.And(img.Data(i), 0xff) ' bytes are signed values + If lum < threshold Then + lum = 1 + Else + lum = 0 + End If + pixels(i) = lum + Next + Dim ret As AnImage + ret.Width = img.Width + ret.Height = img.Height + ret.Data = pixels + Return ret +End Sub + +' Printer support method for pre-processing images to print +' Convert the array of luminance values to a dithered array of 0s and 1s according to the threshold value +' The dithering algorithm is the simplest one-dimensional error diffusion algorithm +' Normally threshold should be 128 but some images may look better with a little more or less. +' This algorithm tends to produce vertical lines. DitherImage2D will probably look far better +Sub DitherImage1D(img As AnImage, threshold As Int) As AnImage 'ignore + Dim pixels(img.Data.Length) As Byte + Dim error As Int + For y = 0 To img.Height - 1 + error = 0 ' reset on each new line + For x = 0 To img.Width - 1 + Dim lum As Int = Bit.And(img.Data(y*img.Width + x), 0xff) ' bytes are signed values + lum = lum + error + If lum < threshold Then + error = lum + lum = 1 + Else + error = lum - 255 + lum = 0 + End If + pixels(y*img.Width + x) = lum + Next + Next + Dim ret As AnImage + ret.Width = img.Width + ret.Height = img.Height + ret.Data = pixels + Return ret +End Sub + + +' Printer support method for pre-processing images to print +' Convert the array of luminance values to a dithered array of 0s and 1s according to the threshold value +' The dithering algorithm is the simplest two-dimensional error diffusion algorithm +' Normally threshold should be 128 but some images may look better with a little more or less. +' Anything more sophisticated might be overkill considering the image quality of most thermal printers +Sub DitherImage2D(img As AnImage, threshold As Int) As AnImage + Dim pixels(img.Data.Length) As Byte + Dim xerror As Int + Dim yerrors(img.Width) As Int + For i = 0 To yerrors.Length -1 + yerrors(0) = 0 + Next + For y = 0 To img.Height - 1 + xerror = 0 ' reset on each new line + For x = 0 To img.Width - 1 + Dim lum As Int = Bit.And(img.Data(y*img.Width + x), 0xff) ' bytes are signed values + lum = lum + xerror + yerrors(x) + If lum < threshold Then + xerror = lum/2 + yerrors(x) = xerror + lum = 1 + Else + xerror = (lum - 255)/2 + yerrors(x) = xerror + lum = 0 + End If + pixels(y*img.Width + x) = lum + Next + Next + Dim ret As AnImage + ret.Width = img.Width + ret.Height = img.Height + ret.Data = pixels + Return ret +End Sub + + +' GS v0 printing +'--------------- + +' Prints the given image at the specified height and width using the "GS v" command +' Image data is supplied as bytes each containing 8 bits of horizontal image data +' The top left of the image is Byte(0) and the bottom right is Byte(width*height-1) +' MSB of the byte is the leftmost image pixel, the LSB is the rightmost +' Maximum width is 72 bytes (576 bits), Maximum height is 512 bytes +' The printed pixels are square +' Returns status 0 : OK, -1 : too wide, -2 : too high, -3 : array too small +' The printer can take a long time to process the data and start printing +Public Sub PrintImage(img As AnImage) As Int + ' max width = 72 ' 72mm/576 bits wide + ' max height = 512 ' 64mm/512 bits high + If img.width > 72 Then Return -1 + If img.height > 512 Then Return -2 + If img.data.Length < img.width * img.height Then Return -3 + Dim xh As Int = img.width / 256 + Dim xl As Int = img.width - xh * 256 + Dim yh As Int = img.height / 256 + Dim yl As Int = img.height - yh * 256 + Dim params(5) As Byte + params(0) = 0 ' + params(1) = xl + params(2) = xh + params(3) = yl + params(4) = yh + WriteString(GS & "v0") + WriteBytes(params) + WriteBytes(img.data) + WriteString(CRLF) + Return 0 +End Sub + +' Printer support method for pre-processing images to print by PrintImage +' Takes an array of image pixels and packs it for use with PrintImage +' Each byte in the imagedata array is a single pixel valued zero or non-zero for white and black +' The returned array is 8 x smaller and packs 8 horizontal black or white pixels into each byte +' If the horizontal size of the image is not a multiple of 8 it will be truncated so that it is. +Public Sub PackImage(imagedata As AnImage) As AnImage + Dim xbytes As Int = imagedata.width/8 + Dim pixels(xbytes * imagedata.height) As Byte + Dim masks(8) As Byte + masks(0) = 0x80 + masks(1) = 0x40 + masks(2) = 0x20 + masks(3) = 0x10 + masks(4) = 0x08 + masks(5) = 0x04 + masks(6) = 0x02 + masks(7) = 0x01 + Dim index As Int = 0 + For y = 0 To imagedata.Height - 1 + For x = 0 To xbytes - 1 + Dim xbyte As Byte = 0 + For b = 0 To 7 + ' get a pixel + Dim pix As Byte = imagedata.Data(index) + If pix <> 0 Then + xbyte = xbyte + masks(b) + End If + index = index + 1 + Next + pixels(y*xbytes + x) = xbyte + Next + Next + Dim ret As AnImage + ret.Width = xbytes + ret.Height = imagedata.Height + ret.Data = pixels + Return ret +End Sub + + +' ESC * printing +'--------------- + +' Prints the given image slice at the specified height and width using the "ESC *" command +' Image data is supplied as bytes each containing 8 bits of vertical image data +' Pixels are not square, the width:height ratio varies with density and line height +' Returns status 0 = OK, -1 = too wide, -2 = too high, -3 = wrong array length +' Line spacing needs to be set to 0 if printing consecutive slices +' The printed pixels are not square, the ratio varies with the highdensity and dots24 parameter settings +' The highdensity parameter chooses high or low horizontal bit density when printed +' The dots24 parameter chooses 8 or 24 bit data slice height when printed +' Not(highdensity) +' Maximum width is 288 bits. Horizontal dpi is approximately 90 +' MSB of each byte is the highest image pixel, the LSB is the lowest +' highdensity +' Maximum width is 576 bits. Horizontal dpi is approximately 180 +' Not(dots24) +' Vertical printed height is 8 bits at approximately 60dpi +' One byte in the data Array represents one vertical line when printed +' Array size is the same as the width +' MSB of each byte is the highest image pixel, the LSB is the lowest +' dots24 +' Vertical printed height is 24 bits at approximately 180dpi +' Three consecutive bytes in the data array represent one vertical 24bit line when printed +' Array size is 3 times the width +' Byte(n+0) is the highest, byte (n+2) us the lowest +' MSB of each byte is the highest image pixel, the LSB is the lowest +Public Sub PrintImage2(width As Int, data() As Byte, highdensity As Boolean, dotds24 As Boolean) As Int + Dim d As String = Chr(0) + If Not(highdensity) And Not(dotds24 ) Then + d = Chr(0) + If width > 288 Then Return -1 + If data.Length <> width Then Return -3 + Else If highdensity And Not(dotds24) Then + d = Chr(1) + If width > 576 Then Return -1 + If data.Length <> width Then Return -3 + Else If Not(highdensity) And dotds24 Then + d = Chr(32) + If width > 288 Then Return -1 + If data.Length <> width*3 Then Return -3 + Else ' highdensity And dotds24 + d = Chr(33) + If width > 576 Then Return -1 + If data.Length <> width*3 Then Return -3 + End If + Dim xh As Int = width / 256 + Dim xl As Int = width - xh * 256 + Dim params(2) As Byte + params(0) = xl + params(1) = xh + WriteString(ESC & "*" & d) + WriteBytes(params) + WriteBytes(data) + WriteString(CRLF) + Return 0 +End Sub + +' Printer support method for pre-processing images to print by PrintImage2 +' Takes an array of image pixels and packs one slice of it for use with PrintImage2 +' Each byte in the imagedata array is a single pixel valued zero or non-zero for white and black +' The returned array packs 8 vertical black or white pixels into each byte +' If dots24 is True then the slice is 24 pixels high otherwise it is 8 pixels high +Public Sub PackImageSlice(img As AnImage, slice As Int, dots24 As Boolean) As Byte() + Dim bytes As Int = img.width + If dots24 Then + Dim pixels(bytes * 3) As Byte + Dim slicestart As Int = slice * bytes * 8 * 3 + Else + Dim pixels(bytes) As Byte + Dim slicestart As Int = slice * bytes * 8 + End If + + Dim masks(8) As Byte + masks(0) = 0x80 + masks(1) = 0x40 + masks(2) = 0x20 + masks(3) = 0x10 + masks(4) = 0x08 + masks(5) = 0x04 + masks(6) = 0x02 + masks(7) = 0x01 + ' You could compress this into a single code block but I left it as two to make it more obvious what's happening + If dots24 Then + For x = 0 To bytes - 1 + For s = 0 To 2 + Dim xbyte As Byte = 0 + For b = 0 To 7 + ' get a pixel + Dim pix As Byte = img.Data(slicestart + ((b + s*8) * bytes) + x) + If pix <> 0 Then + xbyte = xbyte + masks(b) + End If + Next + pixels(x*3+s) = xbyte + Next + Next + Else + For x = 0 To bytes - 1 + Dim xbyte As Byte = 0 + For b = 0 To 7 + ' get a pixel + Dim pix As Byte = img.Data(slicestart + (b * bytes) + x) + If pix <> 0 Then + xbyte = xbyte + masks(b) + End If + Next + pixels(x) = xbyte + Next + End If + Return pixels +End Sub + +'---------------- +'Barcode commands +'---------------- + +' Set the height of a 2D bar code as number of dots vertically, 1 to 255 +' Automatically resets to the default after printing the barcode +Public Sub setBarCodeHeight(height As Int) + WriteString(GS & "h") + Dim params(1) As Byte + params(0) = height + WriteBytes(params) +End Sub + +' Set the left inset of a 2D barcode, 0 to 255 +' This does not reset on receipt of RESET +Public Sub setBarCodeLeft(left As Int) + WriteString(GS & "x") + Dim params(1) As Byte + params(0) = left + WriteBytes(params) +End Sub + +' Set the width of each bar in a 2D barcode. width value is 2 to 6, default is 3 +' 2 = 0.250, 3 - 0.375, 4 = 0.560, 5 = 0.625, 6 = 0.75 +' Resets to default after printing the barcode +Public Sub setBarCodeWidth(width As Int) + WriteString(GS & "w") + Dim params(1) As Byte + params(0) = width + WriteBytes(params) +End Sub + +'Selects the printing position of HRI (Human Readable Interpretation) characters when printing a 2D bar code. +'0 Not printed, 1 Above the bar code, 2 Below the bar code, 3 Both above And below the bar code +' Automatically resets to the default of 0 after printing the barcode +' The docs say this can be Chr(0, 1 2 or 3) or "0" "1" "2" or "3" but the numeric characters don't work +Public Sub setHriPosn(posn As Int) + WriteString(GS & "H") + Dim params(1) As Byte + params(0) = posn + WriteBytes(params) +End Sub + +'Selects the font for HRI (Human Readable Interpretation) characters when printing a 2D bar code. +'0 Font A (12 x 24), 1 Font B (9 x 17) +' Automatically resets to the default of 0 after printing the barcode +' The docs say this can be Chr(0 or 1) or "0" or "1" but the numeric characters don't work +Public Sub setHriFont(font As Int) + WriteString(GS & "f" & Chr(font)) +End Sub + +' If given invalid data no barcode is printed, only strange characters +' CODABAR needs any of A,B,C or D at the start and end of the barcode. Some decoders may not like them anywhere else +' Bartype Code Number of characters Permitted values +' A | UPC-A | 11 or 12 characters | 0 to 9 | The 12th printed character is always the check digit +' B | UPC-E | 6 characters | 0 to 9 | The 12th printed character is always the check digit +' C | EAN13 | 12 or 13 characters | 0 to 9 | The 12th printed character is always the check digit +' D | EAN8 | 7 or 8 characters | 0 to 9 | The 8th printed character is always the check digit +' E | CODE39 | 1 or more characters | 0 to 9, A to Z, Space $ % + - . / +' F | ITF | 1 or more characters | 0 to 9 | even number of characters only +' G | CODABAR| 3 to 255 characters | 0 to 9, A to D, $ + - . / : | needs any of A,B,C or D at the start and end +' H | CODE93 | 1 to 255 characters | Same as CODE39 +' I | CODE128| 2 to 255 characters | entire 7 bit ASCII set +Public Sub WriteBarCode(bartype As String, data As String) + Dim databytes() As Byte = data.GetBytes("ASCII") + Dim dlow As Int = databytes.Length + Log("Barcode " & bartype & ", Size " & dlow & ", " & data) + WriteString(GS & "k" & bartype.ToUpperCase.CharAt(0)) + Dim params(1) As Byte + params(0) = dlow + WriteBytes(params) + WriteBytes(databytes) +End Sub + +' On my printer QR codes don't seem to be able to be decoded and on high ECs look obviously wrong :( +' size is 1 to 40, 0 is auto-size. Successive versions increase module size by 4 each side +' size = 1 is 21x21, 2 = 25x25 ... size 40 = 177x177 +' EC is error correction level, "L"(7%) or "M"(15%) or "Q"(25%) or "H"(30%) +' scale is 1 to 8, 1 is smallest, 8 is largest +Public Sub WriteQRCode(size As Int, EC As String, scale As Int, data As String) + Dim databytes() As Byte = data.GetBytes("ISO-8859-1") + Dim dhigh As Int = databytes.Length / 256 + Dim dlow As Int = databytes.Length - dhigh*256 + Log("QR Code : Size " & size & ", EC " & EC & ", Scale " & scale & ", Size " & dlow & " " & dhigh & " : Data = " & data) + Dim params(3) As Byte + params(0) = scale + params(1) = dlow + params(2) = dhigh + WriteString(ESC & "Z" & Chr(size) & EC.ToUpperCase.CharAt(0)) + WriteBytes(params) + WriteBytes(databytes) +End Sub + + +'**************** +' PRIVATE METHODS +'**************** + +'----------------------- +' Internal Serial Events +'----------------------- + +Private Sub Serial1_Connected (Success As Boolean) + If Success Then + Astream.Initialize(Serial1.InputStream, Serial1.OutputStream, "astream") + Connected = True + ConnectedError = "" + Serial1.Listen + Else + Connected = False + ConnectedError = LastException.Message + End If + If SubExists(CallBack, EventName & "_Connected") Then + CallSub2(CallBack, EventName & "_Connected", Success) + End If +End Sub + +'---------------------------- +' Internal AsyncStream Events +'---------------------------- + +Private Sub AStream_NewData (Buffer() As Byte) + If SubExists(CallBack, EventName & "_NewData") Then + CallSub2(CallBack, EventName & "_NewData", Buffer) + End If + Log("Data " & Buffer(0)) +End Sub + +Private Sub AStream_Error + If SubExists(CallBack, EventName & "_Error") Then + CallSub(CallBack, EventName & "_Error") + End If +End Sub + +Private Sub AStream_Terminated + Connected = False + If SubExists(CallBack, EventName & "_Terminated") Then + CallSub(CallBack, EventName & "_Terminated") + End If +End Sub diff --git a/B4A/Files/WHATSTEL.jpeg b/B4A/Files/WHATSTEL.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5f50eb8d4c3a54bfb60588234adcee838570fd1b GIT binary patch literal 60482 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 MgyR3_$)9ik2mI6_CIA2c literal 0 HcmV?d00001 diff --git a/B4A/Files/WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg b/B4A/Files/WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..03a496a8b6531c05e2b81b7e7e4177d56f4a9e87 GIT binary patch literal 40983 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 XM2de;kmugb00000NkvXXu0mjfy>m~8 literal 0 HcmV?d00001 diff --git a/B4A/Files/alert2.png b/B4A/Files/alert2.png new file mode 100644 index 0000000000000000000000000000000000000000..44d3b7e651884f30ca0811371860a2c872077175 GIT binary patch literal 632 zcmV-;0*C#HP)a1y& zFeNaQ#z>D?Pp5~l@C6?oy~8sZU}IxI;&C5S^*RX4g3j(P>{qMnPinP$E4E$LLaawd zxnek%yAhe62RbqWgdrq^ANpD6_~aynggAY^(YRg~;@v0DbNvqNboym@YHBGwJq<@$ z?d@$S@9ezE?CmWRJ#%Duc*B^R3lx$242WOzK{1WrMjcw z-v5w}lckIWi}Lw_qDo3|mHN%`gnbxlHnWuTVAa-E_dYWdfCP^HQ;1ED$MadV-M-B| z?^qsqIKpekS=WQ}^2EeiLaAF}ZRSx95_bDVsrP40^RXUWeHWs5EgHQPk}^fGlYhI? z7ZShfA-TfX#^p-oQ5`+#S+9lSo8#jTvz$LL94Eq1h#qt#kt9MPaAUF7$5v}~!Lru$ zkBjl^|Gm>9vFC}z*(-*zl%(`RoYGSo*q8FFDMYE@IB%cY_Ge7}ISA*k00RI&q3etP SUq&PV000029qX%a+GMXQ$LSen>t%?#a*r8U}Olp5mHS_w@%R25Nc zdMtxVQEHiKs_n5>1tUaiQU_fyTAKN_bEe;W_uTvLeeZtn-Sf_sOh{${l$*1wGXR1B z073(h@PTwd7AdWygx;ALC5(!)iaG{^MPZcpDnXWtDh8*5(amz8V*)5AC%1doZgmt&)m&Fok3=LAO)ZF)7DSSSs`;AjL=N=e7mD@gM@Ydy zBos4%*rBXai0`Z*3`)9_)832ha4}UmtV~xj2`E4tU}!iRI10pf%YcA30=R~P0d`+a zIE8?v+#atMr)86r2ZqI$RNbiPKpnAY$#Ck$)_4JbFtfK+zCGF|xtum){_|yYZgx|0 zM6`5Cy-u+7lzYsm%cMuxJ6X@4_7U>%_UlXo=AH7n)uC3!Zv-4s(x4%IPpNg1Mi zeqh7DbtmhYZ}Rb7Dj6p_y1cLxo!V=v&5bAfic9%VybGterLO*Wxh&mWBwJVv;O(qQ zLC%#b)k^U;4y_Q@mv0doslrXpnXI5I zB3swZ1IM%xFcb25s-R)T=a)!djew=S@RW2>tRT=}#Cy5Xjyh+0dV=Y?pXs_{kYHxj zIzw%EfKK=Is^i?%WNl@ZRfn@0>npRGQYUr0^St{>IR#H|w2L|Sy*%Te_LN*OZ zvARQdfSz15S6GTA(}HYFNBJ62O$YG%_>g^qJv~s` ztkqGMD9W9_|HGX7x@U_J+3H9`IvY5y*~By6k8GSjNuBy*y1jZkzf*to%e}3d5eX11 z0bcjdl)vEf={UK{pO{pgbCFkNcNg92^ zIgK?hZrQ|z*&>H=6}N>${3t;ieM5P2xaLv*cq(&&L9UqJBfhla1dc7moP5l44^0Z? zsXq^@sa{=RZ1U|6$~D#bS~zmX_{q=H)fVyvr?|)6TGiZD3EW}wxJOObpK6+&xW!%< zWW7^S&8zK$O^H$OSmHe0q;)}zuzkK<7{spBz824M4Gjzk4M5qiAOd>CQHRU0B~8t< zwM;OAn8Mn!^`CXAuQ_y~dC{DEGcMs%){Ea~o0(UP&U84-2YBQC+Un%9-)Si9e9IG$ zsq&pJ#y^gXHQr3*^@YeA;$V3W2?wlf&&G|ZSM(~8KQKdXd88E<@A34lHgck#+d3YT99NUdD^pah=URGQclB;?u{pTn9*Ztp~4hb(-CnjWDHZr&ivu&E8CR2&M3x|WX zmKsEnU818J9kLONw7HRcvE-Uv*QLHVJ(L#nU((r(s;89c{w}}z?$XLdTqIca8EI$YCjb+0G9mImj6`OtC{>L-el*Z%?ya$i^g literal 0 HcmV?d00001 diff --git a/B4A/Files/alerta_amarilla.png b/B4A/Files/alerta_amarilla.png new file mode 100644 index 0000000000000000000000000000000000000000..4f4beaca41c7d207d360658ffbe169e9c867df08 GIT binary patch literal 62562 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 YICN(iaSfh?QtM{~PPW?UT9Re`2|CwVV*mgE literal 0 HcmV?d00001 diff --git a/B4A/Files/fondo_kmt.jpg b/B4A/Files/fondo_kmt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4055fafdf887f7146d6f951b0be3e8a17f34a599 GIT binary patch literal 33689 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 N002ovPDHLkV1l*Gg!=#h literal 0 HcmV?d00001 diff --git a/B4A/Files/foto.bal b/B4A/Files/foto.bal new file mode 100644 index 0000000000000000000000000000000000000000..a6ed4a653d6bd86448b921a10fac08f565741013 GIT binary patch literal 3641 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/foto3.jpg b/B4A/Files/foto3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6179697336aaf1792239aacd26996d33e4ad76a3 GIT binary patch literal 16612 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 B&)xt4 literal 0 HcmV?d00001 diff --git a/B4A/Files/foto4.jpg b/B4A/Files/foto4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9828b3efc36de86da77b98199facd4d07a4307df GIT binary patch literal 15202 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/guardagestion.bal b/B4A/Files/guardagestion.bal new file mode 100644 index 0000000000000000000000000000000000000000..b5b5216beec6e2830ff6118bf4241a77bb035cf5 GIT binary patch literal 13104 zcmc&)U2Ggz72d6X$d&*lO=(loX3`|3CB*e#{#w$+@oo}R|HauPCD7XAow0Y?@y;?c zw&RvULii6YO=y6EDlC-;e#8S(9(bV=s?nkg`3hl*%!^22Bw&~7iHHx|)%6wx0kqVFuC?<%4<714JW(H||M zx&M36?nT>z=G&$e(OW_Ld%Uk`d>d%r=Iuq}AY(s3+j5a;5zAfAzjf;^UF%b`kBnb> zqA&Tzn}=I}f1~|3&kb$6{qI-x%bT|BJov|vU!H6^pTC}X^W`_5y=&&}JwG`&@%F&Z zKdirdBzxe>pVr4Se?C6?yYFAxd|}u4;NJ5W@33!c$v*Z@R@;8;-Tr-!^4}k)cE9q{ z!aXnCIQzF(UjFyUy36Zs{Pw*&uTT8?XV-r?b71Mrf8P2>%U`xF{Bsc&eGiQu%{b|W zyiN>~ld5B6I+D6$Oy_jFV@P*Z|GY95T<|S-h`E0?XUwRsVdavuw!FD*%~t2tNmK7$ zMtHI?*KyQVH3LyPZ1r0<)H?nQ-PPfX2-y5t23JNFjA8w(f1nI(Oi2p8}?4P4h&?*7Y298@Y@* ztLbUOHHGsjbxtLa1S*Hs;qk+OgpR9D^EA0!L7hi+hk#MEj0MKb8IA#KsDBQLPR+TU zl#0XZG6Y>KPdW33=4PoSs~gi2!qvyzkjjJaG!r3Npd z5H_R>w{Ko|kc4R-yN>aUPTZy}JEJG9oX!np`%J_TGc_$AOdUz{oi)5<#JB90>x^7} z*7cD~ryfr;RUnph?A#oHmmKaVuWFi+o2Jsd>NxY3tx=DIF;gEjayobFxC^ELKRhxv z)Hg_#F75_u;agNv0t0zU&4?G0sUv+S2h$Wb7Z}Z~)Sntor^d!lrN+_&{hqLSTv`OO zi=nyPY4L8X^4sjeW%&I-?l^%M)lKAfj==9sO<~;2EYrNtPbX=HBk}5wbybru+dgf$ z*^=|clo{#~E?*wORLy)=rOzjUwQkFN*gehYBU^^Yjp)(I<6{FykEMxT;XwHUIh40` z$I&%^h+ff6)5tS`=&Iq7;S}Q=^#C(U0smtoV*_VKhSPn65(b_Ol1FD%TT^ZNqq|aI z``4ocw%;jSpZ8;7sSkbIIwELzS1@gwQXLm5z%tF0moTWkM?$J_mlBfEW7r92dO72l zARO4u>!?&I)2!U}Wd#P$o>v)g18E~~DVnbI7it;`+!L@!$uKN8KPUDE6Fmevxc)h} zkB|MOpx`$Av4_%V5oF+0isEqI8-2hpFo7c zS29WW7D_&vx=X}MCDheRfThwR)9}fm!>O?oGQXQMQUghM59bR-84HT!>%UMP1qG3+ zjM~_yqYB$zk4@GQ{~=an5srOC(ktmirPZMfj3s69eugb;J@&dg1IBLY2Zg2dimE{A z7uAAXH*9qjq;~ffq{@c7cNcoSvPyPUC}bIsr*KuE7*=Mmw=~X!PP}5Va|aKBc*pC+ z5`1%cg1)1?_=^}KUL1%eXn@RfgN#{ONDsF!t=n{lQIO!#XUMcK;ScXvE8%L3Gub70 zycwcxQVX@k3AiX@87H%>;Swy~ShNYj^pjwz#!zTq`qz6)%&Kj1roR>*=(vUl>oOr& zoC(1SO$dbqT5PLNu+w@U9xdDWU^lTH582xe5Je{6kM76FK%*GB*!x7^gCN>sALsZ^ zJQOrhAxde&C(vZcE)ZgM2S*;lLpDt192G5u|lOR%P@g+QtptX}Y$`Q2KF*Mnx zL?FdV;0bTFemnt6;wTLwjH8qOa9sg|MI`}K1pg^aoiuqu7Ug{DY4ncZ|6PP@l$R5lGx)qFqzeo~0t@3yrPY3GnlJ{ zX-uxN&w`_Qn3mrQG&PDTH8ufLZh0SCwR^!k$v+2IDW)__Fr^s5lw37o`UDs~OrHcL z=Xo4Nc%J+H;ov-DV8si7Jkbkaxx6|7u5x!tUfqc)1x;c>cCryYiE!Gt*`JDfV*zDWj@j_cE$>5f%2w$ zfCB6AfCl#Hokq{D+rxd*rR8F*Xl|h z@NyA3m+=6H#RDX2@<0}ho(IZrOE0t2%u<*RHL>D94*8vEVZ~34Q5+k(Er~&GXkG(n zX=bNcl9&Qa$t9Q)VFj&HUNJDYW>NhVl$W||qHh(ModToYsG8ZI275HBU&TmmeyEUF zD4@Q)Vq!(5sP;a+XTVVoQ`H*q0W4X?cPuqVacn56e+4nMp?L`LSsK+?>_s)j2&Uwc zsOI(*v`SH(!`zxhwFTwn?y5PeU&Hcfj-kM)H>yT;9_-QElDT0eKX?f9rVVp7O_999 zhj@VVHRbBhfzk88qo7#tBo5*cR*bek?1123>vFZ9i-`(YmVZ+#VBUZxns~v-6$D5W zOA3r)$(*^uH}x!7qKH!YN{D*5A7Kj-r9pxy1qh;i2%-uIwn{NQhq)#ox)EZUiYNs( z0Z~X<9ikLaAENVEQ9bjX1xGnpRWmP5sE~OVFeULBe0|f`(fFjsD4Gpr-U|@3Qha)7 zeHWainU`islv0dfN-l{~_7t>AQThz#s$=>rIBq7Ui;y41lp33WDZkYk$CPFXrW8{j zrk}?O57Q?>NiH1+5$4ie#ug(luv>E~DQ)$sNG9JtEeRr77eokqPufl+T%z0JM= z_Gpd9%e^)~L~k>iA|9XscEW#aU=C9_f)@Vb$4;v}zKG|VdEgwBufhXYu{`Pl3arBe z=fU0_573kbJ-}15W*)cz<*V=jR+o5y0_*U=m%$#bKN>v)G^Ifgd<9EA4{Qe|S%~*o z(J$~{MYkNLMsLf9AT4@ZVxR;^YK-F8&~3@!sx6}|g0u9t#863QCs$3k<=4QtW>Nih zC@*(c&6ypmOT0mWQEybu?B!9t2m!VEK?7%4Riop1U=c)pnf)7BQ9Y`^3664@Ze~ z9?8@g#j&Bhvbx(cz?5R@%PW^x#PmD=cTB0V37D=fR|lBZpQ~RAFntu1RCNbIgx{97 zKkR_u-?G2cUBN_oFiY0uFI@_nd|PcH!KmAS7XD7hIEZFl3XI}9ijft5r{k{_(UV`x b|9uHhc34r+Aj!S;|KAs^EPOSRipBm1c@r(4 literal 0 HcmV?d00001 diff --git a/B4A/Files/guna_viejo.png b/B4A/Files/guna_viejo.png new file mode 100644 index 0000000000000000000000000000000000000000..d93702792de8fa40c74e0bb047c40d5d26b6107e GIT binary patch literal 3543 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 RELZ>l002ovPDHLkV1gG_=_~*M literal 0 HcmV?d00001 diff --git a/B4A/Files/historico.bal b/B4A/Files/historico.bal new file mode 100644 index 0000000000000000000000000000000000000000..a70aeb1c6a49bd2430cc165a934e7f248bf1c495 GIT binary patch literal 8167 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 OPls5>bjXup+P?sNp^j+) literal 0 HcmV?d00001 diff --git a/B4A/Files/info_gral.resp b/B4A/Files/info_gral.resp new file mode 100644 index 0000000000000000000000000000000000000000..85c1dc65a302c4b552b73ae1d036fcb1f093c05d GIT binary patch literal 69923 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 a*u&WiXbX_=T7U+xW&vc|e$7ioB7YB3$g6+= literal 0 HcmV?d00001 diff --git a/B4A/Files/infonavit1.jpg b/B4A/Files/infonavit1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b8cce4c0421c69dfd07a7b13d4487ef5edeb186c GIT binary patch literal 30576 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 HXXZZu3mh}r literal 0 HcmV?d00001 diff --git a/B4A/Files/inventario (1).jpg b/B4A/Files/inventario (1).jpg new file mode 100644 index 0000000000000000000000000000000000000000..1eccaf3a5230205722bf939a33dfd3add13c96f0 GIT binary patch literal 23450 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
%9yj=e`2m#J>JhYWHs| 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/inventario.jpg b/B4A/Files/inventario.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b5fd18ddb77a58567956cf34fbb146df6eaff70 GIT binary patch literal 27037 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 VJ+!oC{&RY#a$i%S^saTp{{gbN6(axu literal 0 HcmV?d00001 diff --git a/B4A/Files/itembuttonblue.png b/B4A/Files/itembuttonblue.png new file mode 100644 index 0000000000000000000000000000000000000000..af4dc0b6e6fb333c43e978d6194936f4a8c52d92 GIT binary patch literal 2647 zcmb_edo+~m8h@oi8KbKyF;P2_E_R)bq=_LpGOn{lcH^4Z&DfO&k&%#FS$kKMM4bw; z45Kv1Wl-8FijhksB$vr0Gn&DSnfbo+PHSbIy;`k({y2Zk%scPz{XLi8`#jJ0B|DSs zFiX}h0RUj^57@W@umFMUHr2)OTk>2h0{*D|cEIx#0NXYwK1vby2z0o)Cd~Fwm|N)4 zuyEg#fxs#t)Gu(oJ=HfT&^6FEAo9eEz&(&SWN%~T9`SafmvB5gNT+U!7uj;+kL4~K z+;O<&m;Y&e;FXV>9(h;Nx!cO!IJIRIFO{@{=?*Znr-3h0PBMoRwp558Mq;BtA?z?Kk32)B?I}>+?Y4S~n?rD4Vfs#!wsaW2& zgJ(n3qcjn7F;U&a&m}s4jB2e6fQ711@{l`uH({oKF8yw;2k*nt!vh3K^TaN&`nN0A|vw zr4)LTgDHdp8U{l1@o=xAOvZbs?Y5mTPWy9lD_Zjr8a~V1OqwB$?y2YMpt3Pb!#T!y zay0-u^mAB3LUcoI5+k=uUSl+wbT%MN9Fxvtf z%^-IDv%?JU6{0U6y75d2fQy&VH>tS#ru}gJ>S`9+lVAeCKA{=|fMfqQdK#+wWuc$A z!In&~P9#8UmPk?I+MUquF=knzmu*3#zk+-5XR|?g-54!m-;@fB&`GQe>Xbgl3@A1| zmOv|JxOhlc*xLs&@B|NlCTzjFBb%$Jic_z!sD)xv11SD|g<}QKnu54q2E8bduNJmcXxSB67ESZ;xD)NlR1rQjixjVliF&0T$`)p-2+J@Zasi^bv_j_a}oD(^iL zR#~<XxxHue*KUOE-`i?2?OTmGD;Dlj)NR{~;aar6nh>O=s(m(laK_k~9EN`J&Q) zU)7gHyNU$qEWsZ+uv$fe?J4yQiYr;Gi|mI(_V2ZtSN{9ie;=7Af1}tu@)xqAF6WWb z^rxL?71>}+_agVYP5dEtR64=yucS5nf6BE-4aHUFK^Yve=rE~gCG67C0SX;|eF1DY za)roDR;3VVZPA0}NFeWaFzg^=akjuP<)nF7RkH+E%8JucZ8;}X=Qu*# zw~I(3(J$lWG3fd09Z_5RFgGuGNMQT9TyYW@YaAcxuZ*BMiYXX*ko2en7SXXri_b#1 zb?VsE%$P&Ordo=`zLm1*f^@Txrh($wWe{L+Fvp4CaxjvD{sVpV^tAEy1HZ zXk+kUbs-~TGLa+|P6y3-M28QTOI0pX1(N3Y2L9*iMgf7U_pt4UG>)d%;EDl(Sc|yI zs|LQJlpb!p$0a?+XYdouWV(EfRAl151=0p8DeW8tvHoi3Dh z02FKx3x!lIJ}s;y-Bpwu^L9H8hxDYNz1-c|NS>}^!LJ#%z8U3dWz&m@1y%>qN7Ut@ z?l%dhA|rDoDxaD&Fc@aeLDV>hm!Rhs?Td-4Ye~cVFpN@(!M=>=>q9)ddp6#uUiryB zWam%xmzo-}viM%wtjkBbZoCnmwc!FtqJ7fyy)&hJ=R z?x$L`GmmN^Q&|lp%VKxRo3PP3uoB;R+h+=In7?(45@S78vq>KLuZL~WGi=VtI2Jy3 zR1vnTpucO*-wNKoC E01Tvq<^TWy literal 0 HcmV?d00001 diff --git a/B4A/Files/itembuttonred.png b/B4A/Files/itembuttonred.png new file mode 100644 index 0000000000000000000000000000000000000000..312b8b82f4f58388f95c730a14e077420c3fc008 GIT binary patch literal 5822 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 I_rEd<0Q*>SF#rGn literal 0 HcmV?d00001 diff --git a/B4A/Files/kelloggs.png b/B4A/Files/kelloggs.png new file mode 100644 index 0000000000000000000000000000000000000000..427e8fa3d66f18c24f67deac71401e67c5741557 GIT binary patch literal 327655 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 hUc<9bz*KvgL>0kgf?Ft^?wRt?W)IvZ~Dp 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ឨxiRY5 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/kelloggs2.jpg b/B4A/Files/kelloggs2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74afa959a97cea2cd9b3e7f36b3015df9e4e98ef GIT binary patch literal 110798 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Ξ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 literal 0 HcmV?d00001 diff --git a/B4A/Files/kelloggs2.png b/B4A/Files/kelloggs2.png new file mode 100644 index 0000000000000000000000000000000000000000..4c7fa2cb734fde53d1b98e15912a1f254093be77 GIT binary patch literal 92140 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%0A3+KbQT2NaRJ1ajwE65y^liOSB~PW_3C|9 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 xXf literal 0 HcmV?d00001 diff --git a/B4A/Files/keymon_logo.png b/B4A/Files/keymon_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..945e546e77aea396e590bb05d8194866c7eb5fe4 GIT binary patch literal 10983 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

pV;E;n;yZJ7-TWMP_hFF&pI0jD9Xe zF?9W)!W-Z!Bkl9GdG`Rx+r-mj@ZyBEP>o)HC&hI~D0Rbg`2ES#^P1y~4E6Lv0qDAIJ=@UScZ_xERV(74Z-G@zC?F}j=OV$$XN+1U7-sDc z^Y?UqYkQaaOI(n1tvsn>TwA{k$a~_`SG~i8j0RQ7tOh3ep@UIH$Gfn^LM|an{+#C3 z;uP)rS`5+EBN8n$w>+iDA?z_EMEEl>YM|k~I=0&6fv5KOfbb7tv5L%=X8|MtmTV}- z{fdt(I?@_Z~RI!|E7~{4ppI38Ny4jT4E&A@-1n_sAaj1m1(u4b6~2+0 zYQ#^ebT*ryijHsYuK+#aOV`__&|Roe;=Rw1ZpMH%{W< zMdJ`N1p%H%iDjo3DQKe-Nl2rT92S63HlP;?iUibJ*QrH4(2-L&i5}wY(hV&bU5PjD zjtw`sv2~(AK7b>vt)c0-+34ohGc(QUMMsvZ-D^@hWx?kG-BGzBGof=Y0dYG(vPGE{ zjID(Jc}a&mf4Im4fa|8nL*{6J+2L%USrU%y;TbM8@kuJ=icVBdMt6U5%*YFWJX+Rx z%W&%1&i}HD`zI!14M6D&iXA z`(xgo$S-Bs@&#ITAzF*hPQ{!bEL(^3+oRMF95zBY)n$sw34>LuCk;eqFD6rckr^1oAWFG~w!!xWUnX)Je9jzE=dl9kRWQhalg8r9JN7EKO}rRGYH8U) zYkv_nkd~RN2lIB zVRAf#Bgn;Fi)I{yZNZ&QFqa!|n<_an@?2yC5M+k2Ww7(xM$+j)@V}H0h>^S!(LtYY zy`*n36o7LeIwrm1tlZ109D)ryxew*sO(x|nz$8~r7%u2Us<6-dY>aaLd+9gv)-jx# zyx$Ewj;kep-d?y7`DxQz@f1Y$`SD2Sr~C}4@T*^MH`$cj`W^Z;9bdTg z0t-;9bmrT{OIh$~EDIAjt8*}_=WvI{djs8RyBS_HlOk(N;G^Z2(=h<1K0$`a4!V*tl)@L;O<*`n}h zsG>kCMm>^69Oc*Q;3K9Bsm!Y%ctFy3hR^K$(A$<%lRvzGhkMBFvef&x@b5ihFLx(g z!Lo{YLaSh6&XkOu}?itgX-gTH?u#~Ex{n%h2m`R+YXHdWpaBRry6 zzVg)>mWf3UuTa_926?14c@Zz4Cilgg-yNeQU^5UlI6KhC3$a0cc=iTOxkr`9T;|C^ zH7X}@1T!LXZcb?Jd|f`FY-af`@#kAeOi)uTb-fLE?gWS8uHuMzZ{F9qIQx;D^VzUt zmF;6%`vU_?P8Q_zzA{rUZt!)MgMzpq;o(P3DaY;mb>=bR$jeFHokeCG0A0C(joLD6*w5sRs+;X^u|C zewgorQMzT;8y|3EwA9*ly%fVxz6=8{EG?1mRC>Uce5vI#-sZWR4uE7>bM7Qxy!qG0 zRX+E+3lx;#eSc7s9~Ap?_`p@Sn0>ot1$bdUjmX?{6?Fd=!QFEa*sdD9Rsb~3W~o$Q zjMmK4v~3ADTN&$FUbeaF%aq;(93rpcOj7tV#*}vl6e**>3;&6eVn4XuqoGFL{%)hH zH_AZy`g&ZZYA_C6kJz&Q6x3jS>AZO-7QnH3foyC%G6CgCFCFpK>?0nGR|L<{6$24~ zw4ZYN4g0j5W%j^?H-*VT%n+)}7d#b$>8raDqFs6Uu24v=on3rXLM5fI3ZDeg@AS7j zlHeqsNw=ulNdNvr(YEiRoD_fmMVDQQ?TP>;JL^!94-7Y(<#^E&sTyNeVv^0QID9*V z#rcW?mI`qm->1Tf;o+hLW3x}l$}6T%2=UV&61NU>iUGR15-40M&B0Na?jy&f?wX48 zby%x+Kk8ruZihr59b!CWBa&VWt^3RMh016NiQMmChDxz(`oL)d1#l-7npA$V(Gg2X zNr9!gkhjH;h8*sRDHRY9x6Q}?z%wrvgC1oJ zS;h+zAtj)iFL8g~Tt%|h$HtF8+P2j_!?=IsQAC{Na-Stz;yKx^LW(8?vv^Th4D+F^ znfAP@N+aCf68SB=PReA$`gdj#pZ4B#bY0^8?N?$uQQE|zSeRG^x)oXemlsk(A7Qw# zobJKD7AdN1Sey6}gTB23V$IxIoqs>(ckNkMh_+@X2)akpFQGgR{0Hu4)t^lFj|d&g z8;^8Y!MvVhnyvV)c$@xX?2rJK(9oirFNjaemi=AyL>Hx6{wghm$!_!&5@033cP`xq z8_+c^d2gU>Hk*1ch23$=ih+wZf#lXODX5~R6@e@Ig zAbItiOGCzpI4{91TTz6RLWK#*YZ5HrCE&+TXp`f|uV*a8j{ZpiT;Hc*^_T3!`Pl3Q zCXrAV=1}`E&?)`|a&pEhio)UOLmq2`w~S7WvGH1})3F`cg{1P_n{DHipM*%PMQ4aKN)NmqINWBm7At%c;jq z`L00+#H=g71< zo7d!{n%$1lUz59HqP7HE#WPIpoL~Tj^Ebxlmh?!4`I(JAguEH_IHk3_;tQ{%(7ax| z7I3{AD)K~O(?~is?yM{z=x@>MC6xN!eoB?_WecM$cT+Nqc12+4$hiRv*VP|g37z$( z)ZMb&>o2|NkOnj%Co|20(%7D&;~{L2Y~iF7phX=QBq4`OF-O9|! zNXO;8{DCPtJ%4ugfea6@b7(olQqha)5O?mHV&2*DV}4&BKBURc%3SocDl*d{uc~}U z5hnUR(>aYs8n_Bw*(M3OMkD8h%D=3?dR_MAon37%T_b^R>dDGXv?sJ$`A1Bi;qTFw zo3==s+HWwaHK)2+!N_X!Hv(oVqWF5s+%%r@rgrjh_FLU!{oO9+@Jc8kt6`0v z5yP>ilZW)U7JTK{JshMGW7Ji#EqXOU$8SH+XF9(=RxxqX5W)j&1Fgn0&Ve5k<#7P{BEC-qb z>cI=Ip9}W#&mT@fr;JO?AW~IR zjelM}p1ti_$oX|Yj(B?I{Y?;AQFf?qTLT@%#q?`;o)-Nn1{J#VYzYghM@>mgLyD_l z{;iy720HqhSRglep0zEW_a>D4T_iXuc$J@~Zv8()CP|9OTvUS#{5hU>xW+^c?U<1g zqUOjv?mn}E8o9_x-uEg@rvA=eK3WOJB_49SPl;^c0f`1aKcjLy-M@-9CoHydxc`_j zWcHCW9iBVAza5$=XQR<6(kE$dL|%1-a&eGOx1Y`{YNt2I;`VJ8jI(Dl>`9G3KEbNW z%C@bw5SlmII)I!1utbKaUG|t#2+2vax-rdOms;=?Cc~_`mub0hH#NAvkADRi58a9= z#ZyaZ)Qeq+6pE(9vE}y7&H_!p^cqNYbKNJk#$%PS{x>Us28S>=$}a3q74O{z!uA=q zZ@$6>kR^rp*SH752|CRnd;z-0c3% zYmrksaHwkvU0E4{y_8^8>$sf^E|&pgwwDg;oIq{1Lm12O?m5T)X-zZps_u7qpwxr$ zcWkYjpGe)0LRnXGLP*l( zGd0R>W|#4Mj}q@0Ufm;bZMEIVy^EoZ=+7R8!O|QMxo>j7CSE>ox*3>{>2V3vM)y54%XR3%FdMrx1 zrCifYRp{hmCU&2u1ZS{0_t9KrCZ~xOL{v6=#5SV?1s~asTl3C(=4-7H2M0X zF!T1pEX_97Tz|u~Q;Abd>iCO_dU9EY2RpJvDREn@8*&i~yxh9^^z1W|;^|)k!!UML zSs=eLAdPag&F-`etnPEY{$Bx$Fm%r%oGEKS&+|He5Q?duc3t?%f?cq0U5nq18bE89 zfSSqKCgFGIBz}=8$tWM5gyWp(B7*eb?eXYXl4H&f6%El$tLEY0I5~Ky9;IbF3&-2k ztsyOuub?Dh0nzaPEKXJ6NOgV3uq@1PIeK9^ZErn?$HWXq<9@X_!%)a0g_FSCuB zR^6O-lcLs+&OqB;*P-MG{Ib7{Auaq2DdOkNu9$XAJ1I5}oa%yvo$)h?Xhr1CnRdGr zm#T;yiLy9EQDqtZ8|gC=Sf0(-z(I=IrIPTQ!Y#Z=S$iZ}yRW}lXl)%E`lIQYG;E{w zZycX$YJzU(gdcc(jM1eMQwc!>s5>qKgg4F$Yzia67Yc=pz}bv#6Tgf~F1#YnQ`MM$ zW@GK-+!SDCzo@{AlulYZNhA;>>8g*GPwmJ&ixT0SM_+!HMFr*0DdD^Kd|q%N__U5( z{8=E>d0@wEKE5CUj-@F$_|sUEo}>zChi@N@rfKN}BkxlosdC)`&eeyv@q2As4qwoP zE>pGO6z9rmIxAg>>%2jzP^*y2Dsc6**qu0ivgK?<(W5tF$9H0IY+8m%0^UuNu7WtG zdB&tf)J}=RHr{V~oYZIi7lC!x8SSVbSxizmP**=&J8BeySmNUEtCxTZz>20S zkX#g17Eb_iz0$jv-k-s9!9cj_dIVk{jP@l1@DUYJ_1I)C^cWP3iNo&vuMin(5E6jR z$H^7u#Ou|oj+gxc+QMi6G$7o+9XoCtV11^E^y5cZW!yVCUfrwvou-&)5&aizUvvoQK(@ead*C1(KpPN>d8xG+UOnx znb=E8S}aDu_4z)3mIZ8jZa7_plg7Ac+f0+AHBPd^2Xst-{@3|~uv;bcfi|a=ZDHaE zy4`ShS@aa8oAHOKU&9`Lp@Wl>%?@c{KCJ-1sA!K;Lw3_b>{I^XGnojk7>dC1fhKTU zhw{+|Hkud^@>UW)Ly~BFTPaflr&$P`4Ec@T1!?dv$vh3hGXXIYP=AXkk=L_@7G=`_ zl--|-igD>^;CCYqIkeDrDWtB6}86QM{OD09bu{4EBnd&_$}J#Zz*#st3vfs_^nVKa55F z1K%>)Lhx8|y~-q#cC^{M%ryD07!ZcsusK~OSk>cG+#LCGu-!y~m~)iwW9WEyKHj_S z8q|%+MlBa%;caoK%uB-2shOxAMa#g+S2|Py2d3+#!SoNmM29&Or=C0eh={O7l*Kbn zKNo?-Monm_DHnlu#ym6QjnAkvCoPU>Ae3Av5IR?W2DXi)KkGBm_~<}X=Vzmlib&-K zMbY1z@O|K92|;*@<7GFyr8J9%>bTwKKgqoT*c*iJj{Gc|N2H>j3vjQhhK)%?>#yPw zczXz1Ue1ULyhu?Wc+X0LacQEld;(w>=fi+cOe6w;#%-XV-Z>)8CKXnsFJZoyxhO|EGGayUEUUR=Ra;9E$FwtFUdM)yz|8w>}4K zatC!k{GJO|E~31+^| z^&0)jE&Tm8>J~cyfwiB9XX#f_bcaIwv=bMD{nWa}^f_AIehQuL4x?S+Itjm{h9jmL zYd{BQU7=Bm#86O1$fpHCi%Bq9!WT*S%PM^s;On$~ZYUGQEE<(r_jd7TuN73R;ES#n z{OQR%3@uhCW*r~NEhxXAO6;Y6<_O2LF&iBlGho|5S(i@GrBSJ*n(#6OSgZYX)G@t; za+Cm54I^`3fO~{sSFS1*uQusgU!*^{GzPu}**Ntmjlk4olL@aR1JTcexA1#QAx_Uk z(d0Dz{)c?e>G8m;&skloFTr)uL8yagxVUJ1?I>AzmnlSh*!UkY*ghs6)hZUn`=&g` zq)gLze=jM*Nm3QO^A*yYY}j5%G9dBKii3xPuI=Vl`F*o5fF>1P3DaJ6@0phbHI}q3 zNrP>9hB?-VW-Y^(@^pr|ZV6C)Z6vC!|p^#+r)Kg&g-ok0ijoY#^23AXDkgK?`nQmtmdp zt)TT=LK?Xsp7TOB!3F+T<9Ufi06fL{lht+8;`&K<_SUolsyT&D=fR7&}TdQCCAcvS^-)YsKzu4DB2O&bo%z`qxRlYW~ zK0Olk{IWYK4WvH`Y1>CCq+O|+yhLLe)nZCbQJnLv7*n0)=xj$lEp(13|4zZZUC&+s z$G(RyNzB%HkF@bQi8=gVluj$AD35;dtsP*FI&}6JRPwOS8!29jN4u@BSm4w7U|2df zWFhdTl8_0~#Y3oZEq|nP6n!yj;HKPU>>NE1II+i+Cp^UY_jD3zffjRw0B;)sBtU9A z&H^2W)NJIqySsSn=A#~y@#1&c(QPNpJcJu9o?a)=>USF29R`Gf>g`zhKlt6rI_jt7 zSoLKn_4jcMW@jU~sy_k*pLZQ;=E@AXN#)#2X#p3i*B_~*S{raaL@%R`=_M4`>;&Uh z2!sNkm!C^aNj{)|X$nG12B7(g1k+7d@v)|tU~Vkkp?DLN{qeL!?3tEgas;b?5Q~O+ zKQqcp9R!1BHZJ~k@j>WoHvKF*q`i$AuEFm6{s|4Y#nKs$K?(V|D5}zDw0m03!6~D5 zQqdtruy@R-6iRqi@ro)1qRy?jA91sVTOXuR+(V{o#Bqn^rQ-gv=dzgp`QivGC?3 zG>uC`xi$ni2HPj!036%5waK!@cAMkk?Y+Sh^l z4~Z7HL7WzZ{5SzqxAOI@(d55gJ}QjzM^RYmIK8fw3#gqC?b4I{1-(ayauauMCh)RN z#EydLi*F(w=Ff_dX`~f&&B;b+Dd|70NDHk=J8vV$NDeExEX=h;LAXVaG_ z@KoDYd4cW)DO4O8XeLuC%a1ckUKQn3`oCdXhABiQ_9ZD89)rW2hsJ0Bm7{b7KBq=k zr6K)rcWSgR{&mqoXbgH6^>BA5+PJW!#f?vM;9czh$$!U(Bjd1*gCQ-Y{)Yl)Iki+> zex@mkq+L@{iRLHM(7p0{VC{7r;4~9_doD*9XOc(|>V7!dMmwp}u;GJ$bM`12OmHg8 z-~4_3-ds}R7ZYHAiGC}6N!MbWh#+QPVcd4BheIoVJ69DBaH9ryy@7z>)=Es|WiDrIREo#v` ziHXnU{cuE*7=m`1dynU(7JV+~Oe#l$P?0d21OK9dr_TYU+_e!?If2S9KbclA9>ubP z{O;Nnt@<8W*8~5D<4B*`6ol-w##w{hCGK$XuZs>skA3kA&W#RRC-Gcwo)U@BD(J$jCa2qgLm%#9|-MQ2h@E)6L*kcqjjW} z)A3=@6GF(tA9!E=?-X#OeH)V*tUw7z6VOtMg4gEY_cskhE5~pr$9B*398^#JGU{__ z5d`{sV{qc3SaduS3md<;MBhbzakJtrdlZlW7)~eB_q|X_wdX4ee-k@WEU0ra-IIA~ zIQA%6)D$W>TDcN}usk;o731PiO5kZzM$J4cCd8U>%F+k_7ecObxSdpAURgk^--l6N zCTITQUl-peq?T5xDDBz>ZFZw)q|Jja(Ntc07o+r^zvDuoKR7)FrCgLMuA>2}o|uY5 z6R$y4UOIMi06!*etNIl+-jXc%*5p93f6*r9T*Nr_6j``PE2nxR5}iASYnzw=@tKwd zkjPp(`Fe@jVeR!^S|IW(Pd>ue%t^(m87Vk9D+MPAR?o^b*i=^U@uAp5f9ySK=Z1;> zQF&`3whxOz6Rp!xDxp7(%*2i#{UfRu{TQvgen+lJZXw{wI`WokjTXE z^g0TEeJ9=={Y?~(&O$LQKp}zNJTV=`x20n1#C|BGk~_|^ZhJhL{#2?_Kmwh7Dle6X zhgAR6IO3}10;Pfry3r;lTZ@y!*x|PsANo>U7axRuTy0!CD0?3VfBbdS z5@-jfCZaYk1AFr_@u$hDs2`n8+K_~5`i`pNR!p!qsh9ieY&8EV9VeE?;5a8i3*P^9 zGVoL?{7=$Xqh@!`BBd0qq+_EQgQF0ve`CqFbXGq-fVy!ppvhC z=zrmG8^L!4T$de$W@ABH4$V8TZ{k-`{e4=5JL64$R|U0q(FjtD>9htM$X(QGs^V6| z+r1pzCi-J|>kFnhtTM7i4`rPMIQeyIN*d104og_0hk+Pv;xDDB8II%mWZ0ig$FW~n z!3sOLNK}DfAICt8N(HlYjIfVdeBY=qWIH`C8Sn zspEnxpO}Hdv9V_Cv_-F)u*V*ZL+4W|#sWtBOjnY4W+#}amu7;m>v>Xq&hJU>fD(jQ zkpR5;MgE+M3Mw&G5UC1*;$LX}DoELnnIa!R~wh9u=fvC%AxQ8B21Lv5kvwn|!B9iKrr-s=GM}jicjH%K^5{ z90aWTBCv5NY>VP?g8qz3q?^1%PL>>Z6Rl4PQ%183+5^OB6Mrd1*4Q~C!B|8Ab`9J}iHR8Z7xRAm_yr>k<4 z>KCHym4o-I+H@LRGcw?!Ww{gq)aNU0J<%@?j+3$=Wc_qb>0Oj=VvLVHoMT!p$e%8t zUtK*m8?_U1Ob|kGUIJ?GzSitF)RLYaR2to*-vZhX!DXZ34>`2*F8g)aLD(9w82~!y z1Dh~eUjyoX^3SLm7H1YxZC;|GW1?#n(?~5y$r^HV&@yePIbc+^K8fiL90i17ALp_O7n(G^XjaElq|7rj`MGj%;+ILNyPMy8D!(_a zW03&G?<#*;8&$H5rQ>KhM`faDWGV`V$73hQ!_>2q_;%5S8P_|Q#&x5e7U;(BW~EbQ`Mm!FQh6~*C&5=4S_fsl^{+pz7K(I^;} zg%WDFqtlX5Pi?2gRXHsIC6m&ylRlFA0+fu3x0?8Cp)JWoaLZs5R4i*KD=5twj)Dmv zMHmngj3&FH=dsHrCx6Y)&Ce++Ez9J1K9O2Kg_35({$xM2J)D8V_tQd7w*aY{m{qiF zH3V4Q#3U2_p`A`CE!Fec|D#kKe=rBFj}9@`Ra95t>v}d3Z3MhPFAyrSB-&@XlB9c1 zwmBlv7zG#7{aBuX_UDsO!}%`a_b(rxMtUBHYAU3ocVuDz6w-2n(q!n|k&Hinm*5*l zA93bbm}>Gm!wG7KK4ir~TmjeR2Vp3HuI5JGwwuGQQ=XpPVP6~S7XA!7^M_(9X~fR& z(JIg)*4{;bk%0VwfK>XEjxf|ee>=5a0T=19XH#hvKTEk5o`qa^b5%|uo({eu_pL2; zfzSkPQ+m^%OD)Q^(>a%XA8q*?3&llee=fn4XAjQKL10!t`nuV)2pObi>9GAe9UYIQ zqWw`S8(NA^ZC3OgCm038_jAvRH}9$H(hBc0H9Ym5XVTj8Ia6mv%pl5Vx{^fxpJ#3& z!Pg(51^sY>?52$DU@sMpXlT(m>)cOS5h~Sq;7)C3S$?%rk`9r|SHJXQuC1PR#arol zRm?Vl?N`8c*+J-3z_BL;-*F}KsIemPXyY*H+zWmjdHrd;JMC+R^BT7;8NWW&2+FuGRK|5161g}i+!#q6?~V+Jn#a0Y&~iNBQM zonr;3%MykubJz;#G1b~J^-=h^ij${h^ZyFCF25xt*c4Z)K71aRxH>sI z+KjeR8jtc3ogXei*98a;O&y4u{4DII|D&9|GSV`Y*)QXu9~yTJYR0CUEQO+< z5RA)pxKAsxEDOHH87B5q0l#KLMgY757NIF(%!MW^6|Oif0G@uH_rr0Tr{gvC8j5oE zY|qikQ)D>>OtlPfJsk@t-%BC@>OE!o^nUtTfK+m=`-RJ&iqx0j%^Vz~ViC*Pt>cGD zsi>Wpfy%M;cWLdar{$Q2Es8Z(?~|J8>G)`P0?Ma<4S08kmKShR;n)Ey|Ig1y0w?%` z1D#jt=-FKYr#L)nccb``8}Z?A4m=0Dfqs!PE?Oq$ppv)Rv`}~8eWW6ayip(h%A4Y7 z6?0&p*AM{nVya}zLJg!95ZPlW^!T9NIWfJs}yOSBwEap zXbb16{8>~%T?gta;M_`!-cIXmqc|RqHR7I;V|-xw>!yjUl7biT`DHP1uS`J89aOMX zw)-dwGt(wr=~(*5`6#)qQNKf%<)LpQc(}#{p?w;zD;|U{(gvTM zc2T)?oi#YH{6~1>)(pHy>Um&FJSqrAD<@I)JX26JG20ZB+Dfq2-kpuo`~+0p9gn8R z=o>CfLHCAi`ioicE=)90A}zFr+O$zFp`v1R=zn_SqGt;~8VJKc?7ir&%3q3q9^HXi zNwn6n#@d_K=oHawMHA`RL6s1kFY>jE6A@gR4*T46G|~4fzlVyI%2fdi>Jg}Z8M_I% z#_37|&%g%+T#33QaSb%k627l9=9liKkJD`S8m!(BSN?UygHT0~RFO=LQ_PSC9I$<~ z61(pEI(CjpFf~Hdyh9lm)su%{@2GT?5s1~dXW~Or){@bw*fWxTB(-GqPh!#fLIwh> zvJhI60RM7oX!=nnxFC*kK`1#?mBD;3CQw6@CPvWJGXXJj!CjRo!ZDQ(tH25QqV72f zCN@_Ed0R-An>n7UOVhm~385vKRD$VfyjN|>;y7>dD4d*WEZy$0aj2TYx#ih|Dvl7g1Z3o9$O=81%n^v)tl*4ucU2A@U_a=M+@BWbB znizvR0!?9U2dOpdCl5vqC$)~EYFZ_vtGh#P8&!H3@{lFdTcJ4hKYFT2k*S=aQu-Jlu|jW+JbgI zE62wge@}U(MR`dk{iu<1dz7r_ApL$NV*%`XK8^JhDYc#>qFTOesuY- zjNQ+^t}7md+FCy4^1-M4Ia);1xd&z(N5tSg zl~|;8ltVAASw1$&^o%dcO~F1o_JvcEQ2zjb=cyzF77YYeT}xV&WBQfb=Miv}FbK~C z#K_04%3q6^MLQXT0O*>V1T3S{TSn?QD;q~2i^u+Zvgk$-Z1nevIBx=+6sHRCD(r6m zv+y?sXWdvEB;yWj1pkiF2m2|6JP%2P06gqNe7N3vBpS~A^_a|M8#?|*D za9|ggfmQL{^x|~4@`otsFY_Y!Dtz`bEfL zHo-(XL|0W)v!(END0uYWOwAfQCvxZL6zru1RAQ$}EvmzgjyP2MynvHmKRLrV`|8iP zgU{`|huT*=rc0CHdzt*-*`0m!caDEh8W~>}(XeIBL zj*LU`$OP;g9cMB^m0VCO;$UBv0Q>!}3To=8UL<7t$1E8bO# ziSMQC22pq?f#+Po@4q?*-sMAZ=$B+89Pct(z4}`dP&+cwR3O(bX9bza0Y29>Ap>=j z2BDIEymq&D=Oy5e1Y#AbXVH`|V*k2dBiM1=08LRX9FJBL=A4J-kgsvCqe{!LopoZ6hv?`H#W+%cwI|cq( zY4FeFB7G(v_NU`aFu7tvjqvsA#n@pgfq$~-5c_;Ye>W`Ql&;9MuCT>A?c-9hD7DHn zD;d5yN_R>&X;!Y8$&^GB`li@afmoo{A-oifYSRRlWYV|Jf%C;Iv_6-LV~;0b8^^qi z%C2T|B8qN{#V!JI@0d7L+@6N&A7!BA=0p@sO2e*c2}b$tx`oe^snp~q;pk1tsC+sX zD0qz%tVpU5PP&7zixo-pcFX>K`mawt2tBlXDljYn3W)At(3Ai~x4gx6i=&j3qUMn? zD4E_FORW2u1h}6}up&kt zRq2StPn2lDJQp!R-2_TlOvQm7QHWc|lkw=3b$i;f<_h+f$T~_~vj@QbLIyhcS#-9i ztQ2La*r|Y=^SON1tA(2SL8j2BPQam`Czw|0%7rus>tj=C^+@*##)5H4C?>-wxhow7 zRBqe&n)iP;0J}NnwFKV*K31z^reP^K_Q1cx{o5H=x5$$Zsk86=);eGY?5Z!byjD>G$90JQ#2sjxhXx(dn zLfS}LFKcF<^U;dsW}|UT7HV^8@x~{bqamH;Dg#2jABq%kO>maTBRZz_aq z*G?6jrMY+T_qGa@w-c22Qj0$vi&F%ZV__=1D`@#vaiP+mbg!i!Nq@3!Ar~`&d4h{s z3tALT^;06FZ=y*w>vk>@ZbKFpD`!#J7s}@6XQLmdQW3J=Ed-p(9EQWlybJjGY2m$# z;}KYviont=xaMb(dZ*#=Bk^dUB2xX9Jp`31cq@xvezm&X*5@Z<|CBUSV5(-4x*)}y zU1$YaADm2|ctX7C19607UjA*4W!~qo>$gwfl&2A|V%)zcLf<)tT_G&p~Ko4*cs>EI1Jz1m!7O6_u0!Bnejr_*+F3vW*rv zEV9UvA}gnofdXA%aRR!RkzOyQKe!;#_<7w+)8Hl5Y$t%5e#!CR_fsC{PL74C7dt+a z1Klh>^ZJ`hoz!o%usxM+ux)0?H8#W zmGRE0;&jUUvuhF+1M0DH(&$$BNIkoCAR!=HA&gztw0`QZPdy0Lp(sS4g+kWENQ{Cc zF8%6wE5<_c(6_L)oitWccZOoe0K z0EAXtYif>$Ru4d6Wj}PiMB4WWqBFMh5`rr%odSK2*yztmoc!6hC;?cJMc-}!K{pug z7jw||Y$}dFo`BlBXsHMueIFew?2vCq0G3iwRZYo64gG0L5>Yjt-=FkeRq-k~2C8{e zI*|&Bzh@P67K@0-Tf?&P(NAu~iA~RPE=Vh-EmiE3`qDy|6F~w`1u{d9E`+?=fRQCs zc}Fk095y)J>YDqXF&WElNEQqRge2cm3hwy9>Ovqbqj+BsDOP7N1Yji{_-bR24F zA*;q_kh=Cm*_i$)8%=*QH_n7vX~Rc=E~XW!y^sFnqoROGa4shhK0(||;?GZ1`MXCv ztCCNPcXf&pmAzL()+78p6+a?K2$XG99^3d?RjokvJ5}LL0rFB#_0zIYGexnS308S| zf>M-TotUc$Q~|M!fK|RW&^nK~cB#3i&T5@apd9f0C=)DxRwi9s$;D1vFRS=*AiN;I1Fg zXZbw#5ATN>0#e~rY93-T`Y8>hUTb$F z`>+(89GgN57mGh~@$DMj4?A+Ru{}QpcUTJPdxb?ikP=m0 zlN3|b0V`ZSQ4LZmCM2U`QVzkAMY_q)PUWB@o4qO&JT(&~)BBn4__01eKhJJTf&Lah zmyT@8>ED%)qAyM6P?VpJUHrX|X$94HvXBaz@wm==RKDewQ7uj6Yg zZj8bH?_}fHgnz-Qr4PYz;E!|z4$<(bfLFlyZ+}*Fx=1I3S8buL|MDOd26e>f53de^ zkvA4y;vIFgaam8<<+~^Vpm`UXH#~~MyZ#kN=sVVNfomslCoP<;g*GG(j*CSz!BlrE z7x!>d)DiKhx-A|RqY?}qRSQ+=fI)M^r0u=N++SN3FgWo}v z_0UfUY+5|gRaLt?#Lw0=IvEFUNx;FI_+9>)RP^@G;PASMXs%s_PIobUAu2ApcEp&* zkt2qq&VXroa2kXmzJS#9>U9-_TqItu7Z2Pn2bD9Ihc<15Ol{a0L=uvGINbkF=T_$G zCbbH+Akef6_H7%{H2*$SP5&lJf0%)a@6q}Zm`z;Bd-FsY6HWE-;wh5Yzo4i(HR!5BxRv`L`knEI{SRMA?we9CIk8Ijqs_EQ2>Y!Yi|-TnXqrraRM_v&>Ogf2qR^zsYQ+<7UA z#IO-y>P_cxQj0rGvrXf@2!LUba{V}U`Y+XPRu>g#sLDQiMJ|Tyq61Iew(pAJ)(uL9oXWLv|9AL!cs~r6qYj5$+9u} zS&v&%GD@$vL>URjy7gE|y`KReL9dM8*pX>!uuh zkozT+Je!O5t;-Q=FM_}OC=J~SLlk7~jBesT0cQ|ShZi;iO{aSPF8YG*w>j z%~`x&uVK7;T?HZhUIQ;<^|UEtHfF2`%qo!<_jG&E?zJ0V(Y#vEX%!KG_F%wjPpuUt zfJ)4Y>{(=G{{eik0=AXEK;1((Vb8>`VEeFa?7ETGh8DAALb^E;*-Kie^E8FWl@J8g zdCD#)-6KFEMdy$bb@!EsYKBFWQ&K%K^R%cIOU-y%Pg>+EQeK^XD*C6Ke?xMRe^Y+n z-tWg?JN?5Qqcc!?&sTBq$$vx3+_5;iX9EI__ZL^Tf645_KM6u-P zXaPF;YpQ!=9sEmt1h0?xef-U!HXQtXCtn**@r}E<;)15gF&}HLMt8-#aDKE3ZEw#; z%Y)y<;d{S^iu~(PaBCWN5D04KxoJJ)*={iRt~{BiacKi{7W` z)*cy7iaR{cNb#+-l$3^tM&S6&J7Iry7O;m3<7h2EXO{tqhUWD5=-NzT-etOiD*Fea#a3iaKsk z`jsMj%BSU^@<(4m5002ovPDHLkV1o9p?e+iw literal 0 HcmV?d00001 diff --git a/B4A/Files/amarillo.png b/B4A/Files/amarillo.png new file mode 100644 index 0000000000000000000000000000000000000000..44e8c49161021a549ecbbf32d1746dc5cbc0dbfd GIT binary patch literal 10753 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/blacnco.jpg b/B4A/Files/blacnco.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b44567b3be57689d94084b56147d3bd1e7271c0 GIT binary patch literal 5027 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 H#MA!*XDOt- literal 0 HcmV?d00001 diff --git a/B4A/Files/carrito.png b/B4A/Files/carrito.png new file mode 100644 index 0000000000000000000000000000000000000000..03889f677a4efd00995fc8da3043861424aa6a35 GIT binary patch literal 22596 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/checks.bal b/B4A/Files/checks.bal new file mode 100644 index 0000000000000000000000000000000000000000..eac2be3ba02d6ce55daa38ea6869594a52ee3b60 GIT binary patch literal 33830 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 NA%=o`AvZ0N`2S{EY777X literal 0 HcmV?d00001 diff --git a/B4A/Files/clientes.bal b/B4A/Files/clientes.bal new file mode 100644 index 0000000000000000000000000000000000000000..69852fed53c9bbe57c0ad64a1b5aa03c40258e84 GIT binary patch literal 6904 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 Lv=^d# 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