- 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!!
This commit is contained in:
2025-03-11 09:25:08 -06:00
parent 267a0e7bf9
commit de9473c0b7
18 changed files with 969 additions and 364 deletions

View File

@@ -753,10 +753,11 @@ Sub cargar_Click
cmd.Initialize
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")
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.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))
Next
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")
End If
End If

360
B4A/DBRequestManager1.bas Normal file
View 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
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
B4A/Files/marker-azul1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
B4A/Files/marker-azul2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
B4A/Files/marker-azul3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
B4A/Files/marker-azul4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
B4A/Files/marker-azul5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
B4A/Files/marker-rojo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
B4A/Files/marker-rojo1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
B4A/Files/marker-rojo2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
B4A/Files/marker-verde.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -1,352 +1,362 @@
Build1=Default,kelloggsV2.keymon.lat,HU2_PUBLIC
File1=alcancia.png
File10=cacahuates_blanco2.png
File100=marker-azul-38.png
File101=marker-azul-39.png
File102=marker-azul-4.png
File103=marker-azul-40.png
File104=marker-azul-41.png
File105=marker-azul-42.png
File106=marker-azul-43.png
File107=marker-azul-44.png
File108=marker-azul-45.png
File109=marker-azul-46.png
File100=marker-azul-34.png
File101=marker-azul-35.png
File102=marker-azul-36.png
File103=marker-azul-37.png
File104=marker-azul-38.png
File105=marker-azul-39.png
File106=marker-azul4.png
File107=marker-azul-4.png
File108=marker-azul-40.png
File109=marker-azul-41.png
File11=cacahuates_blanco3.png
File110=marker-azul-47.png
File111=marker-azul-48.png
File112=marker-azul-49.png
File113=marker-azul-5.png
File114=marker-azul-50.png
File115=marker-azul-51.png
File116=marker-azul-52.png
File117=marker-azul-53.png
File118=marker-azul-54.png
File119=marker-azul-55.png
File110=marker-azul-42.png
File111=marker-azul-43.png
File112=marker-azul-44.png
File113=marker-azul-45.png
File114=marker-azul-46.png
File115=marker-azul-47.png
File116=marker-azul-48.png
File117=marker-azul-49.png
File118=marker-azul5.png
File119=marker-azul-5.png
File12=cacahuates_chico.png
File120=marker-azul-56.png
File121=marker-azul-57.png
File122=marker-azul-58.png
File123=marker-azul-59.png
File124=marker-azul-6.png
File125=marker-azul-60.png
File126=marker-azul-61.png
File127=marker-azul-62.png
File128=marker-azul-63.png
File129=marker-azul-64.png
File120=marker-azul-50.png
File121=marker-azul-51.png
File122=marker-azul-52.png
File123=marker-azul-53.png
File124=marker-azul-54.png
File125=marker-azul-55.png
File126=marker-azul-56.png
File127=marker-azul-57.png
File128=marker-azul-58.png
File129=marker-azul-59.png
File13=cacahuates_original.jpeg
File130=marker-azul-65.png
File131=marker-azul-66.png
File132=marker-azul-67.png
File133=marker-azul-68.png
File134=marker-azul-69.png
File135=marker-azul-7.png
File136=marker-azul-70.png
File137=marker-azul-71.png
File138=marker-azul-72.png
File139=marker-azul-73.png
File130=marker-azul-6.png
File131=marker-azul-60.png
File132=marker-azul-61.png
File133=marker-azul-62.png
File134=marker-azul-63.png
File135=marker-azul-64.png
File136=marker-azul-65.png
File137=marker-azul-66.png
File138=marker-azul-67.png
File139=marker-azul-68.png
File14=cacahuates_original2.bmp
File140=marker-azul-74.png
File141=marker-azul-75.png
File142=marker-azul-76.png
File143=marker-azul-77.png
File144=marker-azul-78.png
File145=marker-azul-79.png
File146=marker-azul-8.png
File147=marker-azul-80.png
File148=marker-azul-81.png
File149=marker-azul-82.png
File140=marker-azul-69.png
File141=marker-azul-7.png
File142=marker-azul-70.png
File143=marker-azul-71.png
File144=marker-azul-72.png
File145=marker-azul-73.png
File146=marker-azul-74.png
File147=marker-azul-75.png
File148=marker-azul-76.png
File149=marker-azul-77.png
File15=cacahuates_original2.jpg
File150=marker-azul-83.png
File151=marker-azul-84.png
File152=marker-azul-85.png
File153=marker-azul-86.png
File154=marker-azul-87.png
File155=marker-azul-88.png
File156=marker-azul-89.png
File157=marker-azul-9.png
File158=marker-azul-90.png
File159=marker-azul-91.png
File150=marker-azul-78.png
File151=marker-azul-79.png
File152=marker-azul-8.png
File153=marker-azul-80.png
File154=marker-azul-81.png
File155=marker-azul-82.png
File156=marker-azul-83.png
File157=marker-azul-84.png
File158=marker-azul-85.png
File159=marker-azul-86.png
File16=cacahuates_original3.bmp
File160=marker-azul-92.png
File161=marker-azul-93.png
File162=marker-azul-94.png
File163=marker-azul-95.png
File164=marker-azul-96.png
File165=marker-azul-97.png
File166=marker-azul-98.png
File167=marker-azul-99.png
File168=marker-rojo-0.png
File169=marker-rojo-1.png
File160=marker-azul-87.png
File161=marker-azul-88.png
File162=marker-azul-89.png
File163=marker-azul-9.png
File164=marker-azul-90.png
File165=marker-azul-91.png
File166=marker-azul-92.png
File167=marker-azul-93.png
File168=marker-azul-94.png
File169=marker-azul-95.png
File17=carrito.png
File170=marker-rojo-10.png
File171=marker-rojo-100.png
File172=marker-rojo-11.png
File173=marker-rojo-12.png
File174=marker-rojo-13.png
File175=marker-rojo-14.png
File176=marker-rojo-15.png
File177=marker-rojo-16.png
File178=marker-rojo-17.png
File179=marker-rojo-18.png
File170=marker-azul-96.png
File171=marker-azul-97.png
File172=marker-azul-98.png
File173=marker-azul-99.png
File174=marker-rojo.png
File175=marker-rojo-0.png
File176=marker-rojo1.png
File177=marker-rojo-1.png
File178=marker-rojo-10.png
File179=marker-rojo-100.png
File18=checklist.bal
File180=marker-rojo-19.png
File181=marker-rojo-2.png
File182=marker-rojo-20.png
File183=marker-rojo-21.png
File184=marker-rojo-22.png
File185=marker-rojo-23.png
File186=marker-rojo-24.png
File187=marker-rojo-25.png
File188=marker-rojo-26.png
File189=marker-rojo-27.png
File180=marker-rojo-11.png
File181=marker-rojo-12.png
File182=marker-rojo-13.png
File183=marker-rojo-14.png
File184=marker-rojo-15.png
File185=marker-rojo-16.png
File186=marker-rojo-17.png
File187=marker-rojo-18.png
File188=marker-rojo-19.png
File189=marker-rojo2.png
File19=checks.bal
File190=marker-rojo-28.png
File191=marker-rojo-29.png
File192=marker-rojo-3.png
File193=marker-rojo-30.png
File194=marker-rojo-31.png
File195=marker-rojo-32.png
File196=marker-rojo-33.png
File197=marker-rojo-34.png
File198=marker-rojo-35.png
File199=marker-rojo-36.png
File190=marker-rojo-2.png
File191=marker-rojo-20.png
File192=marker-rojo-21.png
File193=marker-rojo-22.png
File194=marker-rojo-23.png
File195=marker-rojo-24.png
File196=marker-rojo-25.png
File197=marker-rojo-26.png
File198=marker-rojo-27.png
File199=marker-rojo-28.png
File2=alert2.png
File20=cliente.bal
File200=marker-rojo-37.png
File201=marker-rojo-38.png
File202=marker-rojo-39.png
File203=marker-rojo-4.png
File204=marker-rojo-40.png
File205=marker-rojo-41.png
File206=marker-rojo-42.png
File207=marker-rojo-43.png
File208=marker-rojo-44.png
File209=marker-rojo-45.png
File200=marker-rojo-29.png
File201=marker-rojo-3.png
File202=marker-rojo-30.png
File203=marker-rojo-31.png
File204=marker-rojo-32.png
File205=marker-rojo-33.png
File206=marker-rojo-34.png
File207=marker-rojo-35.png
File208=marker-rojo-36.png
File209=marker-rojo-37.png
File21=cliente.bal.bak
File210=marker-rojo-46.png
File211=marker-rojo-47.png
File212=marker-rojo-48.png
File213=marker-rojo-49.png
File214=marker-rojo-5.png
File215=marker-rojo-50.png
File216=marker-rojo-51.png
File217=marker-rojo-52.png
File218=marker-rojo-53.png
File219=marker-rojo-54.png
File210=marker-rojo-38.png
File211=marker-rojo-39.png
File212=marker-rojo-4.png
File213=marker-rojo-40.png
File214=marker-rojo-41.png
File215=marker-rojo-42.png
File216=marker-rojo-43.png
File217=marker-rojo-44.png
File218=marker-rojo-45.png
File219=marker-rojo-46.png
File22=clientes.bal
File220=marker-rojo-55.png
File221=marker-rojo-56.png
File222=marker-rojo-57.png
File223=marker-rojo-58.png
File224=marker-rojo-59.png
File225=marker-rojo-6.png
File226=marker-rojo-60.png
File227=marker-rojo-61.png
File228=marker-rojo-62.png
File229=marker-rojo-63.png
File220=marker-rojo-47.png
File221=marker-rojo-48.png
File222=marker-rojo-49.png
File223=marker-rojo-5.png
File224=marker-rojo-50.png
File225=marker-rojo-51.png
File226=marker-rojo-52.png
File227=marker-rojo-53.png
File228=marker-rojo-54.png
File229=marker-rojo-55.png
File23=detalle_promo.bal
File230=marker-rojo-64.png
File231=marker-rojo-65.png
File232=marker-rojo-66.png
File233=marker-rojo-67.png
File234=marker-rojo-68.png
File235=marker-rojo-69.png
File236=marker-rojo-7.png
File237=marker-rojo-70.png
File238=marker-rojo-71.png
File239=marker-rojo-72.png
File230=marker-rojo-56.png
File231=marker-rojo-57.png
File232=marker-rojo-58.png
File233=marker-rojo-59.png
File234=marker-rojo-6.png
File235=marker-rojo-60.png
File236=marker-rojo-61.png
File237=marker-rojo-62.png
File238=marker-rojo-63.png
File239=marker-rojo-64.png
File24=durakelo.png
File240=marker-rojo-73.png
File241=marker-rojo-74.png
File242=marker-rojo-75.png
File243=marker-rojo-76.png
File244=marker-rojo-77.png
File245=marker-rojo-78.png
File246=marker-rojo-79.png
File247=marker-rojo-8.png
File248=marker-rojo-80.png
File249=marker-rojo-81.png
File240=marker-rojo-65.png
File241=marker-rojo-66.png
File242=marker-rojo-67.png
File243=marker-rojo-68.png
File244=marker-rojo-69.png
File245=marker-rojo-7.png
File246=marker-rojo-70.png
File247=marker-rojo-71.png
File248=marker-rojo-72.png
File249=marker-rojo-73.png
File25=durakelo1.png
File250=marker-rojo-82.png
File251=marker-rojo-83.png
File252=marker-rojo-84.png
File253=marker-rojo-85.png
File254=marker-rojo-86.png
File255=marker-rojo-87.png
File256=marker-rojo-88.png
File257=marker-rojo-89.png
File258=marker-rojo-9.png
File259=marker-rojo-90.png
File250=marker-rojo-74.png
File251=marker-rojo-75.png
File252=marker-rojo-76.png
File253=marker-rojo-77.png
File254=marker-rojo-78.png
File255=marker-rojo-79.png
File256=marker-rojo-8.png
File257=marker-rojo-80.png
File258=marker-rojo-81.png
File259=marker-rojo-82.png
File26=engrane.jpg
File260=marker-rojo-91.png
File261=marker-rojo-92.png
File262=marker-rojo-93.png
File263=marker-rojo-94.png
File264=marker-rojo-95.png
File265=marker-rojo-96.png
File266=marker-rojo-97.png
File267=marker-rojo-98.png
File268=marker-rojo-99.png
File269=marker-verde-0.png
File260=marker-rojo-83.png
File261=marker-rojo-84.png
File262=marker-rojo-85.png
File263=marker-rojo-86.png
File264=marker-rojo-87.png
File265=marker-rojo-88.png
File266=marker-rojo-89.png
File267=marker-rojo-9.png
File268=marker-rojo-90.png
File269=marker-rojo-91.png
File27=engrane.png
File270=marker-verde-1.png
File271=marker-verde-10.png
File272=marker-verde-100.png
File273=marker-verde-11.png
File274=marker-verde-12.png
File275=marker-verde-13.png
File276=marker-verde-14.png
File277=marker-verde-15.png
File278=marker-verde-16.png
File279=marker-verde-17.png
File270=marker-rojo-92.png
File271=marker-rojo-93.png
File272=marker-rojo-94.png
File273=marker-rojo-95.png
File274=marker-rojo-96.png
File275=marker-rojo-97.png
File276=marker-rojo-98.png
File277=marker-rojo-99.png
File278=marker-verde.png
File279=marker-verde-0.png
File28=engranes.png
File280=marker-verde-18.png
File281=marker-verde-19.png
File282=marker-verde-2.png
File283=marker-verde-20.png
File284=marker-verde-21.png
File285=marker-verde-22.png
File286=marker-verde-23.png
File287=marker-verde-24.png
File288=marker-verde-25.png
File289=marker-verde-26.png
File280=marker-verde-1.png
File281=marker-verde-10.png
File282=marker-verde-100.png
File283=marker-verde-11.png
File284=marker-verde-12.png
File285=marker-verde-13.png
File286=marker-verde-14.png
File287=marker-verde-15.png
File288=marker-verde-16.png
File289=marker-verde-17.png
File29=errormanager.bal
File290=marker-verde-27.png
File291=marker-verde-28.png
File292=marker-verde-29.png
File293=marker-verde-3.png
File294=marker-verde-30.png
File295=marker-verde-31.png
File296=marker-verde-32.png
File297=marker-verde-33.png
File298=marker-verde-34.png
File299=marker-verde-35.png
File290=marker-verde-18.png
File291=marker-verde-19.png
File292=marker-verde-2.png
File293=marker-verde-20.png
File294=marker-verde-21.png
File295=marker-verde-22.png
File296=marker-verde-23.png
File297=marker-verde-24.png
File298=marker-verde-25.png
File299=marker-verde-26.png
File3=alerta.jpg
File30=fondo_kmt.jpg
File300=marker-verde-36.png
File301=marker-verde-37.png
File302=marker-verde-38.png
File303=marker-verde-39.png
File304=marker-verde-4.png
File305=marker-verde-40.png
File306=marker-verde-41.png
File307=marker-verde-42.png
File308=marker-verde-43.png
File309=marker-verde-44.png
File300=marker-verde-27.png
File301=marker-verde-28.png
File302=marker-verde-29.png
File303=marker-verde-3.png
File304=marker-verde-30.png
File305=marker-verde-31.png
File306=marker-verde-32.png
File307=marker-verde-33.png
File308=marker-verde-34.png
File309=marker-verde-35.png
File31=foto.bal
File310=marker-verde-45.png
File311=marker-verde-46.png
File312=marker-verde-47.png
File313=marker-verde-48.png
File314=marker-verde-49.png
File315=marker-verde-5.png
File316=marker-verde-50.png
File317=marker-verde-51.png
File318=marker-verde-52.png
File319=marker-verde-53.png
File310=marker-verde-36.png
File311=marker-verde-37.png
File312=marker-verde-38.png
File313=marker-verde-39.png
File314=marker-verde-4.png
File315=marker-verde-40.png
File316=marker-verde-41.png
File317=marker-verde-42.png
File318=marker-verde-43.png
File319=marker-verde-44.png
File32=foto1.jpg
File320=marker-verde-54.png
File321=marker-verde-55.png
File322=marker-verde-56.png
File323=marker-verde-57.png
File324=marker-verde-58.png
File325=marker-verde-59.png
File326=marker-verde-6.png
File327=marker-verde-60.png
File328=marker-verde-61.png
File329=marker-verde-62.png
File320=marker-verde-45.png
File321=marker-verde-46.png
File322=marker-verde-47.png
File323=marker-verde-48.png
File324=marker-verde-49.png
File325=marker-verde-5.png
File326=marker-verde-50.png
File327=marker-verde-51.png
File328=marker-verde-52.png
File329=marker-verde-53.png
File33=foto2.jpg
File330=marker-verde-63.png
File331=marker-verde-64.png
File332=marker-verde-65.png
File333=marker-verde-66.png
File334=marker-verde-67.png
File335=marker-verde-68.png
File336=marker-verde-69.png
File337=marker-verde-7.png
File338=marker-verde-70.png
File339=marker-verde-71.png
File330=marker-verde-54.png
File331=marker-verde-55.png
File332=marker-verde-56.png
File333=marker-verde-57.png
File334=marker-verde-58.png
File335=marker-verde-59.png
File336=marker-verde-6.png
File337=marker-verde-60.png
File338=marker-verde-61.png
File339=marker-verde-62.png
File34=foto3.jpg
File340=marker-verde-72.png
File341=marker-verde-73.png
File342=marker-verde-74.png
File343=marker-verde-75.png
File344=marker-verde-76.png
File345=marker-verde-77.png
File346=marker-verde-78.png
File347=marker-verde-79.png
File348=marker-verde-8.png
File349=marker-verde-80.png
File340=marker-verde-63.png
File341=marker-verde-64.png
File342=marker-verde-65.png
File343=marker-verde-66.png
File344=marker-verde-67.png
File345=marker-verde-68.png
File346=marker-verde-69.png
File347=marker-verde-7.png
File348=marker-verde-70.png
File349=marker-verde-71.png
File35=foto4.jpg
File350=marker-verde-81.png
File351=marker-verde-82.png
File352=marker-verde-83.png
File353=marker-verde-84.png
File354=marker-verde-85.png
File355=marker-verde-86.png
File356=marker-verde-87.png
File357=marker-verde-88.png
File358=marker-verde-89.png
File359=marker-verde-9.png
File350=marker-verde-72.png
File351=marker-verde-73.png
File352=marker-verde-74.png
File353=marker-verde-75.png
File354=marker-verde-76.png
File355=marker-verde-77.png
File356=marker-verde-78.png
File357=marker-verde-79.png
File358=marker-verde-8.png
File359=marker-verde-80.png
File36=guardagestion.bal
File360=marker-verde-90.png
File361=marker-verde-91.png
File362=marker-verde-92.png
File363=marker-verde-93.png
File364=marker-verde-94.png
File365=marker-verde-95.png
File366=marker-verde-96.png
File367=marker-verde-97.png
File368=marker-verde-98.png
File369=marker-verde-99.png
File360=marker-verde-81.png
File361=marker-verde-82.png
File362=marker-verde-83.png
File363=marker-verde-84.png
File364=marker-verde-85.png
File365=marker-verde-86.png
File366=marker-verde-87.png
File367=marker-verde-88.png
File368=marker-verde-89.png
File369=marker-verde-9.png
File37=guna_viejo.png
File370=nota.bal
File371=noventa.bal
File372=nuevocliente.bal
File373=palomita_verde.png
File374=palomita_verde_original.png
File375=pedido.bal
File376=pedidoItem.bal
File377=planfia_logo.png
File378=planfia_logo_old.png
File379=planfia_logo_old2.png
File370=marker-verde-90.png
File371=marker-verde-91.png
File372=marker-verde-92.png
File373=marker-verde-93.png
File374=marker-verde-94.png
File375=marker-verde-95.png
File376=marker-verde-96.png
File377=marker-verde-97.png
File378=marker-verde-98.png
File379=marker-verde-99.png
File38=historico.bal
File380=principal.bal
File381=proditem.bal
File382=productos.bal
File383=productos2.bal
File384=profina.jpg
File385=profina.png
File386=promociones.bal
File387=qr.bal
File388=rechazo.jpg
File389=rojo.png
File380=nota.bal
File381=noventa.bal
File382=nuevocliente.bal
File383=palomita_verde.png
File384=palomita_verde_original.png
File385=pedido.bal
File386=pedidoItem.bal
File387=planfia_logo.png
File388=planfia_logo_old.png
File389=planfia_logo_old2.png
File39=info_gral.resp
File390=salma.jpg
File391=salma.png
File392=senial.jpg
File393=sync.png
File394=tache_rojo.png
File395=tache_rojo_original.png
File396=telefonos.bal
File397=ticketsDia.bal
File398=Tiendita.jpg
File399=transporte.png
File390=principal.bal
File391=proditem.bal
File392=productos.bal
File393=productos2.bal
File394=profina.jpg
File395=profina.png
File396=promociones.bal
File397=qr.bal
File398=rechazo.jpg
File399=rojo.png
File4=alerta_amarilla.png
File40=infonavit1.jpg
File400=verde.png
File401=vista1.png
File402=vista2.png
File403=vista3.png
File404=vista4.png
File405=WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg
File406=WhatsApp Image 2022-11-17 at 11.50.59 AM.jpg
File407=whatsapp.png
File408=whatsapp_original.png
File409=WHATSTEL.jpeg
File400=salma.jpg
File401=salma.png
File402=senial.jpg
File403=sync.png
File404=tache_rojo.png
File405=tache_rojo_original.png
File406=telefonos.bal
File407=ticketsDia.bal
File408=Tiendita.jpg
File409=transporte.png
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
File420=WHATSTEL.png
File43=inventario.PNG
File44=itembuttonblue.png
File45=itembuttonred.png
@@ -373,42 +383,42 @@ File63=Malo.jpg
File64=mapa.bal
File65=mapa_rutas.bal
File66=mapas.bal
File67=marker-azul-0.png
File68=marker-azul-1.png
File69=marker-azul-10.png
File67=marker-azul.png
File68=marker-azul-0.png
File69=marker-azul1.png
File7=BLACNCO.jpg
File70=marker-azul-100.png
File71=marker-azul-11.png
File72=marker-azul-12.png
File73=marker-azul-13.png
File74=marker-azul-14.png
File75=marker-azul-15.png
File76=marker-azul-16.png
File77=marker-azul-17.png
File78=marker-azul-18.png
File79=marker-azul-19.png
File70=marker-azul-1.png
File71=marker-azul-10.png
File72=marker-azul-100.png
File73=marker-azul-11.png
File74=marker-azul-12.png
File75=marker-azul-13.png
File76=marker-azul-14.png
File77=marker-azul-15.png
File78=marker-azul-16.png
File79=marker-azul-17.png
File8=cacahuates.png
File80=marker-azul-2.png
File81=marker-azul-20.png
File82=marker-azul-21.png
File83=marker-azul-22.png
File84=marker-azul-23.png
File85=marker-azul-24.png
File86=marker-azul-25.png
File87=marker-azul-26.png
File88=marker-azul-27.png
File89=marker-azul-28.png
File80=marker-azul-18.png
File81=marker-azul-19.png
File82=marker-azul2.png
File83=marker-azul-2.png
File84=marker-azul-20.png
File85=marker-azul-21.png
File86=marker-azul-22.png
File87=marker-azul-23.png
File88=marker-azul-24.png
File89=marker-azul-25.png
File9=cacahuates_blanco.png
File90=marker-azul-29.png
File91=marker-azul-3.png
File92=marker-azul-30.png
File93=marker-azul-31.png
File94=marker-azul-32.png
File95=marker-azul-33.png
File96=marker-azul-34.png
File97=marker-azul-35.png
File98=marker-azul-36.png
File99=marker-azul-37.png
File90=marker-azul-26.png
File91=marker-azul-27.png
File92=marker-azul-28.png
File93=marker-azul-29.png
File94=marker-azul3.png
File95=marker-azul-3.png
File96=marker-azul-30.png
File97=marker-azul-31.png
File98=marker-azul-32.png
File99=marker-azul-33.png
FileGroup1=Default Group
FileGroup10=Default Group
FileGroup100=Default Group
@@ -756,7 +766,17 @@ FileGroup408=Default Group
FileGroup409=Default Group
FileGroup41=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
FileGroup420=Default Group
FileGroup43=Default Group
FileGroup44=Default Group
FileGroup45=Default Group
@@ -879,7 +899,7 @@ Module6=C_Mapas
Module7=C_Nota
Module8=C_NoVenta
Module9=C_NuevoCliente
NumberOfFiles=410
NumberOfFiles=420
NumberOfLibraries=28
NumberOfModules=30
Version=12.8
@@ -887,7 +907,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: Kelloggs Venta
#VersionCode: 3000
#VersionName: 5.03.02
#VersionName: 5.03.03
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
#BridgeLogger:true

