21/10/23 - Importación de BD en engrane.

- Se agregó en el engrane, la opción de importar una base de datos, el botón solo aparece cuando en el campo de usuario esta el texto "KMTS1".
This commit is contained in:
2023-10-21 15:23:06 -06:00
parent 7fba23f398
commit d4cfc2bf68
12 changed files with 232 additions and 31 deletions

View File

@@ -20,7 +20,6 @@ Version=9.85
'########################################################################################################### '###########################################################################################################
#End Region #End Region
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\ 'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\
Sub Class_Globals Sub Class_Globals
@@ -102,10 +101,13 @@ Sub Class_Globals
Private et_cargaLocal As EditText Private et_cargaLocal As EditText
Private b_cargaLocalOk As Button Private b_cargaLocalOk As Button
Private b_cargaLocalCancelar As Button Private b_cargaLocalCancelar As Button
Private p_botones As Panel
Private b_importarBD As Button
End Sub End Sub
Public Sub Initialize Public Sub Initialize
B4XPages.GetManager.LogEvents = True B4XPages.GetManager.LogEvents = True
kh.Initialize(Me, "kh")
#if not(DEBUG) #if not(DEBUG)
Starter.logger = False Starter.logger = False
#end if #end if
@@ -117,7 +119,6 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1 Root = Root1
' Root.LoadLayout("MainPage") ' Root.LoadLayout("MainPage")
Root.LoadLayout("login") Root.LoadLayout("login")
kh.Initialize(Me, "kh")
B4XPages.SetTitle(Me, "Kelloggs Preventa") B4XPages.SetTitle(Me, "Kelloggs Preventa")
login.Initialize login.Initialize
B4XPages.AddPage("Login", login) B4XPages.AddPage("Login", login)
@@ -151,7 +152,6 @@ Private Sub B4XPage_Created (Root1 As B4XView)
B4XPages.AddPage("CheckList", checklist) B4XPages.AddPage("CheckList", checklist)
Panel1.Top = 0 : Panel1.left = 0 Panel1.Top = 0 : Panel1.left = 0
ruta = Starter.ruta ruta = Starter.ruta
ruta = File.DirInternal
Starter.tiempos.Initialize Starter.tiempos.Initialize
Dim sDate, sTime As String Dim sDate, sTime As String
DateTime.DateFormat = "yyyyMMdd" DateTime.DateFormat = "yyyyMMdd"
@@ -170,7 +170,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
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_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 HIST_PROMO_WHATS(HIST_CLIENTE TEXT, HIST_RESPUESTA_PROMO)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_RMI(CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_PRECIO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_RMI(CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_PRECIO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BITACORAGPS(usuariob TEXT, almacenb TEXT, rutab TEXT, eventob TEXT, clienteb TEXT, iniciob TEXT, finb TEXT, latitudb TEXT, longitudb TEXT, precision TEXT, motivonoventa TEXT, motivonovisita TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BITACORAGPS(fechab TEXT, usuariob TEXT, almacenb TEXT, rutab TEXT, eventob TEXT, clienteb TEXT, iniciob TEXT, finb TEXT, latitudb TEXT, longitudb TEXT, precision TEXT, motivonoventa TEXT, motivonovisita TEXT)")
''' PARA LO DE DOE--- ''' 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 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)")
@@ -179,6 +179,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
kh.agregaColumna(Starter.skmt, "kmt_info", "IMPRESION", "INTEGER") kh.agregaColumna(Starter.skmt, "kmt_info", "IMPRESION", "INTEGER")
kh.agregaColumna(Starter.skmt, "USUARIOA", "FECHA", "TEXT") kh.agregaColumna(Starter.skmt, "USUARIOA", "FECHA", "TEXT")
kh.guardaAppInfo(Starter.skmt)
' Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "IMPRESION" en la tabla ' 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=Starter.skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('kmt_info') WHERE name='IMPRESION'")
@@ -316,6 +317,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' If Result Then Log("Tenemos permisos de bluetooth.") ' If Result Then Log("Tenemos permisos de bluetooth.")
' Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") ' Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
' Log("Check phone state: " & rp.Check(rp.PERMISSION_READ_PHONE_STATE)) ' Log("Check phone state: " & rp.Check(rp.PERMISSION_READ_PHONE_STATE))
kh.centraPanel(p_botones, Root.Width)
End Sub End Sub
Sub B4XPage_Appear Sub B4XPage_Appear
@@ -587,6 +589,7 @@ Sub ImageView4_Click
Panel1.Top = (Root.Height/2) - (Panel1.Height/2) Panel1.Top = (Root.Height/2) - (Panel1.Height/2)
Panel1.Elevation = 100 Panel1.Elevation = 100
Panel1.BringToFront Panel1.BringToFront
If user.Text = "KMTS1" Then b_importarBD.Visible = True Else b_importarBD.Visible = False
End Sub End Sub
Private Sub ImageView4_LongClick Private Sub ImageView4_LongClick
@@ -698,4 +701,19 @@ End Sub
Private Sub b_cargaLocalCancelar_Click Private Sub b_cargaLocalCancelar_Click
p_cargaLocal.Visible = False p_cargaLocal.Visible = False
End Sub
Private Sub b_importarBD_Click
Private FH As FileHandler
FH.Initialize
Wait For (FH.Load) Complete (Result As LoadResult) 'Abre un fileManager para seleccionar la base de datos a importar.
File.Copy(Result.Dir, Result.FileName, File.DirInternal, "kmt.db") 'Copia la base de datos seleccionada al directorio interno.
Starter.skmt.Initialize(Starter.ruta,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada.
Private c As Cursor = Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'APP_NAME'")
If c.RowCount > 1 Then
c.Position = 0
ToastMessageShow($"BD de ${c.GetString("APP_NAME")} importada!"$, True)
Else
ToastMessageShow($"¡BD importada!"$, True)
End If
End Sub End Sub

View File

@@ -562,7 +562,7 @@ Sub Bt_GuardarCheck_Click
OK_CheckList = 1 OK_CheckList = 1
Msgbox("DATOS GUARDADOS CON EXITO ","") 'ignore Msgbox("DATOS GUARDADOS CON EXITO ","") 'ignore
'Proyecto gps 'Proyecto gps
Subs.bitacora(B4XPages.MainPage.principal.usuario,Subs.traeAlmacen,B4XPages.MainPage.principal.l_ruta.Text,"Salida almacen", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),Starter.lat_gps,Starter.lon_gps,"2","","") Subs.bitacora(Subs.fechanormal(DateTime.Now),B4XPages.MainPage.principal.usuario,Subs.traeAlmacen,B4XPages.MainPage.principal.l_ruta.Text,"Salida almacen", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),Starter.lat_gps,Starter.lon_gps,"2","","")
Subs.iniciaActividad("Principal") Subs.iniciaActividad("Principal")
' B4XPages.ShowPage("Principal") ' B4XPages.ShowPage("Principal")
End If End If

View File

@@ -278,7 +278,7 @@ Sub Class_Globals
Dim RMI_VALOR As String Dim RMI_VALOR As String
Dim errorImpresora As Int = 0 Dim errorImpresora As Int = 0
Private b_inicioFinVenta As Button Private b_inicioFinVenta As Button
dim dentroDeGeocerca as Boolean = False Dim dentroDeGeocerca As Boolean = False
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -3440,7 +3440,7 @@ Sub Bt_GuardarBoleta_Click
' 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_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}"$) ' 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 Msgbox("Datos Guardados ","Listo") 'ignore
Subs.bitacora(usuario, Id_Almacen, ruta_tienda, "Llega a almacen", la_cuenta.text, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, "2", "", "") Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario, Id_Almacen, ruta_tienda, "Llega a almacen", la_cuenta.text, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, "2", "", "")
End Sub End Sub
Sub B_E_NEXT_Click Sub B_E_NEXT_Click
@@ -3884,12 +3884,12 @@ Private Sub b_inicioFinVenta_Click
Private precision As Int = 0 Private precision As Int = 0
If dentroDeGeocerca Then precision = 1 If dentroDeGeocerca Then precision = 1
If Starter.enVenta Then If Starter.enVenta Then
Subs.bitacora(usuario, Id_Almacen, ruta_tienda, "Termina Venta", la_cuenta.text, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, precision, "", "") Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario, Id_Almacen, ruta_tienda, "Termina Venta", la_cuenta.text, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, precision, "", "")
Starter.enVenta = False Starter.enVenta = False
Subs.iniciaActividad("principal") Subs.iniciaActividad("principal")
B4XPages.ShowPageAndRemovePreviousPages("Principal") B4XPages.ShowPageAndRemovePreviousPages("Principal")
Else Else
Subs.bitacora(usuario, Id_Almacen, ruta_tienda, "Inicia Venta", la_cuenta.text, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, precision, "", "") Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario, Id_Almacen, ruta_tienda, "Inicia Venta", la_cuenta.text, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, precision, "", "")
Starter.enVenta = True Starter.enVenta = True
End If End If
b_inicioFinVenta.Visible = False b_inicioFinVenta.Visible = False

