mirror of
https://github.com/KeymonSoft/Kelloggs_v4.git
synced 2026-04-17 18:26:11 +00:00
- VERSION 5.09.10.2
- Se corrigio que Trade Spending no consideraba los productos fijos de las promos a la hora de afectar el presupuesto. - Se agregó la validacion de la version de la app desde cat_rutas (CAT_RU_VERSION_REQUERIDA). - Se agregó el ligar el telefono a una ruta desde cat_rutas (CAT_RU_IDTELEFONO).
This commit is contained in:
@@ -491,8 +491,8 @@ Sub Entrar_Click
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?,?)", Array As Object(user.Text, pass.Text, DateTime.Date(DateTime.Now)))
|
||||
Starter.skmt.ExecNonQuery("delete from cat_almacen")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (pass.Text))
|
||||
Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.95"))
|
||||
' Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||
' Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.95"))
|
||||
B4XPages.ShowPage("Principal")
|
||||
End If
|
||||
' c=Starter.skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text))
|
||||
@@ -1038,12 +1038,13 @@ Private Sub ImageView1_LongClick
|
||||
|
||||
' Log("traeConexion")
|
||||
' Private reqManagerX As DBRequestManager
|
||||
' reqManagerX.Initialize(Me, "http://keymon.net:9010/DB2")
|
||||
' reqManagerX.Initialize(Me, "http://keymon.net:9010")
|
||||
' Private cmdX As DBCommand
|
||||
' cmdX.Initialize
|
||||
' cmdX.Name = "traeConexion"
|
||||
' cmdX.Parameters = Array As Object()
|
||||
' reqManagerX.ExecuteQuery(cmdX, 0, "traeConexion")
|
||||
' cmdX.Name = "update_usuario_guna_nobajas"
|
||||
' cmdX.Parameters = Array As Object("CDAZA")
|
||||
' reqManagerX.Executequery(cmdX, 0, "traeConexion")
|
||||
|
||||
If Subs.traeAlmacen <> "" Then
|
||||
linker.VerifyAndLinkDevice(Subs.traeAlmacen, Subs.traeRuta)
|
||||
End If
|
||||
@@ -1070,27 +1071,29 @@ Sub Linker_Response(Status As String) ' << AÑADE ESTE SUB [New Query]
|
||||
If Starter.Logger Then LogColor($"Respuesta de DeviceLinker para la verificación del dispositivo: ${Status}"$, Colors.Magenta) '
|
||||
Select Status
|
||||
Case "UUID_ERROR"
|
||||
Log("Error interno al obtener el identificador único del dispositivo.")
|
||||
ToastMessageShow("Error interno al obtener el identificador único del dispositivo.", True)
|
||||
Case "HTTP_ERROR"
|
||||
LogColor("Error HTTP al verificar el dispositivo: " & linker.lastJobDoneError, Colors.Red)
|
||||
ToastMessageShow("Error de conexión al servidor durante la verificación del dispositivo.", True)
|
||||
Case "SERVER_LOGIC_ERROR"
|
||||
Log("El servidor no proporcionó un estado de verificación válido. Contacte a soporte.")
|
||||
ToastMessageShow("El servidor no proporcionó un estado de verificación válido. Contacte a soporte.", True)
|
||||
Case "OK"
|
||||
If Starter.Logger Then Log("Dispositivo ligado y verificado exitosamente.")
|
||||
Log("Dispositivo ligado y verificado exitosamente.")
|
||||
ToastMessageShow("Dispositivo verificado y ligado correctamente.", False)
|
||||
' Aquí puedes añadir lógica adicional si la verificación es exitosa, por ejemplo, habilitar ciertos botones o continuar con el flujo normal.
|
||||
Case "NO_REGISTRADO"
|
||||
If Starter.Logger Then Log("Dispositivo NO registrado.")
|
||||
Log("Dispositivo NO registrado.")
|
||||
ToastMessageShow("Dispositivo NO registrado.", False)
|
||||
Case "REGISTRO_NUEVO"
|
||||
If Starter.Logger Then Log("¡¡Registro nuevo!!")
|
||||
Log("¡¡Registro nuevo!!")
|
||||
ToastMessageShow("¡¡Registro nuevo!!", False)
|
||||
Case "ALREADY_REGISTERED"
|
||||
If Starter.Logger Then Log("¡¡El dispositivo ya esta registrado con otra ruta!!")
|
||||
Case "YA_REGISTRADO"
|
||||
Log("¡¡El dispositivo ya esta registrado con otra ruta!!")
|
||||
ToastMessageShow("¡¡El dispositivo ya esta registrado con otra ruta!!", True)
|
||||
Case Else ' Otros estados que tu servidor pueda devolver (ej. "UNAUTHORIZED", "PENDING_APPROVAL")
|
||||
If Starter.Logger Then Log($"Estado de verificación del dispositivo: ${Status}"$)
|
||||
Log($"Estado de verificación del dispositivo: ${Status}"$)
|
||||
ToastMessageShow($"Verificación del dispositivo: ${Status}"$, True)
|
||||
' Puedes decidir si bloquear la funcionalidad o mostrar un mensaje específico según el estado.
|
||||
End Select
|
||||
|
||||
@@ -910,7 +910,7 @@ Sub GPS_LocationChanged (Location1 As Location)
|
||||
If Not(clienteDeudor) Then B_VENTA.Visible = True 'Si el cliente no tiene adeudo, habilitamos el boton de venta
|
||||
If Not(clienteId.StartsWith("N")) And la_cuenta.Text <> "0" Then
|
||||
b_noVenta.Visible = True 'Ni cliente nuevo, ni abordo.
|
||||
Log("NoVenta False")
|
||||
' Log("NoVenta False")
|
||||
End If
|
||||
If Not(p_rechazoDOE.Visible) Then pedido_doe_muestra
|
||||
Else
|
||||
|
||||
@@ -218,6 +218,7 @@ Sub Class_Globals
|
||||
Type TCuantos (query As String, esperados As Int, guardados As Int)
|
||||
Dim validaCuantos As TCuantos
|
||||
Dim ts As C_TrendSpending
|
||||
Dim linker As C_deviceLinker
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
@@ -321,6 +322,7 @@ End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
' Log(Subs.traeDiaSemana)
|
||||
linker.Initialize(Me, "Linker", True)
|
||||
Starter.errorConnDBReq = False
|
||||
connecta.TextColor = Colors.White
|
||||
StartBluetooth
|
||||
@@ -1773,11 +1775,17 @@ Sub JobDone(Job As HttpJob)
|
||||
' Subs.logJobDoneResultados(RESULT)
|
||||
For Each records() As Object In RESULT.Rows
|
||||
Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||
Dim CAT_VE_VERSION As String = records(RESULT.Columns.Get("CAT_VE_VERSION"))
|
||||
Log(">>>>>>> Version minima: " & CAT_VE_VERSION & " - Actual: " & Application.VersionName & " --> " & Subs.comparaVersiones(CAT_VE_VERSION, Application.VersionName))
|
||||
Dim CAT_RU_VERSION_REQUERIDA As String = records(RESULT.Columns.Get("CAT_RU_VERSION_REQUERIDA"))
|
||||
Log(">>>>>>> Version requerida: " & CAT_RU_VERSION_REQUERIDA & " - Actual: " & Application.VersionName & " --> " & Subs.comparaVersiones(CAT_RU_VERSION_REQUERIDA, Application.VersionName))
|
||||
Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_RU_VERSION_REQUERIDA))
|
||||
Next
|
||||
If CAT_RU_VERSION_REQUERIDA = 0 Or Subs.comparaVersiones(CAT_RU_VERSION_REQUERIDA, Application.VersionName) = 0 Then
|
||||
connecta3
|
||||
Else
|
||||
Msgbox2("Es necesario actualizar la versión de la aplicación.", "VERSION INCORRECTA","Aceptar", "", "",Null) 'ignore
|
||||
' ExitApplication
|
||||
End If
|
||||
End If
|
||||
|
||||
If RESULT.Tag = "count_cli" Then 'query tag
|
||||
@@ -2248,10 +2256,23 @@ Sub connecta_Click
|
||||
|
||||
reqManager.trackInit
|
||||
|
||||
linker.VerifyAndLinkDevice(Subs.traeAlmacen, Subs.traeRuta)
|
||||
|
||||
' Else
|
||||
' Msgbox("LA RUTA NO ES CORRECTA","") 'ignore
|
||||
' End If
|
||||
End Sub
|
||||
|
||||
Sub connecta2
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_version_KELL"
|
||||
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
|
||||
reqManager.ExecuteQuery(cmd , 0, "version")
|
||||
End Sub
|
||||
|
||||
|
||||
Sub connecta3
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_ruta4_KELL"
|
||||
@@ -2262,9 +2283,6 @@ Sub connecta_Click
|
||||
If e_ruta.Text = "KMTSKLL1" Then e_ruta.Enabled = True
|
||||
ToastMessageShow("Validando Conexión." , False)
|
||||
ruta_valida = e_ruta.Text
|
||||
' Else
|
||||
' Msgbox("LA RUTA NO ES CORRECTA","") 'ignore
|
||||
' End If
|
||||
End Sub
|
||||
|
||||
Private Sub connecta_LongClick
|
||||
@@ -3877,4 +3895,39 @@ End Sub
|
||||
Private Sub l_efectiva_Click
|
||||
l_descripcion.Text = "Clientes visitados / Clientes totales"
|
||||
l_descripcion.Visible = True
|
||||
End Sub
|
||||
|
||||
Sub Linker_Response(Status As String) ' << AÑADE ESTE SUB [New Query]
|
||||
If Starter.Logger Then LogColor($"Respuesta de DeviceLinker para la verificación del dispositivo: ${Status}"$, Colors.Magenta) '
|
||||
Select Status
|
||||
Case "UUID_ERROR"
|
||||
Log("Error interno al obtener el identificador único del dispositivo.")
|
||||
ToastMessageShow("Error interno al obtener el identificador único del dispositivo.", True)
|
||||
Case "HTTP_ERROR"
|
||||
LogColor("Error HTTP al verificar el dispositivo: " & linker.lastJobDoneError, Colors.Red)
|
||||
ToastMessageShow("Error de conexión al servidor durante la verificación del dispositivo.", True)
|
||||
Case "SERVER_LOGIC_ERROR"
|
||||
Log("El servidor no proporcionó un estado de verificación válido. Contacte a soporte.")
|
||||
ToastMessageShow("El servidor no proporcionó un estado de verificación válido. Contacte a soporte.", True)
|
||||
Case "OK"
|
||||
Log("Dispositivo ligado y verificado exitosamente.")
|
||||
ToastMessageShow("Dispositivo verificado y ligado correctamente.", False)
|
||||
' Aquí puedes añadir lógica adicional si la verificación es exitosa, por ejemplo, habilitar ciertos botones o continuar con el flujo normal.
|
||||
connecta2
|
||||
' Case "NO_REGISTRADO"
|
||||
' Log("Dispositivo NO registrado.")
|
||||
' ToastMessageShow("Dispositivo NO registrado.", False)
|
||||
Case "REGISTRO_NUEVO"
|
||||
Log("¡¡Registro nuevo!!")
|
||||
connecta2
|
||||
ToastMessageShow("¡¡Registro nuevo!!", False)
|
||||
Case "YA_REGISTRADO"
|
||||
Log("¡¡El dispositivo ya esta registrado con otra ruta!!")
|
||||
ToastMessageShow("¡¡El dispositivo ya esta registrado con otra ruta!!", True)
|
||||
Msgbox2("Ruta registrada en otro dispositivo", "RUTA INCORRECTA","Aceptar", "", "",Null) 'ignore
|
||||
Case Else ' Otros estados que tu servidor pueda devolver (ej. "UNAUTHORIZED", "PENDING_APPROVAL")
|
||||
Log($"Estado de verificación del dispositivo: ${Status}"$)
|
||||
ToastMessageShow($"Verificación del dispositivo: ${Status}"$, True)
|
||||
' Puedes decidir si bloquear la funcionalidad o mostrar un mensaje específico según el estado.
|
||||
End Select
|
||||
End Sub
|
||||
@@ -476,9 +476,21 @@ Private Sub b_terminar1_Click
|
||||
cuentaProds
|
||||
Private elMontoTSDeLaVenta As String = 0
|
||||
' Log("====================================================================")
|
||||
' Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
|
||||
Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
|
||||
For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
|
||||
Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
|
||||
|
||||
Private idProdFijo As String = prodsIds.Get(t)
|
||||
Private cantProdFijo As Int = prodsCants.Get(t)
|
||||
|
||||
' ' Asumimos que el índice 0 es el encabezado de la promoción (estaPromo) y no tiene bonificación de producto.
|
||||
If t > 0 Then
|
||||
Private bonificacion_monto As String = ts.traeMontoBonificacion(idProdFijo, estaPromo)
|
||||
Log(bonificacion_monto)
|
||||
elMontoTSDeLaVenta = elMontoTSDeLaVenta + (bonificacion_monto * cantProdFijo)
|
||||
Log($"TS Fijo Acumulado: ${elMontoTSDeLaVenta}, Prod: ${idProdFijo}"$)
|
||||
End If
|
||||
|
||||
If prodsCants.Get(t) > 0 Then Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)
|
||||
Next
|
||||
For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
|
||||
@@ -503,6 +515,18 @@ Private Sub b_continuar_Click
|
||||
Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
|
||||
For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
|
||||
Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
|
||||
|
||||
Private idProdFijo As String = prodsIds.Get(t)
|
||||
Private cantProdFijo As Int = prodsCants.Get(t)
|
||||
|
||||
' ' Asumimos que el índice 0 es el encabezado de la promoción (estaPromo) y no tiene bonificación de producto.
|
||||
If t > 0 Then
|
||||
Private bonificacion_monto As String = ts.traeMontoBonificacion(idProdFijo, estaPromo)
|
||||
Log(bonificacion_monto)
|
||||
elMontoTSDeLaVenta = elMontoTSDeLaVenta + (bonificacion_monto * cantProdFijo)
|
||||
Log($"TS Fijo Acumulado: ${elMontoTSDeLaVenta}, Prod: ${idProdFijo}"$)
|
||||
End If
|
||||
|
||||
Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)
|
||||
Next
|
||||
For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
|
||||
|
||||
@@ -46,7 +46,8 @@ Public Sub Initialize (PageObject As Object, NameOfEvent As String, AppLogger As
|
||||
' Inicializamos el DBRequestManager para las comunicaciones con el servidor.
|
||||
' 'Me' indica que el evento JobDone de esta clase se encargará de las respuestas de reqManager.
|
||||
' reqManager.Initialize(Me, Starter.DBReqServer)
|
||||
reqManager.Initialize(Me, "http://keymon.net:9010/DB2") 'Servidor de pruebas
|
||||
' reqManager.Initialize(Me, "http://keymon.net:9010/DB2") 'Servidor de pruebas
|
||||
reqManager.Initialize(Me, "http://keymon.net:1781") 'Servidor productivo
|
||||
|
||||
If logger Then Log("DBRequestManager para DeviceLinker inicializado.")
|
||||
If logger Then Log("DeviceLinker inicializado y listo para operar.")
|
||||
@@ -110,7 +111,7 @@ Public Sub JobDone(Job As HttpJob) ' El nombre del sub debe ser 'JobDone' o el q
|
||||
If Job.Success = False Then
|
||||
lastJobDoneError = Job.ErrorMessage
|
||||
LogColor("############################################", Colors.red)
|
||||
LogColor("###### JobError: " & Job.Tag & CRLF & Job.ErrorMessage, Colors.red)
|
||||
LogColor("###### JobError: " & Job.Tag & " ######" & CRLF & "#### " & Job.ErrorMessage, Colors.red)
|
||||
LogColor("############################################", Colors.red)
|
||||
' Enviar una respuesta de error HTTP al callback.
|
||||
If SubExists(CallBack, EventName & "_Response") Then
|
||||
@@ -125,43 +126,59 @@ Public Sub JobDone(Job As HttpJob) ' El nombre del sub debe ser 'JobDone' o el q
|
||||
If logger Then LogColor($"Petición exitosa al servidor. Registros devueltos: ${result.Rows.Size}"$, Colors.Green)
|
||||
|
||||
|
||||
If result.Tag = "hist_cliente_promos" Then 'query tag
|
||||
Starter.skmt.BeginTransaction
|
||||
For Each records() As Object In result.Rows
|
||||
Dim HCCP_CLIENTE As String = records(result.Columns.Get("HCCP_CLIENTE"))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT, HCCP_CANT_VENDIDA) VALUES (?,?,?,?)", Array As Object (HCCP_CLIENTE))
|
||||
Next
|
||||
Starter.skmt.TransactionSuccessful
|
||||
Starter.skmt.EndTransaction
|
||||
' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True)
|
||||
End If
|
||||
' If result.Tag = "hist_cliente_promos" Then 'query tag
|
||||
' Starter.skmt.BeginTransaction
|
||||
' For Each records() As Object In result.Rows
|
||||
' Dim HCCP_CLIENTE As String = records(result.Columns.Get("HCCP_CLIENTE"))
|
||||
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT, HCCP_CANT_VENDIDA) VALUES (?,?,?,?)", Array As Object (HCCP_CLIENTE))
|
||||
' Next
|
||||
' Starter.skmt.TransactionSuccessful
|
||||
' Starter.skmt.EndTransaction
|
||||
' ' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True)
|
||||
' End If
|
||||
|
||||
If result.Tag = "verify_device" Then 'query tag
|
||||
' Aquí es donde la lógica de la aplicación interpreta el éxito/falla de la operación en el servidor.
|
||||
' No usamos result.Success porque DBResult no tiene esa propiedad.
|
||||
' En su lugar, comprobamos si se devolvieron filas y el campo 'status' dentro de los datos.
|
||||
If result.Rows.Size > 0 Then
|
||||
Subs.logJobDoneResultados(result)
|
||||
For Each records() As Object In result.Rows
|
||||
Dim Status As String = records(result.Columns.Get("ESTATUS"))
|
||||
Dim GUID As String = records(result.Columns.Get("GUID"))
|
||||
If deviceId <> GUID Then Status = "ALREADY_REGISTERED" ' Ya existe OTRO registro.
|
||||
Dim Status As String = "" 'records(result.Columns.Get("ESTATUS"))
|
||||
Dim CAT_RU_IDTELEFONO As String = records(result.Columns.Get("CAT_RU_IDTELEFONO"))
|
||||
Log($"|${deviceId}|${CAT_RU_IDTELEFONO}|"$)
|
||||
' If deviceId <> CAT_RU_IDTELEFONO Then Status = "YA_REGISTRADO" ' Ya existe OTRO registro.
|
||||
If CAT_RU_IDTELEFONO = 0 Or CAT_RU_IDTELEFONO.Length < 5 Then
|
||||
Log(">>> NUEVO")
|
||||
' Status = "REGISTRO_NUEVO"
|
||||
Dim cmd As DBCommand ' Creamos un comando para enviar al servidor.
|
||||
cmd.Initialize
|
||||
cmd.Name = "registarMovil"
|
||||
' Pasamos el almacén, la ruta y el GUID del dispositivo como parámetros.
|
||||
cmd.Parameters = Array As Object(deviceId, almacen, ruta)
|
||||
reqManager.ExecuteCommand(cmd, "registramosGUID")
|
||||
If SubExists(CallBack, EventName & "_Response") Then
|
||||
CallSub2(CallBack, EventName & "_Response", "REGISTRO_NUEVO")
|
||||
End If
|
||||
else if CAT_RU_IDTELEFONO = deviceId Then
|
||||
Status = "OK"
|
||||
Else
|
||||
Status = "YA_REGISTRADO"
|
||||
End If
|
||||
' Invocamos el callback en el módulo principal con el estado.
|
||||
If SubExists(CallBack, EventName & "_Response") Then
|
||||
CallSub2(CallBack, EventName & "_Response", Status)
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
If logger Then LogColor($"El servidor respondió con éxito, pero no encontró registros.${CRLF}Quiere decir que la ruta NO esta registrada en el servidor."$, Colors.Red)
|
||||
Dim cmd As DBCommand ' Creamos un comando para enviar al servidor.
|
||||
cmd.Initialize
|
||||
cmd.Name = "registarMovil"
|
||||
' Pasamos el almacén, la ruta y el GUID del dispositivo como parámetros.
|
||||
cmd.Parameters = Array As Object(almacen, ruta, deviceId)
|
||||
reqManager.ExecuteCommand(cmd, "registramosGUID")
|
||||
If SubExists(CallBack, EventName & "_Response") Then
|
||||
CallSub2(CallBack, EventName & "_Response", "NO_REGISTRADO")
|
||||
End If
|
||||
' Else
|
||||
' If logger Then LogColor($"El servidor respondió con éxito, pero no encontró registros.${CRLF}Quiere decir que la ruta NO esta registrada en el servidor."$, Colors.Red)
|
||||
' Dim cmd As DBCommand ' Creamos un comando para enviar al servidor.
|
||||
' cmd.Initialize
|
||||
' cmd.Name = "registarMovil"
|
||||
' ' Pasamos el almacén, la ruta y el GUID del dispositivo como parámetros.
|
||||
' cmd.Parameters = Array As Object(almacen, ruta, deviceId)
|
||||
' reqManager.ExecuteCommand(cmd, "registramosGUID")
|
||||
' If SubExists(CallBack, EventName & "_Response") Then
|
||||
' CallSub2(CallBack, EventName & "_Response", "NO_REGISTRADO")
|
||||
' End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
@@ -917,7 +917,7 @@ Version=12.8
|
||||
#Region Project Attributes
|
||||
#ApplicationLabel: Kelloggs Venta
|
||||
#VersionCode: 3000
|
||||
#VersionName: 5.09.10
|
||||
#VersionName: 5.09.10.1
|
||||
#SupportedOrientations: portrait
|
||||
#CanInstallToExternalStorage: False
|
||||
#BridgeLogger:true
|
||||
|
||||
@@ -67,14 +67,14 @@ ModuleBreakpoints7=
|
||||
ModuleBreakpoints8=
|
||||
ModuleBreakpoints9=
|
||||
ModuleClosedNodes0=
|
||||
ModuleClosedNodes1=6,8,46,47
|
||||
ModuleClosedNodes1=6,46,47
|
||||
ModuleClosedNodes10=
|
||||
ModuleClosedNodes11=
|
||||
ModuleClosedNodes12=3,5,6
|
||||
ModuleClosedNodes12=3,5
|
||||
ModuleClosedNodes13=7,8,9,10,11,12
|
||||
ModuleClosedNodes14=6,7,8,9,12,13
|
||||
ModuleClosedNodes15=
|
||||
ModuleClosedNodes16=3,7,8,15,17
|
||||
ModuleClosedNodes16=3,8,17
|
||||
ModuleClosedNodes17=
|
||||
ModuleClosedNodes18=
|
||||
ModuleClosedNodes19=7,8,9,10,11,12,13,14
|
||||
@@ -92,7 +92,7 @@ ModuleClosedNodes29=
|
||||
ModuleClosedNodes3=1,3,5,6
|
||||
ModuleClosedNodes30=
|
||||
ModuleClosedNodes31=
|
||||
ModuleClosedNodes32=114,116
|
||||
ModuleClosedNodes32=116
|
||||
ModuleClosedNodes33=
|
||||
ModuleClosedNodes4=
|
||||
ModuleClosedNodes5=
|
||||
@@ -100,6 +100,6 @@ ModuleClosedNodes6=
|
||||
ModuleClosedNodes7=
|
||||
ModuleClosedNodes8=
|
||||
ModuleClosedNodes9=
|
||||
NavigationStack=C_Cliente,GPS_LocationChanged,906,0,C_Cliente,B4XPage_Appear,552,6,Diseñador Visual,cliente.bal,-100,6,Diseñador Visual,principal.bal,-100,2,C_Principal,cargar_Click,837,0,C_Principal,B4XPage_Appear,539,6,kms_helperSubs,traeRuta,748,0,C_deviceLinker,Initialize,43,0,C_deviceLinker,VerifyAndLinkDevice,64,0,B4XMainPage,ImageView1_LongClick,1041,0
|
||||
NavigationStack=C_Principal,JobDone,1779,0,B4XMainPage,B4XPage_Appear,392,0,B4XMainPage,Label4_Click,1062,0,B4XMainPage,Linker_Response,1063,3,C_Principal,l_efectiva_Click,3892,0,C_Principal,Class_Globals,214,0,C_Principal,B4XPage_Created,312,0,C_Principal,B4XPage_Appear,321,0,C_Principal,Linker_Response,3917,6,C_deviceLinker,JobDone,132,6,C_deviceLinker,Initialize,44,0
|
||||
SelectedBuild=0
|
||||
VisibleModules=31,1,12,5,16,26,3,32,13,14,8,33,10,28
|
||||
VisibleModules=31,1,12,5,16,26,3,32,13,14,8,33,10,28,19
|
||||
|
||||
@@ -337,6 +337,7 @@ Sub traeBonificacionesMaximas(tipo As String, clienteId As String, id As String,
|
||||
Log($"Presupuesto disponible: ${tsRestantes}"$)
|
||||
Log($"Cantidad: ${laCant}"$)
|
||||
Log($"Floor(tsRestantes / (tsMonto * laCant))= ${Floor(tsRestantes / (tsMonto * laCant))}"$)
|
||||
Log($"Floor(${tsRestantes} / (${tsMonto} * ${laCant}))= ${Floor(tsRestantes / (tsMonto * laCant))}"$)
|
||||
If tsMonto > 0 Then
|
||||
tsMaximas = Floor(tsRestantes / (tsMonto * laCant))
|
||||
End If
|
||||
@@ -359,7 +360,7 @@ Sub traeMontoBonificacion(id As String, promoId As String) As String
|
||||
tsMonto = c.GetString("CAT_GP_PRECIO") ' Precio original.
|
||||
End If
|
||||
' Log("PRECIOB: " & c.GetInt("CAT_DP_PRECIOB"))
|
||||
' Log($"Precio normal: ${c.GetString("CAT_GP_PRECIO")}, Precio desc: ${c.GetString("CAT_DP_PRECIO")}, Monto bonificacion: ${tsMonto}"$)
|
||||
Log($"Precio normal: ${c.GetString("CAT_GP_PRECIO")}, Precio desc: ${c.GetString("CAT_DP_PRECIO")}, Monto bonificacion: ${tsMonto}"$)
|
||||
End If
|
||||
' Log("ROWCOUNT: " & c.RowCount)
|
||||
Return tsMonto
|
||||
|
||||
Reference in New Issue
Block a user