View File

@@ -76,7 +76,7 @@ ModuleClosedNodes2=
ModuleClosedNodes20=
ModuleClosedNodes21=
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=
ModuleClosedNodes25=4
ModuleClosedNodes26=
@@ -91,6 +91,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
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
VisibleModules=1,28,11,3,29,12,4,13,7,9
VisibleModules=1,28,11,3,29,12,4,13,7,9,23,25

View File

@@ -154,7 +154,8 @@ Sub MapFragment1_Ready
Tienda= c.GetString("CAT_CL_NOMBRE")
NumSerie=c.GetInt("CAT_CL_NUM_SERIEFISICO")
'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
Next
c .Close

View File

@@ -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'")
If h.RowCount > 0 Then
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"
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
horaCorrecta = True
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

View File

@@ -295,15 +295,19 @@ Sub RD_respalda_cat_detalle_paq
Private inicio As String = DateTime.Now
' Log("Copiando CAT_DETALLES_PAQ ...")
Private x As Cursor = skmt.ExecQuery("select * from CAT_DETALLES_PAQ")
If x.RowCount > 0 Then
Private lasCols As String = getTableColumnListName(skmt, "CAT_DETALLES_PAQ")
rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from CAT_DETALLES_PAQ where fecha = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into CAT_DETALLES_PAQ (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.CAT_DETALLES_PAQ"$)
rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
rkmt.EndTransaction
LogColor("DP: " & ((DateTime.Now - inicio)/1000) & " segs", Colors.RGB(166,37,0))
End If
Try
If x.RowCount > 0 Then
Private lasCols As String = getTableColumnListName(skmt, "CAT_DETALLES_PAQ")
rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from CAT_DETALLES_PAQ where fecha = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into CAT_DETALLES_PAQ (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.CAT_DETALLES_PAQ"$)
rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
rkmt.EndTransaction
LogColor("DP: " & ((DateTime.Now - inicio)/1000) & " segs", Colors.RGB(166,37,0))
End If
Catch
Log(LastException)
End Try
x.Close
End Sub