diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas
index 5c77142..92aa9c7 100644
--- a/B4A/B4XMainPage.bas
+++ b/B4A/B4XMainPage.bas
@@ -184,6 +184,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMOS_RUTA (CPR_IDALMACEN TEXT, CPR_RUTA TEXT, CPR_PROMO TEXT, CPR_CANT INT)")
Subs.agregaColumna("PEDIDO", "PE_ENVIO_OK", "TEXT")
+ Subs.agregaColumna("HIST_CLIENTE_CANT_PROMOS", "HCCP_CANT_VENDIDA", "TEXT")
+
'Revisamos si se disparo el intent de cargar la base de datos desde WhatApp.
If s.traeUsarIntentBDWA Then s.importaBDDesdeWhatsApp
diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas
index 4e7ccf6..337670f 100644
--- a/B4A/C_Principal.bas
+++ b/B4A/C_Principal.bas
@@ -1250,7 +1250,9 @@ Sub JobDone(Job As HttpJob)
Dim HCCP_CLIENTE As String = records(RESULT.Columns.Get("HCCP_CLIENTE"))
Dim HCCP_PROMO As String = records(RESULT.Columns.Get("HCCP_PROMO"))
Dim HCCP_CANT As String = records(RESULT.Columns.Get("HCCP_CANT"))
- Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT) VALUES (?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO,HCCP_CANT))
+ Dim HCCP_CANT_VENDIDA As String = records(RESULT.Columns.Get("HCCP_CANT_VENDIDA"))
+ If HCCP_CANT_VENDIDA = "null" Then HCCP_CANT_VENDIDA = "0"
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT,HCCP_CANT_VENDIDA) VALUES (?,?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO,HCCP_CANT,HCCP_CANT_VENDIDA))
Next
If Starter.marcaCel <> "Sony" Then ToastMessageShow(" Historico Clientes Promociones Actualizado." , True)
End If
diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas
index dd7cd5d..67790cc 100644
--- a/B4A/C_Productos.bas
+++ b/B4A/C_Productos.bas
@@ -223,6 +223,7 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
lfila.text = "PROMOCIONES"
lv_catalogos.Visible = False
lv_promos.Clear
+ Log("LIMPIAMOS LV_PROMOS")
Dim label1 As B4XView
label1 = lv_promos.TwoLinesLayout.Label
label1.TextSize = 15
@@ -248,14 +249,17 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
label14.TextColor = Colors.Black
' label14.Height = 80dip
lfila.text = "PROMOS"
- c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )", Array As String(Value, Value, Value))
+ c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa)) order by CAT_GP_ID", Array As String(Value, Value, Value))
Log($"res:${c2.RowCount}, ${Value}, ${marca}, ${tipo}"$)
If c2.RowCount > 0 Then
For i=0 To c2.RowCount -1
- c2.Position=i
+ c2.Position = i
+ LogColor(">>>>>>>>> " & c2.GetString("CAT_GP_ID") & " <<<<<<<<<<", Colors.red)
+ LogColor(">>>>>>>>> " & c2.GetString("CAT_GP_NOMBRE") & " <<<<<<<<<<", Colors.red)
Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId)
- Log(c2.GetString("CAT_GP_ID"))
+' Log(c2.GetString("CAT_GP_ID"))
If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto.
+ Log($"Promo OK ${CRLF}${tm}"$)
lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant"))
End If
Next
@@ -340,7 +344,7 @@ End Sub
Sub lv_promos_ItemClick (Position As Int, Value As Object)
clv_prods_ll.AsView.Visible = False
Dim cliente As C_Cliente = B4XPages.GetPage("Cliente")
-' Log($"Entro=${entro}, value=${Value}, cuenta=${cliente.cuenta}"$)
+ Log($"Entro=${entro}, value=${Value}, cuenta=${cliente.cuenta}"$)
If Value = "PROMOS" And cliente.cuenta <> "N" Then
entro = "3"
marca = "PROMOS"
diff --git a/B4A/MAPA_RUTAS.bas b/B4A/MAPA_RUTAS.bas
index 4ed4939..6bcccfb 100644
--- a/B4A/MAPA_RUTAS.bas
+++ b/B4A/MAPA_RUTAS.bas
@@ -150,7 +150,7 @@ Sub MapFragment1_Ready
rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
gmap.MyLocationEnabled = Result
-
+
Dim JavaMapsObject As JavaObject
JavaMapsObject = gmap.GetUiSettings
JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True))
diff --git a/B4A/Mariana.b4a b/B4A/Mariana.b4a
index 5d3b4ab..fdc3c91 100644
--- a/B4A/Mariana.b4a
+++ b/B4A/Mariana.b4a
@@ -1057,7 +1057,7 @@ Library6=bctoast
Library7=bitmapcreator
Library8=byteconverter
Library9=camera
-ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'AddApplicationText(~\n~')~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~AddApplicationText(~\n~~\n~ ~\n~ )~\n~ ~\n~ AddManifestText(~\n~ ~\n~ )~\n~ ~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~~\n~~\n~~\n~~\n~)~\n~
+ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'AddApplicationText(~\n~')~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~AddApplicationText(~\n~~\n~ ~\n~ )~\n~ ~\n~ AddManifestText(~\n~ ~\n~ )~\n~ ~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~~\n~~\n~~\n~~\n~)~\n~
Module1=appUpdater
Module10=C_NuevoCliente
Module11=C_Pedidos
@@ -1093,7 +1093,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: Mariana
#VersionCode: 1
- #VersionName: 4.07.16
+ #VersionName: 4.07.20
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
diff --git a/B4A/Mariana.b4a.meta b/B4A/Mariana.b4a.meta
index 4fc1eb8..d9968e4 100644
--- a/B4A/Mariana.b4a.meta
+++ b/B4A/Mariana.b4a.meta
@@ -82,6 +82,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
-NavigationStack=C_Principal,Subir_Click,516,0,C_Principal,connecta_Click,1838,0,C_Subs,CreateNotification,463,0,C_Subs,notiLowReturn,486,0,C_Principal,B4XPage_Appear,432,0,B4XMainPage,B4XPage_Created,211,0,Subs,getPhnId,19,0,Subs,traePromo,847,0,Visual Designer,productos.bal,-100,1,C_Productos,lv_catalogos_ItemClick,230,6,C_Principal,Class_Globals,0,0
+NavigationStack=C_Principal,B4XPage_Appear,474,0,MAPA_RUTAS,MapFragment1_Ready,146,0,C_Productos,lv_catalogos_ItemClick,251,6,Visual Designer,principal.bal,-100,3,C_Productos,llenaCatalogo,365,0,C_Productos,lv_promos_ItemClick,340,5,C_Productos,lv_catalogos2_ItemClick,335,0,C_Principal,Class_Globals,0,0,C_Principal,JobDone,1238,0,B4XMainPage,JobDone,474,0
SelectedBuild=0
VisibleModules=2,12,4,5,6,26,10,16,8,13
diff --git a/B4A/Subs.bas b/B4A/Subs.bas
index 2edc4fd..e28f49e 100644
--- a/B4A/Subs.bas
+++ b/B4A/Subs.bas
@@ -839,7 +839,7 @@ Sub traePromo(promo As String, cliente As String) As Map
promoMap = CreateMap("id":promo, "maxXcliente":0, "maxRecurrente":0, "maxPromos":0) 'Si es segmentada la ponemos en cero, porque SOLO le debe de aparecer a ciertos clientes.
If thisLog Then Log($">>> PROMO "${promo}" SEGMENTADA PARA EL CLIENTE ${ps.GetString("HCCP_CLIENTE")}"$)
' Select hccp_cliente As valido from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${traecliente}'
- Private ps2 As Cursor = Starter.skmt.ExecQuery($"Select *, ifnull(HCCP_CANT_VENDIDA, 0) as HCCP_CANT_VENDIDA from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${cliente}' and HCCP_CANT > ifnull(HCCP_CANT_VENDIDA, 0)"$)
+ Private ps2 As Cursor = Starter.skmt.ExecQuery($"Select *, ifnull(HCCP_CANT_VENDIDA, 0) as HCCP_CANT_VENDIDA from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${cliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$)
' Log($"Select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${traeCliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$)
' Log($"registros:${ps2.RowCount}"$)
If ps2.RowCount > 0 Then