View File

@@ -188,6 +188,7 @@ Sub Class_Globals
Public BluetoothState, ConnectionState As Boolean Public BluetoothState, ConnectionState As Boolean
Private ion As Object Private ion As Object
Private p_centrado As Panel Private p_centrado As Panel
Private l_version As Label
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -203,6 +204,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
'load the layout to Root 'load the layout to Root
Root.LoadLayout("principal") Root.LoadLayout("principal")
EJECUTANDO=1 EJECUTANDO=1
l_version.Text = Application.VersionName
' Dim ruta As String ' Dim ruta As String
img2.Visible =False img2.Visible =False
' ruta = File.DirInternal ' ruta = File.DirInternal
@@ -2200,7 +2202,7 @@ Sub B_OK_PAS_Click
P1.SendToBack P1.SendToBack
'Proyecto gps 'Proyecto gps
Subs.bitacora(usuario,ALMACEN,l_ruta.Text,"Carga día", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),Starter.lat_gps,Starter.lon_gps,"2","","") Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario,ALMACEN,l_ruta.Text,"Carga día", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),Starter.lat_gps,Starter.lon_gps,"2","","")
Else if CARGA = "CARGAR" And (S_CP.Text <> "LISTO" Or S_CC.Text <> "LISTO" Or S_CH.Text <> "LISTO") Then 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 res = Msgbox2("Seguro que desea abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If res = DialogResponse.POSITIVE Then If res = DialogResponse.POSITIVE Then
@@ -3166,3 +3168,18 @@ Sub GetBA As Object
Dim jo As JavaObject = Me Dim jo As JavaObject = Me
Return jo.RunMethod("getBA", Null) Return jo.RunMethod("getBA", Null)
End Sub End Sub
Private Sub connecta_LongClick
cmd.Initialize
Private c As Cursor = Starter.skmt.ExecQuery("select * from bitacoraGPS")
' If c.RowCount > 0 Then
' cmd.Name = "borraBitacora"
' cmd.Parameters = Array As Object(c.GetString("almacenb"), c.GetString("rutab"), c.GetString("usuariob"), c.GetString("almacenb"))
'
' End If
' cmd.Name = "mandaBitacora"
'' TMP_ALMACEN, TMP_RUTA, TMP_USUARIO, TMP_FECHA_SINC, TMP_ID_CLIENTE, TMP_EVENTO, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_NOMBRE_CLIENTE,TMP_PRESICION
' cmd.Parameters = Array As Object( ALMACEN, cliente, evento, fecha, e_ruta.text, )
' reqManager.ExecuteQuery(cmd , 0, "HIST_ENCUESTA2")
End Sub

162
B4A/FileHandler.bas Normal file
View File

@@ -0,0 +1,162 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=11
@EndOfDesignText@
'Requiere la librería "ContentResolver" y "FileProvider" o "AppUpdating"
'
'Copiar este codigo al boton_Click que se quiere que importe la base de datos.
'
' Private Sub b_importarBD_Click
' Private FH As FileHandler
' FH.Initialize
' Wait For (FH.Load) Complete (Result As LoadResult) 'Abre un fileManager para seleccionar la base de datos a importar.
' File.Copy(Result.Dir, Result.FileName, File.DirInternal, "kmt.db") 'Copia la base de datos seleccionada al directorio interno.
' Starter.skmt.Initialize(Starter.ruta,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada.
' ToastMessageShow("¡BD importada!", False)
' End Sub
Sub Class_Globals
#if B4A
Private ion As Object
Private OldIntent As Intent
#end if
Type LoadResult (Success As Boolean, Dir As String, FileName As String, RealName As String, Size As Long, Modified As Long, MimeType As String)
End Sub
Public Sub Initialize
End Sub
#if B4A
Public Sub SaveAs (Source As InputStream, MimeType As String, Title As String) As ResumableSub
Dim intent As Intent
intent.Initialize("android.intent.action.CREATE_DOCUMENT", "")
intent.AddCategory("android.intent.category.OPENABLE")
intent.PutExtra("android.intent.extra.TITLE", Title)
intent.SetType(MimeType)
StartActivityForResult(intent)
Wait For ion_Event (MethodName As String, Args() As Object)
If -1 = Args(0) Then 'resultCode = RESULT_OK
Dim result As Intent = Args(1)
Dim jo As JavaObject = result
Dim ctxt As JavaObject
Dim out As OutputStream = ctxt.InitializeContext.RunMethodJO("getContentResolver", Null).RunMethod("openOutputStream", Array(jo.RunMethod("getData", Null)))
File.Copy2(Source, out)
out.Close
Return True
End If
Return False
End Sub
Public Sub Load As ResumableSub
Dim cc As ContentChooser
cc.Initialize("cc")
cc.Show("application/octet-stream", "Choose text file")
Wait For CC_Result (Success As Boolean, Dir As String, FileName As String)
Log($"***************************${CRLF}${Dir}${CRLF} ${FileName}"$)
Dim res As LoadResult = CreateLoadResult(Success, Dir, FileName)
Log($"***************************${CRLF}${res.FileName}${CRLF} ${res}"$)
If res.Success Then ExtractInformationFromURI(res.FileName, res)
Return res
End Sub
Private Sub StartActivityForResult(i As Intent)
Dim jo As JavaObject = GetBA
ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
jo.RunMethod("startActivityForResult", Array(ion, i))
End Sub
Private Sub GetBA As Object
Return Me.As(JavaObject).RunMethod("getBA", Null)
End Sub
Private Sub ExtractInformationFromURI (Uri As String, res As LoadResult)
Try
Dim resolver As ContentResolver
resolver.Initialize("")
Dim u As Uri
u.Parse(Uri)
Dim rs As ResultSet = resolver.Query(u, Null, "", Null, "")
If rs.NextRow Then
Dim columns As B4XSet = B4XCollections.CreateSet
For i = 0 To rs.ColumnCount - 1
columns.Add(rs.GetColumnName(i))
Next
If columns.Contains("_display_name") Then res.RealName = rs.GetString("_display_name")
If columns.Contains("_size") Then res.Size = rs.GetLong("_size")
If columns.Contains("last_modified") Then res.Modified = rs.GetLong("last_modified")
If columns.Contains("mime_type") Then res.MimeType = rs.GetString("mime_type")
End If
rs.Close
Catch
Log("error extracting information from file provider")
Log(LastException)
End Try
End Sub
Public Sub CheckForReceivedFiles As LoadResult
Dim Activity As Activity = B4XPages.GetNativeParent(B4XPages.MainPage)
If IsRelevantIntent(Activity.GetStartingIntent) Then
Dim in As Intent = Activity.GetStartingIntent
Dim uri As String
If in.HasExtra("android.intent.extra.STREAM") Then
uri = in.As(JavaObject).RunMethod("getParcelableExtra", Array("android.intent.extra.STREAM"))
Else
uri = in.GetData
End If
Dim res As LoadResult = CreateLoadResult(True, "ContentDir", uri)
ExtractInformationFromURI(res.FileName, res)
Return res
End If
Return CreateLoadResult(False, "", "")
End Sub
Private Sub IsRelevantIntent(in As Intent) As Boolean
If in.IsInitialized And in <> OldIntent And in.Action = in.ACTION_VIEW Then
OldIntent = in
Return True
End If
Return False
End Sub
#else if B4i
Public Sub SaveAs(ParentPage As Object, AnchorView As Object, Text As String) As ResumableSub
Dim avc As ActivityViewController
avc.Initialize("avc", Array(Text))
avc.Show(B4XPages.GetNativeParent(ParentPage), AnchorView)
Wait For avc_Complete (Success As Boolean, ActivityType As String)
Return Success
End Sub
Public Sub Load (ParentPage As Object, AnchorView As Object) As ResumableSub
Dim DocumentPicker As DocumentPickerViewController
DocumentPicker.InitializeImport("picker", Array("public.text"))
DocumentPicker.Show(B4XPages.GetNativeParent(ParentPage), AnchorView)
Wait For Picker_Complete (Success As Boolean, URLs As List)
If Success And URLs.Size > 0 Then
Return UrlToLoadResult(URLs.Get(0))
End If
Return CreateLoadResult(False, "", "")
End Sub
Public Sub UrlToLoadResult(url As String) As LoadResult
Dim res As LoadResult = CreateLoadResult(IIf(File.Exists(url, ""), True, False), url, "")
res.RealName = res.Dir.SubString(res.Dir.LastIndexOf("/") + 1)
res.Size = File.Size(res.Dir, "")
Return res
End Sub
#end if
Private Sub CreateLoadResult (Success As Boolean, Dir As String, FileName As String) As LoadResult
Dim t1 As LoadResult
t1.Initialize
t1.Success = Success
t1.Dir = Dir
t1.FileName = FileName
Return t1
End Sub

Binary file not shown.

Binary file not shown.

View File

@@ -151,17 +151,18 @@ Module19=DownloadService
Module2=C_CheckList Module2=C_CheckList
Module20=errorManager Module20=errorManager
Module21=EscPosPrinter Module21=EscPosPrinter
Module22=foto Module22=FileHandler
Module23=kms_helperSubs Module23=foto
Module24=ManageExternalStorage Module24=kms_helperSubs
Module25=MAPA_RUTAS Module25=ManageExternalStorage
Module26=Mods Module26=MAPA_RUTAS
Module27=NotificationService Module27=Mods
Module28=SD_Spinner Module28=NotificationService
Module29=Starter Module29=SD_Spinner
Module3=C_Cliente Module3=C_Cliente
Module30=Subs Module30=Starter
Module31=Tracker Module31=Subs
Module32=Tracker
Module4=C_Clientes Module4=C_Clientes
Module5=C_Historico Module5=C_Historico
Module6=C_Mapas Module6=C_Mapas
@@ -170,7 +171,7 @@ Module8=C_NoVenta
Module9=C_NuevoCliente Module9=C_NuevoCliente
NumberOfFiles=53 NumberOfFiles=53
NumberOfLibraries=30 NumberOfLibraries=30
NumberOfModules=31 NumberOfModules=32
Version=12.5 Version=12.5
@EndOfDesignText@ @EndOfDesignText@
#Region Project Attributes #Region Project Attributes

View File

@@ -24,6 +24,7 @@ ModuleBookmarks29=
ModuleBookmarks3= ModuleBookmarks3=
ModuleBookmarks30= ModuleBookmarks30=
ModuleBookmarks31= ModuleBookmarks31=
ModuleBookmarks32=
ModuleBookmarks4= ModuleBookmarks4=
ModuleBookmarks5= ModuleBookmarks5=
ModuleBookmarks6= ModuleBookmarks6=
@@ -56,6 +57,7 @@ ModuleBreakpoints29=
ModuleBreakpoints3= ModuleBreakpoints3=
ModuleBreakpoints30= ModuleBreakpoints30=
ModuleBreakpoints31= ModuleBreakpoints31=
ModuleBreakpoints32=
ModuleBreakpoints4= ModuleBreakpoints4=
ModuleBreakpoints5= ModuleBreakpoints5=
ModuleBreakpoints6= ModuleBreakpoints6=
@@ -78,8 +80,8 @@ ModuleClosedNodes2=
ModuleClosedNodes20= ModuleClosedNodes20=
ModuleClosedNodes21=20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39 ModuleClosedNodes21=20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
ModuleClosedNodes22= ModuleClosedNodes22=
ModuleClosedNodes23=9,11,13,15 ModuleClosedNodes23=
ModuleClosedNodes24= ModuleClosedNodes24=9,11,13,15
ModuleClosedNodes25= ModuleClosedNodes25=
ModuleClosedNodes26= ModuleClosedNodes26=
ModuleClosedNodes27= ModuleClosedNodes27=
@@ -88,12 +90,13 @@ ModuleClosedNodes29=
ModuleClosedNodes3=24 ModuleClosedNodes3=24
ModuleClosedNodes30= ModuleClosedNodes30=
ModuleClosedNodes31= ModuleClosedNodes31=
ModuleClosedNodes32=
ModuleClosedNodes4= ModuleClosedNodes4=
ModuleClosedNodes5= ModuleClosedNodes5=
ModuleClosedNodes6= ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=Visual Designer,login.bal,-100,1,Visual Designer,principal.bal,-100,1,C_Cliente,B_E_NEXT_Click,3442,0,C_Cliente,Class_Globals,245,0,C_Cliente,B4XPage_Appear,624,6,C_Principal,Class_Globals,0,0,Visual Designer,cliente.bal,-100,3,C_Cliente,Bt_GuardarBoleta_Click,3421,5,C_Cliente,B_CERRAR_I_Click,3417,0,C_Cliente,B_Regresar_Click,2707,0,C_Cliente,B4XPage_CloseRequest,740,0 NavigationStack=B4XMainPage,Initialize,108,0,kms_helperSubs,guardaAppInfo,513,2,kms_helperSubs,string2date,508,0,C_Cliente,B4XPage_Created,296,0,Visual Designer,login.bal,-100,1,C_Principal,EnableBluetooth,3151,0,C_Principal,Class_Globals,185,0,Visual Designer,principal.bal,-100,6,C_Principal,B4XPage_Created,197,4,B4XMainPage,B4XPage_Created,188,6
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,29,11,23,30,14,3,18 VisibleModules=1,30,11,24,31,14,3,18,2,22

View File

@@ -16,7 +16,7 @@ Sub Process_Globals
Dim s As C_Subs Dim s As C_Subs
Dim reqManager As DBRequestManager Dim reqManager As DBRequestManager
Dim skmt, errorLog As SQL Dim skmt, errorLog As SQL
Dim ruta As String Dim ruta As String = File.DirInternal
Public BluetoothState As Boolean Public BluetoothState As Boolean
Dim btAdmin As BluetoothAdmin Dim btAdmin As BluetoothAdmin
Dim intentosImpresora As Int = 0 Dim intentosImpresora As Int = 0

View File

@@ -1548,8 +1548,8 @@ End Sub
'En geocerca si mete la contraseña poner 0 en precision gps y si esta dentro de los 50 mts poner 1 y 2 para eventos que no lo ocupen 'En geocerca si mete la contraseña poner 0 en precision gps y si esta dentro de los 50 mts poner 1 y 2 para eventos que no lo ocupen
'Mandar fecha de sync(sysdate) 'Mandar fecha de sync(sysdate)
Sub bitacora(usuariob As String, almacenb As String, rutab As String, eventob As String, clienteb As String, iniciob As String, finb As String, latitudb As String, longitudb As String, precision As String, motivonoventa As String, motivonovisita As String ) Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As String, eventob As String, clienteb As String, iniciob As String, finb As String, latitudb As String, longitudb As String, precision As String, motivonoventa As String, motivonovisita As String )
Log("bitacora") Log("bitacora")
Starter.skmt.ExecNonQuery($"INSERT INTO BITACORAGPS (usuariob , almacenb , rutab , eventob , clienteb , iniciob , finb , latitudb , longitudb , precision , motivonoventa , motivonovisita) VALUES ('${usuariob}' , '${almacenb}' , '${rutab}' , '${eventob}' , '${clienteb}' , '${iniciob}' , '${finb}' , '${latitudb}' , '${longitudb}' , '${precision}' , '${motivonoventa}' , '${motivonovisita}')"$) Starter.skmt.ExecNonQuery($"INSERT INTO BITACORAGPS (fechab, usuariob , almacenb , rutab , eventob , clienteb , iniciob , finb , latitudb , longitudb , precision , motivonoventa , motivonovisita) VALUES ('${fechab}' ,'${usuariob}' , '${almacenb}' , '${rutab}' , '${eventob}' , '${clienteb}' , '${iniciob}' , '${finb}' , '${latitudb}' , '${longitudb}' , '${precision}' , '${motivonoventa}' , '${motivonovisita}')"$)
End Sub End Sub

View File

@@ -515,9 +515,9 @@ End Sub
'Guarda el nombre y version de la app en CAT_VARIABLES. 'Guarda el nombre y version de la app en CAT_VARIABLES.
Sub guardaAppInfo(db As SQL) 'ignore Sub guardaAppInfo(db As SQL) 'ignore
skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'") db.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'")
skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$) db.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$) db.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
End Sub End Sub
'Muestra en el Log los campos y valores que regresan en el JobDone. 'Muestra en el Log los campos y valores que regresan en el JobDone.