Codigo de Cuestionario

This commit is contained in:
2024-02-01 20:16:55 -06:00
parent e6cea606e6
commit 51dccb881d
6 changed files with 149 additions and 73 deletions

View File

@@ -150,6 +150,7 @@ Sub Class_Globals
Dim pregunta7 As String Dim pregunta7 As String
Dim bandera As Int Dim bandera As Int
Dim errorImpresora As Int = 0 Dim errorImpresora As Int = 0
Dim cuest As C_Cuestionario
End Sub End Sub
Sub initialize Sub initialize
@@ -162,6 +163,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1 Root = Root1
Root.RemoveAllViews Root.RemoveAllViews
Root.LoadLayout("Cliente") 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)") 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)") 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 If c.RowCount > 0 Then
@@ -385,6 +387,11 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub End Sub
Sub gest_Click 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 ' If la_cuenta.Text <> "0" Then
' Dim queenc As String ' Dim queenc As String
' ' 1=1 ----> si no esta en el historico que se descargue del web ver si esta contestada de manera local ' ' 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 End Sub
Private Sub B4XPage_CloseRequest As ResumableSub Private Sub B4XPage_CloseRequest As ResumableSub
cuest.encuestaIniciada = False
cuest.ocultPanelPregunta
If sv_encuesta.Visible = True Then If sv_encuesta.Visible = True Then
Return False Return False
Else If Subs.hayPedido Then Else If Subs.hayPedido Then
@@ -1184,6 +1193,11 @@ Sub B_INV_Click
End Sub End Sub
Sub B_VENTA_Click 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 ' If la_cuenta.Text <> "0" Then
' Dim queenc As String ' Dim queenc As String
' ' 1=1 ----> si no esta en el historico que se descargue del web ver si esta contestada de manera local ' ' 1=1 ----> si no esta en el historico que se descargue del web ver si esta contestada de manera local
@@ -1699,3 +1713,69 @@ End Sub
Private Sub rb_p7no_CheckedChange(Checked As Boolean) Private Sub rb_p7no_CheckedChange(Checked As Boolean)
pregunta7 = "No" pregunta7 = "No"
End Sub 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

View File

@@ -528,7 +528,7 @@ Sub Subir_Click
PASO = 1 PASO = 1
'End If '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=skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("ABORDO"))
E1.Position = 0 E1.Position = 0
If E1.GetString("CUANTOS") > 0 Then If E1.GetString("CUANTOS") > 0 Then
@@ -542,8 +542,6 @@ Sub Subir_Click
End If End If
E1.Close E1.Close
c=skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) c=skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
c.Position =0 c.Position =0
PERFIL = c.GetString("CUANTOS") PERFIL = c.GetString("CUANTOS")
@@ -593,13 +591,11 @@ Sub Subir_Click
If c.RowCount>0 Then If c.RowCount>0 Then
For i=0 To c.RowCount -1 For i=0 To c.RowCount -1
c.Position=i c.Position=i
Dim cmd As DBCommand Dim cmd As DBCommand
cmd.Initialize cmd.Initialize
cmd.Name = "insert_pedidos_DUR" 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") ) 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") reqManager.ExecuteQuery(cmd , 0,"ins_pedidos")
Next Next
c.Close c.Close
End If End If
@@ -641,53 +637,21 @@ Sub Subir_Click
' c=skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") ' c=skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
' ' S_CP.Text = "Envio Encuesta" ' ' S_CP.Text = "Envio Encuesta"
' ' PB2.Progress = 1 ' ' PB2.Progress = 1
'
' If c.RowCount>0 Then ' If c.RowCount>0 Then
' For i=0 To c.RowCount -1 ' For i=0 To c.RowCount -1
' c.Position=i ' c.Position=i
'
' Dim cmd As DBCommand ' Dim cmd As DBCommand
' cmd.Initialize ' cmd.Initialize
' cmd.Name = "insert_encuesta_DUR" ' 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 ) ' 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") ' reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
'
'
' Next ' Next
'
' End If ' End If
' c.Close ' c.Close
' ' PEDIO ' ' PEDIO
skmt.ExecNonQuery("update PEDIDO set PE_FOLIO = rowid ") 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 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") 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") d=skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
@@ -765,7 +729,7 @@ Sub Subir_Click
cuantos_noventa = D.GetString("CUANTOS_NOVENTA") cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
d.Close 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") 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") D=skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM HIST_EXIBIDORES")
@@ -786,6 +750,20 @@ Sub Subir_Click
cuantos_exib = D.GetString("CUANTOS_NOVENTA") cuantos_exib = D.GetString("CUANTOS_NOVENTA")
d.Close 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 ' VERIFICACION
' c=skmt.ExecQuery("SELECT HVE_CLIENTE, HVE_IDPROD, HVE_EXISTENCIA FROM HIST_VERIFICACION") ' c=skmt.ExecQuery("SELECT HVE_CLIENTE, HVE_IDPROD, HVE_EXISTENCIA FROM HIST_VERIFICACION")
@@ -833,13 +811,10 @@ Sub Subir_Click
' Next ' Next
' End If ' End If
' c.Close ' c.Close
' DROP ' DROP
t1.Initialize("T1", 20000) ' 1000 = 1 second t1.Initialize("T1", 20000) ' 1000 = 1 second
t1.Enabled = True t1.Enabled = True
img2.Visible =True img2.Visible =True
' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) ' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
If S_CP.Text = "SUBIENDO" Then If S_CP.Text = "SUBIENDO" Then
@@ -1097,7 +1072,7 @@ Sub JobDone(Job As HttpJob)
LogColor($">>>>>> Llega ${Job.tag}"$, Colors.Blue) LogColor($">>>>>> Llega ${Job.tag}"$, Colors.Blue)
If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then
reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag))
LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) ' LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue)
End If End If
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue)
End If End If
@@ -1941,6 +1916,13 @@ Sub JobDone(Job As HttpJob)
' ToastMessageShow("LISTA DE PRECIOS OK LISTA DE PRECIOS OK", True) ' ToastMessageShow("LISTA DE PRECIOS OK LISTA DE PRECIOS OK", True)
End If End If
End If End If
If RESULT.Tag = "ins_cuestionario" Then 'query tag
Subs.logJobDoneResultados(RESULT)
End If
Job.Release Job.Release
End If End If
End Sub End Sub

