diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas
index ec4f211..18ec3c7 100644
--- a/B4A/B4XMainPage.bas
+++ b/B4A/B4XMainPage.bas
@@ -26,6 +26,7 @@ Sub Class_Globals
' Dim rp As RuntimePermissions
Private xui As XUI
Public login As B4XMainPage
+ Dim ime As IME
Public principal As C_Principal
Public clientes As C_Clientes
Public cliente As C_Cliente
@@ -77,6 +78,12 @@ Sub Class_Globals
Dim q As C_Cuestionario
' Private bAceptarPregunta As Button
' Dim encuestaIniciada As Boolean = False
+ Private b_mandaUsrs As Button
+ Private p_importarBDWA As Panel
+ Private cb_importarBDWA As CheckBox
+ Dim subirClientes As Int = 0
+ Private p_avanceSubirUsrs As Panel
+ Private l_avanceSubirUsrs As Label
End Sub
Public Sub Initialize
@@ -184,6 +191,10 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Log(LastException)
End Try
End Try
+
+ 'Revisamos si se disparo el intent de cargar la base de datos desde WhatApp.
+ If Subs.traeUsarIntentBDWA Then Subs.importaBDDesdeWhatsApp
+
c=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ")
C.Position = 0
If c.GetString("CUANTOS") = 0 Then
@@ -214,6 +225,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End Sub
Sub B4XPage_Appear
+
+ 'Revisamos si se disparo el intent de cargar la base de datos desde WhatApp.
+ If Subs.traeUsarIntentBDWA Then
+ Log(111)
+ Subs.importaBDDesdeWhatsApp
+ End If
+
LogColor("Revisa permisos Location", Colors.Green)
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
@@ -371,6 +389,7 @@ End Sub
Sub JobDone(Job As HttpJob)
Log(Job.Success)
If Job.Success = False Then
+ LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
ToastMessageShow("Error: " & Job.ErrorMessage, True)
' LogColor("Error: " & Job.ErrorMessage, Colors.red)
Else
@@ -443,6 +462,20 @@ Sub JobDone(Job As HttpJob)
IMEI = ""
End If
End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag.As(String).Contains("guardaCliente_") Then 'query tag
+ subirClientes = subirClientes - 1
+ l_avanceSubirUsrs.Text = $"Subiendo usuarios ${subirClientes}"$
+ Log($"Subiendo usuarios ${subirClientes}"$)
+ If subirClientes = 0 Then
+ ToastMessageShow("Usuarios mandados a web", False)
+ p_avanceSubirUsrs.Visible = False
+ End If
+ End If
+ End If
+
Job.Release
End If
' Log($"Paso1 = ${paso1} - Name: ${name} - IMEI: ${IMEI} - IMEI_BASE: ${IMEI_BASE}"$)
@@ -594,11 +627,20 @@ End Sub
Sub i_engrane_Click
lv_server.Clear
+ user.Text = user.Text.Trim
+ b_mandaUsrs.Visible = False
+ cb_importarBDWA.Checked = Subs.traeUsarIntentBDWA
+ p_importarBDWA.Visible = False
lv_server.AddSingleLine("http://keymon.lat:1781")
- If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1781")
+ If user.Text = "KMTS1" Then
+ lv_server.AddSingleLine("http://10.0.0.205:1781")
+ b_mandaUsrs.Visible = True
+ p_importarBDWA.Visible = True
+ End If
l_server.Text = Starter.server
et_server.Text = Starter.server
Subs.panelVisible(p_appUpdate,0,0)
+ ime.HideKeyboard
End Sub
Sub b_guardar_Click
@@ -671,4 +713,31 @@ End Sub
' q.encuestaIniciada = False
' Log(">>>>>>>>>> " & q.encuestaIniciada)
' End Select
-'End Sub
\ No newline at end of file
+'End Sub
+
+Private Sub b_mandaUsrs_Click
+ Private c As Cursor = Starter.skmt.ExecQuery($"select * from kmt_info"$)
+ Private dbr As DBRequestManager
+ Private cmd1 As DBCommand
+ dbr.Initialize(Me, "http://keymon.lat:9001")
+ If c.RowCount > 0 Then
+ subirClientes = c.RowCount - 1
+ Subs.centraPanel(p_avanceSubirUsrs, p_appUpdate.Width)
+ l_avanceSubirUsrs.Text = $"Subiendo usuarios ${subirClientes}"$
+ p_avanceSubirUsrs.Visible = True
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ cmd1.Initialize
+ cmd1.Name = "guardaClientesMardsCensosBORR"
+ cmd1.Parameters = Array As Object(c.GetBlob("CAT_CL_FOTO"), c.getstring("CAT_CL_NUM_SERIEFISICO"), c.getstring("CAT_CL_MTOCOMPRA"), c.getstring("CAT_CL_CEDIS"), c.getstring("CAT_CL_LAT"), c.getstring("CAT_CL_LONG"), c.getstring("CAT_CL_FBAJA"), c.getstring("CAT_CL_FALTA"), c.getstring("CAT_CL_CP"), c.getstring("CAT_CL_EDO"), c.getstring("CAT_CL_MUNI"), c.getstring("CAT_CL_COLONIA"), c.getstring("CAT_CL_CALLE2"), c.getstring("CAT_CL_CALLE1"), c.getstring("CAT_CL_NOINT"), c.getstring("CAT_CL_NOEXT"), c.getstring("CAT_CL_CALLE"), c.getstring("CAT_CL_EMAIL"), c.getstring("CAT_CL_TELEFONO"), c.getstring("CAT_CL_ATIENTE2"), c.getstring("CAT_CL_ATIENDE1"), c.getstring("CAT_CL_NOMBRE"), c.getstring("CAT_CL_GIRO"), c.getstring("CAT_CL_DIAS_VISITA"), c.getstring("CAT_CL_TIPO_RUTA"), c.getstring("CAT_CL_RUTA"), c.getstring("CAT_CL_CODIGO"), c.getstring("gestion"), c.getstring("CAT_CL_CRUCE1"), c.getstring("CAT_CL_ESTATUS"), c.getstring("CAT_CL_ENVIO_PENDIENTE"), c.getstring("CAT_CL_FECHA_CAPTURA"), c.getstring("NUEVO"), c.getstring("LAT_CENSADOR"), c.getstring("LON_CENSADOR"), c.getstring("ESTATUS_ORIGINAL"), c.getstring("CAMPOS_MODIFICADOS"), c.getstring("CAT_CL_DIASEMANA"), c.getstring("CAT_CL_SECUENCIA"))
+ Log($"${c.getstring("CAT_CL_CODIGO")}, ${c.getstring("CAT_CL_NOMBRE")}"$)
+ dbr.ExecuteCommand(cmd1 , $"guardaCliente_${c.getstring("CAT_CL_CODIGO")}"$)
+ Next
+ End If
+End Sub
+
+Private Sub cb_importarBDWA_CheckedChange(Checked As Boolean)
+' LogColor($"cb_importarBDWA_CheckedChange = ${Checked}"$, Colors.Red)
+ Starter.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'IMPORTAR_BD_WA'")
+ Starter.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('IMPORTAR_BD_WA', '${Checked}')"$)
+End Sub
\ No newline at end of file
diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas
index 63b5827..046d725 100644
--- a/B4A/C_Cliente.bas
+++ b/B4A/C_Cliente.bas
@@ -421,7 +421,7 @@ End Sub
Sub mandaPendientes
'Enviamos Pendientes
c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from kmt_info where CAT_CL_ENVIO_PENDIENTE = '1'")
- If mandarTodo Then c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from kmt_info")
+ If mandarTodo Then c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from kmt_info where gestion = 11")
Log($">>>>>> Cliente PENDIENTE: ${c.RowCount}"$)
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
@@ -459,6 +459,7 @@ Sub mandaPendientes
' Log("******* LARGO - " & cuestionarioTexto.Length)
cmd.Parameters = Array As Object(c.GetString("CAT_CL_CODIGO"), Subs.traeAlmacen, c.GetString("CAT_CL_LAT"), c.GetString("CAT_CL_LONG"), c.GetString("CAT_CL_SECUENCIA"), c.GetString("CAT_CL_RUTA"), c.GetString("CAT_CL_DIASEMANA"), c.GetString("CAT_CL_GIRO"), Subs.escapeSQLString(c.GetString("CAT_CL_NOMBRE")), c.GetString("CAT_CL_ATIENDE1"), c.GetString("CAT_CL_CALLE"), c.GetString("CAT_CL_NOINT"), c.GetString("CAT_CL_NOEXT"), Subs.escapeSQLString(c.GetString("CAT_CL_CALLE1")), c.GetString("CAT_CL_CRUCE1"), c.GetString("CAT_CL_CALLE2"), c.GetString("CAT_CL_CP"), c.GetString("CAT_CL_COLONIA"), c.GetString("CAT_CL_MUNI"), c.GetString("CAT_CL_EDO"), c.GetString("CAT_CL_ESTATUS"), c.GetString("CAT_CL_FECHA_CAPTURA"), sDate, Subs.traeUsuarioDeBD, c.GetString("CAT_CL_TELEFONO"), c.GetString("CAT_CL_EMAIL"), cuestionarioTexto)
' Log($"${c.GetString("CAT_CL_CODIGO")}, ${Subs.traeAlmacen}, ${c.GetString("CAT_CL_LAT")}, ${c.GetString("CAT_CL_LONG")}, ${c.GetString("CAT_CL_SECUENCIA")}, ${c.GetString("CAT_CL_RUTA")}, ${c.GetString("CAT_CL_DIASEMANA")}, ${c.GetString("CAT_CL_GIRO")}, ${Subs.escapeSQLString(c.GetString("CAT_CL_NOMBRE"))}, ${c.GetString("CAT_CL_ATIENDE1")}, ${c.GetString("CAT_CL_CALLE")}, ${c.GetString("CAT_CL_NOINT")}, ${c.GetString("CAT_CL_NOEXT")}, ${c.GetString("CAT_CL_CALLE1")}, ${c.GetString("CAT_CL_CRUCE1")}, ${c.GetString("CAT_CL_CALLE2")}, ${c.GetString("CAT_CL_CP")}, ${c.GetString("CAT_CL_COLONIA")}, ${c.GetString("CAT_CL_MUNI")}, ${c.GetString("CAT_CL_EDO")}, ${c.GetString("CAT_CL_ESTATUS")}, ${c.GetString("CAT_CL_FECHA_CAPTURA")}, ${sDate}, ${Subs.traeUsuarioDeBD}, ${c.GetString("CAT_CL_TELEFONO")}, ${c.GetString("CAT_CL_EMAIL")}, ${cuestionarioTexto}"$)
+ Logcolor($"MANDAMOS CIENTE ${c.GetString("CAT_CL_CODIGO")}"$, Colors.Magenta)
reqManager.ExecuteCommand(cmd , $"confirmaCliente_${c.GetString("CAT_CL_CODIGO")}"$)
cmd.Initialize
@@ -466,6 +467,8 @@ Sub mandaPendientes
cmd.Parameters = Array As Object(Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeAlmacen, c.GetString("CAT_CL_RUTA"), Subs.traeCliente, c.GetString("CAMPOS_MODIFICADOS"))
' Log($"${Subs.traeUsuarioDeBD}, ${Subs.traeAlmacen}, ${Subs.traeAlmacen}, ${c.GetString("CAT_CL_RUTA")}, ${Subs.traeCliente}, ${c.GetString("CAMPOS_MODIFICADOS")}"$)
reqManager.ExecuteCommand(cmd , $"guardaClientesNuevosMods_${c.GetString("CAT_CL_CODIGO")}"$)
+
+
Next
End If
End Sub
diff --git a/B4A/C_NuevoCliente.bas b/B4A/C_NuevoCliente.bas
index 4c83b24..01153b3 100644
--- a/B4A/C_NuevoCliente.bas
+++ b/B4A/C_NuevoCliente.bas
@@ -268,7 +268,7 @@ Sub b_guardar_Click
Private DateNC As String = DateTime.Date(DateTime.Now)
If cargarCliente Then
camposModificados = Subs.RemoveDuplicates(camposModificados)
- B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE kmt_info set CAT_CL_CODIGO = '${no_cliente}', CAT_CL_CEDIS = '${Subs.traeAlmacen}', CAT_CL_TELEFONO = '${et_telefono.text}', CAT_CL_EMAIL = '${et_email.text}', CAT_CL_ATIENDE1 = '${et_atiende.Text}',
+ B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE kmt_info set CAT_CL_CODIGO = '${no_cliente}', CAT_CL_CEDIS = '${Subs.traeAlmacen}', CAT_CL_TELEFONO = '${et_telefono.text}', CAT_CL_EMAIL = '${et_email.text}', CAT_CL_ATIENDE1 = '${et_atiende.Text}', gestion = 11,
CAT_CL_LAT = '${B4XPages.MainPage.lat_gps}', CAT_CL_LONG = '${B4XPages.MainPage.lon_gps}', CAT_CL_GIRO = '${cb_giro.SelectedItem}', CAT_CL_NOMBRE = '${Subs.escapeSQLString(et_nombre.Text)}', CAT_CL_CALLE1 = '${Subs.escapeSQLString(et_direccion.text)}', CAT_CL_ENVIO_PENDIENTE = 1,
LAT_CENSADOR = '${B4XPages.MainPage.lat_gps}', LON_CENSADOR = '${B4XPages.MainPage.lon_gps}', CAMPOS_MODIFICADOS = '${Subs.list2string(camposModificados)}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
Else
@@ -468,7 +468,7 @@ Sub mandaPendientesNuevosClientes
Private sDateP As String = DateTime.Date(DateTime.Now)
' c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from kmt_info where CAT_CL_CODIGO like 'NC%' and CAT_CL_ENVIO_PENDIENTE = '1'")
c = B4XPages.MainPage.skmt.ExecQuery("Select kmt_info.*, nom_foto from kmt_info left join HIST_FOTO_CLIENTE on cat_cl_codigo = codigo where CAT_CL_CODIGO like 'N%' and CAT_CL_ENVIO_PENDIENTE = '1'")
- If mandarTodo Then c = B4XPages.MainPage.skmt.ExecQuery("Select kmt_info.*, nom_foto from kmt_info left join HIST_FOTO_CLIENTE on cat_cl_codigo = codigo where CAT_CL_CODIGO like 'N%'")
+ If mandarTodo Then c = B4XPages.MainPage.skmt.ExecQuery("Select kmt_info.*, nom_foto from kmt_info left join HIST_FOTO_CLIENTE on cat_cl_codigo = codigo where CAT_CL_CODIGO like 'N%' and gestion = 11")
Log($"Cliente Nuevo PENDIENTE: ${c.RowCount}"$)
Dim fotox() As Byte
Dim cmd As DBCommand
diff --git a/B4A/Files/login.bal b/B4A/Files/login.bal
index 50619e2..e6e899f 100644
Binary files a/B4A/Files/login.bal and b/B4A/Files/login.bal differ
diff --git a/B4A/Mariana Censos.b4a b/B4A/Mariana Censos.b4a
index 569b621..68e18c5 100644
--- a/B4A/Mariana Censos.b4a
+++ b/B4A/Mariana Censos.b4a
@@ -728,7 +728,7 @@ Library6=byteconverter
Library7=camera
Library8=compressstrings
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~AddApplicationText(~\n~)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddManifestText(~\n~ ~\n~ )~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~) AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\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~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:allowBackup, "false")~\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~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~AddApplicationText(~\n~)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddManifestText(~\n~ ~\n~ )~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~) AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\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~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~~\n~~\n~~\n~~\n~)~\n~
Module1=appUpdater
Module10=C_UpdateAvailable
Module11=CameraExClass2
diff --git a/B4A/Mariana Censos.b4a.meta b/B4A/Mariana Censos.b4a.meta
index f09b51b..20d5e0e 100644
--- a/B4A/Mariana Censos.b4a.meta
+++ b/B4A/Mariana Censos.b4a.meta
@@ -49,6 +49,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
-NavigationStack=C_Cliente,mandaPendientes,422,6,C_Principal,Class_Globals,0,0,Starter,JobDone,131,0,C_NuevoCliente,b_guardar_Click,277,0,B4XMainPage,Class_Globals,17,0,C_NuevoCliente,mandaPendientesNuevosClientes,463,0,C_Principal,connecta_Click,935,0,C_Principal,cargar_Click,501,0,C_Principal,b_subir_Click,452,0,C_Principal,JobDone,555,6
+NavigationStack=B4XMainPage,i_engrane_Click,623,6,B4XMainPage,Class_Globals,21,4,B4XMainPage,cb_importarBDWA_CheckedChange,700,0,B4XMainPage,B4XPage_Appear,221,1,B4XMainPage,B4XPage_Created,211,0,Subs,importaBDDesdeWhatsApp,1368,6,Visual Designer,login.bal,-100,6,DBRequestManager,ExecuteQuery,31,0,B4XMainPage,b_mandaUsrs_Click,719,6,B4XMainPage,JobDone,463,6
SelectedBuild=0
-VisibleModules=2,14,9,4,8,5,15,7,16
+VisibleModules=2,14,9,12,4,8,5,15,7,16,13
diff --git a/B4A/Subs.bas b/B4A/Subs.bas
index 2d5c8de..01d4c48 100644
--- a/B4A/Subs.bas
+++ b/B4A/Subs.bas
@@ -20,6 +20,8 @@ Sub Process_Globals
Dim rutaHrsAtras As Int = 48
' Dim rutaInicioHoy As String = ""
Private subsLogs As Boolean = False
+ Dim in As Intent
+ Dim intentUsado As Boolean = False
End Sub
'Pone el valor de phn.Model en la variable global "devModel"
@@ -1322,4 +1324,56 @@ Sub guardaAppInfo 'ignore
B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'")
B4XPages.MainPage.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
B4XPages.MainPage.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
+End Sub
+
+
+'Regresa si se debe de usar el intent de importar la base d datos desde Whatsapp.
+Sub traeUsarIntentBDWA As Boolean 'ignore
+ Private BDWA As Boolean = False
+ Private x As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'IMPORTAR_BD_WA'"$)
+ If x.RowCount > 0 Then
+ x.Position = 0
+ If x.GetString("CAT_VA_VALOR") = "true" Then BDWA = True
+ End If
+' Log($"cb_importarBDWA = ${BDWA}"$)
+ Return BDWA
+End Sub
+
+' Se revisa si hay una intención (intent) de abrir una base de datos y si es asÃ, entonces se importa esa base de datos.
+Sub importaBDDesdeWhatsApp
+ Private tmpBDWA As Boolean = traeUsarIntentBDWA
+ If Not(in.IsInitialized) Then in = B4XPages.GetNativeParent(B4XPages.MainPage).GetStartingIntent ' Si se usa esta funcion en Mainpage, se pone "Me" en lugar de B4XPages.MainPage.
+ If Not(intentUsado) And in <> Null Then
+' Log(in)
+ intentUsado = True
+' Log(in.As(String))
+ If in.GetData <> Null Then
+' Log(333)
+ Dim XmlData As String
+ XmlData = in.GetData
+ Try
+ Dim OutStr As OutputStream = File.OpenOutput(File.DirInternal,"kmt.db",False)
+ Dim InStr As InputStream = File.OpenInput("ContentDir",XmlData)
+ File.Copy2(InStr,OutStr)
+ LogColor("BD copiada a interna.", Colors.Blue)
+ OutStr.Close
+ If in.As(String).Contains("whatsapp") Then ToastMessageShow("BD cargada desde Whatsapp", False)
+ Catch
+ Log(LastException)
+ End Try
+' ExitApplication
+ Starter.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'IMPORTAR_BD_WA'")
+ Starter.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('IMPORTAR_BD_WA', '${tmpBDWA}')"$)
+ Private a As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'APP_NAME'"$)
+ If a.RowCount > 0 Then
+ a.Position = 0
+ ToastMessageShow($"BD de "${a.GetString("CAT_VA_VALOR")}" cargada."$, True)
+ End If
+ a = Starter.skmt.ExecQuery($"select * from usuarioa"$)
+ If a.RowCount > 0 Then
+ a.Position = 0
+ B4XPages.MainPage.user.text = a.GetString("USUARIO")
+ End If
+ End If
+ End If
End Sub
\ No newline at end of file