- VERSION 5.03.03
- Promos por monto. - Encuestas con modulo de Alan para subir archivo con clientes que SI deben de ver la encuesta. - Correccion de la funcion Subs.revisaHora, que manda "falso" aun cuando las horas estan bien ... solo se puso que mandara siempre "true", hay que arreglarla!!
@@ -753,10 +753,11 @@ Sub cargar_Click
|
|||||||
|
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "SELECT_HIST_ENCUESTA_KELL"
|
cmd.Name = "SELECT_HIST_ENCUESTA_KELL"
|
||||||
cmd.Parameters = Array As Object( e_ruta.text, ALMACEN)
|
cmd.Parameters = Array As Object( e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN )
|
||||||
reqManager.ExecuteQuery(cmd , 0, "HIST_ENCUESTA2")
|
reqManager.ExecuteQuery(cmd , 0, "HIST_ENCUESTA2")
|
||||||
|
Log($"${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN}"$)
|
||||||
|
|
||||||
|
' ruta , ALMACEN, ruta , ALMACEN, ruta, ALMACEN, ruta, ALMACEN,
|
||||||
|
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "SELECT_EXHIBIDOR_RUTA_KELL"
|
cmd.Name = "SELECT_EXHIBIDOR_RUTA_KELL"
|
||||||
@@ -1785,7 +1786,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("HORA", Starter.HORA))
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("HORA", Starter.HORA))
|
||||||
Next
|
Next
|
||||||
If Not(Subs.revisaHora) Then
|
If Not(Subs.revisaHora) Then
|
||||||
Log("***************** HORA INCORRECTA")
|
LogColor("***************** HORA INCORRECTA",Colors.red)
|
||||||
MsgboxAsync("La hora del equipo NO coincide con la hora del servidor, es necesario corregirla", "AVISO IMPORTANTE")
|
MsgboxAsync("La hora del equipo NO coincide con la hora del servidor, es necesario corregirla", "AVISO IMPORTANTE")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|||||||
360
B4A/DBRequestManager1.bas
Normal file
@@ -0,0 +1,360 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=6.8
|
||||||
|
@EndOfDesignText@
|
||||||
|
''Class module
|
||||||
|
Sub Class_Globals
|
||||||
|
Private mTarget As Object
|
||||||
|
Type DBResult (Tag As Object, Columns As Map, Rows As List)
|
||||||
|
Type DBCommand (Name As String, Parameters() As Object)
|
||||||
|
Private link As String
|
||||||
|
Private bc As ByteConverter
|
||||||
|
Private T_NULL = 0, T_STRING = 1, T_SHORT = 2, T_INT = 3, T_LONG = 4, T_FLOAT = 5 _
|
||||||
|
,T_DOUBLE = 6, T_BOOLEAN = 7, T_BLOB = 8 As Byte
|
||||||
|
Private VERSION As Float = 0.9
|
||||||
|
Private tempArray(1) As Object
|
||||||
|
Dim jobTagAnterior As String = "" 'Mod por CHV - 211109
|
||||||
|
Dim reqsList, timesList As List
|
||||||
|
Dim inicioRequest As Long 'ignore
|
||||||
|
Dim inicioJobDone As Long 'ignore
|
||||||
|
Dim inicioRequestMap, inicioJobDoneMap As Map
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Target - The module that handles JobDone (usually Me).
|
||||||
|
'ConnectorLink - URL of the Java server.
|
||||||
|
Public Sub Initialize (Target As Object, ConnectorLink As String)
|
||||||
|
mTarget = Target
|
||||||
|
link = ConnectorLink
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Sends a query request.
|
||||||
|
'Command - Query name and parameters.
|
||||||
|
'Limit - Maximum rows to return or 0 for no limit.
|
||||||
|
'Tag - An object that will be returned in the result.
|
||||||
|
Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object)
|
||||||
|
Dim j As HttpJob
|
||||||
|
Dim ms As OutputStream
|
||||||
|
Dim out2 As OutputStream = StartJob(j, ms, Tag)
|
||||||
|
' If reqsList.IsInitialized Then reqsList.Add(Tag)
|
||||||
|
' If timesList.IsInitialized Then timesList.Add(DateTime.now)
|
||||||
|
|
||||||
|
WriteObject(Command.Name, out2)
|
||||||
|
WriteInt(Limit, out2)
|
||||||
|
WriteList(Command.Parameters, out2)
|
||||||
|
out2.Close
|
||||||
|
j.PostBytes(link & "?method=query", ms.ToBytesArray)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Sends a query request.
|
||||||
|
'Command - Query name and parameters.
|
||||||
|
'Limit - Maximum rows to return or 0 for no limit.
|
||||||
|
'Tag - An object that will be returned in the result.
|
||||||
|
'Timeout - The http request timeout in ms, or 0 if default (30 secs)
|
||||||
|
Public Sub ExecuteQuery3(Command As DBCommand, Limit As Int, Tag As Object, Timeout As Int) 'Mod por CHV, agregué el parametro Timeout - 211229
|
||||||
|
Dim j As HttpJob
|
||||||
|
Dim ms As OutputStream
|
||||||
|
Dim out2 As OutputStream = StartJob(j,ms, Tag)
|
||||||
|
WriteObject(Command.Name, out2)
|
||||||
|
WriteInt(Limit, out2)
|
||||||
|
WriteList(Command.Parameters, out2)
|
||||||
|
out2.Close
|
||||||
|
j.PostBytes(link & "?method=query", ms.ToBytesArray)
|
||||||
|
If Timeout <> 0 Then j.GetRequest.Timeout = Timeout
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Executes a batch of (non-select) commands.
|
||||||
|
'ListOfCommands - List of the commands that will be executes.
|
||||||
|
'Tag - An object that will be returned in the result.
|
||||||
|
Public Sub ExecuteBatch(ListOfCommands As List, Tag As Object)
|
||||||
|
Dim j As HttpJob
|
||||||
|
Dim ms As OutputStream
|
||||||
|
Dim out2 As OutputStream = StartJob(j, ms, Tag)
|
||||||
|
WriteInt(ListOfCommands.Size, out2)
|
||||||
|
For Each Command As DBCommand In ListOfCommands
|
||||||
|
WriteObject(Command.Name, out2)
|
||||||
|
WriteList(Command.Parameters, out2)
|
||||||
|
Next
|
||||||
|
out2.Close
|
||||||
|
j.PostBytes(link & "?method=batch", ms.ToBytesArray)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Similar to ExecuteBatch. Sends a single command.
|
||||||
|
Public Sub ExecuteCommand(Command As DBCommand, Tag As Object)
|
||||||
|
' If reqsList.IsInitialized Then reqsList.Add(Tag)
|
||||||
|
' If timesList.IsInitialized Then timesList.Add(DateTime.now)
|
||||||
|
ExecuteBatch(Array As DBCommand(Command), Tag)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub StartJob(j As HttpJob, MemoryStream As OutputStream, Tag As Object) As OutputStream
|
||||||
|
' inicioRequest = DateTime.now
|
||||||
|
If reqsList.IsInitialized Then reqsList.Add(Tag)
|
||||||
|
If timesList.IsInitialized Then timesList.Add(DateTime.now)
|
||||||
|
j.Initialize("DBRequest", mTarget)
|
||||||
|
j.Tag = Tag
|
||||||
|
MemoryStream.InitializeToBytesArray(0)
|
||||||
|
Dim compress As CompressedStreams
|
||||||
|
Dim out As OutputStream = compress.WrapOutputStream(MemoryStream, "gzip")
|
||||||
|
WriteObject(VERSION, out)
|
||||||
|
Return out
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub WriteList(Parameters As List, out As OutputStream)
|
||||||
|
Dim data() As Byte
|
||||||
|
If Parameters = Null Or Parameters.IsInitialized = False Then
|
||||||
|
Dim Parameters As List
|
||||||
|
Parameters.Initialize
|
||||||
|
End If
|
||||||
|
data = bc.IntsToBytes(Array As Int(Parameters.Size))
|
||||||
|
out.WriteBytes(data, 0, data.Length)
|
||||||
|
For Each o As Object In Parameters
|
||||||
|
WriteObject(o, out)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub WriteObject(o As Object, out As OutputStream)
|
||||||
|
Dim data() As Byte
|
||||||
|
tempArray(0) = o
|
||||||
|
If tempArray(0) = Null Then
|
||||||
|
out.WriteBytes(Array As Byte(T_NULL), 0, 1)
|
||||||
|
Else If tempArray(0) Is Short Then
|
||||||
|
out.WriteBytes(Array As Byte(T_SHORT), 0, 1)
|
||||||
|
data = bc.ShortsToBytes(Array As Short(o))
|
||||||
|
Else If tempArray(0) Is Int Then
|
||||||
|
out.WriteBytes(Array As Byte(T_INT), 0, 1)
|
||||||
|
data = bc.IntsToBytes(Array As Int(o))
|
||||||
|
Else If tempArray(0) Is Float Then
|
||||||
|
out.WriteBytes(Array As Byte(T_FLOAT), 0, 1)
|
||||||
|
data = bc.FloatsToBytes(Array As Float(o))
|
||||||
|
Else If tempArray(0) Is Double Then
|
||||||
|
out.WriteBytes(Array As Byte(T_DOUBLE), 0, 1)
|
||||||
|
data = bc.DoublesToBytes(Array As Double(o))
|
||||||
|
Else If tempArray(0) Is Long Then
|
||||||
|
out.WriteBytes(Array As Byte(T_LONG), 0, 1)
|
||||||
|
data = bc.LongsToBytes(Array As Long(o))
|
||||||
|
Else If tempArray(0) Is Boolean Then
|
||||||
|
out.WriteBytes(Array As Byte(T_BOOLEAN), 0, 1)
|
||||||
|
Dim b As Boolean = 0
|
||||||
|
Dim data(1) As Byte
|
||||||
|
If b Then data(0) = 1 Else data(0) = 0
|
||||||
|
Else If GetType(tempArray(0)) = "[B" Then
|
||||||
|
data = o
|
||||||
|
out.WriteBytes(Array As Byte(T_BLOB), 0, 1)
|
||||||
|
WriteInt(data.Length, out)
|
||||||
|
Else 'If o Is String Then (treat all other values as string)
|
||||||
|
out.WriteBytes(Array As Byte(T_STRING), 0, 1)
|
||||||
|
data = bc.StringToBytes(o, "UTF8")
|
||||||
|
WriteInt(data.Length, out)
|
||||||
|
End If
|
||||||
|
If data.Length > 0 Then out.WriteBytes(data, 0, data.Length)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReadObject(In As InputStream) As Object
|
||||||
|
Dim data(1) As Byte
|
||||||
|
In.ReadBytes(data, 0, 1)
|
||||||
|
Select data(0)
|
||||||
|
Case T_NULL
|
||||||
|
Return Null
|
||||||
|
Case T_SHORT
|
||||||
|
Dim data(2) As Byte
|
||||||
|
Return bc.ShortsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
Case T_INT
|
||||||
|
Dim data(4) As Byte
|
||||||
|
Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
Case T_LONG
|
||||||
|
Dim data(8) As Byte
|
||||||
|
Return bc.LongsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
Case T_FLOAT
|
||||||
|
Dim data(4) As Byte
|
||||||
|
Return bc.FloatsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
Case T_DOUBLE
|
||||||
|
Dim data(8) As Byte
|
||||||
|
Return bc.DoublesFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
Case T_BOOLEAN
|
||||||
|
Dim b As Byte = ReadByte(In)
|
||||||
|
Return b = 1
|
||||||
|
Case T_BLOB
|
||||||
|
Dim len As Int = ReadInt(In)
|
||||||
|
Dim data(len) As Byte
|
||||||
|
Return ReadBytesFully(In, data, data.Length)
|
||||||
|
Case Else
|
||||||
|
Dim len As Int = ReadInt(In)
|
||||||
|
Dim data(len) As Byte
|
||||||
|
ReadBytesFully(In, data, data.Length)
|
||||||
|
Return BytesToString(data, 0, data.Length, "UTF8")
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReadBytesFully(In As InputStream, Data() As Byte, Len As Int) As Byte()
|
||||||
|
Dim count = 0, read As Int
|
||||||
|
Do While count < Len And read > -1
|
||||||
|
read = In.ReadBytes(Data, count, Len - count)
|
||||||
|
count = count + read
|
||||||
|
Loop
|
||||||
|
Return Data
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub WriteInt(i As Int, out As OutputStream)
|
||||||
|
Dim data() As Byte
|
||||||
|
data = bc.IntsToBytes(Array As Int(i))
|
||||||
|
out.WriteBytes(data, 0, data.Length)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReadInt(In As InputStream) As Int
|
||||||
|
Dim data(4) As Byte
|
||||||
|
Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReadByte(In As InputStream) As Byte
|
||||||
|
Dim data(1) As Byte
|
||||||
|
In.ReadBytes(data, 0, 1)
|
||||||
|
Return data(0)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Handles the Job result and returns a DBResult.
|
||||||
|
Public Sub HandleJob(Job As HttpJob) As DBResult
|
||||||
|
If jobTagAnterior <> Job.Tag Then
|
||||||
|
' inicioJobDone = DateTime.Now 'ignore
|
||||||
|
If inicioJobDoneMap.IsInitialized Then inicioJobDoneMap.Put(Job.Tag, DateTime.Now)
|
||||||
|
' tiempos.Put(Job.taskId, CreateMap("inicioJobDone":inicioJobDone))
|
||||||
|
' Log(tiempos)
|
||||||
|
' Log("############# " & Job.taskId)
|
||||||
|
End If
|
||||||
|
Dim In As InputStream = Job.GetInputStream
|
||||||
|
Dim cs As CompressedStreams
|
||||||
|
In = cs.WrapInputStream(In, "gzip")
|
||||||
|
Dim serverVersion As Float = ReadObject(In) 'ignore
|
||||||
|
Dim method As String = ReadObject(In)
|
||||||
|
Dim table As DBResult
|
||||||
|
table.Initialize
|
||||||
|
table.Columns.Initialize
|
||||||
|
table.rows.Initialize
|
||||||
|
table.Tag = Job.Tag
|
||||||
|
If method = "query" Then
|
||||||
|
Dim numberOfColumns As Int = ReadInt(In)
|
||||||
|
For i = 0 To numberOfColumns - 1
|
||||||
|
table.Columns.Put(ReadObject(In), i)
|
||||||
|
Next
|
||||||
|
Do While ReadByte(In) = 1
|
||||||
|
Dim rowObjects(numberOfColumns) As Object
|
||||||
|
table.rows.Add(rowObjects)
|
||||||
|
For col = 0 To numberOfColumns - 1
|
||||||
|
Dim o As Object = ReadObject(In)
|
||||||
|
rowObjects(col) = o
|
||||||
|
Next
|
||||||
|
Loop
|
||||||
|
Else If method = "batch" Then
|
||||||
|
table.Columns.Put("AffectedRows", 0)
|
||||||
|
Dim rows As Int = ReadInt(In)
|
||||||
|
For i = 0 To rows - 1
|
||||||
|
table.rows.Add(Array As Object(ReadInt(In)))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
In.Close
|
||||||
|
' Log("HandleJob: " & (DateTime.Now - start))'Comentado por CHV - 211112
|
||||||
|
If jobTagAnterior <> table.Tag Then
|
||||||
|
LogColor("HandleJob: '"&table.Tag&"'" & " - Registros: " & table.Rows.Size, Colors.RGB(115, 0, 140)) 'Mod por CHV - 211109
|
||||||
|
End If
|
||||||
|
jobTagAnterior = table.Tag 'Mod por CHV - 211109
|
||||||
|
Return table
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Reads a file and returns the file as a bytes array.
|
||||||
|
Public Sub FileToBytes(Dir As String, FileName As String) As Byte()
|
||||||
|
Dim out As OutputStream
|
||||||
|
out.InitializeToBytesArray(0)
|
||||||
|
Dim In As InputStream = File.OpenInput(Dir, FileName)
|
||||||
|
File.Copy2(In, out)
|
||||||
|
out.Close
|
||||||
|
Return out.ToBytesArray
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Converts an image to a bytes array (for BLOB fields).
|
||||||
|
Public Sub ImageToBytes(Image As Bitmap) As Byte()
|
||||||
|
Dim out As OutputStream
|
||||||
|
out.InitializeToBytesArray(0)
|
||||||
|
Image.WriteToStream(out, 100, "JPEG")
|
||||||
|
out.Close
|
||||||
|
Return out.ToBytesArray
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Converts a bytes array to an image (for BLOB fields).
|
||||||
|
Public Sub BytesToImage(bytes() As Byte) As Bitmap
|
||||||
|
Dim In As InputStream
|
||||||
|
In.InitializeFromBytesArray(bytes, 0, bytes.Length)
|
||||||
|
Dim bmp As Bitmap
|
||||||
|
bmp.Initialize2(In)
|
||||||
|
Return bmp
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Prints the table to the logs.
|
||||||
|
Public Sub PrintTable(Table As DBResult)
|
||||||
|
Log("Tag: " & Table.Tag & ", Columns: " & Table.Columns.Size & ", Rows: " & Table.Rows.Size)
|
||||||
|
Dim sb As StringBuilder
|
||||||
|
sb.Initialize
|
||||||
|
For Each col In Table.Columns.Keys
|
||||||
|
sb.Append(col).Append(TAB)
|
||||||
|
Next
|
||||||
|
Log(sb.ToString)
|
||||||
|
For Each row() As Object In Table.Rows
|
||||||
|
Dim sb As StringBuilder
|
||||||
|
sb.Initialize
|
||||||
|
For Each record As Object In row
|
||||||
|
sb.Append(record).Append(TAB)
|
||||||
|
Next
|
||||||
|
Log(sb.ToString)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub requestTimes(tag As String) As Map 'ignore
|
||||||
|
Private times As Map
|
||||||
|
times.Initialize
|
||||||
|
' Log("###### " & tag)
|
||||||
|
' Log(reqsList.IsInitialized)
|
||||||
|
If reqsList.IsInitialized Then
|
||||||
|
' Log(reqsList)
|
||||||
|
' Private pos As Int = reqsList.IndexOf(tag)
|
||||||
|
If inicioRequestMap.ContainsKey(tag) Then
|
||||||
|
inicioRequest = inicioRequestMap.Get(tag)
|
||||||
|
' Log(">>>>>>> From inicioRequestMap")
|
||||||
|
End If
|
||||||
|
If inicioJobDoneMap.ContainsKey(tag) Then
|
||||||
|
inicioJobDone = inicioJobDoneMap.Get(tag)
|
||||||
|
' Log(">>>>>>> From inicioJobDoneMap")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
' Log($"${inicioJobDone} - ${inicioRequest}"$)
|
||||||
|
Private requestTime As String = NumberFormat2(((inicioJobDone - inicioRequest) / 1000),1,5,0,False)
|
||||||
|
Private JobDoneTime As String = NumberFormat2(((DateTime.Now - inicioJobDone) / 1000),1,5,0,False)
|
||||||
|
times.Put("requestTime", requestTime)
|
||||||
|
times.Put("jobDoneTime", JobDoneTime)
|
||||||
|
times.Put("totalTime", NumberFormat2((JobDoneTime + requestTime),1,5,0,False))
|
||||||
|
Return times
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Initializes request tracking
|
||||||
|
Sub trackInit 'ignore
|
||||||
|
Log(">>>>>>>>> TRACKINIT ")
|
||||||
|
reqsList.Initialize
|
||||||
|
timesList.Initialize
|
||||||
|
inicioRequestMap.Initialize
|
||||||
|
inicioJobDoneMap.Initialize
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub trackNext(job As HttpJob)
|
||||||
|
If reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
|
||||||
|
Private quitamos As String = ""
|
||||||
|
If reqsList.IndexOf(job.tag) <> -1 Then
|
||||||
|
Private pos As Int = reqsList.IndexOf(job.tag)
|
||||||
|
If pos <> -1 Then
|
||||||
|
inicioRequestMap.Put(job.Tag, timesList.Get(pos))
|
||||||
|
reqsList.RemoveAt(pos)
|
||||||
|
timesList.RemoveAt(pos)
|
||||||
|
End If
|
||||||
|
quitamos = $"Quitamos ${job.tag} - "$
|
||||||
|
End If
|
||||||
|
LogColor(">>>>>> Requests: " & reqsList.Size & " - " & quitamos & reqsList, Colors.Blue)
|
||||||
|
LogColor(">>>>>> inicioRequestMap:" & inicioRequestMap.Size & " - " & inicioRequestMap, Colors.Magenta)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
201
B4A/DBRequestManager2.bas
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=6.8
|
||||||
|
@EndOfDesignText@
|
||||||
|
'Requires support for resumable subs
|
||||||
|
'Class module
|
||||||
|
|
||||||
|
Sub Class_Globals
|
||||||
|
Private mTarget As Object
|
||||||
|
Private link As String
|
||||||
|
Private VERSION As Float = 2
|
||||||
|
Dim reqsList, timesList As List
|
||||||
|
Dim inicioRequest As Long 'ignore
|
||||||
|
Dim inicioJobDone As Long 'ignore
|
||||||
|
Dim inicioRequestMap, inicioJobDoneMap As Map
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Target - The module that handles JobDone (usually Me).
|
||||||
|
'ConnectorLink - URL of the Java server.
|
||||||
|
Public Sub Initialize (Target As Object, ConnectorLink As String)
|
||||||
|
mTarget = Target
|
||||||
|
link = ConnectorLink
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Sends a query request.
|
||||||
|
'Command - Query name and parameters.
|
||||||
|
'Limit - Maximum rows to return or 0 for no limit.
|
||||||
|
'Tag - An object that will be returned in the result.
|
||||||
|
Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object) As HttpJob
|
||||||
|
Dim ser As B4XSerializator
|
||||||
|
Dim data() As Byte = ser.ConvertObjectToBytes(CreateMap("command": Command, "limit": Limit, "version": VERSION))
|
||||||
|
Return SendJob(CreateJob, data, Tag, "query2")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub SendJob(j As HttpJob, Data() As Byte, Tag As Object, Method As String) As HttpJob
|
||||||
|
j.Tag = Tag
|
||||||
|
j.PostBytes(link & "?method=" & Method , Data)
|
||||||
|
Return j
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CreateJob As HttpJob
|
||||||
|
Dim j As HttpJob
|
||||||
|
j.Initialize("DBRequest", mTarget)
|
||||||
|
Return j
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Executes a batch of (non-select) commands.
|
||||||
|
'ListOfCommands - List of the commands that will be executes.
|
||||||
|
'Tag - An object that will be returned in the result.
|
||||||
|
Public Sub ExecuteBatch(ListOfCommands As List, Tag As Object) As HttpJob
|
||||||
|
Dim j As HttpJob = CreateJob
|
||||||
|
ExecuteBatchImpl(j, ListOfCommands, Tag)
|
||||||
|
Return j
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ExecuteBatchImpl(Job As HttpJob, ListOfCommands As List, Tag As Object)
|
||||||
|
Dim ser As B4XSerializator
|
||||||
|
ser.ConvertObjectToBytesAsync(CreateMap("commands": ListOfCommands, "version": VERSION), "ser")
|
||||||
|
Wait For (ser) ser_ObjectToBytes (Success As Boolean, Bytes() As Byte)
|
||||||
|
If Success = False Then
|
||||||
|
Log("Error building command: " & LastException)
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
Dim ser As B4XSerializator = Sender
|
||||||
|
SendJob(Job, Bytes, Tag, "batch2")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
'Similar to ExecuteBatch. Sends a single command.
|
||||||
|
Public Sub ExecuteCommand(Command As DBCommand, Tag As Object) As HttpJob
|
||||||
|
Return ExecuteBatch(Array As DBCommand(Command), Tag)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Handles the Job result and returns a DBResult.
|
||||||
|
'It is recommended to use HandleJobAsync instead.
|
||||||
|
Public Sub HandleJob(Job As HttpJob) As DBResult
|
||||||
|
Dim ser As B4XSerializator
|
||||||
|
Dim data() As Byte = Bit.InputStreamToBytes(Job.GetInputStream)
|
||||||
|
Dim res As DBResult = ser.ConvertBytesToObject(data)
|
||||||
|
res.Tag = Job.Tag
|
||||||
|
Return res
|
||||||
|
End Sub
|
||||||
|
'Handles the Job result and raises the Result event when the data is ready.
|
||||||
|
|
||||||
|
Public Sub HandleJobAsync(Job As HttpJob, EventName As String)
|
||||||
|
Dim ser As B4XSerializator
|
||||||
|
Dim data() As Byte = Bit.InputStreamToBytes(Job.GetInputStream)
|
||||||
|
ser.ConvertBytesToObjectAsync(data, "ser")
|
||||||
|
Wait For (ser) ser_BytesToObject (Success As Boolean, NewObject As Object)
|
||||||
|
If Success = False Then
|
||||||
|
Log("Error reading response: " & LastException)
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
Dim res As DBResult = NewObject
|
||||||
|
res.Tag = Job.Tag
|
||||||
|
CallSubDelayed2(mTarget, EventName & "_result", res)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
'Reads a file and returns the file as a bytes array.
|
||||||
|
Public Sub FileToBytes(Dir As String, FileName As String) As Byte()
|
||||||
|
Dim out As OutputStream
|
||||||
|
out.InitializeToBytesArray(0)
|
||||||
|
Dim In As InputStream = File.OpenInput(Dir, FileName)
|
||||||
|
File.Copy2(In, out)
|
||||||
|
out.Close
|
||||||
|
Return out.ToBytesArray
|
||||||
|
End Sub
|
||||||
|
#if Not(B4J)
|
||||||
|
'Converts an image to a bytes array (for BLOB fields).
|
||||||
|
Public Sub ImageToBytes(Image As Bitmap) As Byte()
|
||||||
|
Dim out As OutputStream
|
||||||
|
out.InitializeToBytesArray(0)
|
||||||
|
Image.WriteToStream(out, 100, "JPEG")
|
||||||
|
out.Close
|
||||||
|
Return out.ToBytesArray
|
||||||
|
End Sub
|
||||||
|
'Converts a bytes array to an image (for BLOB fields).
|
||||||
|
Public Sub BytesToImage(bytes() As Byte) As Bitmap
|
||||||
|
Dim In As InputStream
|
||||||
|
In.InitializeFromBytesArray(bytes, 0, bytes.Length)
|
||||||
|
Dim bmp As Bitmap
|
||||||
|
bmp.Initialize2(In)
|
||||||
|
Return bmp
|
||||||
|
End Sub
|
||||||
|
#End If
|
||||||
|
|
||||||
|
'Prints the table to the logs.
|
||||||
|
Public Sub PrintTable(Table As DBResult)
|
||||||
|
Log("Tag: " & Table.Tag & ", Columns: " & Table.Columns.Size & ", Rows: " & Table.Rows.Size)
|
||||||
|
Dim sb As StringBuilder
|
||||||
|
sb.Initialize
|
||||||
|
For Each col In Table.Columns.Keys
|
||||||
|
sb.Append(col).Append(TAB)
|
||||||
|
Next
|
||||||
|
Log(sb.ToString)
|
||||||
|
For Each row() As Object In Table.Rows
|
||||||
|
Dim sb As StringBuilder
|
||||||
|
sb.Initialize
|
||||||
|
For Each record As Object In row
|
||||||
|
sb.Append(record).Append(TAB)
|
||||||
|
Next
|
||||||
|
Log(sb.ToString)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub requestTimes(tag As String) As Map 'ignore
|
||||||
|
Private times As Map
|
||||||
|
times.Initialize
|
||||||
|
' Log("###### " & tag)
|
||||||
|
' Log(reqsList.IsInitialized)
|
||||||
|
If reqsList.IsInitialized Then
|
||||||
|
' Log(reqsList)
|
||||||
|
' Private pos As Int = reqsList.IndexOf(tag)
|
||||||
|
If inicioRequestMap.ContainsKey(tag) Then
|
||||||
|
inicioRequest = inicioRequestMap.Get(tag)
|
||||||
|
' Log(">>>>>>> From inicioRequestMap")
|
||||||
|
End If
|
||||||
|
If inicioJobDoneMap.ContainsKey(tag) Then
|
||||||
|
inicioJobDone = inicioJobDoneMap.Get(tag)
|
||||||
|
' Log(">>>>>>> From inicioJobDoneMap")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
' Log($"${inicioJobDone} - ${inicioRequest}"$)
|
||||||
|
Private requestTime As String = NumberFormat2(((inicioJobDone - inicioRequest) / 1000),1,5,0,False)
|
||||||
|
Private JobDoneTime As String = NumberFormat2(((DateTime.Now - inicioJobDone) / 1000),1,5,0,False)
|
||||||
|
times.Put("requestTime", requestTime)
|
||||||
|
times.Put("jobDoneTime", JobDoneTime)
|
||||||
|
times.Put("totalTime", NumberFormat2((JobDoneTime + requestTime),1,5,0,False))
|
||||||
|
Return times
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Initializes request tracking
|
||||||
|
Sub trackInit 'ignore
|
||||||
|
Log(">>>>>>>>> TRACKINIT ")
|
||||||
|
reqsList.Initialize
|
||||||
|
timesList.Initialize
|
||||||
|
inicioRequestMap.Initialize
|
||||||
|
inicioJobDoneMap.Initialize
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub trackNext(job As HttpJob)
|
||||||
|
If reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
|
||||||
|
Private quitamos As String = ""
|
||||||
|
If reqsList.IndexOf(job.tag) <> -1 Then
|
||||||
|
Private pos As Int = reqsList.IndexOf(job.tag)
|
||||||
|
If pos <> -1 Then
|
||||||
|
inicioRequestMap.Put(job.Tag, timesList.Get(pos))
|
||||||
|
reqsList.RemoveAt(pos)
|
||||||
|
timesList.RemoveAt(pos)
|
||||||
|
End If
|
||||||
|
quitamos = $"Quitamos ${job.tag} - "$
|
||||||
|
End If
|
||||||
|
LogColor(">>>>>> Requests: " & reqsList.Size & " - " & quitamos & reqsList, Colors.Blue)
|
||||||
|
LogColor(">>>>>> inicioRequestMap:" & inicioRequestMap.Size & " - " & inicioRequestMap, Colors.Magenta)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
BIN
B4A/Files/marker-azul.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
B4A/Files/marker-azul1.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
B4A/Files/marker-azul2.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
B4A/Files/marker-azul3.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
B4A/Files/marker-azul4.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
B4A/Files/marker-azul5.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
B4A/Files/marker-rojo.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
B4A/Files/marker-rojo1.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
B4A/Files/marker-rojo2.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
B4A/Files/marker-verde.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
@@ -1,352 +1,362 @@
|
|||||||
Build1=Default,kelloggsV2.keymon.lat,HU2_PUBLIC
|
Build1=Default,kelloggsV2.keymon.lat,HU2_PUBLIC
|
||||||
File1=alcancia.png
|
File1=alcancia.png
|
||||||
File10=cacahuates_blanco2.png
|
File10=cacahuates_blanco2.png
|
||||||
File100=marker-azul-38.png
|
File100=marker-azul-34.png
|
||||||
File101=marker-azul-39.png
|
File101=marker-azul-35.png
|
||||||
File102=marker-azul-4.png
|
File102=marker-azul-36.png
|
||||||
File103=marker-azul-40.png
|
File103=marker-azul-37.png
|
||||||
File104=marker-azul-41.png
|
File104=marker-azul-38.png
|
||||||
File105=marker-azul-42.png
|
File105=marker-azul-39.png
|
||||||
File106=marker-azul-43.png
|
File106=marker-azul4.png
|
||||||
File107=marker-azul-44.png
|
File107=marker-azul-4.png
|
||||||
File108=marker-azul-45.png
|
File108=marker-azul-40.png
|
||||||
File109=marker-azul-46.png
|
File109=marker-azul-41.png
|
||||||
File11=cacahuates_blanco3.png
|
File11=cacahuates_blanco3.png
|
||||||
File110=marker-azul-47.png
|
File110=marker-azul-42.png
|
||||||
File111=marker-azul-48.png
|
File111=marker-azul-43.png
|
||||||
File112=marker-azul-49.png
|
File112=marker-azul-44.png
|
||||||
File113=marker-azul-5.png
|
File113=marker-azul-45.png
|
||||||
File114=marker-azul-50.png
|
File114=marker-azul-46.png
|
||||||
File115=marker-azul-51.png
|
File115=marker-azul-47.png
|
||||||
File116=marker-azul-52.png
|
File116=marker-azul-48.png
|
||||||
File117=marker-azul-53.png
|
File117=marker-azul-49.png
|
||||||
File118=marker-azul-54.png
|
File118=marker-azul5.png
|
||||||
File119=marker-azul-55.png
|
File119=marker-azul-5.png
|
||||||
File12=cacahuates_chico.png
|
File12=cacahuates_chico.png
|
||||||
File120=marker-azul-56.png
|
File120=marker-azul-50.png
|
||||||
File121=marker-azul-57.png
|
File121=marker-azul-51.png
|
||||||
File122=marker-azul-58.png
|
File122=marker-azul-52.png
|
||||||
File123=marker-azul-59.png
|
File123=marker-azul-53.png
|
||||||
File124=marker-azul-6.png
|
File124=marker-azul-54.png
|
||||||
File125=marker-azul-60.png
|
File125=marker-azul-55.png
|
||||||
File126=marker-azul-61.png
|
File126=marker-azul-56.png
|
||||||
File127=marker-azul-62.png
|
File127=marker-azul-57.png
|
||||||
File128=marker-azul-63.png
|
File128=marker-azul-58.png
|
||||||
File129=marker-azul-64.png
|
File129=marker-azul-59.png
|
||||||
File13=cacahuates_original.jpeg
|
File13=cacahuates_original.jpeg
|
||||||
File130=marker-azul-65.png
|
File130=marker-azul-6.png
|
||||||
File131=marker-azul-66.png
|
File131=marker-azul-60.png
|
||||||
File132=marker-azul-67.png
|
File132=marker-azul-61.png
|
||||||
File133=marker-azul-68.png
|
File133=marker-azul-62.png
|
||||||
File134=marker-azul-69.png
|
File134=marker-azul-63.png
|
||||||
File135=marker-azul-7.png
|
File135=marker-azul-64.png
|
||||||
File136=marker-azul-70.png
|
File136=marker-azul-65.png
|
||||||
File137=marker-azul-71.png
|
File137=marker-azul-66.png
|
||||||
File138=marker-azul-72.png
|
File138=marker-azul-67.png
|
||||||
File139=marker-azul-73.png
|
File139=marker-azul-68.png
|
||||||
File14=cacahuates_original2.bmp
|
File14=cacahuates_original2.bmp
|
||||||
File140=marker-azul-74.png
|
File140=marker-azul-69.png
|
||||||
File141=marker-azul-75.png
|
File141=marker-azul-7.png
|
||||||
File142=marker-azul-76.png
|
File142=marker-azul-70.png
|
||||||
File143=marker-azul-77.png
|
File143=marker-azul-71.png
|
||||||
File144=marker-azul-78.png
|
File144=marker-azul-72.png
|
||||||
File145=marker-azul-79.png
|
File145=marker-azul-73.png
|
||||||
File146=marker-azul-8.png
|
File146=marker-azul-74.png
|
||||||
File147=marker-azul-80.png
|
File147=marker-azul-75.png
|
||||||
File148=marker-azul-81.png
|
File148=marker-azul-76.png
|
||||||
File149=marker-azul-82.png
|
File149=marker-azul-77.png
|
||||||
File15=cacahuates_original2.jpg
|
File15=cacahuates_original2.jpg
|
||||||
File150=marker-azul-83.png
|
File150=marker-azul-78.png
|
||||||
File151=marker-azul-84.png
|
File151=marker-azul-79.png
|
||||||
File152=marker-azul-85.png
|
File152=marker-azul-8.png
|
||||||
File153=marker-azul-86.png
|
File153=marker-azul-80.png
|
||||||
File154=marker-azul-87.png
|
File154=marker-azul-81.png
|
||||||
File155=marker-azul-88.png
|
File155=marker-azul-82.png
|
||||||
File156=marker-azul-89.png
|
File156=marker-azul-83.png
|
||||||
File157=marker-azul-9.png
|
File157=marker-azul-84.png
|
||||||
File158=marker-azul-90.png
|
File158=marker-azul-85.png
|
||||||
File159=marker-azul-91.png
|
File159=marker-azul-86.png
|
||||||
File16=cacahuates_original3.bmp
|
File16=cacahuates_original3.bmp
|
||||||
File160=marker-azul-92.png
|
File160=marker-azul-87.png
|
||||||
File161=marker-azul-93.png
|
File161=marker-azul-88.png
|
||||||
File162=marker-azul-94.png
|
File162=marker-azul-89.png
|
||||||
File163=marker-azul-95.png
|
File163=marker-azul-9.png
|
||||||
File164=marker-azul-96.png
|
File164=marker-azul-90.png
|
||||||
File165=marker-azul-97.png
|
File165=marker-azul-91.png
|
||||||
File166=marker-azul-98.png
|
File166=marker-azul-92.png
|
||||||
File167=marker-azul-99.png
|
File167=marker-azul-93.png
|
||||||
File168=marker-rojo-0.png
|
File168=marker-azul-94.png
|
||||||
File169=marker-rojo-1.png
|
File169=marker-azul-95.png
|
||||||
File17=carrito.png
|
File17=carrito.png
|
||||||
File170=marker-rojo-10.png
|
File170=marker-azul-96.png
|
||||||
File171=marker-rojo-100.png
|
File171=marker-azul-97.png
|
||||||
File172=marker-rojo-11.png
|
File172=marker-azul-98.png
|
||||||
File173=marker-rojo-12.png
|
File173=marker-azul-99.png
|
||||||
File174=marker-rojo-13.png
|
File174=marker-rojo.png
|
||||||
File175=marker-rojo-14.png
|
File175=marker-rojo-0.png
|
||||||
File176=marker-rojo-15.png
|
File176=marker-rojo1.png
|
||||||
File177=marker-rojo-16.png
|
File177=marker-rojo-1.png
|
||||||
File178=marker-rojo-17.png
|
File178=marker-rojo-10.png
|
||||||
File179=marker-rojo-18.png
|
File179=marker-rojo-100.png
|
||||||
File18=checklist.bal
|
File18=checklist.bal
|
||||||
File180=marker-rojo-19.png
|
File180=marker-rojo-11.png
|
||||||
File181=marker-rojo-2.png
|
File181=marker-rojo-12.png
|
||||||
File182=marker-rojo-20.png
|
File182=marker-rojo-13.png
|
||||||
File183=marker-rojo-21.png
|
File183=marker-rojo-14.png
|
||||||
File184=marker-rojo-22.png
|
File184=marker-rojo-15.png
|
||||||
File185=marker-rojo-23.png
|
File185=marker-rojo-16.png
|
||||||
File186=marker-rojo-24.png
|
File186=marker-rojo-17.png
|
||||||
File187=marker-rojo-25.png
|
File187=marker-rojo-18.png
|
||||||
File188=marker-rojo-26.png
|
File188=marker-rojo-19.png
|
||||||
File189=marker-rojo-27.png
|
File189=marker-rojo2.png
|
||||||
File19=checks.bal
|
File19=checks.bal
|
||||||
File190=marker-rojo-28.png
|
File190=marker-rojo-2.png
|
||||||
File191=marker-rojo-29.png
|
File191=marker-rojo-20.png
|
||||||
File192=marker-rojo-3.png
|
File192=marker-rojo-21.png
|
||||||
File193=marker-rojo-30.png
|
File193=marker-rojo-22.png
|
||||||
File194=marker-rojo-31.png
|
File194=marker-rojo-23.png
|
||||||
File195=marker-rojo-32.png
|
File195=marker-rojo-24.png
|
||||||
File196=marker-rojo-33.png
|
File196=marker-rojo-25.png
|
||||||
File197=marker-rojo-34.png
|
File197=marker-rojo-26.png
|
||||||
File198=marker-rojo-35.png
|
File198=marker-rojo-27.png
|
||||||
File199=marker-rojo-36.png
|
File199=marker-rojo-28.png
|
||||||
File2=alert2.png
|
File2=alert2.png
|
||||||
File20=cliente.bal
|
File20=cliente.bal
|
||||||
File200=marker-rojo-37.png
|
File200=marker-rojo-29.png
|
||||||
File201=marker-rojo-38.png
|
File201=marker-rojo-3.png
|
||||||
File202=marker-rojo-39.png
|
File202=marker-rojo-30.png
|
||||||
File203=marker-rojo-4.png
|
File203=marker-rojo-31.png
|
||||||
File204=marker-rojo-40.png
|
File204=marker-rojo-32.png
|
||||||
File205=marker-rojo-41.png
|
File205=marker-rojo-33.png
|
||||||
File206=marker-rojo-42.png
|
File206=marker-rojo-34.png
|
||||||
File207=marker-rojo-43.png
|
File207=marker-rojo-35.png
|
||||||
File208=marker-rojo-44.png
|
File208=marker-rojo-36.png
|
||||||
File209=marker-rojo-45.png
|
File209=marker-rojo-37.png
|
||||||
File21=cliente.bal.bak
|
File21=cliente.bal.bak
|
||||||
File210=marker-rojo-46.png
|
File210=marker-rojo-38.png
|
||||||
File211=marker-rojo-47.png
|
File211=marker-rojo-39.png
|
||||||
File212=marker-rojo-48.png
|
File212=marker-rojo-4.png
|
||||||
File213=marker-rojo-49.png
|
File213=marker-rojo-40.png
|
||||||
File214=marker-rojo-5.png
|
File214=marker-rojo-41.png
|
||||||
File215=marker-rojo-50.png
|
File215=marker-rojo-42.png
|
||||||
File216=marker-rojo-51.png
|
File216=marker-rojo-43.png
|
||||||
File217=marker-rojo-52.png
|
File217=marker-rojo-44.png
|
||||||
File218=marker-rojo-53.png
|
File218=marker-rojo-45.png
|
||||||
File219=marker-rojo-54.png
|
File219=marker-rojo-46.png
|
||||||
File22=clientes.bal
|
File22=clientes.bal
|
||||||
File220=marker-rojo-55.png
|
File220=marker-rojo-47.png
|
||||||
File221=marker-rojo-56.png
|
File221=marker-rojo-48.png
|
||||||
File222=marker-rojo-57.png
|
File222=marker-rojo-49.png
|
||||||
File223=marker-rojo-58.png
|
File223=marker-rojo-5.png
|
||||||
File224=marker-rojo-59.png
|
File224=marker-rojo-50.png
|
||||||
File225=marker-rojo-6.png
|
File225=marker-rojo-51.png
|
||||||
File226=marker-rojo-60.png
|
File226=marker-rojo-52.png
|
||||||
File227=marker-rojo-61.png
|
File227=marker-rojo-53.png
|
||||||
File228=marker-rojo-62.png
|
File228=marker-rojo-54.png
|
||||||
File229=marker-rojo-63.png
|
File229=marker-rojo-55.png
|
||||||
File23=detalle_promo.bal
|
File23=detalle_promo.bal
|
||||||
File230=marker-rojo-64.png
|
File230=marker-rojo-56.png
|
||||||
File231=marker-rojo-65.png
|
File231=marker-rojo-57.png
|
||||||
File232=marker-rojo-66.png
|
File232=marker-rojo-58.png
|
||||||
File233=marker-rojo-67.png
|
File233=marker-rojo-59.png
|
||||||
File234=marker-rojo-68.png
|
File234=marker-rojo-6.png
|
||||||
File235=marker-rojo-69.png
|
File235=marker-rojo-60.png
|
||||||
File236=marker-rojo-7.png
|
File236=marker-rojo-61.png
|
||||||
File237=marker-rojo-70.png
|
File237=marker-rojo-62.png
|
||||||
File238=marker-rojo-71.png
|
File238=marker-rojo-63.png
|
||||||
File239=marker-rojo-72.png
|
File239=marker-rojo-64.png
|
||||||
File24=durakelo.png
|
File24=durakelo.png
|
||||||
File240=marker-rojo-73.png
|
File240=marker-rojo-65.png
|
||||||
File241=marker-rojo-74.png
|
File241=marker-rojo-66.png
|
||||||
File242=marker-rojo-75.png
|
File242=marker-rojo-67.png
|
||||||
File243=marker-rojo-76.png
|
File243=marker-rojo-68.png
|
||||||
File244=marker-rojo-77.png
|
File244=marker-rojo-69.png
|
||||||
File245=marker-rojo-78.png
|
File245=marker-rojo-7.png
|
||||||
File246=marker-rojo-79.png
|
File246=marker-rojo-70.png
|
||||||
File247=marker-rojo-8.png
|
File247=marker-rojo-71.png
|
||||||
File248=marker-rojo-80.png
|
File248=marker-rojo-72.png
|
||||||
File249=marker-rojo-81.png
|
File249=marker-rojo-73.png
|
||||||
File25=durakelo1.png
|
File25=durakelo1.png
|
||||||
File250=marker-rojo-82.png
|
File250=marker-rojo-74.png
|
||||||
File251=marker-rojo-83.png
|
File251=marker-rojo-75.png
|
||||||
File252=marker-rojo-84.png
|
File252=marker-rojo-76.png
|
||||||
File253=marker-rojo-85.png
|
File253=marker-rojo-77.png
|
||||||
File254=marker-rojo-86.png
|
File254=marker-rojo-78.png
|
||||||
File255=marker-rojo-87.png
|
File255=marker-rojo-79.png
|
||||||
File256=marker-rojo-88.png
|
File256=marker-rojo-8.png
|
||||||
File257=marker-rojo-89.png
|
File257=marker-rojo-80.png
|
||||||
File258=marker-rojo-9.png
|
File258=marker-rojo-81.png
|
||||||
File259=marker-rojo-90.png
|
File259=marker-rojo-82.png
|
||||||
File26=engrane.jpg
|
File26=engrane.jpg
|
||||||
File260=marker-rojo-91.png
|
File260=marker-rojo-83.png
|
||||||
File261=marker-rojo-92.png
|
File261=marker-rojo-84.png
|
||||||
File262=marker-rojo-93.png
|
File262=marker-rojo-85.png
|
||||||
File263=marker-rojo-94.png
|
File263=marker-rojo-86.png
|
||||||
File264=marker-rojo-95.png
|
File264=marker-rojo-87.png
|
||||||
File265=marker-rojo-96.png
|
File265=marker-rojo-88.png
|
||||||
File266=marker-rojo-97.png
|
File266=marker-rojo-89.png
|
||||||
File267=marker-rojo-98.png
|
File267=marker-rojo-9.png
|
||||||
File268=marker-rojo-99.png
|
File268=marker-rojo-90.png
|
||||||
File269=marker-verde-0.png
|
File269=marker-rojo-91.png
|
||||||
File27=engrane.png
|
File27=engrane.png
|
||||||
File270=marker-verde-1.png
|
File270=marker-rojo-92.png
|
||||||
File271=marker-verde-10.png
|
File271=marker-rojo-93.png
|
||||||
File272=marker-verde-100.png
|
File272=marker-rojo-94.png
|
||||||
File273=marker-verde-11.png
|
File273=marker-rojo-95.png
|
||||||
File274=marker-verde-12.png
|
File274=marker-rojo-96.png
|
||||||
File275=marker-verde-13.png
|
File275=marker-rojo-97.png
|
||||||
File276=marker-verde-14.png
|
File276=marker-rojo-98.png
|
||||||
File277=marker-verde-15.png
|
File277=marker-rojo-99.png
|
||||||
File278=marker-verde-16.png
|
File278=marker-verde.png
|
||||||
File279=marker-verde-17.png
|
File279=marker-verde-0.png
|
||||||
File28=engranes.png
|
File28=engranes.png
|
||||||
File280=marker-verde-18.png
|
File280=marker-verde-1.png
|
||||||
File281=marker-verde-19.png
|
File281=marker-verde-10.png
|
||||||
File282=marker-verde-2.png
|
File282=marker-verde-100.png
|
||||||
File283=marker-verde-20.png
|
File283=marker-verde-11.png
|
||||||
File284=marker-verde-21.png
|
File284=marker-verde-12.png
|
||||||
File285=marker-verde-22.png
|
File285=marker-verde-13.png
|
||||||
File286=marker-verde-23.png
|
File286=marker-verde-14.png
|
||||||
File287=marker-verde-24.png
|
File287=marker-verde-15.png
|
||||||
File288=marker-verde-25.png
|
File288=marker-verde-16.png
|
||||||
File289=marker-verde-26.png
|
File289=marker-verde-17.png
|
||||||
File29=errormanager.bal
|
File29=errormanager.bal
|
||||||
File290=marker-verde-27.png
|
File290=marker-verde-18.png
|
||||||
File291=marker-verde-28.png
|
File291=marker-verde-19.png
|
||||||
File292=marker-verde-29.png
|
File292=marker-verde-2.png
|
||||||
File293=marker-verde-3.png
|
File293=marker-verde-20.png
|
||||||
File294=marker-verde-30.png
|
File294=marker-verde-21.png
|
||||||
File295=marker-verde-31.png
|
File295=marker-verde-22.png
|
||||||
File296=marker-verde-32.png
|
File296=marker-verde-23.png
|
||||||
File297=marker-verde-33.png
|
File297=marker-verde-24.png
|
||||||
File298=marker-verde-34.png
|
File298=marker-verde-25.png
|
||||||
File299=marker-verde-35.png
|
File299=marker-verde-26.png
|
||||||
File3=alerta.jpg
|
File3=alerta.jpg
|
||||||
File30=fondo_kmt.jpg
|
File30=fondo_kmt.jpg
|
||||||
File300=marker-verde-36.png
|
File300=marker-verde-27.png
|
||||||
File301=marker-verde-37.png
|
File301=marker-verde-28.png
|
||||||
File302=marker-verde-38.png
|
File302=marker-verde-29.png
|
||||||
File303=marker-verde-39.png
|
File303=marker-verde-3.png
|
||||||
File304=marker-verde-4.png
|
File304=marker-verde-30.png
|
||||||
File305=marker-verde-40.png
|
File305=marker-verde-31.png
|
||||||
File306=marker-verde-41.png
|
File306=marker-verde-32.png
|
||||||
File307=marker-verde-42.png
|
File307=marker-verde-33.png
|
||||||
File308=marker-verde-43.png
|
File308=marker-verde-34.png
|
||||||
File309=marker-verde-44.png
|
File309=marker-verde-35.png
|
||||||
File31=foto.bal
|
File31=foto.bal
|
||||||
File310=marker-verde-45.png
|
File310=marker-verde-36.png
|
||||||
File311=marker-verde-46.png
|
File311=marker-verde-37.png
|
||||||
File312=marker-verde-47.png
|
File312=marker-verde-38.png
|
||||||
File313=marker-verde-48.png
|
File313=marker-verde-39.png
|
||||||
File314=marker-verde-49.png
|
File314=marker-verde-4.png
|
||||||
File315=marker-verde-5.png
|
File315=marker-verde-40.png
|
||||||
File316=marker-verde-50.png
|
File316=marker-verde-41.png
|
||||||
File317=marker-verde-51.png
|
File317=marker-verde-42.png
|
||||||
File318=marker-verde-52.png
|
File318=marker-verde-43.png
|
||||||
File319=marker-verde-53.png
|
File319=marker-verde-44.png
|
||||||
File32=foto1.jpg
|
File32=foto1.jpg
|
||||||
File320=marker-verde-54.png
|
File320=marker-verde-45.png
|
||||||
File321=marker-verde-55.png
|
File321=marker-verde-46.png
|
||||||
File322=marker-verde-56.png
|
File322=marker-verde-47.png
|
||||||
File323=marker-verde-57.png
|
File323=marker-verde-48.png
|
||||||
File324=marker-verde-58.png
|
File324=marker-verde-49.png
|
||||||
File325=marker-verde-59.png
|
File325=marker-verde-5.png
|
||||||
File326=marker-verde-6.png
|
File326=marker-verde-50.png
|
||||||
File327=marker-verde-60.png
|
File327=marker-verde-51.png
|
||||||
File328=marker-verde-61.png
|
File328=marker-verde-52.png
|
||||||
File329=marker-verde-62.png
|
File329=marker-verde-53.png
|
||||||
File33=foto2.jpg
|
File33=foto2.jpg
|
||||||
File330=marker-verde-63.png
|
File330=marker-verde-54.png
|
||||||
File331=marker-verde-64.png
|
File331=marker-verde-55.png
|
||||||
File332=marker-verde-65.png
|
File332=marker-verde-56.png
|
||||||
File333=marker-verde-66.png
|
File333=marker-verde-57.png
|
||||||
File334=marker-verde-67.png
|
File334=marker-verde-58.png
|
||||||
File335=marker-verde-68.png
|
File335=marker-verde-59.png
|
||||||
File336=marker-verde-69.png
|
File336=marker-verde-6.png
|
||||||
File337=marker-verde-7.png
|
File337=marker-verde-60.png
|
||||||
File338=marker-verde-70.png
|
File338=marker-verde-61.png
|
||||||
File339=marker-verde-71.png
|
File339=marker-verde-62.png
|
||||||
File34=foto3.jpg
|
File34=foto3.jpg
|
||||||
File340=marker-verde-72.png
|
File340=marker-verde-63.png
|
||||||
File341=marker-verde-73.png
|
File341=marker-verde-64.png
|
||||||
File342=marker-verde-74.png
|
File342=marker-verde-65.png
|
||||||
File343=marker-verde-75.png
|
File343=marker-verde-66.png
|
||||||
File344=marker-verde-76.png
|
File344=marker-verde-67.png
|
||||||
File345=marker-verde-77.png
|
File345=marker-verde-68.png
|
||||||
File346=marker-verde-78.png
|
File346=marker-verde-69.png
|
||||||
File347=marker-verde-79.png
|
File347=marker-verde-7.png
|
||||||
File348=marker-verde-8.png
|
File348=marker-verde-70.png
|
||||||
File349=marker-verde-80.png
|
File349=marker-verde-71.png
|
||||||
File35=foto4.jpg
|
File35=foto4.jpg
|
||||||
File350=marker-verde-81.png
|
File350=marker-verde-72.png
|
||||||
File351=marker-verde-82.png
|
File351=marker-verde-73.png
|
||||||
File352=marker-verde-83.png
|
File352=marker-verde-74.png
|
||||||
File353=marker-verde-84.png
|
File353=marker-verde-75.png
|
||||||
File354=marker-verde-85.png
|
File354=marker-verde-76.png
|
||||||
File355=marker-verde-86.png
|
File355=marker-verde-77.png
|
||||||
File356=marker-verde-87.png
|
File356=marker-verde-78.png
|
||||||
File357=marker-verde-88.png
|
File357=marker-verde-79.png
|
||||||
File358=marker-verde-89.png
|
File358=marker-verde-8.png
|
||||||
File359=marker-verde-9.png
|
File359=marker-verde-80.png
|
||||||
File36=guardagestion.bal
|
File36=guardagestion.bal
|
||||||
File360=marker-verde-90.png
|
File360=marker-verde-81.png
|
||||||
File361=marker-verde-91.png
|
File361=marker-verde-82.png
|
||||||
File362=marker-verde-92.png
|
File362=marker-verde-83.png
|
||||||
File363=marker-verde-93.png
|
File363=marker-verde-84.png
|
||||||
File364=marker-verde-94.png
|
File364=marker-verde-85.png
|
||||||
File365=marker-verde-95.png
|
File365=marker-verde-86.png
|
||||||
File366=marker-verde-96.png
|
File366=marker-verde-87.png
|
||||||
File367=marker-verde-97.png
|
File367=marker-verde-88.png
|
||||||
File368=marker-verde-98.png
|
File368=marker-verde-89.png
|
||||||
File369=marker-verde-99.png
|
File369=marker-verde-9.png
|
||||||
File37=guna_viejo.png
|
File37=guna_viejo.png
|
||||||
File370=nota.bal
|
File370=marker-verde-90.png
|
||||||
File371=noventa.bal
|
File371=marker-verde-91.png
|
||||||
File372=nuevocliente.bal
|
File372=marker-verde-92.png
|
||||||
File373=palomita_verde.png
|
File373=marker-verde-93.png
|
||||||
File374=palomita_verde_original.png
|
File374=marker-verde-94.png
|
||||||
File375=pedido.bal
|
File375=marker-verde-95.png
|
||||||
File376=pedidoItem.bal
|
File376=marker-verde-96.png
|
||||||
File377=planfia_logo.png
|
File377=marker-verde-97.png
|
||||||
File378=planfia_logo_old.png
|
File378=marker-verde-98.png
|
||||||
File379=planfia_logo_old2.png
|
File379=marker-verde-99.png
|
||||||
File38=historico.bal
|
File38=historico.bal
|
||||||
File380=principal.bal
|
File380=nota.bal
|
||||||
File381=proditem.bal
|
File381=noventa.bal
|
||||||
File382=productos.bal
|
File382=nuevocliente.bal
|
||||||
File383=productos2.bal
|
File383=palomita_verde.png
|
||||||
File384=profina.jpg
|
File384=palomita_verde_original.png
|
||||||
File385=profina.png
|
File385=pedido.bal
|
||||||
File386=promociones.bal
|
File386=pedidoItem.bal
|
||||||
File387=qr.bal
|
File387=planfia_logo.png
|
||||||
File388=rechazo.jpg
|
File388=planfia_logo_old.png
|
||||||
File389=rojo.png
|
File389=planfia_logo_old2.png
|
||||||
File39=info_gral.resp
|
File39=info_gral.resp
|
||||||
File390=salma.jpg
|
File390=principal.bal
|
||||||
File391=salma.png
|
File391=proditem.bal
|
||||||
File392=senial.jpg
|
File392=productos.bal
|
||||||
File393=sync.png
|
File393=productos2.bal
|
||||||
File394=tache_rojo.png
|
File394=profina.jpg
|
||||||
File395=tache_rojo_original.png
|
File395=profina.png
|
||||||
File396=telefonos.bal
|
File396=promociones.bal
|
||||||
File397=ticketsDia.bal
|
File397=qr.bal
|
||||||
File398=Tiendita.jpg
|
File398=rechazo.jpg
|
||||||
File399=transporte.png
|
File399=rojo.png
|
||||||
File4=alerta_amarilla.png
|
File4=alerta_amarilla.png
|
||||||
File40=infonavit1.jpg
|
File40=infonavit1.jpg
|
||||||
File400=verde.png
|
File400=salma.jpg
|
||||||
File401=vista1.png
|
File401=salma.png
|
||||||
File402=vista2.png
|
File402=senial.jpg
|
||||||
File403=vista3.png
|
File403=sync.png
|
||||||
File404=vista4.png
|
File404=tache_rojo.png
|
||||||
File405=WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg
|
File405=tache_rojo_original.png
|
||||||
File406=WhatsApp Image 2022-11-17 at 11.50.59 AM.jpg
|
File406=telefonos.bal
|
||||||
File407=whatsapp.png
|
File407=ticketsDia.bal
|
||||||
File408=whatsapp_original.png
|
File408=Tiendita.jpg
|
||||||
File409=WHATSTEL.jpeg
|
File409=transporte.png
|
||||||
File41=INVENTARIO (1).jpg
|
File41=INVENTARIO (1).jpg
|
||||||
File410=WHATSTEL.png
|
File410=verde.png
|
||||||
|
File411=vista1.png
|
||||||
|
File412=vista2.png
|
||||||
|
File413=vista3.png
|
||||||
|
File414=vista4.png
|
||||||
|
File415=WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg
|
||||||
|
File416=WhatsApp Image 2022-11-17 at 11.50.59 AM.jpg
|
||||||
|
File417=whatsapp.png
|
||||||
|
File418=whatsapp_original.png
|
||||||
|
File419=WHATSTEL.jpeg
|
||||||
File42=INVENTARIO.jpg
|
File42=INVENTARIO.jpg
|
||||||
|
File420=WHATSTEL.png
|
||||||
File43=inventario.PNG
|
File43=inventario.PNG
|
||||||
File44=itembuttonblue.png
|
File44=itembuttonblue.png
|
||||||
File45=itembuttonred.png
|
File45=itembuttonred.png
|
||||||
@@ -373,42 +383,42 @@ File63=Malo.jpg
|
|||||||
File64=mapa.bal
|
File64=mapa.bal
|
||||||
File65=mapa_rutas.bal
|
File65=mapa_rutas.bal
|
||||||
File66=mapas.bal
|
File66=mapas.bal
|
||||||
File67=marker-azul-0.png
|
File67=marker-azul.png
|
||||||
File68=marker-azul-1.png
|
File68=marker-azul-0.png
|
||||||
File69=marker-azul-10.png
|
File69=marker-azul1.png
|
||||||
File7=BLACNCO.jpg
|
File7=BLACNCO.jpg
|
||||||
File70=marker-azul-100.png
|
File70=marker-azul-1.png
|
||||||
File71=marker-azul-11.png
|
File71=marker-azul-10.png
|
||||||
File72=marker-azul-12.png
|
File72=marker-azul-100.png
|
||||||
File73=marker-azul-13.png
|
File73=marker-azul-11.png
|
||||||
File74=marker-azul-14.png
|
File74=marker-azul-12.png
|
||||||
File75=marker-azul-15.png
|
File75=marker-azul-13.png
|
||||||
File76=marker-azul-16.png
|
File76=marker-azul-14.png
|
||||||
File77=marker-azul-17.png
|
File77=marker-azul-15.png
|
||||||
File78=marker-azul-18.png
|
File78=marker-azul-16.png
|
||||||
File79=marker-azul-19.png
|
File79=marker-azul-17.png
|
||||||
File8=cacahuates.png
|
File8=cacahuates.png
|
||||||
File80=marker-azul-2.png
|
File80=marker-azul-18.png
|
||||||
File81=marker-azul-20.png
|
File81=marker-azul-19.png
|
||||||
File82=marker-azul-21.png
|
File82=marker-azul2.png
|
||||||
File83=marker-azul-22.png
|
File83=marker-azul-2.png
|
||||||
File84=marker-azul-23.png
|
File84=marker-azul-20.png
|
||||||
File85=marker-azul-24.png
|
File85=marker-azul-21.png
|
||||||
File86=marker-azul-25.png
|
File86=marker-azul-22.png
|
||||||
File87=marker-azul-26.png
|
File87=marker-azul-23.png
|
||||||
File88=marker-azul-27.png
|
File88=marker-azul-24.png
|
||||||
File89=marker-azul-28.png
|
File89=marker-azul-25.png
|
||||||
File9=cacahuates_blanco.png
|
File9=cacahuates_blanco.png
|
||||||
File90=marker-azul-29.png
|
File90=marker-azul-26.png
|
||||||
File91=marker-azul-3.png
|
File91=marker-azul-27.png
|
||||||
File92=marker-azul-30.png
|
File92=marker-azul-28.png
|
||||||
File93=marker-azul-31.png
|
File93=marker-azul-29.png
|
||||||
File94=marker-azul-32.png
|
File94=marker-azul3.png
|
||||||
File95=marker-azul-33.png
|
File95=marker-azul-3.png
|
||||||
File96=marker-azul-34.png
|
File96=marker-azul-30.png
|
||||||
File97=marker-azul-35.png
|
File97=marker-azul-31.png
|
||||||
File98=marker-azul-36.png
|
File98=marker-azul-32.png
|
||||||
File99=marker-azul-37.png
|
File99=marker-azul-33.png
|
||||||
FileGroup1=Default Group
|
FileGroup1=Default Group
|
||||||
FileGroup10=Default Group
|
FileGroup10=Default Group
|
||||||
FileGroup100=Default Group
|
FileGroup100=Default Group
|
||||||
@@ -756,7 +766,17 @@ FileGroup408=Default Group
|
|||||||
FileGroup409=Default Group
|
FileGroup409=Default Group
|
||||||
FileGroup41=Default Group
|
FileGroup41=Default Group
|
||||||
FileGroup410=Default Group
|
FileGroup410=Default Group
|
||||||
|
FileGroup411=Default Group
|
||||||
|
FileGroup412=Default Group
|
||||||
|
FileGroup413=Default Group
|
||||||
|
FileGroup414=Default Group
|
||||||
|
FileGroup415=Default Group
|
||||||
|
FileGroup416=Default Group
|
||||||
|
FileGroup417=Default Group
|
||||||
|
FileGroup418=Default Group
|
||||||
|
FileGroup419=Default Group
|
||||||
FileGroup42=Default Group
|
FileGroup42=Default Group
|
||||||
|
FileGroup420=Default Group
|
||||||
FileGroup43=Default Group
|
FileGroup43=Default Group
|
||||||
FileGroup44=Default Group
|
FileGroup44=Default Group
|
||||||
FileGroup45=Default Group
|
FileGroup45=Default Group
|
||||||
@@ -879,7 +899,7 @@ Module6=C_Mapas
|
|||||||
Module7=C_Nota
|
Module7=C_Nota
|
||||||
Module8=C_NoVenta
|
Module8=C_NoVenta
|
||||||
Module9=C_NuevoCliente
|
Module9=C_NuevoCliente
|
||||||
NumberOfFiles=410
|
NumberOfFiles=420
|
||||||
NumberOfLibraries=28
|
NumberOfLibraries=28
|
||||||
NumberOfModules=30
|
NumberOfModules=30
|
||||||
Version=12.8
|
Version=12.8
|
||||||
@@ -887,7 +907,7 @@ Version=12.8
|
|||||||
#Region Project Attributes
|
#Region Project Attributes
|
||||||
#ApplicationLabel: Kelloggs Venta
|
#ApplicationLabel: Kelloggs Venta
|
||||||
#VersionCode: 3000
|
#VersionCode: 3000
|
||||||
#VersionName: 5.03.02
|
#VersionName: 5.03.03
|
||||||
#SupportedOrientations: portrait
|
#SupportedOrientations: portrait
|
||||||
#CanInstallToExternalStorage: False
|
#CanInstallToExternalStorage: False
|
||||||
#BridgeLogger:true
|
#BridgeLogger:true
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ ModuleClosedNodes2=
|
|||||||
ModuleClosedNodes20=
|
ModuleClosedNodes20=
|
||||||
ModuleClosedNodes21=
|
ModuleClosedNodes21=
|
||||||
ModuleClosedNodes22=
|
ModuleClosedNodes22=
|
||||||
ModuleClosedNodes23=1,3,4,5,6,7,8,9,11,12,13,14,15,17,18,21,22,24,25,26,27,28,29,30,31,32,33,35
|
ModuleClosedNodes23=1,3,4,5,6,7,8,9,11,12,14,15,17,18,21,22,24,25,26,27,28,29,30,31,32,33,35
|
||||||
ModuleClosedNodes24=
|
ModuleClosedNodes24=
|
||||||
ModuleClosedNodes25=4
|
ModuleClosedNodes25=4
|
||||||
ModuleClosedNodes26=
|
ModuleClosedNodes26=
|
||||||
@@ -91,6 +91,6 @@ ModuleClosedNodes6=
|
|||||||
ModuleClosedNodes7=
|
ModuleClosedNodes7=
|
||||||
ModuleClosedNodes8=
|
ModuleClosedNodes8=
|
||||||
ModuleClosedNodes9=
|
ModuleClosedNodes9=
|
||||||
NavigationStack=C_Principal,cargar_Click,796,0,C_Principal,JobDone,1486,0,MAPA_RUTAS,MapFragment1_Ready,174,6,MAPA_RUTAS,CreateBitmapWithNumber,376,6,MAPA_RUTAS,inicio,361,0,Subs,procesaPromocion,1250,0,C_Principal,Class_Globals,0,0,C_Clientes,Class_Globals,0,0,Subs,revisaPromoPorMonto,1926,0,C_Cliente,B4XPage_Appear,758,6
|
NavigationStack=C_Cliente,B4XPage_Appear,758,6,C_Principal,Class_Globals,1,0,C_Principal,SUBIR_INFO_PEDIDO,3023,0,C_Principal,cargar_Click,748,6,C_Principal,JobDone,1781,1,kms_helperSubs,RD_respalda_cat_detalle_paq,303,1,C_Cliente,Cuestionario,2315,0,MAPA_RUTAS,MapFragment1_Ready,151,1,Subs,CreateBitmapWithNumber,1983,0,Subs,revisaHora,1967,6,Subs,actualizaProducto,970,0
|
||||||
SelectedBuild=0
|
SelectedBuild=0
|
||||||
VisibleModules=1,28,11,3,29,12,4,13,7,9
|
VisibleModules=1,28,11,3,29,12,4,13,7,9,23,25
|
||||||
|
|||||||
@@ -154,7 +154,8 @@ Sub MapFragment1_Ready
|
|||||||
Tienda= c.GetString("CAT_CL_NOMBRE")
|
Tienda= c.GetString("CAT_CL_NOMBRE")
|
||||||
NumSerie=c.GetInt("CAT_CL_NUM_SERIEFISICO")
|
NumSerie=c.GetInt("CAT_CL_NUM_SERIEFISICO")
|
||||||
'MARK_AZUL = gmap.AddMarker2(LongitudRU,LatitudRu,Tienda, gmap.HUE_BLUE)
|
'MARK_AZUL = gmap.AddMarker2(LongitudRU,LatitudRu,Tienda, gmap.HUE_BLUE)
|
||||||
MARK_AZUL = gmap.AddMarker3(LatitudRU, LongitudRU, CODIGO, LoadBitmap(File.DirAssets, "marker-azul-" & NumSerie &".png"))
|
' MARK_AZUL = gmap.AddMarker3(LatitudRU, LongitudRU, CODIGO, LoadBitmap(File.DirAssets, "marker-azul-" & NumSerie &".png"))
|
||||||
|
MARK_AZUL = gmap.AddMarker3(LatitudRU,LongitudRU,CODIGO, Subs.CreateBitmapWithNumber(LoadBitmap(File.DirAssets, "marker-azul.png"), NumSerie))
|
||||||
MARK_AZUL.Snippet = Tienda
|
MARK_AZUL.Snippet = Tienda
|
||||||
Next
|
Next
|
||||||
c .Close
|
c .Close
|
||||||
|
|||||||
22
B4A/Subs.bas
@@ -1961,12 +1961,30 @@ Sub revisaHora As Boolean
|
|||||||
Private h As Cursor = Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'HORA'")
|
Private h As Cursor = Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'HORA'")
|
||||||
If h.RowCount > 0 Then
|
If h.RowCount > 0 Then
|
||||||
h.Position = 0
|
h.Position = 0
|
||||||
|
Log(h.GetInt("CAT_VA_VALOR"))
|
||||||
|
Log(h.GetString("CAT_VA_VALOR"))
|
||||||
|
Private hr As Int = h.GetString("CAT_VA_VALOR")
|
||||||
DateTime.DateFormat = "HH"
|
DateTime.DateFormat = "HH"
|
||||||
Private ahora As String = DateTime.Date(DateTime.Now)
|
Private ahora As String = DateTime.Date(DateTime.Now)
|
||||||
Log($"${h.GetInt("CAT_VA_VALOR")} >= ${(ahora - 2)} and ${h.GetInt("CAT_VA_VALOR")} <= ${(ahora + 2)}"$)
|
Log($"${hr} >= ${(ahora - 2)} and ${hr} <= ${(ahora + 2)}"$)
|
||||||
If h.GetInt("CAT_VA_VALOR") >= ahora - 2 And h.GetInt("CAT_VA_VALOR") <= ahora + 2 Then
|
If h.GetInt("CAT_VA_VALOR") >= ahora - 2 And h.GetInt("CAT_VA_VALOR") <= ahora + 2 Then
|
||||||
horaCorrecta = True
|
horaCorrecta = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Return horaCorrecta
|
Return True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub CreateBitmapWithNumber(OriginalBitmap As Bitmap, Number As Int) As Bitmap 'ignore
|
||||||
|
Dim NewBitmap As Bitmap
|
||||||
|
NewBitmap.InitializeMutable(OriginalBitmap.Width, OriginalBitmap.Height)
|
||||||
|
Dim Canvas As Canvas
|
||||||
|
Canvas.Initialize2(NewBitmap)
|
||||||
|
' Definir el rectángulo donde se dibujará el Bitmap
|
||||||
|
Dim DestRect As Rect
|
||||||
|
DestRect.Initialize(0, 0, OriginalBitmap.Width, OriginalBitmap.Height)
|
||||||
|
' Dibujar la imagen original
|
||||||
|
Canvas.DrawBitmap(OriginalBitmap, Null, DestRect)
|
||||||
|
' Dibujar el número en el centro del Bitmap y configurar el estilo del texto
|
||||||
|
Canvas.DrawText(Number, (OriginalBitmap.Width / 2), (OriginalBitmap.Height / 2.4), Typeface.DEFAULT, 15, Colors.White, "CENTER")
|
||||||
|
Return NewBitmap
|
||||||
End Sub
|
End Sub
|
||||||
@@ -295,6 +295,7 @@ Sub RD_respalda_cat_detalle_paq
|
|||||||
Private inicio As String = DateTime.Now
|
Private inicio As String = DateTime.Now
|
||||||
' Log("Copiando CAT_DETALLES_PAQ ...")
|
' Log("Copiando CAT_DETALLES_PAQ ...")
|
||||||
Private x As Cursor = skmt.ExecQuery("select * from CAT_DETALLES_PAQ")
|
Private x As Cursor = skmt.ExecQuery("select * from CAT_DETALLES_PAQ")
|
||||||
|
Try
|
||||||
If x.RowCount > 0 Then
|
If x.RowCount > 0 Then
|
||||||
Private lasCols As String = getTableColumnListName(skmt, "CAT_DETALLES_PAQ")
|
Private lasCols As String = getTableColumnListName(skmt, "CAT_DETALLES_PAQ")
|
||||||
rkmt.BeginTransaction
|
rkmt.BeginTransaction
|
||||||
@@ -304,6 +305,9 @@ Sub RD_respalda_cat_detalle_paq
|
|||||||
rkmt.EndTransaction
|
rkmt.EndTransaction
|
||||||
LogColor("DP: " & ((DateTime.Now - inicio)/1000) & " segs", Colors.RGB(166,37,0))
|
LogColor("DP: " & ((DateTime.Now - inicio)/1000) & " segs", Colors.RGB(166,37,0))
|
||||||
End If
|
End If
|
||||||
|
Catch
|
||||||
|
Log(LastException)
|
||||||
|
End Try
|
||||||
x.Close
|
x.Close
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||