View File

@@ -1367,31 +1367,32 @@ Library8=contentresolver
Library9=core 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~<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\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~<meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>~\n~<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />~\n~)~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="33" />)~\n~AddManifestText(<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />)~\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(<uses-library android:name="org.apache.http.legacy" android:required="false"/>)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~AddManifestText(<queries><package android:name="com.google.android.apps.maps" /></queries>)~\n~~\n~'Para provider (Envio de base de datos por whatsapp)~\n~AddApplicationText(~\n~ <provider android:name="android.support.v4.content.FileProvider" android:authorities="$PACKAGE$.provider" android:exported="false" android:grantUriPermissions="true">~\n~ <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/>~\n~ </provider>~\n~ )~\n~CreateResource(xml, provider_paths,~\n~ <paths>~\n~ <external-files-path name="name" path="" />~\n~ <files-path name="name" path="" />~\n~ <files-path name="name" path="shared" />~\n~ </paths>~\n~ )~\n~ ~\n~ AddManifestText(<uses-permission~\n~ android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~ android:maxSdkVersion="18" />~\n~ )~\n~ AddApplicationText(~\n~ <provider~\n~ android:name="android.support.v4.content.FileProvider"~\n~ android:authorities="$PACKAGE$.provider"~\n~ android:exported="false"~\n~ android:grantUriPermissions="true">~\n~ <meta-data~\n~ android:name="android.support.FILE_PROVIDER_PATHS"~\n~ android:resource="@xml/provider_paths"/>~\n~ </provider>~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ <paths>~\n~ <external-files-path name="name" path="" />~\n~ <files-path name="name" path="" />~\n~ <files-path name="name" path="shared" />~\n~ </paths>~\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~ 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~<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\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~<meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>~\n~<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />~\n~)~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="33" />)~\n~AddManifestText(<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />)~\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(<uses-library android:name="org.apache.http.legacy" android:required="false"/>)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~AddManifestText(<queries><package android:name="com.google.android.apps.maps" /></queries>)~\n~~\n~'Para provider (Envio de base de datos por whatsapp)~\n~AddApplicationText(~\n~ <provider android:name="android.support.v4.content.FileProvider" android:authorities="$PACKAGE$.provider" android:exported="false" android:grantUriPermissions="true">~\n~ <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/>~\n~ </provider>~\n~ )~\n~CreateResource(xml, provider_paths,~\n~ <paths>~\n~ <external-files-path name="name" path="" />~\n~ <files-path name="name" path="" />~\n~ <files-path name="name" path="shared" />~\n~ </paths>~\n~ )~\n~ ~\n~ AddManifestText(<uses-permission~\n~ android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~ android:maxSdkVersion="18" />~\n~ )~\n~ AddApplicationText(~\n~ <provider~\n~ android:name="android.support.v4.content.FileProvider"~\n~ android:authorities="$PACKAGE$.provider"~\n~ android:exported="false"~\n~ android:grantUriPermissions="true">~\n~ <meta-data~\n~ android:name="android.support.FILE_PROVIDER_PATHS"~\n~ android:resource="@xml/provider_paths"/>~\n~ </provider>~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ <paths>~\n~ <external-files-path name="name" path="" />~\n~ <files-path name="name" path="" />~\n~ <files-path name="name" path="shared" />~\n~ </paths>~\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 Module1=appUpdater
Module10=C_Productos Module10=C_Principal
Module11=C_Promos Module11=C_Productos
Module12=C_TicketsDia Module12=C_Promos
Module13=C_UpdateAvailable Module13=C_TicketsDia
Module14=DBRequestManager Module14=C_UpdateAvailable
Module15=EscPosPrinter Module15=DBRequestManager
Module16=FileHandler Module16=EscPosPrinter
Module17=FirebaseMessaging Module17=FileHandler
Module18=kms_helperSubs Module18=FirebaseMessaging
Module19=ManageExternalStorage Module19=kms_helperSubs
Module2=B4XMainPage Module2=B4XMainPage
Module20=MAPA_RUTAS Module20=ManageExternalStorage
Module21=Starter Module21=MAPA_RUTAS
Module22=Subs Module22=Starter
Module23=Tracker Module23=Subs
Module24=Tracker
Module3=BatteryUtilities Module3=BatteryUtilities
Module4=C_Cliente Module4=C_Cliente
Module5=C_Clientes Module5=C_Clientes
Module6=C_Historico Module6=C_Cuestionario
Module7=C_Nota Module7=C_Historico
Module8=C_NoVenta Module8=C_Nota
Module9=C_Principal Module9=C_NoVenta
NumberOfFiles=667 NumberOfFiles=667
NumberOfLibraries=31 NumberOfLibraries=31
NumberOfModules=23 NumberOfModules=24
Version=12.5 Version=12.5
@EndOfDesignText@ @EndOfDesignText@
#Region Project Attributes #Region Project Attributes

View File

@@ -15,6 +15,7 @@ ModuleBookmarks20=
ModuleBookmarks21= ModuleBookmarks21=
ModuleBookmarks22= ModuleBookmarks22=
ModuleBookmarks23= ModuleBookmarks23=
ModuleBookmarks24=
ModuleBookmarks3= ModuleBookmarks3=
ModuleBookmarks4= ModuleBookmarks4=
ModuleBookmarks5= ModuleBookmarks5=
@@ -39,6 +40,7 @@ ModuleBreakpoints20=
ModuleBreakpoints21= ModuleBreakpoints21=
ModuleBreakpoints22= ModuleBreakpoints22=
ModuleBreakpoints23= ModuleBreakpoints23=
ModuleBreakpoints24=
ModuleBreakpoints3= ModuleBreakpoints3=
ModuleBreakpoints4= ModuleBreakpoints4=
ModuleBreakpoints5= ModuleBreakpoints5=
@@ -48,8 +50,8 @@ ModuleBreakpoints8=
ModuleBreakpoints9= ModuleBreakpoints9=
ModuleClosedNodes0= ModuleClosedNodes0=
ModuleClosedNodes1= ModuleClosedNodes1=
ModuleClosedNodes10=1,7,35,36,37,38,39,40,41,42 ModuleClosedNodes10=1
ModuleClosedNodes11= ModuleClosedNodes11=1,7,35,36,37,38,39,40,41,42
ModuleClosedNodes12= ModuleClosedNodes12=
ModuleClosedNodes13= ModuleClosedNodes13=
ModuleClosedNodes14= ModuleClosedNodes14=
@@ -60,9 +62,10 @@ ModuleClosedNodes18=
ModuleClosedNodes19= ModuleClosedNodes19=
ModuleClosedNodes2=3,6,7,19 ModuleClosedNodes2=3,6,7,19
ModuleClosedNodes20= ModuleClosedNodes20=
ModuleClosedNodes21=1 ModuleClosedNodes21=
ModuleClosedNodes22=10,12,14,58 ModuleClosedNodes22=1
ModuleClosedNodes23= ModuleClosedNodes23=10,12,14,58
ModuleClosedNodes24=
ModuleClosedNodes3= ModuleClosedNodes3=
ModuleClosedNodes4= ModuleClosedNodes4=
ModuleClosedNodes5= ModuleClosedNodes5=
@@ -70,6 +73,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= 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 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

Binary file not shown.

View File

@@ -1448,3 +1448,13 @@ Sub revisaRMIs(clienteId As String) As Boolean 'ignore
End If End If
Return validos Return validos
End Sub 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