diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas
index 34e8d2a..cca7497 100644
--- a/B4A/C_Cliente.bas
+++ b/B4A/C_Cliente.bas
@@ -150,6 +150,7 @@ Sub Class_Globals
Dim pregunta7 As String
Dim bandera As Int
Dim errorImpresora As Int = 0
+ Dim cuest As C_Cuestionario
End Sub
Sub initialize
@@ -162,6 +163,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.RemoveAllViews
Root.LoadLayout("Cliente")
+ cuest.Initialize(Me, "cuest", Root, Starter.skmt)
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 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)")
If c.RowCount > 0 Then
@@ -385,6 +387,11 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub
Sub gest_Click
+ Log($"${cuest.encuestaIniciada} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$)
+ If Not(cuest.encuestaIniciada) And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then
+ cuest.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder"))
+ Return False
+ End If
' If la_cuenta.Text <> "0" Then
' Dim queenc As String
' ' 1=1 ----> si no esta en el historico que se descargue del web ver si esta contestada de manera local
@@ -463,6 +470,8 @@ Sub Tels_Click
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
+ cuest.encuestaIniciada = False
+ cuest.ocultPanelPregunta
If sv_encuesta.Visible = True Then
Return False
Else If Subs.hayPedido Then
@@ -1184,6 +1193,11 @@ Sub B_INV_Click
End Sub
Sub B_VENTA_Click
+ Log($"${cuest.encuestaIniciada} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$)
+ If Not(cuest.encuestaIniciada) And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then
+ cuest.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder"))
+ Return False
+ End If
' If la_cuenta.Text <> "0" Then
' Dim queenc As String
' ' 1=1 ----> si no esta en el historico que se descargue del web ver si esta contestada de manera local
@@ -1698,4 +1712,70 @@ End Sub
Private Sub rb_p7no_CheckedChange(Checked As Boolean)
pregunta7 = "No"
-End Sub
\ No newline at end of file
+End Sub
+
+
+Sub cuest_preguntaContestada(m As Map)
+' Recibimos el id de la pregunta, el id de la respuesta, el texto de la respuesta y el objeto del panelSombra para poder ocultarlo.
+ Log(m)
+' If q.IsInitialized Then Log($"${q.encuestaIniciada}|${q.preguntaActual}"$)
+' m.Get("panel").As(Panel).Visible = False 'Ocultamos el panel de la pregunta.
+ m.Get("panel").As(Panel).RemoveView 'Quitamos le panel de la pregunta
+ DateTime.DateFormat = "yyyyMMdd"
+ Starter.skmt.ExecNonQuery($"delete from CUESTIONARIO where Q_IDCLIENTE = '${Subs.traeCliente}' and Q_IDPREGUNTA = '${m.Get("idPregunta")}'"$)
+ Starter.skmt.ExecNonQuery($"insert into CUESTIONARIO (Q_IDCLIENTE, Q_IDPREGUNTA, Q_PREGUNTA, Q_IDRESPUESTA, Q_RESPUESTA, Q_FECHA) values ('${Subs.traeCliente}', '${m.Get("idPregunta")}', '${m.Get("pregunta")}', '${m.Get("idRespuesta")}', '${m.Get("respuesta")}', '${DateTime.Date(DateTime.now)}')"$)
+ Select Case m.Get("idPregunta")
+ Case "1"
+ If m.Get("respuesta") = "No, está enrejado o no se tiene acceso" Then
+ Log("Tiendajon / Ventana / Kiosko")
+ ToastMessageShow("Tiendajon / Ventana / Kiosko", False)
+ cuest.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
+ Else if m.Get("respuesta") = "Si se pude acceder" Then
+ cuest.agregaPregunta("2", "¿Tiene al menos 2 pasillos con acceso directo a la mercancía?", Array As String("Si tiene al menos 2 pasillos con acceso directo a la mercancía", "No tiene pasillos o solo uno central"))
+ End If
+ Case "2"
+ If m.Get("respuesta") = "Si tiene al menos 2 pasillos con acceso directo a la mercancía" Then
+ Log("Mini-Super")
+ ToastMessageShow("Mini-Super", False)
+ cuest.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
+ else If m.Get("respuesta") = "No tiene pasillos o solo uno central" Then
+ cuest.agregaPregunta("3", "¿Cuenta con enfriador horizontal para venta de perecederos como queso, jamon, crema, etc.?", Array As String("Si", "No tiene enfriador horizontal."))
+ End If
+ Case "3"
+ Log("|"&m.Get("respuesta")&"|")
+ If m.Get("respuesta") = "Si" Then
+ Log("Miscelanea")
+ ToastMessageShow("Miscelanea", False)
+ cuest.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
+ else If m.Get("respuesta") = "No tiene enfriador horizontal." Then
+ cuest.agregaPregunta("4", "¿El local esta enfocado a venta especializada?", Array As String("No", "Si"))
+ End If
+ Case "4"
+ If m.Get("respuesta") = "No" Then
+ Log("Abarrotera")
+ ToastMessageShow("Abarrotera", False)
+ cuest.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
+ else If m.Get("respuesta") = "Si" Then
+ cuest.agregaPregunta("5", "¿Cual venta especializada?", Array As String("Carnicería / Pollería", "Cremería", "Depósito / Vinateria", "Dulcería", "Farmacia", "Fonda / Restaurante / Cafetería", "Verdulería"))
+ End If
+ Case "5"
+ Log(m.Get("respuesta"))
+ ToastMessageShow(m.Get("respuesta"), False)
+' If m.Get("respuesta") = "No" Then
+' Log("Abarrotera")
+' q.agregaPregunta("5", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
+' else If m.Get("respuesta") = "Si" Then
+ cuest.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
+' End If
+ Case "6"
+ Log(m.Get("respuesta"))
+ ToastMessageShow(m.Get("respuesta"), False)
+ Log(">>>>>>>>>> " & cuest.encuestaIniciada)
+ cuest.encuestaIniciada = False
+ Log(">>>>>>>>>> " & cuest.encuestaIniciada)
+' refrescarCliente = True
+' Log($"#### REFRESCAR CLIENTE -> ${refrescarCliente}"$)
+ B4XPage_Appear
+' Case 6
+ End Select
+End Sub
diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas
index b15a08d..67a3b74 100644
--- a/B4A/C_Principal.bas
+++ b/B4A/C_Principal.bas
@@ -527,8 +527,8 @@ Sub Subir_Click
PASO = 1
'End If
-
- If PASO =1 Then
+
+ If PASO = 1 Then
E1=skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("ABORDO"))
E1.Position = 0
If E1.GetString("CUANTOS") > 0 Then
@@ -542,13 +542,11 @@ Sub Subir_Click
End If
E1.Close
-
-
c=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=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
c.Position =0
@@ -593,13 +591,11 @@ Sub Subir_Click
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_DUR"
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.ExecuteQuery(cmd , 0,"ins_pedidos")
-
Next
c.Close
End If
@@ -641,53 +637,21 @@ Sub Subir_Click
' c=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_DUR"
' cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"),l_ruta.Text )
' reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
-'
-'
' Next
-'
' End If
' c.Close
' ' PEDIO
skmt.ExecNonQuery("update PEDIDO set PE_FOLIO = rowid ")
- '
-' c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FOLIO"))
-' c.Position =0
- ' armafolio = l_ruta.text * 1000000
-' armafolio = armafolio + c.GetString("CAT_VA_VALOR")
-' c.Close
-' c=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_TIPO FROM PEDIDO WHERE PE_FOLIO IS NULL")
-'
-'
-' If c.RowCount>0 Then
-' For i=0 To c.RowCount -1
-' c.Position=i
-' skmt.ExecNonQuery2("update PEDIDO set PE_FOLIO = ? where PE_PROID = ? AND PE_CLIENTE =? AND PE_FECHA =? AND PE_FOLIO IS NULL ", Array As Object(armafolio, c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA")))
- '
-' armafolio = armafolio + 1
-'
-' Next
-' c.Close
-' End If
- ' armafolio = armafolio - (l_ruta.Text * 1000000)
- ' skmt.ExecNonQuery2("update CAT_VARIABLES set CAT_VA_VALOR = ? where CAT_VA_DESCRIPCION = ? ", Array As Object(armafolio,"FOLIO"))
-'
-' Dim cmd As DBCommand
-' cmd.Initialize
-' cmd.Name = "update_folio"
-' cmd.Parameters = Array As Object(armafolio,l_ruta.Text , "1")
-' reqManager.ExecuteQuery(cmd , 0, "folio")
If PERFIL = "V-ESPECIAL" Then
c=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=skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
@@ -765,7 +729,7 @@ Sub Subir_Click
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
d.Close
- ' NOVENTA HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR)
+ ' NOVENTA HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR)
c=skmt.ExecQuery("SELECT CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR from HIST_EXIBIDORES")
D=skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM HIST_EXIBIDORES")
@@ -785,7 +749,21 @@ Sub Subir_Click
d.Position=0
cuantos_exib = D.GetString("CUANTOS_NOVENTA")
d.Close
-
+
+ 'CUESTIONARIOS
+ c = 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_DUR"
+ 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
' VERIFICACION
' c=skmt.ExecQuery("SELECT HVE_CLIENTE, HVE_IDPROD, HVE_EXISTENCIA FROM HIST_VERIFICACION")
@@ -833,13 +811,10 @@ Sub Subir_Click
' Next
' End If
' c.Close
- ' DROP
-
-
+ ' DROP
t1.Initialize("T1", 20000) ' 1000 = 1 second
t1.Enabled = True
-
img2.Visible =True
' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
If S_CP.Text = "SUBIENDO" Then
@@ -1097,7 +1072,7 @@ Sub JobDone(Job As HttpJob)
LogColor($">>>>>> Llega ${Job.tag}"$, Colors.Blue)
If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then
reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag))
- LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue)
+' LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue)
End If
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue)
End If
@@ -1941,6 +1916,13 @@ Sub JobDone(Job As HttpJob)
' ToastMessageShow("LISTA DE PRECIOS OK LISTA DE PRECIOS OK", True)
End If
End If
+
+ If RESULT.Tag = "ins_cuestionario" Then 'query tag
+ Subs.logJobDoneResultados(RESULT)
+ End If
+
+
+
Job.Release
End If
End Sub
diff --git a/B4A/Durakelo.b4a b/B4A/Durakelo.b4a
index 139e65f..872b757 100644
--- a/B4A/Durakelo.b4a
+++ b/B4A/Durakelo.b4a
@@ -1367,31 +1367,32 @@ Library8=contentresolver
Library9=core
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~AddApplicationText(~\n~~\n~~\n~)~\n~AddManifestText()~\n~AddManifestText()~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~~\n~AddPermission(android.permission.ACCESS_FINE_LOCATION)~\n~AddPermission(android.permission.BLUETOOTH_ADVERTISE)~\n~AddPermission(android.permission.BLUETOOTH_CONNECT)~\n~AddPermission(android.permission.BLUETOOTH_SCAN)~\n~~\n~'/////////////// FLP y FBMessageing MOD Inicia /////////////////////~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.Crashlytics)~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'/////////////// FLP y FBMessageing MOD Termina /////////////////////~\n~~\n~'Si al cargar un mapa de google manda este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~AddApplicationText()~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~AddManifestText()~\n~~\n~'Para provider (Envio de base de datos por whatsapp)~\n~AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~ ~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~ AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~ AddPermission(android.permission.INTERNET)~\n~ AddPermission(android.permission.INSTALL_PACKAGES)~\n~ AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~ AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~ AddPermission(android.permission.READ_PHONE_STATE)~\n~ AddPermission(android.permission.WAKE_LOCK)~\n~ ~\n~ ~\n~
Module1=appUpdater
-Module10=C_Productos
-Module11=C_Promos
-Module12=C_TicketsDia
-Module13=C_UpdateAvailable
-Module14=DBRequestManager
-Module15=EscPosPrinter
-Module16=FileHandler
-Module17=FirebaseMessaging
-Module18=kms_helperSubs
-Module19=ManageExternalStorage
+Module10=C_Principal
+Module11=C_Productos
+Module12=C_Promos
+Module13=C_TicketsDia
+Module14=C_UpdateAvailable
+Module15=DBRequestManager
+Module16=EscPosPrinter
+Module17=FileHandler
+Module18=FirebaseMessaging
+Module19=kms_helperSubs
Module2=B4XMainPage
-Module20=MAPA_RUTAS
-Module21=Starter
-Module22=Subs
-Module23=Tracker
+Module20=ManageExternalStorage
+Module21=MAPA_RUTAS
+Module22=Starter
+Module23=Subs
+Module24=Tracker
Module3=BatteryUtilities
Module4=C_Cliente
Module5=C_Clientes
-Module6=C_Historico
-Module7=C_Nota
-Module8=C_NoVenta
-Module9=C_Principal
+Module6=C_Cuestionario
+Module7=C_Historico
+Module8=C_Nota
+Module9=C_NoVenta
NumberOfFiles=667
NumberOfLibraries=31
-NumberOfModules=23
+NumberOfModules=24
Version=12.5
@EndOfDesignText@
#Region Project Attributes
diff --git a/B4A/Durakelo.b4a.meta b/B4A/Durakelo.b4a.meta
index b202467..790ca4b 100644
--- a/B4A/Durakelo.b4a.meta
+++ b/B4A/Durakelo.b4a.meta
@@ -15,6 +15,7 @@ ModuleBookmarks20=
ModuleBookmarks21=
ModuleBookmarks22=
ModuleBookmarks23=
+ModuleBookmarks24=
ModuleBookmarks3=
ModuleBookmarks4=
ModuleBookmarks5=
@@ -39,6 +40,7 @@ ModuleBreakpoints20=
ModuleBreakpoints21=
ModuleBreakpoints22=
ModuleBreakpoints23=
+ModuleBreakpoints24=
ModuleBreakpoints3=
ModuleBreakpoints4=
ModuleBreakpoints5=
@@ -48,8 +50,8 @@ ModuleBreakpoints8=
ModuleBreakpoints9=
ModuleClosedNodes0=
ModuleClosedNodes1=
-ModuleClosedNodes10=1,7,35,36,37,38,39,40,41,42
-ModuleClosedNodes11=
+ModuleClosedNodes10=1
+ModuleClosedNodes11=1,7,35,36,37,38,39,40,41,42
ModuleClosedNodes12=
ModuleClosedNodes13=
ModuleClosedNodes14=
@@ -60,9 +62,10 @@ ModuleClosedNodes18=
ModuleClosedNodes19=
ModuleClosedNodes2=3,6,7,19
ModuleClosedNodes20=
-ModuleClosedNodes21=1
-ModuleClosedNodes22=10,12,14,58
-ModuleClosedNodes23=
+ModuleClosedNodes21=
+ModuleClosedNodes22=1
+ModuleClosedNodes23=10,12,14,58
+ModuleClosedNodes24=
ModuleClosedNodes3=
ModuleClosedNodes4=
ModuleClosedNodes5=
@@ -70,6 +73,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
-NavigationStack=C_Principal,trabajar_Click,448,0,C_Principal,B4XPage_Appear,432,0,C_Cliente,B_INV_Click,1157,0,C_Principal,Class_Globals,0,0,B4XMainPage,B4XPage_Created,151,0,C_Principal,cargar_Click,926,0,C_Principal,JobDone,1237,0,C_Cliente,Class_Globals,0,0,C_Cliente,B_VENTA_Click,1244,6,C_Cliente,gest_Click,446,0
+NavigationStack=Subs,revisaRMIs,1444,0,C_Cuestionario,agregaPregunta,90,4,C_Cliente,gest_Click,382,0,C_Cliente,GPS_LocationChanged,377,0,C_Cliente,ListView1_ItemLongClick,379,0,C_Principal,cargar_Click,1080,0,C_Principal,Class_Globals,0,0,C_Principal,B4XPage_Created,168,0,C_Principal,Subir_Click,750,6,C_Principal,JobDone,1073,3
SelectedBuild=0
-VisibleModules=1,2,3,4,5,6,7,8,9,10
+VisibleModules=1,2,10,3,4,5,7,8,9,11,6,23
diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal
index 45b3de6..3ef5f4a 100644
Binary files a/B4A/Files/cliente.bal and b/B4A/Files/cliente.bal differ
diff --git a/B4A/Subs.bas b/B4A/Subs.bas
index ac4376e..2969997 100644
--- a/B4A/Subs.bas
+++ b/B4A/Subs.bas
@@ -1447,4 +1447,14 @@ Sub revisaRMIs(clienteId As String) As Boolean 'ignore
End If
End If
Return validos
+End Sub
+
+'Muestra en el Log los campos y valores que regresan en el JobDone.
+Sub logJobDoneResultados(resultado As DBResult)
+ For Each records() As Object In resultado.Rows
+ LogColor($"====== ${resultado.Tag} - REGISTROS = ${resultado.Rows.Size}"$, Colors.RGB(215,37,0))
+ For Each k As String In resultado.Columns.Keys
+ LogColor(k & " = " & records(resultado.Columns.Get(k)), Colors.RGB(215,37,0))
+ Next
+ Next
End Sub
\ No newline at end of file