mirror of
https://github.com/KeymonSoft/Kelloggs_v4.git
synced 2026-04-17 18:26:11 +00:00
- VERSION 5.06.25
- Se quito que el almacen de guadalajara NO tuviera geocerca. - Se corrigio el error de que cuando se desinstala la app y se vuelve a instalar, en la priera venta se trababa la aplicacion. - Se puso codigo de prueba para usar el "wait for" con el DBReqManager.
This commit is contained in:
@@ -117,6 +117,7 @@ Sub Class_Globals
|
||||
Dim intentUsado As Boolean = False
|
||||
Private p_importarBDWA As Panel
|
||||
Private cb_importarBDWA As CheckBox
|
||||
' Type TResultado(Tag As String, Success As Boolean, resultado As DBResult, ErrorMessage As String)
|
||||
End Sub
|
||||
|
||||
Public Sub Initialize
|
||||
@@ -129,6 +130,7 @@ End Sub
|
||||
|
||||
'This event will be called once, before the page becomes visible.
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Log(">>>>>> CREATE - INICIAMOS MAIN PAGE <<<<<<<<<")
|
||||
If Not(Starter.Logger) Then logger = False
|
||||
Dim sDate, sTime As String
|
||||
DateTime.DateFormat = "yyyyMMdd"
|
||||
@@ -212,7 +214,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
ruta = Starter.ruta
|
||||
Starter.tiempos.Initialize
|
||||
kh.guardaAppInfo
|
||||
|
||||
Log(111)
|
||||
'Revisamos si se disparo el intent de cargar la base de datos desde WhatApp.
|
||||
If kh.traeUsarIntentBDWA Then kh.importaBDDesdeWhatsApp
|
||||
|
||||
@@ -312,6 +314,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore
|
||||
End Try
|
||||
End If
|
||||
Log(222)
|
||||
' Dim ph As Phone 'Get Id Device
|
||||
' Dim DeviceID As String = Starter.ph.GetSettings("android_id").ToUpperCase
|
||||
' If logger Then Log($"Marca: ${Starter.ph.manufacturer}, Modelo: ${Starter.ph.model}"$)
|
||||
@@ -346,7 +349,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Else
|
||||
ToastMessageShow("Sin permisos para GPS", True)
|
||||
End If
|
||||
Log("***********************************************")
|
||||
Log("33***********************************************33")
|
||||
MES1.Initialize(Me, "MES1")
|
||||
' Log("SDK: " & device.SdkVersion)
|
||||
' Get the device SDK version
|
||||
@@ -376,7 +379,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
End If
|
||||
Log(MES1.IsInitialized)
|
||||
Log(MES1.HasPermission)
|
||||
Log("***********************************************")
|
||||
Log("44***********************************************44")
|
||||
MES1.Initialize(Me, "MES1")
|
||||
' Log("Permisos BT: " & rp.Check("android.permission.BLUETOOTH_CONNECT"))
|
||||
' Log("REVISAMOS PERMISOS DE BT")
|
||||
@@ -389,7 +392,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
Log(">>>>>> INICIAMOS MAIN PAGE <<<<<<<<<")
|
||||
Log(">>>>>> APPEAR - INICIAMOS MAIN PAGE <<<<<<<<<")
|
||||
If Not(MES1.IsInitialized) Then MES1.Initialize(Me, "MES1")
|
||||
Log(DateTime.GetDayOfWeek(DateTime.Now))
|
||||
kh.RD_Init
|
||||
kh.SetButtonTintList(cb_geocerca, Colors.LightGray, Colors.RGB(43, 154, 211))
|
||||
@@ -462,10 +466,10 @@ Sub B4XPage_Appear
|
||||
Log(MES1.IsInitialized)
|
||||
If MES1.IsInitialized Then
|
||||
LogColor("Permisos de almacenamiento: " & MES1.HasPermission, Colors.Magenta)
|
||||
If MES1.HasPermission Then kh.revisaSiExisteRespaldo
|
||||
' If MES1.HasPermission Then kh.revisaSiExisteRespaldo '' Se comenta causa el error de que en el primer cliente,al guardar la venta se trabe la aplicacion!!
|
||||
End If
|
||||
DateTime.DateFormat = "yyyy-MM-dd HH:mm:ss"
|
||||
Starter.skmt.ExecNonQuery($"insert into versiones (version, fecha) values ('${Application.VersionName}', '${datetime.Date(DateTime.Now)}')"$)
|
||||
Starter.skmt.ExecNonQuery($"insert into versiones (version, fecha) values ('${Application.VersionName}', '${DateTime.Date(DateTime.Now)}')"$)
|
||||
End Sub
|
||||
|
||||
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||
@@ -705,6 +709,52 @@ Private Sub i_engranes_LongClick
|
||||
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||
' Subs.copiaDB(Result)
|
||||
' Dim x As Int = "a"
|
||||
Dim reqManagerW As DBRequestManagerW
|
||||
reqManagerW.Initialize
|
||||
cmd.Initialize
|
||||
|
||||
cmd.Name = "select_usuario_guna_KELL"
|
||||
cmd.Parameters = Array As Object(user.Text, pass.Text)
|
||||
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "elUsuario")
|
||||
Wait For elUsuario_Completed (res1 As TResultado)
|
||||
Log("tag: " & res1.tag & " Success: " & res1.Success)
|
||||
If res1.Success Then
|
||||
Subs.logJobDoneResultados(res1.resultado)
|
||||
Else
|
||||
Log(res1.ErrorMessage)
|
||||
End If
|
||||
|
||||
cmd.Name = "select_version_KELL"
|
||||
cmd.Parameters = Array()
|
||||
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "laVersion")
|
||||
Wait For laVersion_Completed (res2 As TResultado)
|
||||
Log("tag: " & res2.tag & " Success: " & res2.Success)
|
||||
If res2.Success Then
|
||||
Subs.logJobDoneResultados(res2.resultado)
|
||||
Else
|
||||
Log(res2.ErrorMessage)
|
||||
End If
|
||||
|
||||
cmd.Name = "delete_geoPass"
|
||||
cmd.Parameters = Array As Object( Subs.traeAlmacen, Subs.traeRuta)
|
||||
reqManagerW.ExecuteCommand(Starter.DBReqServer, cmd, Me, "borraGeoPass")
|
||||
Wait For borraGeoPass_Completed (res3 As TResultado)
|
||||
Log("tag: " & res3.tag & " Success: " & res3.Success)
|
||||
If res3.Success Then
|
||||
Subs.logJobDoneResultados(res3.resultado)
|
||||
Else
|
||||
Log(res3.ErrorMessage)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub elUsuario_Completed (res As DBResult)
|
||||
Log("abc: " & res.tag)
|
||||
Log("wrapper: " & res)
|
||||
End Sub
|
||||
|
||||
Sub laVersion_Completed (res As DBResult)
|
||||
Log("def: " & res.tag)
|
||||
Log("wrapper2: " & res)
|
||||
End Sub
|
||||
|
||||
Sub B_SERVER_Click
|
||||
|
||||
@@ -422,7 +422,7 @@ Sub B4XPage_Appear
|
||||
usarGeocerca = kh.traeUsarGeocerca
|
||||
|
||||
'Para el almacen 12 (GDL) no se usa la geocerca
|
||||
If kh.traeAlmacen = 12 Then usarGeocerca = False
|
||||
' If kh.traeAlmacen = 12 Then usarGeocerca = False
|
||||
|
||||
' Log(Subs.traeUltimaActividadBD)
|
||||
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
|
||||
@@ -1301,8 +1301,8 @@ Sub Imprime_ticket
|
||||
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
|
||||
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
|
||||
LogColor("Entre Calle2: " & l_entre2.Text, Colors.red)
|
||||
Printer1.WriteString("Forma de pago: " & formaPago & CRLF)
|
||||
LogColor("Forma de pago: " & formaPago, Colors.red)
|
||||
' Printer1.WriteString("Forma de pago: " & formaPago & CRLF)
|
||||
' LogColor("Forma de pago: " & formaPago, Colors.red)
|
||||
Printer1.WriteString(" " & CRLF)
|
||||
Printer1.WriteString("------------------------------" & CRLF)
|
||||
Printer1.WriteString("PEDIDO" & CRLF)
|
||||
@@ -1431,7 +1431,7 @@ Sub Imprime_ticket
|
||||
End Try
|
||||
Else
|
||||
Try
|
||||
LogColor(456, Colors.red)
|
||||
' LogColor(456, Colors.red)
|
||||
DateTime.DateFormat = "yyyymmdd"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF)
|
||||
@@ -1450,9 +1450,9 @@ Sub Imprime_ticket
|
||||
Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
|
||||
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
|
||||
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
|
||||
LogColor("Entre Calle2: " & l_entre2.Text, Colors.red)
|
||||
' LogColor("Entre Calle2: " & l_entre2.Text, Colors.red)
|
||||
Printer1.WriteString("Forma de pago: " & formaPago & CRLF)
|
||||
LogColor("Forma de pago: " & formaPago, Colors.red)
|
||||
' LogColor("Forma de pago: " & formaPago, Colors.red)
|
||||
Printer1.WriteString(" " & CRLF)
|
||||
|
||||
''''''' PEDIDOS DOE
|
||||
@@ -1629,8 +1629,8 @@ Sub Imprime_ticket
|
||||
Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Sub Total CAMBIOS: $" & NumberFormat2(sTotal3, 1, 2, 2, False) & CRLF)
|
||||
Private cantidad2 As String = "0"
|
||||
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad2 = s.GetString("CANTIDAD")
|
||||
Log("|" & cantidad1 & "|")
|
||||
Log("|" & s.GetString("CANTIDAD") & "|" & cantidad1 & "|")
|
||||
' Log("|" & cantidad1 & "|")
|
||||
' Log("|" & s.GetString("CANTIDAD") & "|" & cantidad1 & "|")
|
||||
Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad2 & CRLF)
|
||||
Printer1.WriteString(CRLF)
|
||||
s.Close
|
||||
|
||||
@@ -9,6 +9,7 @@ Sub Class_Globals
|
||||
Private Root As B4XView 'ignore
|
||||
Private xui As XUI 'ignore
|
||||
Dim reqManager As DBRequestManager
|
||||
Dim reqManagerW As DBRequestManagerW
|
||||
Dim device As Phone
|
||||
Dim kh As kms_helperSubs
|
||||
Dim rp As RuntimePermissions
|
||||
@@ -214,6 +215,8 @@ Sub Class_Globals
|
||||
Private r_7 As RadioButton
|
||||
Private r_razonNoVisita As String
|
||||
Private l_descripcion As Label
|
||||
Type TCuantos (query As String, esperados As Int, guardados As Int)
|
||||
Dim validaCuantos As TCuantos
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
@@ -225,6 +228,7 @@ End Sub
|
||||
'This event will be called once, before the page becomes visible.
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
If Not(Starter.Logger) Then logger = False
|
||||
validaCuantos.Initialize
|
||||
Root = Root1
|
||||
'load the layout to Root
|
||||
Root.LoadLayout("principal")
|
||||
@@ -332,6 +336,7 @@ Sub B4XPage_Appear
|
||||
If Subs.traeUltimaActividadBD <> "principal" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD)
|
||||
borraClientesNuevosSinVenta
|
||||
reqManager.Initialize(Me, Starter.DBReqServer)
|
||||
reqManagerW.Initialize
|
||||
Log($"DBREQSERVER = ${Starter.DBReqServer}"$)
|
||||
|
||||
Dim cmd As DBCommand
|
||||
@@ -821,10 +826,83 @@ Sub cargar_Click
|
||||
cmd.Parameters = Array As Object(ALMACEN)
|
||||
reqManager.ExecuteQuery(cmd , 0, "detallepaq")
|
||||
|
||||
cmd.Name = "selectCuantosClientes_Kell"
|
||||
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
||||
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "kmt_cuantos")
|
||||
Wait For kmt_cuantos_Completed (r As TResultado)
|
||||
If r.Success Then
|
||||
validaCuantos.query = "kmt_datos"
|
||||
For Each records() As Object In r.resultado.Rows
|
||||
Dim CUANTOS_CLIENTES As Int = records(r.resultado.Columns.Get("CUANTOS_CLIENTES"))
|
||||
Next
|
||||
validaCuantos.esperados = CUANTOS_CLIENTES
|
||||
Subs.logJobDoneResultados(r.resultado)
|
||||
Else
|
||||
Log(r.ErrorMessage)
|
||||
End If
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_cat_clientes_guna_KELL2"
|
||||
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
||||
reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
||||
' reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
||||
|
||||
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "kmt_datos")
|
||||
Wait For kmt_datos_Completed (r As TResultado)
|
||||
Log("tag: " & r.tag & " Success: " & r.Success)
|
||||
If r.Success Then
|
||||
' Subs.logJobDoneResultados(res2.resultado)
|
||||
Private result As DBResult = r.resultado
|
||||
cargar.Enabled = True
|
||||
Log("TIEMPO kmt_datos : " & ((DateTime.Now-inicioContador)/1000))
|
||||
S_CC.TEXT = "CARGANDO"
|
||||
Starter.skmt.BeginTransaction
|
||||
For Each records() As Object In result.Rows
|
||||
Dim CAT_CL_CODIGO As String = records(result.Columns.Get("CAT_CL_CODIGO"))
|
||||
Dim CAT_CL_RUTA As String = records(result.Columns.Get("CAT_CL_RUTA"))
|
||||
Dim CAT_CL_NOMBRE As String = records(result.Columns.Get("CAT_CL_NOMBRE"))
|
||||
Dim CAT_CL_ATIENDE1 As String = records(result.Columns.Get("CAT_CL_ATIENDE1"))
|
||||
Dim CAT_CL_ATIENTE2 As String = records(result.Columns.Get("CAT_CL_ATIENTE2"))
|
||||
Dim CAT_CL_TELEFONO As String = records(result.Columns.Get("CAT_CL_TELEFONO"))
|
||||
Dim CAT_CL_EMAIL As String = records(result.Columns.Get("CAT_CL_EMAIL"))
|
||||
Dim CAT_CL_CALLE As String = records(result.Columns.Get("CAT_CL_CALLE"))
|
||||
Dim CAT_CL_NOEXT As String = records(result.Columns.Get("CAT_CL_NOEXT"))
|
||||
Dim CAT_CL_NOINT As String = records(result.Columns.Get("CAT_CL_NOINT"))
|
||||
Dim CAT_CL_CALLE1 As String = records(result.Columns.Get("CAT_CL_CALLE1"))
|
||||
Dim CAT_CL_CALLE2 As String = records(result.Columns.Get("CAT_CL_CALLE2"))
|
||||
Dim CAT_CL_COLONIA As String = records(result.Columns.Get("CAT_CL_COLONIA"))
|
||||
Dim CAT_CL_MUNI As String = records(result.Columns.Get("CAT_CL_MUNI"))
|
||||
Dim CAT_CL_EDO As String = records(result.Columns.Get("CAT_CL_EDO"))
|
||||
Dim CAT_CL_CP As String = records(result.Columns.Get("CAT_CL_CP"))
|
||||
Dim CAT_CL_LONG As String = records(result.Columns.Get("CAT_CL_LONG"))
|
||||
Dim CAT_CL_LAT As String = records(result.Columns.Get("CAT_CL_LAT"))
|
||||
Dim CAT_CL_MTOCOMPRA As String = records(result.Columns.Get("CAT_CL_MTOCOMPRA"))
|
||||
Dim CAT_CL_NUM_SERIEFISICO As String = records(result.Columns.Get("CAT_CL_NUM_SERIEFISICO"))
|
||||
Dim CAT_CL_BFACTURA As String = records(result.Columns.Get("CAT_CL_BFACTURA"))
|
||||
Dim CAT_CL_BCREDITO As String = records(result.Columns.Get("CAT_CL_BBLOQUEOCRED"))
|
||||
Dim CAT_CL_DIAS_VISITA As String = records(result.Columns.Get("CAT_CL_DIAS_VISITA"))
|
||||
Dim CAT_CL_TIPO_RUTA As String = records(result.Columns.Get("CAT_CL_TIPO_RUTA"))
|
||||
Dim CAT_CL_CATEGORIA As String = records(result.Columns.Get("CAT_CL_CATEGORIA"))
|
||||
Dim CAT_CL_SEGMENTO As String = records(result.Columns.Get("CAT_CL_SEGMENTO"))
|
||||
Dim CAT_CL_LIMITECREDITO As String = records(result.Columns.Get("CAT_CL_LIMITECREDITO"))
|
||||
Dim CREDITO As String = records(result.Columns.Get("CAT_CL_BCREDITO"))
|
||||
' LogColor("CAT_CL_LIMITECREDITO:" & CAT_CL_LIMITECREDITO & " -- ID: " & CAT_CL_CODIGO, Colors.red)
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(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_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA, gestion, IMPRESION, CAT_CL_CATEGORIA, CAT_CL_SEGMENTO,CAT_CL_LIMITECREDITO, CREDITO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,?,?,?,?)", Array As Object (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_LAT,CAT_CL_LONG,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA,CAT_CL_CATEGORIA, CAT_CL_SEGMENTO,CAT_CL_LIMITECREDITO,CREDITO))
|
||||
Next
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(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_BFACTURA,CAT_CL_BCREDITO,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_DIAS_VISITA, gestion, IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","0","null","null","null","10000000","null"))
|
||||
Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
|
||||
Starter.skmt.EndTransaction
|
||||
LogColor("##################################################################3", Colors.red)
|
||||
Listo1 = 1
|
||||
S_CC.Text = "LISTO"
|
||||
' ToastMessageShow("Catalogo Clientes Actualizados." , True)
|
||||
If Listo1 = 1 And Listo2 = 1 And Listo3 = 1 And Listo4 = 1 Then
|
||||
B4XPage_Appear
|
||||
img2.Visible=False
|
||||
EJECUTANDO = 0
|
||||
End If
|
||||
Else
|
||||
Log(r.ErrorMessage)
|
||||
End If
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_hist_datos_KELL"
|
||||
@@ -872,7 +950,7 @@ Sub cargar_Click
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_cat_clientes_guna_KELL2"
|
||||
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN)
|
||||
reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
||||
' reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_hist_datos_KELL"
|
||||
@@ -1047,7 +1125,7 @@ Sub JobDone(Job As HttpJob)
|
||||
If logger Then LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110
|
||||
If Job.JobName = "DBRequest" Then
|
||||
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
||||
If RESULT.Tag = "kmt_datos" Then 'query tag
|
||||
If RESULT.Tag = "kmt_datos_xxx" Then 'query tag
|
||||
cargar.Enabled = True
|
||||
If logger Then Log("TIEMPO kmt_datos : " & ((DateTime.Now-inicioContador)/1000))
|
||||
S_CC.TEXT = "CARGANDO"
|
||||
@@ -1090,12 +1168,16 @@ Sub JobDone(Job As HttpJob)
|
||||
Listo1 = 1
|
||||
S_CC.Text = "LISTO"
|
||||
' ToastMessageShow("Catalogo Clientes Actualizados." , True)
|
||||
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
||||
If Listo1 = 1 And Listo2 = 1 And Listo3 = 1 And Listo4 = 1 Then
|
||||
B4XPage_Appear
|
||||
img2.Visible=False
|
||||
EJECUTANDO = 0
|
||||
End If
|
||||
End If
|
||||
' S_CC.Text = "LISTO"
|
||||
' Listo1 = 1
|
||||
|
||||
|
||||
bcarga1 = 20
|
||||
|
||||
If RESULT.Tag = "hist_promos" Then 'query tag
|
||||
|
||||
168
B4A/DBRequestManagerW.bas
Normal file
168
B4A/DBRequestManagerW.bas
Normal file
@@ -0,0 +1,168 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=12.8
|
||||
@EndOfDesignText@
|
||||
'Class module: jRDC1Wrapper
|
||||
'Version 1.3 - Thread-Safe with ExecuteCommand support
|
||||
|
||||
Public Sub Class_Globals
|
||||
' Public properties to be accessed after the wait for completes
|
||||
Type TResultado(Tag As String, Success As Boolean, resultado As DBResult, ErrorMessage As String)
|
||||
' Type TCommandResult(Tag As String, Success As Boolean, RowsAffected As Int, ErrorMessage As String)
|
||||
|
||||
'C <<< Definimos un tipo para almacenar la información de cada job
|
||||
Type TJobInfo (Target As Object, EventName As String, IsQuery As Boolean)
|
||||
|
||||
'C <<< Un mapa para mantener un registro de los jobs activos
|
||||
Private activeJobs As Map
|
||||
|
||||
'C <<< Un contador para generar tags únicos para cada job
|
||||
Private jobCounter As Int
|
||||
|
||||
Public reqManager As DBRequestManager
|
||||
Public cmd As DBCommand
|
||||
Public resultado As TResultado
|
||||
' Public commandResult As TCommandResult
|
||||
Private logger As Boolean = False
|
||||
End Sub
|
||||
|
||||
'Initializes the object.
|
||||
Public Sub Initialize
|
||||
'C <<< Inicializamos el mapa y el contador
|
||||
activeJobs.Initialize
|
||||
jobCounter = 0
|
||||
End Sub
|
||||
|
||||
'Executes the query using the old jRDC1 mechanism.
|
||||
'Parameters:
|
||||
' - rdcLink: The link for the reqManager initialization.
|
||||
' - Command: The DBCommand to execute.
|
||||
' - Target: The module (like 'Me') where the completed event should be raised.
|
||||
' - Event: The name of the event to raise when the query completes (e.g., "WrapperEvent").
|
||||
Public Sub ExecuteQuery(rdcLink As String, Command As DBCommand, Target As Object, Event As String)
|
||||
'<<< Incrementamos el contador para obtener un ID único
|
||||
jobCounter = jobCounter + 1
|
||||
Dim currentJobTag As String = "reqManagerWJob_" & jobCounter
|
||||
currentJobTag = Event
|
||||
|
||||
If logger Then Log($"ExecuteQuery (Tag: ${currentJobTag}): Command=${Command.Name}, Event=${Event}"$)
|
||||
|
||||
'<<< Creamos una instancia de TJobInfo para guardar el target y el evento
|
||||
Dim jobInfo As TJobInfo
|
||||
jobInfo.Initialize
|
||||
jobInfo.Target = Target
|
||||
jobInfo.EventName = Event
|
||||
jobInfo.IsQuery = True ' Mark as query job
|
||||
|
||||
'<<< Guardamos la información del job en el mapa, usando el tag único como llave
|
||||
activeJobs.Put(currentJobTag, jobInfo)
|
||||
|
||||
reqManager.Initialize(Me, rdcLink)
|
||||
cmd = Command
|
||||
|
||||
'<<< Ejecutamos la consulta pasando nuestro TAG ÚNICO
|
||||
reqManager.ExecuteQuery(cmd, 0, currentJobTag)
|
||||
End Sub
|
||||
|
||||
'Executes a command (INSERT, UPDATE, DELETE) using the old jRDC1 mechanism.
|
||||
'Parameters:
|
||||
' - rdcLink: The link for the reqManager initialization.
|
||||
' - Command: The DBCommand to execute.
|
||||
' - Target: The module (like 'Me') where the completed event should be raised.
|
||||
' - Event: The name of the event to raise when the command completes (e.g., "WrapperEvent").
|
||||
Public Sub ExecuteCommand(rdcLink As String, Command As DBCommand, Target As Object, Event As String)
|
||||
'<<< Incrementamos el contador para obtener un ID único
|
||||
jobCounter = jobCounter + 1
|
||||
Dim currentJobTag As String = "reqManagerWJob_" & jobCounter
|
||||
currentJobTag = Event
|
||||
|
||||
If logger Then Log($"ExecuteCommand (Tag: ${currentJobTag}): Command=${Command.Name}, Event=${Event}"$)
|
||||
|
||||
'<<< Creamos una instancia de TJobInfo para guardar el target y el evento
|
||||
Dim jobInfo As TJobInfo
|
||||
jobInfo.Initialize
|
||||
jobInfo.Target = Target
|
||||
jobInfo.EventName = Event
|
||||
jobInfo.IsQuery = False ' Mark as command job
|
||||
|
||||
'<<< Guardamos la información del job en el mapa, usando el tag único como llave
|
||||
activeJobs.Put(currentJobTag, jobInfo)
|
||||
|
||||
reqManager.Initialize(Me, rdcLink)
|
||||
cmd = Command
|
||||
|
||||
'<<< Ejecutamos el comando pasando nuestro TAG ÚNICO
|
||||
reqManager.ExecuteCommand(cmd, currentJobTag)
|
||||
End Sub
|
||||
|
||||
'This sub will be called by the DBRequestManager when the job is done
|
||||
Public Sub JobDone(job As HttpJob)
|
||||
'<<< Obtenemos el Tag único que asignamos al job
|
||||
Dim currentJobTag As String = job.Tag
|
||||
|
||||
'C <<< Verificamos si este job fue iniciado por nuestro wrapper
|
||||
If activeJobs.ContainsKey(currentJobTag) = False Then
|
||||
If logger Then Log($"JobDone: Se recibió un job con un tag desconocido: ${currentJobTag}"$)
|
||||
job.Release
|
||||
Return
|
||||
End If
|
||||
|
||||
'<<< Recuperamos la información específica de este job desde el mapa
|
||||
Dim jobInfo As TJobInfo = activeJobs.Get(currentJobTag)
|
||||
Try
|
||||
If jobInfo.IsQuery Then
|
||||
' Handle query result
|
||||
resultado.Initialize
|
||||
resultado.Tag = jobInfo.EventName ' Usamos el nombre del evento original como Tag del resultado
|
||||
|
||||
If job.Success Then
|
||||
Dim dbResult As DBResult = reqManager.HandleJob(job)
|
||||
resultado.Success = True
|
||||
resultado.Resultado = dbResult
|
||||
resultado.ErrorMessage = ""
|
||||
Else
|
||||
resultado.Success = False
|
||||
resultado.Resultado = Null
|
||||
resultado.ErrorMessage = job.ErrorMessage
|
||||
End If
|
||||
job.Release
|
||||
|
||||
'<<< Usamos la información recuperada del mapa para llamar al Sub correcto
|
||||
if logger then LogColor($"EVENTO: ${jobInfo.EventName}_Completed"$, Colors.Magenta)
|
||||
CallSubDelayed2(jobInfo.Target, jobInfo.EventName & "_Completed", resultado)
|
||||
Else
|
||||
' Handle command result
|
||||
resultado.Initialize
|
||||
resultado.Tag = jobInfo.EventName
|
||||
|
||||
If job.Success Then
|
||||
Dim dbResult As DBResult = reqManager.HandleJob(job)
|
||||
' Dim rowsAffected As Int = reqManager.HandleCommandResult(job)
|
||||
' For Each records() As Object In dbResult.Rows
|
||||
' Dim rowsAffected As Int = records(dbResult.Columns.Get("AffectedRows"))
|
||||
' Next
|
||||
resultado.Success = True
|
||||
resultado.resultado = dbResult
|
||||
resultado.ErrorMessage = ""
|
||||
Else
|
||||
resultado.Success = False
|
||||
resultado.resultado = Null
|
||||
resultado.ErrorMessage = job.ErrorMessage
|
||||
End If
|
||||
job.Release
|
||||
|
||||
'<<< Usamos la información recuperada del mapa para llamar al Sub correcto
|
||||
If logger Then LogColor($"EVENTO: ${jobInfo.EventName}_Completed"$, Colors.Magenta)
|
||||
CallSubDelayed2(jobInfo.Target, jobInfo.EventName & "_Completed", resultado)
|
||||
End If
|
||||
|
||||
'C <<< Se remueve el job del mapa en caso de ÉXITO
|
||||
activeJobs.Remove(currentJobTag)
|
||||
Catch
|
||||
if logger then LogColor("Error en jRDC1Wrapper.JobDone: " & LastException, Colors.Red)
|
||||
'<<< MUY IMPORTANTE: Remover el job del mapa para no tener fugas de memoria
|
||||
activeJobs.Remove(currentJobTag)
|
||||
End Try
|
||||
End Sub
|
||||
@@ -881,21 +881,22 @@ Module15=|relative|..\C_TrendSpending
|
||||
Module16=C_updateAvailable
|
||||
Module17=CameraExClass
|
||||
Module18=DBRequestManager
|
||||
Module19=DownloadService
|
||||
Module19=DBRequestManagerW
|
||||
Module2=C_CheckList
|
||||
Module20=errorManager
|
||||
Module21=EscPosPrinter
|
||||
Module22=FileHandler
|
||||
Module23=foto
|
||||
Module24=kms_helperSubs
|
||||
Module25=ManageExternalStorage
|
||||
Module26=MAPA_RUTAS
|
||||
Module27=Promociones
|
||||
Module28=SD_Spinner
|
||||
Module29=Starter
|
||||
Module20=DownloadService
|
||||
Module21=errorManager
|
||||
Module22=EscPosPrinter
|
||||
Module23=FileHandler
|
||||
Module24=foto
|
||||
Module25=kms_helperSubs
|
||||
Module26=ManageExternalStorage
|
||||
Module27=MAPA_RUTAS
|
||||
Module28=Promociones
|
||||
Module29=SD_Spinner
|
||||
Module3=C_Cliente
|
||||
Module30=Subs
|
||||
Module31=Tracker
|
||||
Module30=Starter
|
||||
Module31=Subs
|
||||
Module32=Tracker
|
||||
Module4=C_Clientes
|
||||
Module5=C_Historico
|
||||
Module6=C_Mapas
|
||||
@@ -904,13 +905,13 @@ Module8=C_NoVenta
|
||||
Module9=C_NuevoCliente
|
||||
NumberOfFiles=421
|
||||
NumberOfLibraries=28
|
||||
NumberOfModules=31
|
||||
NumberOfModules=32
|
||||
Version=12.8
|
||||
@EndOfDesignText@
|
||||
#Region Project Attributes
|
||||
#ApplicationLabel: Kelloggs Venta
|
||||
#VersionCode: 3000
|
||||
#VersionName: 5.04.28
|
||||
#VersionName: 5.06.25
|
||||
#SupportedOrientations: portrait
|
||||
#CanInstallToExternalStorage: False
|
||||
#BridgeLogger:true
|
||||
@@ -945,7 +946,7 @@ End Sub
|
||||
Sub Activity_Create(FirstTime As Boolean)
|
||||
Dim pm As B4XPagesManager
|
||||
pm.Initialize(Activity)
|
||||
Log("***********************************************")
|
||||
Log("11***********************************************11")
|
||||
MES1.Initialize(Me, "MES1")
|
||||
Log("SDK: " & device.SdkVersion)
|
||||
' Get the device SDK version
|
||||
@@ -975,7 +976,7 @@ Sub Activity_Create(FirstTime As Boolean)
|
||||
End If
|
||||
Log(MES1.IsInitialized)
|
||||
Log(MES1.HasPermission)
|
||||
Log("***********************************************")
|
||||
Log("22***********************************************22")
|
||||
End Sub
|
||||
|
||||
'Template version: B4A-1.01
|
||||
|
||||
@@ -24,6 +24,7 @@ ModuleBookmarks29=
|
||||
ModuleBookmarks3=
|
||||
ModuleBookmarks30=
|
||||
ModuleBookmarks31=
|
||||
ModuleBookmarks32=
|
||||
ModuleBookmarks4=
|
||||
ModuleBookmarks5=
|
||||
ModuleBookmarks6=
|
||||
@@ -56,6 +57,7 @@ ModuleBreakpoints29=
|
||||
ModuleBreakpoints3=
|
||||
ModuleBreakpoints30=
|
||||
ModuleBreakpoints31=
|
||||
ModuleBreakpoints32=
|
||||
ModuleBreakpoints4=
|
||||
ModuleBreakpoints5=
|
||||
ModuleBreakpoints6=
|
||||
@@ -63,9 +65,9 @@ ModuleBreakpoints7=
|
||||
ModuleBreakpoints8=
|
||||
ModuleBreakpoints9=
|
||||
ModuleClosedNodes0=
|
||||
ModuleClosedNodes1=
|
||||
ModuleClosedNodes1=6,7,8,9,10,11,12,14,15,16
|
||||
ModuleClosedNodes10=
|
||||
ModuleClosedNodes11=
|
||||
ModuleClosedNodes11=3,5,6
|
||||
ModuleClosedNodes12=3,7,8,9,10,11,12
|
||||
ModuleClosedNodes13=6,7,8,9,10,11,12,13,14,16,17
|
||||
ModuleClosedNodes14=
|
||||
@@ -79,21 +81,22 @@ ModuleClosedNodes20=
|
||||
ModuleClosedNodes21=
|
||||
ModuleClosedNodes22=
|
||||
ModuleClosedNodes23=
|
||||
ModuleClosedNodes24=4,24,25,26,27,31,32,33,35
|
||||
ModuleClosedNodes25=
|
||||
ModuleClosedNodes26=4
|
||||
ModuleClosedNodes27=
|
||||
ModuleClosedNodes24=
|
||||
ModuleClosedNodes25=24,25,26,27,31,32,33,35
|
||||
ModuleClosedNodes26=
|
||||
ModuleClosedNodes27=4
|
||||
ModuleClosedNodes28=
|
||||
ModuleClosedNodes29=
|
||||
ModuleClosedNodes3=5,6,7
|
||||
ModuleClosedNodes30=115
|
||||
ModuleClosedNodes31=
|
||||
ModuleClosedNodes3=5,6
|
||||
ModuleClosedNodes30=
|
||||
ModuleClosedNodes31=115
|
||||
ModuleClosedNodes32=
|
||||
ModuleClosedNodes4=
|
||||
ModuleClosedNodes5=
|
||||
ModuleClosedNodes6=
|
||||
ModuleClosedNodes7=
|
||||
ModuleClosedNodes8=
|
||||
ModuleClosedNodes9=
|
||||
NavigationStack=C_Clientes,Class_Globals,23,0,C_Clientes,B_IMP_Click,236,0,C_Cliente,B4XPage_Created,316,0,B4XMainPage,B4XPage_Created,155,1,C_Principal,JobDone,1064,0,Diseñador Visual,cliente.bal,-100,3,C_Cliente,B_IMP_Click,1138,0,Subs,ponImpreso,658,0,C_Cliente,Imprime_ticket,1210,6,kms_helperSubs,RD_respalda_kmt_info,362,0,kms_helperSubs,RD_Init,94,4
|
||||
NavigationStack=kms_helperSubs,RD_Init,69,0,C_Cliente,Imprime_ticket,1573,0,C_Cliente,Guardar_Click,1018,0,kms_helperSubs,RD_respaldoBatch,545,0,kms_helperSubs,RD_respalda_cat_gunaprod2,256,0,kms_helperSubs,RD_restaura_cat_gunaprod2,307,0,kms_helperSubs,RD_respalda_cat_detalle_paq,323,6,kms_helperSubs,TraeVentaSinImprimir,910,0,kms_helperSubs,RD_respalda_cat_rmi,503,0,kms_helperSubs,revisaSiExisteRespaldo,105,0,B4XMainPage,B4XPage_Appear,462,6
|
||||
SelectedBuild=0
|
||||
VisibleModules=1,29,11,3,30,13,12,7,27,26,24,4
|
||||
VisibleModules=1,30,19,11,3,31,12,28,16,18,25
|
||||
|
||||
166
B4A/jRDCWrapper.bas
Normal file
166
B4A/jRDCWrapper.bas
Normal file
@@ -0,0 +1,166 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=12.8
|
||||
@EndOfDesignText@
|
||||
'Class module: jRDC1Wrapper
|
||||
'Version 1.3 - Thread-Safe with ExecuteCommand support
|
||||
|
||||
Public Sub Class_Globals
|
||||
' Public properties to be accessed after the wait for completes
|
||||
Type TResultado(Tag As String, Success As Boolean, resultado As DBResult, ErrorMessage As String)
|
||||
' Type TCommandResult(Tag As String, Success As Boolean, RowsAffected As Int, ErrorMessage As String)
|
||||
|
||||
'C <<< Definimos un tipo para almacenar la información de cada job
|
||||
Type TJobInfo (Target As Object, EventName As String, IsQuery As Boolean)
|
||||
|
||||
'C <<< Un mapa para mantener un registro de los jobs activos
|
||||
Private activeJobs As Map
|
||||
|
||||
'C <<< Un contador para generar tags únicos para cada job
|
||||
Private jobCounter As Int
|
||||
|
||||
Public reqManager As DBRequestManager
|
||||
Public cmd As DBCommand
|
||||
Public resultado As TResultado
|
||||
' Public commandResult As TCommandResult
|
||||
Private logger As Boolean = False
|
||||
End Sub
|
||||
|
||||
'Initializes the object.
|
||||
Public Sub Initialize
|
||||
'C <<< Inicializamos el mapa y el contador
|
||||
activeJobs.Initialize
|
||||
jobCounter = 0
|
||||
End Sub
|
||||
|
||||
'Executes the query using the old jRDC1 mechanism.
|
||||
'Parameters:
|
||||
' - rdcLink: The link for the reqManager initialization.
|
||||
' - Command: The DBCommand to execute.
|
||||
' - Target: The module (like 'Me') where the completed event should be raised.
|
||||
' - Event: The name of the event to raise when the query completes (e.g., "WrapperEvent").
|
||||
Public Sub ExecuteQuery(rdcLink As String, Command As DBCommand, Target As Object, Event As String)
|
||||
'<<< Incrementamos el contador para obtener un ID único
|
||||
jobCounter = jobCounter + 1
|
||||
Dim currentJobTag As String = "jRDCWrapJob_" & jobCounter
|
||||
|
||||
If logger Then Log($"ExecuteQuery (Tag: ${currentJobTag}): Command=${Command.Name}, Event=${Event}"$)
|
||||
|
||||
'<<< Creamos una instancia de TJobInfo para guardar el target y el evento
|
||||
Dim jobInfo As TJobInfo
|
||||
jobInfo.Initialize
|
||||
jobInfo.Target = Target
|
||||
jobInfo.EventName = Event
|
||||
jobInfo.IsQuery = True ' Mark as query job
|
||||
|
||||
'<<< Guardamos la información del job en el mapa, usando el tag único como llave
|
||||
activeJobs.Put(currentJobTag, jobInfo)
|
||||
|
||||
reqManager.Initialize(Me, rdcLink)
|
||||
cmd = Command
|
||||
|
||||
'<<< Ejecutamos la consulta pasando nuestro TAG ÚNICO
|
||||
reqManager.ExecuteQuery(cmd, 0, currentJobTag)
|
||||
End Sub
|
||||
|
||||
'Executes a command (INSERT, UPDATE, DELETE) using the old jRDC1 mechanism.
|
||||
'Parameters:
|
||||
' - rdcLink: The link for the reqManager initialization.
|
||||
' - Command: The DBCommand to execute.
|
||||
' - Target: The module (like 'Me') where the completed event should be raised.
|
||||
' - Event: The name of the event to raise when the command completes (e.g., "WrapperEvent").
|
||||
Public Sub ExecuteCommand(rdcLink As String, Command As DBCommand, Target As Object, Event As String)
|
||||
'<<< Incrementamos el contador para obtener un ID único
|
||||
jobCounter = jobCounter + 1
|
||||
Dim currentJobTag As String = "jRDCWrapJob_" & jobCounter
|
||||
|
||||
if logger then Log($"ExecuteCommand (Tag: ${currentJobTag}): Command=${Command.Name}, Event=${Event}"$)
|
||||
|
||||
'<<< Creamos una instancia de TJobInfo para guardar el target y el evento
|
||||
Dim jobInfo As TJobInfo
|
||||
jobInfo.Initialize
|
||||
jobInfo.Target = Target
|
||||
jobInfo.EventName = Event
|
||||
jobInfo.IsQuery = False ' Mark as command job
|
||||
|
||||
'<<< Guardamos la información del job en el mapa, usando el tag único como llave
|
||||
activeJobs.Put(currentJobTag, jobInfo)
|
||||
|
||||
reqManager.Initialize(Me, rdcLink)
|
||||
cmd = Command
|
||||
|
||||
'<<< Ejecutamos el comando pasando nuestro TAG ÚNICO
|
||||
reqManager.ExecuteCommand(cmd, currentJobTag)
|
||||
End Sub
|
||||
|
||||
'This sub will be called by the DBRequestManager when the job is done
|
||||
Public Sub JobDone(job As HttpJob)
|
||||
'<<< Obtenemos el Tag único que asignamos al job
|
||||
Dim currentJobTag As String = job.Tag
|
||||
|
||||
'C <<< Verificamos si este job fue iniciado por nuestro wrapper
|
||||
If activeJobs.ContainsKey(currentJobTag) = False Then
|
||||
If logger Then Log($"JobDone: Se recibió un job con un tag desconocido: ${currentJobTag}"$)
|
||||
job.Release
|
||||
Return
|
||||
End If
|
||||
|
||||
'<<< Recuperamos la información específica de este job desde el mapa
|
||||
Dim jobInfo As TJobInfo = activeJobs.Get(currentJobTag)
|
||||
Try
|
||||
If jobInfo.IsQuery Then
|
||||
' Handle query result
|
||||
resultado.Initialize
|
||||
resultado.Tag = jobInfo.EventName ' Usamos el nombre del evento original como Tag del resultado
|
||||
|
||||
If job.Success Then
|
||||
Dim dbResult As DBResult = reqManager.HandleJob(job)
|
||||
resultado.Success = True
|
||||
resultado.Resultado = dbResult
|
||||
resultado.ErrorMessage = ""
|
||||
Else
|
||||
resultado.Success = False
|
||||
resultado.Resultado = Null
|
||||
resultado.ErrorMessage = job.ErrorMessage
|
||||
End If
|
||||
job.Release
|
||||
|
||||
'<<< Usamos la información recuperada del mapa para llamar al Sub correcto
|
||||
if logger then LogColor($"EVENTO: ${jobInfo.EventName}_Completed"$, Colors.Magenta)
|
||||
CallSubDelayed2(jobInfo.Target, jobInfo.EventName & "_Completed", resultado)
|
||||
Else
|
||||
' Handle command result
|
||||
resultado.Initialize
|
||||
resultado.Tag = jobInfo.EventName
|
||||
|
||||
If job.Success Then
|
||||
Dim dbResult As DBResult = reqManager.HandleJob(job)
|
||||
' Dim rowsAffected As Int = reqManager.HandleCommandResult(job)
|
||||
' For Each records() As Object In dbResult.Rows
|
||||
' Dim rowsAffected As Int = records(dbResult.Columns.Get("AffectedRows"))
|
||||
' Next
|
||||
resultado.Success = True
|
||||
resultado.resultado = dbResult
|
||||
resultado.ErrorMessage = ""
|
||||
Else
|
||||
resultado.Success = False
|
||||
resultado.resultado = Null
|
||||
resultado.ErrorMessage = job.ErrorMessage
|
||||
End If
|
||||
job.Release
|
||||
|
||||
'<<< Usamos la información recuperada del mapa para llamar al Sub correcto
|
||||
If logger Then LogColor($"EVENTO: ${jobInfo.EventName}_Completed"$, Colors.Magenta)
|
||||
CallSubDelayed2(jobInfo.Target, jobInfo.EventName & "_Completed", resultado)
|
||||
End If
|
||||
|
||||
'C <<< Se remueve el job del mapa en caso de ÉXITO
|
||||
activeJobs.Remove(currentJobTag)
|
||||
Catch
|
||||
if logger then LogColor("Error en jRDC1Wrapper.JobDone: " & LastException, Colors.Red)
|
||||
'<<< MUY IMPORTANTE: Remover el job del mapa para no tener fugas de memoria
|
||||
activeJobs.Remove(currentJobTag)
|
||||
End Try
|
||||
End Sub
|
||||
@@ -73,6 +73,7 @@ Sub RD_Init
|
||||
limpiarBD = True
|
||||
Log("NO EXISTE BD")
|
||||
End If
|
||||
LogColor("#################################################" & CRLF & " safePath: " & safePath, Colors.red)
|
||||
rkmt.Initialize(safePath, $"${name(0)}.rkmt.km"$, True)
|
||||
If limpiarBD Then
|
||||
LogColor("----->> LIMPIAMOS BD RECUPERACION PRIMERA VEZ <<-------", Colors.red)
|
||||
@@ -117,6 +118,9 @@ Sub revisaSiExisteRespaldo
|
||||
If File.size(File.DirInternal&"/kmts", $"${name(0)}.rkmt.km"$) < 43000 And File.Exists(File.DirRootExternal & extDir, $"${name(0)}.rkmt.km"$) Then
|
||||
LogColor("Copiamos el respaldo desde la tarjeta!!", Colors.red)
|
||||
File.Copy(File.DirRootExternal & extDir, $"${name(0)}.rkmt.km"$, File.DirInternal&"/kmts", $"${name(0)}.rkmt.km"$)
|
||||
|
||||
RD_Init
|
||||
|
||||
Else
|
||||
LogColor("No hay respaldo en tarjeta externa!", Colors.red)
|
||||
End If
|
||||
@@ -327,7 +331,9 @@ Sub RD_respalda_cat_detalle_paq
|
||||
End If
|
||||
Catch
|
||||
Log(LastException)
|
||||
rkmt.Close
|
||||
End Try
|
||||
Log(2.5)
|
||||
x.Close
|
||||
End Sub
|
||||
|
||||
|
||||
Reference in New Issue
Block a user