B4A=true Group=Default Group ModulesStructureVersion=1 Type=Class Version=12.8 @EndOfDesignText@ Sub Class_Globals Private Root As B4XView 'ignore Private xui As XUI 'ignore Dim reqManager As DBRequestManager Dim cmd As DBCommand Dim b, c, d As Cursor Dim usuario, almacen As String Dim enviando As Boolean = False Dim validando As Boolean = False Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String End Sub 'Initializes the object. You can add parameters to this method if needed. Public Sub Initialize reqManager.Initialize(Me, "http://keymon.net:1781") Return Me End Sub Sub envia enviando = True ' carga = "SUBIR" ' p_mandaInfo.Width = Root.Width ' p_mandaInfo.Height = Root.Height ' P1.Visible = True ' P1.Left = (p_mandaInfo.Width/2) - (P1.Width/2) ' P1.top = (p_mandaInfo.Height/2) - (P1.Height/2) ' p_mandaInfo.Visible = True ' P1.BringToFront ' p_mandaInfo.BringToFront ' 'trabajar.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 'c=skmt.ExecQuery("SELECT sum(IFNULL(PE_DESC,0)) as DESCUENTO FROM PEDIDO") 'c.Position =0 'If c.GetString("DESCUENTO") > 0 And PASO = 0 Then 'P1.Visible = True 'ELSE IF c.GetString("DESCUENTO") = 0 Then paso = 1 'End If If paso = 1 Then B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") c.Position = 0 usuario = c.GetString("USUARIO") c.Close ' c=B4XPages.MainPage.skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS") ' If c.RowCount>0 Then ' For i=0 To c.RowCount -1 ' c.Position=i ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name = "UPDATE_IZCA_ACTUAL2_GPS" ' cmd.Parameters = Array As String(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,B4XPages.MainPage.batt,0, 0, 0,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa ) ' reqManager.ExecuteCommand(cmd , "update_gps") ' Next ' End If ' c.Close ' ENVIO DE LOS CODIGOS QR ' 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) ' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) ' If c.RowCount>0 Then ' For i=0 To c.RowCount -1 ' c.Position=i ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name = "insert_QR_2_IZCA" ' cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),ALMACEN,l_ruta.text ) ' reqManager.ExecuteCommand(cmd , "ins_QR") ' Next ' End If ' c.Close ' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO, CAT_CL_CODIGO, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO IS NOT NULL") ' If c.RowCount>0 Then ' For i=0 To c.RowCount -1 ' c.Position=i ' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) ' 's.Position =0 ' foto1 = c.GetBlob("CAT_CL_FOTO") ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name = "insert_QR_IZCA" ' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),ALMACEN,l_ruta.text ) ' reqManager.ExecuteCommand(cmd , "ins_QR") ' Next ' End If ' c.Close ' 'Envio de Pagares ' c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PAGARES") ' If c.RowCount>0 Then ' For i=0 To c.RowCount -1 ' c.Position=i ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name = "insert_pagares_IZCA" ' cmd.Parameters = Array As Object(C.GetString("PA_ALMACEN"),Subs.traeRuta2(c.GetString("PA_CLIENTE")),C.GetString("PA_FECHA"),C.GetString("PA_CAPTURA"),C.GetString("PA_MONTO"),C.GetString("PA_USUARIO"),C.GetString("PA_CLIENTE") ) ' reqManager.ExecuteCommand(cmd , "ins_pagares") ' Next ' End If ' c.Close ' ' 'ABONOS ' Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$) ' Log(ab.RowCount) ' If ab.RowCount > 0 Then ' For i=0 To ab.RowCount -1 ' ab.Position = i ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name = "insert_abono_IZCA" ' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),ALMACEN ) ' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) ' Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) ' Next ' End If ' ab.Close ' CLIENTES NUEVOS ' Dim fotocn() As Byte ' Dim Dirp As String = File.DirInternal ' Dim Dir As String ' Dim Dir2 As String ' Dir = "/promotoriakmts" c=B4XPages.MainPage.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO, CN_CP FROM CLIENTES_NUEVOS") If c.RowCount>0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim dia As Int = DateTime.GetDayOfWeek(DateTime.Now) If dia = 2 Then Dim dialetra As String = "LUNES" Else If dia = 3 Then Dim dialetra As String = "MARTES" Else If dia = 4 Then Dim dialetra As String = "MIERCOLES" Else If dia = 5 Then Dim dialetra As String = "JUEVES" Else If dia = 6 Then Dim dialetra As String = "VIERNES" Else If dia = 7 Then Dim dialetra As String = "SABADO" End If Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_clientesnuevos_IZCA4" Log(c.GetString("CN_ID")&" ,"& c.GetString("CN_FECHA")&" ,"& c.GetString("CN_USER")&" ,"& c.GetString("CN_LAT")&" ,"& c.GetString("CN_LON")&" ,"& c.GetString("CN_NOMBRE")&" ,"& c.GetString("CN_DIRECCION")&" ,"&almacen& c.GetString("CN_RUTA")&" ,"& "En espera"&c.GetString("CN_GIRO")&" ,"&dialetra& c.GetString("CN_SOLICITA")&" ,"& c.GetString("CN_COLONIA")&" ,"& c.GetString("CN_TELEFONO")) cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),almacen, c.GetString("CN_RUTA"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"), c.GetString("CN_CP")) reqManager.ExecuteCommand(cmd , "inst_clientesn") Next End If c.Close ' c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") ' 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_INTMEX" ' cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) ' reqManager.ExecuteCommand(cmd , "inst_noventa") ' Next ' End If ' c.Close ' PEDIDO_CLIENTE Dim PCNoArts As String Dim PCMonto As String c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> '1' ") d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 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_pedidos_IZCA" PCNoArts = c.GetString("PC_NOART") PCMonto = c.GetString("PC_MONTO") 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, Subs.traeRuta2(c.GetString("PC_CLIENTE")), c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA")) reqManager.ExecuteCommand(cmd , "ins_pedidos") Log(">>>>>> INSERT PEDIDO_CLIENTE") Next End If c.Close d.Position = 0 cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC") d.Close ' PEDIDO c = B4XPages.MainPage.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_CANTC, PE_BCAJAS FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'") d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pedido5_IZCA" 'CON TOTALES INCLUIDOS ' Log(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")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& ALMACEN) If c.GetString("PE_FOLIO") = "PREVENTA_CONTADO" Then 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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",0) Else If c.GetString("PE_FOLIO") = "PREVENTA_CREDITO" Then 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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",1) Else If c.GetString("PE_FOLIO") = "ABORDO" Then 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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"ABORDO",0) Else If c.GetString("PE_FOLIO") = "RECARGA" Then 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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"RECARAGA",0) Else 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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"VENTA",0) End If reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$) Next End If c.Close d.Position=0 cuantos_pedido = D.GetString("CUANTOS_PEDIDO") d.Close ' NOVENTA c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") 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_IZCA" 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, Subs.traeRuta2(c.GetString("NV_CLIENTE"))) reqManager.ExecuteCommand(cmd , "inst_noventa") Next End If c.Close d.Position=0 cuantos_noventa = D.GetString("CUANTOS_NOVENTA") d.Close ' GEO CERCA c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") If c.RowCount>0 Then For i=0 To c.RowCount -1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_geocerca_IZCA" cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) reqManager.ExecuteCommand(cmd , "inst_noventa") Next End If c.Close ' Cambio ubicaciones c=B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_LAT, CAT_CL_LONG, CAT_CL_CODIGO, CAT_CL_BCOORDENADAS from kmt_info3 where CAT_CL_BCOORDENADAS <> 0") If c.RowCount>0 Then For i=0 To c.RowCount -1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "update_coordenadas_IZCA" cmd.Parameters = Array As Object(C.GetString("CAT_CL_LAT"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_BCOORDENADAS"),C.GetString("CAT_CL_CODIGO"),almacen,Subs.traeRuta2(C.GetString("CAT_CL_CODIGO"))) reqManager.ExecuteCommand(cmd , "up_coordenadas") Next End If c.Close 'TABULADOR c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS") d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") ' f = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") d.Position = 0 b.Position = 0 ' f.Position = 0 If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position=i Dim cmd As DBCommand Dim sDate,sTime As String DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) ' Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) ' Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) ' Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0) cmd.Initialize cmd.Name = "insert_tabulador_monedas_IZCA2" cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),sDate, "PREVENTA") reqManager.ExecuteCommand(cmd , "ins_tabulador_mon") Next c.Close d.Close b.Close ' f.Close End If c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES") d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") ' f = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") d.Position = 0 b.Position = 0 ' f.Position = 0 If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position=i Dim cmd As DBCommand DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) ' Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) ' Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) ' Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0) cmd.Initialize cmd.Name = "insert_tabulador_billetes_IZCA2" cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),sDate, "PREVENTA") reqManager.ExecuteCommand(cmd , "ins_tabulador_bill") Next c.Close d.Close b.Close ' f.Close End If 'FIN TABULADOR ' DROP ' t1.Initialize("T1", 30000) ' 1000 = 1 second ' t1.Enabled = True ' Dim sDate,sTime As String ' DateTime.DateFormat = "MM/dd/yyyy" ' sDate=DateTime.Date(DateTime.Now) ' sTime=DateTime.Time(DateTime.Now) ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name ="insert_drop_IZCA" ' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen,Application.VersionName) ' reqManager.ExecuteCommand(cmd , "inst_noventa") ' img2.Visible =True ' porcentaje = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) '' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) ' 'CUESTIONARIOS ' c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$) ' Private rutaActual As String = Subs.traeRuta ' If c.RowCount > 0 Then ' For x = 0 To c.RowCount - 1 ' c.Position = x ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name = "insert_CUESTIONARIO_INTMEX" ' cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, ALMACEN, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA")) ' reqManager.ExecuteCommand(cmd , "ins_cuestionario") ' Next ' End If ' c.Close ' c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 01") ' If c.RowCount > 0 Then ' For i = 0 To c.RowCount - 1 ' c.Position = i ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name = "select_piezas_IZCA" ' cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), ALMACEN,l_ruta.Text) ' userpiezas = c.GetString("PC_CLIENTE") ' reqManager.ExecuteQuery(cmd , 0, "piezas") ' Next ' ' End If End If End Sub Sub valida cmd.Initialize cmd.Name = "select_cuantos_pedido_IZCA" cmd.Parameters = Array As Object(almacen, Subs.traeRuta) reqManager.ExecuteQuery(cmd , 0, "valida_pedido") cmd.Initialize cmd.Name = "select_cuantos_noventa_IZCA" cmd.Parameters = Array As Object(almacen, Subs.traeRuta) reqManager.ExecuteQuery(cmd , 0, "valida_noventa") cmd.Initialize cmd.Name = "select_cuantos_pedidoc_IZCA" cmd.Parameters = Array As Object(almacen, Subs.traeRuta) 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 ' Nuevo método para inicializar el manager con el Target correcto Public Sub ConfigurarYEnviar(ServidorURL As String) ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. reqManager.Initialize(Me, ServidorURL) envia ' Llama a la función de envío original de C_Intmex End Sub Sub JobDone(Job As HttpJob) Log("JOBDONE - " & almacen) ' 1. Tachamos el request de la lista If reqManager.reqsList.IsInitialized Then Dim index As Int = reqManager.reqsList.IndexOf(Job.tag) If index <> -1 Then reqManager.reqsList.RemoveAt(index) End If If Not(Job.Success) Then LogColor("Error en red: " & Job.tag & " : " & Subs.parseHTTPError(Job.ErrorMessage), Colors.Red) Else ' 2. Procesamos validaciones Dim RESULT As DBResult = reqManager.HandleJob(Job) If Job.JobName = "DBRequest" Then If RESULT.Tag = "valida_pedido" Then Subs.logJobDoneResultados(RESULT) For Each records() As Object In RESULT.Rows Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP")) B4XPages.MainPage.l_vProds2.Text = $"${CUANTOSP}/${cuantos_pedido}"$ ' Mantenemos tu lógica permisiva If cuantos_pedido <= CUANTOSP Then datos_iguales = "ok" Else LogColor("Faltan pedidos. Envíe nuevamente: " & CUANTOSP & "/" & cuantos_pedido, Colors.Red) End If Next Else If RESULT.Tag = "valida_pedidoc" Then Subs.logJobDoneResultados(RESULT) For Each records() As Object In RESULT.Rows Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC")) B4XPages.MainPage.l_vPedidos2.Text = $"${CUANTOSC}/${cuantos_pedidosc}"$ Next Else If RESULT.Tag = "valida_noventa" Then Subs.logJobDoneResultados(RESULT) For Each records() As Object In RESULT.Rows Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN")) B4XPages.MainPage.l_vNoVenta2.Text = $"${CUANTOSN}/${cuantos_noventa}"$ Next End If End If End If Job.Release ' 3. Control de flujo seguro If reqManager.reqsList.size = 0 Then B4XPages.MainPage.p_progressDialog.Visible = False If enviando Then enviando = False B4XPages.MainPage.l_progressDialog.Text = "Validando " B4XPages.MainPage.p_progressDialog.Visible = True Sleep(200) valida Else If validando Then validando = False Sleep(300) B4XPages.MainPage.p_validacion.Visible = True End If End If End Sub