13/01/24 - Correcciones en editText de promos y mostrar inv de abordo en productos.

- Se corrigio un error que se daba cuando se editaba la cantidad de prductos varaiables en promociones y quedaba en blanco.
- Se agegó el inventario de abordo a la descripcion del producto cuando se estan seleciconando productos para el Abordo.
This commit is contained in:
2024-01-13 23:07:39 -06:00
parent fb268b062c
commit 1451af86ec
9 changed files with 98 additions and 61 deletions

View File

@@ -194,7 +194,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
kh.guardaAppInfo(Starter.skmt) kh.guardaAppInfo
' Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "IMPRESION" en la tabla ' Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "IMPRESION" en la tabla
' c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('kmt_info') WHERE name='IMPRESION'") ' c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('kmt_info') WHERE name='IMPRESION'")

View File

@@ -413,7 +413,7 @@ Sub B4XPage_Appear
usarGeocerca = kh.traeUsarGeocerca usarGeocerca = kh.traeUsarGeocerca
'Para el almacen 12 (GDL) no se usa la geocerca 'Para el almacen 12 (GDL) no se usa la geocerca
If kh.traeAlmacen(Starter.skmt) = 12 Then usarGeocerca = False If kh.traeAlmacen = 12 Then usarGeocerca = False
' Log(Subs.traeUltimaActividadBD) ' Log(Subs.traeUltimaActividadBD)
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
@@ -1065,7 +1065,7 @@ Sub B_IMP_Click
End Sub End Sub
Sub B_IMP2_Click Sub B_IMP2_Click
Log("inicia B_IMP2_Click") ' Log("inicia B_IMP2_Click")
B_IMP2.Enabled = False B_IMP2.Enabled = False
If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0). If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0).
ProgressDialogShow("Imprimiendo, un momento ...") ProgressDialogShow("Imprimiendo, un momento ...")

View File

@@ -7,6 +7,7 @@ Version=11.5
Sub Class_Globals Sub Class_Globals
Private Root As B4XView 'ignore Private Root As B4XView 'ignore
Private xui As XUI 'ignore Private xui As XUI 'ignore
Private kh As kms_helperSubs
'//Process Globals '//Process Globals
Dim g As GPS Dim g As GPS
Dim ruta As String Dim ruta As String
@@ -33,6 +34,7 @@ End Sub
'You can add more parameters here. 'You can add more parameters here.
Public Sub Initialize As Object Public Sub Initialize As Object
kh.Initialize(Me, "kh", Starter.skmt)
Return Me Return Me
End Sub End Sub
@@ -60,6 +62,10 @@ Sub B4XPage_Appear
maxClientesNuevos = c.GetString("CAT_VA_VALOR") maxClientesNuevos = c.GetString("CAT_VA_VALOR")
End If End If
' Log("MaxClientesNuevos: " & maxClientesNuevos) ' Log("MaxClientesNuevos: " & maxClientesNuevos)
'Para el almacen 12 (GDL) no hay limite de clientes nuevos.
If kh.traeAlmacen = 12 Then maxClientesNuevos = 0
If maxClientesNuevos <> 0 Then If maxClientesNuevos <> 0 Then
Private d As Cursor = Starter.skmt.ExecQuery($"select count(CAT_CL_CODIGO) as ctesNuevos from kmt_info where CAT_CL_CODIGO like 'N%'"$) Private d As Cursor = Starter.skmt.ExecQuery($"select count(CAT_CL_CODIGO) as ctesNuevos from kmt_info where CAT_CL_CODIGO like 'N%'"$)
If d.RowCount > 0 Then If d.RowCount > 0 Then

View File

@@ -81,7 +81,7 @@ Sub Class_Globals
Dim rutaUsuario As String Dim rutaUsuario As String
Dim hayPedido As Boolean Dim hayPedido As Boolean
Dim listaHints As List Dim listaHints As List
Dim query, query2 As String ' Dim query, query2 As String
Private p_rmi As Panel Private p_rmi As Panel
Private b_rmi_aceptar As Button Private b_rmi_aceptar As Button
Private l_montoDisponible As Label Private l_montoDisponible As Label
@@ -183,19 +183,19 @@ Sub B4XPage_Appear
' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("COMPLEMENTARIO","3")) ' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("COMPLEMENTARIO","3"))
' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("CATALOGO REGULAR","0")) ' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("CATALOGO REGULAR","0"))
' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_CLASIF = (?) ",Array As Object("PROMOS","PROMOS")) ' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_CLASIF = (?) ",Array As Object("PROMOS","PROMOS"))
If Starter.tipov = "PREVENTA" Then ' If Starter.tipov = "PREVENTA" Then
query = "cat_gunaprod" ' query = "cat_gunaprod"
query2 = "COUNT_GUNAPROD" ' query2 = "COUNT_GUNAPROD"
Else IF Starter.tipov = "VENTA" Then ' Else IF Starter.tipov = "VENTA" Then
query = "cat_gunaprod2" ' query = "cat_gunaprod2"
query2= " COUNT_GUNAPROD2" ' query2= " COUNT_GUNAPROD2"
ELSE IF Starter.tipov = "ABORDO" Then ' ELSE IF Starter.tipov = "ABORDO" Then
query = "cat_gunaprod" ' query = "cat_gunaprod"
query2 = "COUNT_GUNAPROD" ' query2 = "COUNT_GUNAPROD"
Else ' Else
query = "cat_gunaprod" ' query = "cat_gunaprod"
query2 = "COUNT_GUNAPROD" ' query2 = "COUNT_GUNAPROD"
End If ' End If
clv_prods_ll.GetBase.SetLayoutAnimated(0, 5dip, (lfila.Top + lfila.Height), Root.Width + 10, Root.Height * 0.68) 'Cambiamos el tamaño y posición de la lista de productos clv_prods_ll.GetBase.SetLayoutAnimated(0, 5dip, (lfila.Top + lfila.Height), Root.Width + 10, Root.Height * 0.68) 'Cambiamos el tamaño y posición de la lista de productos
clv_prods_ll.Base_Resize(clv_prods_ll.GetBase.Width, clv_prods_ll.GetBase.Height) 'Cambiamos el tamaño del panel interno de la lista para que ajuste al nuevo tamaño. clv_prods_ll.Base_Resize(clv_prods_ll.GetBase.Width, clv_prods_ll.GetBase.Height) 'Cambiamos el tamaño del panel interno de la lista para que ajuste al nuevo tamaño.
If B4XPages.MainPage.bTerminarClicked Then If B4XPages.MainPage.bTerminarClicked Then
@@ -319,7 +319,7 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
label14.TextColor = Colors.Black label14.TextColor = Colors.Black
' lfila.text = "PROMOS" ' lfila.text = "PROMOS"
' c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)", Array As String(Value, Value)) ' c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)", Array As String(Value, Value))
c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( Value, Value)) c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & Subs.traeTablaProds(Starter.tipov) & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)", Array As String( Value, Value))
' Log($"Resultados : ${c2.RowCount}, ${Value}, ${marca}, ${tipo}"$) ' Log($"Resultados : ${c2.RowCount}, ${Value}, ${marca}, ${tipo}"$)
If c2.RowCount > 0 Then If c2.RowCount > 0 Then
For i=0 To c2.RowCount -1 For i=0 To c2.RowCount -1
@@ -571,6 +571,7 @@ Sub b_prodMenos_Click
Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio")
Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id")
Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":Subs.traeAlmacen) Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":Subs.traeAlmacen)
Log(clv_prods_ll.GetValue(index).As(Map))
' Log(tmpMap) ' Log(tmpMap)
' prodsMap.Put(id, tmpMap) ' prodsMap.Put(id, tmpMap)
' If laCant.Text = 0 Then prodsMap.Remove(id) ' If laCant.Text = 0 Then prodsMap.Remove(id)
@@ -596,7 +597,7 @@ Sub b_prodMenos_Click
i.Position = 0 i.Position = 0
invActualizado = i.GetString("CAT_GP_ALMACEN") invActualizado = i.GetString("CAT_GP_ALMACEN")
End If End If
lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${precio}"$).Popall If Starter.tipov <> "ABORDO" Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${precio}"$).Popall
End If End If
If Subs.totalPedido < 1 Then laCant.Text = "0" If Subs.totalPedido < 1 Then laCant.Text = "0"
' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) ' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
@@ -619,7 +620,7 @@ Sub b_prodMas_Click
Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map) Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map)
Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio")
Private inv As Int = clv_prods_ll.GetValue(index).As(Map).Get("almacen") Private inv As Int = clv_prods_ll.GetValue(index).As(Map).Get("almacen")
' Log(tmpMap) Log(tmpMap)
If buttonTag = "vendido" Then If buttonTag = "vendido" Then
' Log("VENDIDO") ' Log("VENDIDO")
' Log($"${(laCant.Text + 1 <= inv)} And ${(Subs.totalPedido - precio > 1)}"$) ' Log($"${(laCant.Text + 1 <= inv)} And ${(Subs.totalPedido - precio > 1)}"$)
@@ -678,7 +679,7 @@ Sub b_prodMas_Click
i.Position = 0 i.Position = 0
invActualizado = i.GetString("CAT_GP_ALMACEN") invActualizado = i.GetString("CAT_GP_ALMACEN")
End If End If
lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${precio}"$).Popall if Starter.tipov <> "ABORDO" then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${precio}"$).Popall
End If End If
Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
End Sub End Sub
@@ -1161,7 +1162,13 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In
End If End If
Private precio As String=NumberFormat2(clv_prods_ll.GetValue(i).As(Map).Get("precio").As(Double),1,2,2,False) Private precio As String=NumberFormat2(clv_prods_ll.GetValue(i).As(Map).Get("precio").As(Double),1,2,2,False)
If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null Then et_pCant.Text = clv_prods_ll.GetValue(i).As(Map).Get("cant") If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null Then et_pCant.Text = clv_prods_ll.GetValue(i).As(Map).Get("cant")
l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Existencias: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).Color(0xFF017F01).Append($" $${precio}"$).Popall
If Starter.tipov <> "ABORDO" Then
l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Existencias: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).Color(0xFF017F01).Append($" $${precio}"$).Popall
Else
l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Almacen: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).color(Colors.RGB(48,99,192)).Append(" Abordo: " & clv_prods_ll.GetValue(i).As(Map).Get("abordo")).Color(0xFF017F01).Append($" $${precio}"$).Popall
End If
l_prodX.Tag = clv_prods_ll.GetValue(i).As(Map).Get("id") l_prodX.Tag = clv_prods_ll.GetValue(i).As(Map).Get("id")
l_pCant.Tag = clv_prods_ll.GetValue(i).As(Map).Get("id") l_pCant.Tag = clv_prods_ll.GetValue(i).As(Map).Get("id")
End If End If
@@ -1180,9 +1187,10 @@ Sub Busca_TextChanged (Old As String, New As String)
' Private inicioContador As String = DateTime.Now ' Private inicioContador As String = DateTime.Now
If (New.Length = 1 Or New.Length = 2) And Not(forzarBusqueda) Then Return If (New.Length = 1 Or New.Length = 2) And Not(forzarBusqueda) Then Return
forzarBusqueda = False forzarBusqueda = False
' Log($"${Starter.tipov} - ${query} - ${Subs.traeTablaProds(Starter.tipov)}"$)
If lfila.text = "PROMOCIONES" Then If lfila.text = "PROMOCIONES" Then
If Not(lv_promos.Visible) Then lv_promos.Visible = True If Not(lv_promos.Visible) Then lv_promos.Visible = True
Private cPromo As Cursor=Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${query} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)"$) Private cPromo As Cursor=Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)"$)
Log($"res:${cPromo.RowCount}"$) Log($"res:${cPromo.RowCount}"$)
If cPromo.RowCount > 0 Then If cPromo.RowCount > 0 Then
lv_promos.Clear lv_promos.Clear
@@ -1213,15 +1221,15 @@ Sub Busca_TextChanged (Old As String, New As String)
listaProds.Initialize listaProds.Initialize
listaHints.Initialize listaHints.Initialize
Sleep(0) Sleep(0)
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from CAT_GUNAPROD2 where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$)
' c2= Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( Value, Value) ' c2 = Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( Value, Value)
Log("Llamamos LlenaProdsLL") Log("Llamamos LlenaProdsLL")
LlenaProdsLL(p, Null) LlenaProdsLL(p, Null)
End If End If
End Sub End Sub
Sub LlenaProdsLL(p As ResultSet, extra As String) Sub LlenaProdsLL(p As ResultSet, extra As String)
' Log("LlenaProdsLL") Log("LlenaProdsLL")
listaProds.Initialize listaProds.Initialize
hayPedido = Subs.hayPedido hayPedido = Subs.hayPedido
' Log($"HAYPEDIDO: ${hayPedido}"$) ' Log($"HAYPEDIDO: ${hayPedido}"$)
@@ -1242,7 +1250,7 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
pe.Close pe.Close
End If End If
' Log(p.IsInitialized) ' Log(p.IsInitialized)
If query = "" Or query = Null Then query = "cat_gunaprod2" ' If query = "" Or query = Null Then query = "cat_gunaprod2"
If p.IsInitialized Then If p.IsInitialized Then
Log($"YA HAY RESULTSET ${p.RowCount}"$) Log($"YA HAY RESULTSET ${p.RowCount}"$)
Else Else
@@ -1254,7 +1262,15 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
Do While p.NextRow Do While p.NextRow
Private cant As Int = 0 Private cant As Int = 0
If hayPedido And cantsMap.ContainsKey(p.GetString("CAT_GP_ID")) Then cant = cantsMap.Get(p.GetString("CAT_GP_ID")) If hayPedido And cantsMap.ContainsKey(p.GetString("CAT_GP_ID")) Then cant = cantsMap.Get(p.GetString("CAT_GP_ID"))
Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":p.GetString("CAT_GP_PRECIO"), "almacen":p.GetString("CAT_GP_ALMACEN"), "id":p.GetString("CAT_GP_ID"), "cant":cant) Private invAbordo As Int = 0
If Starter.tipov = "ABORDO" Then 'Traemos en inventario de abordo
Private ab As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from CAT_GUNAPROD2 where CAT_GP_ID = '${p.GetString("CAT_GP_ID")}'"$)
If ab.RowCount > 0 Then
ab.Position = 0
invAbordo = ab.GetString("CAT_GP_ALMACEN")
End If
End If
Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":p.GetString("CAT_GP_PRECIO"), "almacen":p.GetString("CAT_GP_ALMACEN"), "abordo":invAbordo, "id":p.GetString("CAT_GP_ID"), "cant":cant)
listaProds.Add(tempMap) listaProds.Add(tempMap)
' Log($"${p.GetString("CAT_GP_ID")}, ${p.GetString("CAT_GP_NOMBRE")}, ${cant}"$) ' Log($"${p.GetString("CAT_GP_ID")}, ${p.GetString("CAT_GP_NOMBRE")}, ${cant}"$)
Loop Loop
@@ -1334,7 +1350,7 @@ Private Sub p_rmi_Click
End Sub End Sub
Private Sub b_rmi_aceptar_Click Private Sub b_rmi_aceptar_Click
If l_rmi_cant.Text > 0 Then Subs.guardaCambiosDeProducto(l_rmi_cant.Text, rmiMap.Get("nombre"), rmiMap.Get("id"), rmiMap.Get("pu")*l_rmi_cant.Text, query) If l_rmi_cant.Text > 0 Then Subs.guardaCambiosDeProducto(l_rmi_cant.Text, rmiMap.Get("nombre"), rmiMap.Get("id"), rmiMap.Get("pu")*l_rmi_cant.Text, Subs.traeTablaProds(Starter.tipov))
' Log($"${l_rmi_cant.Text}, ${rmiMap.Get("nombre")}, ${rmiMap.Get("id")}, ${rmiMap.Get("pu")}, ${query}"$) ' Log($"${l_rmi_cant.Text}, ${rmiMap.Get("nombre")}, ${rmiMap.Get("id")}, ${rmiMap.Get("pu")}, ${query}"$)
p_rmi.Visible = False p_rmi.Visible = False
End Sub End Sub

View File

@@ -262,7 +262,7 @@ Sub b_prodMas_Click
' Log($"precio|stock:${laCant.tag}"$) ' Log($"precio|stock:${laCant.tag}"$)
' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$) ' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
Dim esteTag As List = Regex.Split("\|", laCant.Tag) Dim esteTag As List = Regex.Split("\|", laCant.Tag)
' Log(esteTag) ' Log(">>>>> " & esteTag)
If laCant.Text + 1 <= esteTag.get(1) Then If laCant.Text + 1 <= esteTag.get(1) Then
laCant.Text = $"$1.0{laCant.Text+1}"$ laCant.Text = $"$1.0{laCant.Text+1}"$
cuentaProds cuentaProds
@@ -282,8 +282,12 @@ Sub b_prodMas_Click
End Sub End Sub
Private Sub et_pCant_TextChanged (Old As String, New As String) Private Sub et_pCant_TextChanged (Old As String, New As String)
' If New = "" Then
' et_pCant.Text = 0
' l_pCant.Text = 0
' End If
' LogColor($"txt changed - ${Starter.cp_running}"$,Colors.Magenta) ' LogColor($"txt changed - ${Starter.cp_running}"$,Colors.Magenta)
cuentaProds If New <> "" Then cuentaProds
' Starter.cp_running = False ' Starter.cp_running = False
End Sub End Sub
@@ -311,10 +315,11 @@ Sub cuentaProds
Private p0 As B4XView = clv_prodsVariabes.GetPanel(i) Private p0 As B4XView = clv_prodsVariabes.GetPanel(i)
Private p As B4XView = p0.GetView(0) Private p As B4XView = p0.GetView(0)
Private cant1 As B4XView = p.GetView(2).GetView(4) Private cant1 As B4XView = p.GetView(2).GetView(4)
' If cant1.Text = "" Then cant1.Text = 0 If cant1.Text = "" Then cant1.Text = 0
totalProds = totalProds + cant1.Text totalProds = totalProds + cant1.Text
Private esteTag As List = Regex.Split("\|", cant1.Tag) Private esteTag As List = Regex.Split("\|", cant1.Tag)
If cant1.Text > esteTag.Get(1) Then cant1.Text = esteTag.Get(1) If cant1.Text > esteTag.Get(1) Then cant1.Text = esteTag.Get(1)
' Log("****** " & esteTag.Get(1) & "|" & cant1.Text)
If cant1.Text > 0 Then If cant1.Text > 0 Then
' Log(esteTag.Get(2) & "|" & cant1.Text) ' Log(esteTag.Get(2) & "|" & cant1.Text)
totalCompra = totalCompra + (esteTag.get(0) * cant1.text) totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
@@ -342,6 +347,16 @@ Sub cuentaProds
If thisLog Then LogColor($"${prodsIds2}${CRLF}${prodsCants2}${CRLF}${prodsPrecios2}"$, Colors.Magenta) If thisLog Then LogColor($"${prodsIds2}${CRLF}${prodsCants2}${CRLF}${prodsPrecios2}"$, Colors.Magenta)
' LogColor($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$, Colors.Blue) ' LogColor($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$, Colors.Blue)
' Log($"Termina cuentaProds - ${Starter.cp_running}"$) ' Log($"Termina cuentaProds - ${Starter.cp_running}"$)
'Si la cantidad es mayor que los productos requeridos, entonces ponemos todos en CERO.
If totalProds > prodsVarReq + tpf Then
For i = 0 To clv_prodsVariabes.GetSize - 1
Private p0 As B4XView = clv_prodsVariabes.GetPanel(i)
Private p As B4XView = p0.GetView(0)
Private cant1 As B4XView = p.GetView(2).GetView(4)
cant1.Text = 0
Next
End If
End Sub End Sub
Private Sub et_pCant_FocusChanged (HasFocus As Boolean) Private Sub et_pCant_FocusChanged (HasFocus As Boolean)

View File

@@ -870,7 +870,7 @@ Version=12.5
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Kelloggs Venta #ApplicationLabel: Kelloggs Venta
#VersionCode: 3000 #VersionCode: 3000
#VersionName: 4.01.09 P-V4 #VersionName: 4.01.13 P-V4
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False
#BridgeLogger:true #BridgeLogger:true

View File

@@ -63,8 +63,8 @@ ModuleBreakpoints9=
ModuleClosedNodes0= ModuleClosedNodes0=
ModuleClosedNodes1=2,35 ModuleClosedNodes1=2,35
ModuleClosedNodes10= ModuleClosedNodes10=
ModuleClosedNodes11=50,51,52 ModuleClosedNodes11=1,3,50,51,52
ModuleClosedNodes12= ModuleClosedNodes12=1,3,13
ModuleClosedNodes13= ModuleClosedNodes13=
ModuleClosedNodes14=39,40,41,43,44 ModuleClosedNodes14=39,40,41,43,44
ModuleClosedNodes15= ModuleClosedNodes15=
@@ -91,6 +91,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=11,12 ModuleClosedNodes7=11,12
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Productos,Class_Globals,35,0,Visual Designer,proditem.bal,-100,5,Subs,actualizaProducto,918,0,C_Productos,b_prodMas_Click,648,4,C_Productos,LlenaProdsLL,1277,0,C_Productos,b_prodMenos_Click,557,6,C_Productos,cuentaProds,796,6,Main,Process_Globals,22,0,Main,Activity_Create,31,0,Main,Globals,26,0,C_Cliente,B4XPage_Appear,410,6 NavigationStack=Visual Designer,promociones.bal,-100,2,C_Promos,Class_Globals,1,0,C_Promos,CreateListItem,207,0,Visual Designer,proditem.bal,-100,3,C_Promos,b_promoMas_Click,364,4,C_Promos,muestraPromo,110,0,C_Promos,b_prodMas_Click,262,2,C_Promos,et_pCant_TextChanged,277,6,C_Promos,et_pCant_FocusChanged,362,0,C_Promos,cuentaProds,311,6
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,28,11,24,3,12,7,4,29,2 VisibleModules=1,28,11,24,3,12,4,29,13

View File

@@ -647,7 +647,7 @@ End Sub
'Marca un cliente como impreso, lo agrega a la tabla "CLIENTE_IMPRESO" y lo actualiza en "kmt_info" (IMPRESION). 'Marca un cliente como impreso, lo agrega a la tabla "CLIENTE_IMPRESO" y lo actualiza en "kmt_info" (IMPRESION).
Sub ponImpreso (cliente As String) Sub ponImpreso (cliente As String)
LogColor("PON IMPRESO", Colors.red) ' LogColor("PON IMPRESO", Colors.red)
Starter.skmt.ExecNonQuery2("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO = ?", Array As String(cliente)) Starter.skmt.ExecNonQuery2("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO = ?", Array As String(cliente))
Starter.skmt.ExecNonQuery2("insert into CLIENTE_IMPRESO (CI_CUENTA) values (?)",Array As String(cliente)) Starter.skmt.ExecNonQuery2("insert into CLIENTE_IMPRESO (CI_CUENTA) values (?)",Array As String(cliente))
If Starter.logger Then Log($"Cliente ${cliente} agegado a CLIENTE_IMPRESO y actualizado en kmt_info."$) If Starter.logger Then Log($"Cliente ${cliente} agegado a CLIENTE_IMPRESO y actualizado en kmt_info."$)

View File

@@ -589,10 +589,10 @@ Sub centraProgressBar(elemento As ProgressBar, anchoElementoSuperior As Int) 'ig
End Sub End Sub
'Regresa el usuario de la tabla USUARIOA, si no lo encuentra regresa "SinUsuario" 'Regresa el usuario de la tabla USUARIOA, si no lo encuentra regresa "SinUsuario"
Sub traeUsuarioDeDB(db As SQL) As String 'ignore Sub traeUsuarioDeDB As String 'ignore
Private c As Cursor Private c As Cursor
Private u As String = "SinUsuario" Private u As String = "SinUsuario"
c = skmt.ExecQuery("select USUARIO from usuarioa") c = khdb.ExecQuery("select USUARIO from usuarioa")
c.Position=0 c.Position=0
If c.RowCount > 0 Then u = c.GetString("USUARIO") If c.RowCount > 0 Then u = c.GetString("USUARIO")
c.Close c.Close
@@ -600,10 +600,10 @@ Sub traeUsuarioDeDB(db As SQL) As String 'ignore
End Sub End Sub
'Regresa el almacen actual de la base de datos. 'Regresa el almacen actual de la base de datos.
Sub traeAlmacen(db As SQL) As String 'ignore Sub traeAlmacen As String 'ignore
Private c As Cursor Private c As Cursor
Private a As String Private a As String
c = skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") c = khdb.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
c.Position = 0 c.Position = 0
a = c.GetString("ID_ALMACEN") a = c.GetString("ID_ALMACEN")
c.Close c.Close
@@ -611,10 +611,10 @@ Sub traeAlmacen(db As SQL) As String 'ignore
End Sub End Sub
'Regresa el nombre del producto desde CAT_GUNAPROD. 'Regresa el nombre del producto desde CAT_GUNAPROD.
Sub traeProdNombre(db As SQL, id As String) As String 'ignore Sub traeProdNombre(id As String) As String 'ignore
Private h As Cursor Private h As Cursor
Private n As String Private n As String
h = skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(id.Trim)) h = khdb.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(id.Trim))
If h.RowCount > 0 Then If h.RowCount > 0 Then
h.Position = 0 h.Position = 0
n = h.GetString("CAT_GP_NOMBRE") n = h.GetString("CAT_GP_NOMBRE")
@@ -627,10 +627,10 @@ Sub traeProdNombre(db As SQL, id As String) As String 'ignore
End Sub End Sub
'Regresa la ruta actual de la base de datos. 'Regresa la ruta actual de la base de datos.
Sub traeRuta(db As SQL) As String 'ignore Sub traeRuta As String 'ignore
Private c As Cursor Private c As Cursor
Private r As String Private r As String
c = skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") c = khdb.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
r = "0" r = "0"
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position=0 c.Position=0
@@ -709,27 +709,27 @@ End Sub
'Borra el pedido del cliente actual. 'Borra el pedido del cliente actual.
'Borra los registros de la tabla "PEDIDO" y "PEDIDO_CLIENTE" 'Borra los registros de la tabla "PEDIDO" y "PEDIDO_CLIENTE"
'Actualiza las tablas "cat_gunaprod" y "kmt_info". 'Actualiza las tablas "cat_gunaprod" y "kmt_info".
Sub borraPedidoClienteActual(db As SQL) As String 'ignore Sub borraPedidoClienteActual As String 'ignore
Private thisC As Cursor Private thisC As Cursor
thisC = skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") thisC = khdb.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
If thisC.RowCount>0 Then If thisC.RowCount>0 Then
For i=0 To thisC.RowCount -1 For i=0 To thisC.RowCount -1
thisC.Position=i thisC.Position=i
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(thisC.GetString("PE_CANT"),thisC.GetString("PE_PROID"))) khdb.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(thisC.GetString("PE_CANT"),thisC.GetString("PE_PROID")))
skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen(db), thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1)) khdb.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1))
Next Next
End If End If
skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") khdb.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") khdb.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") khdb.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Return 1 Return 1
End Sub End Sub
'Regresa verdadero si la columna gestion en la tabla "kmt_info" tene valor 2. 'Regresa verdadero si la columna gestion en la tabla "kmt_info" tene valor 2.
'si no, entonces regresa falso. 'si no, entonces regresa falso.
Sub pedidoGuardado(db As SQL) As Boolean 'ignore Sub pedidoGuardado As Boolean 'ignore
Private guardado As Boolean = False Private guardado As Boolean = False
Private g As Cursor = skmt.ExecQuery("select gestion from kmt_info where CAT_CL_CODIGO in (Select CUENTA from cuentaa)") Private g As Cursor = khdb.ExecQuery("select gestion from kmt_info where CAT_CL_CODIGO in (Select CUENTA from cuentaa)")
If g.RowCount > 0 Then If g.RowCount > 0 Then
g.Position=0 g.Position=0
If g.GetString("gestion") = "2" Then guardado = True If g.GetString("gestion") = "2" Then guardado = True
@@ -739,8 +739,8 @@ Sub pedidoGuardado(db As SQL) As Boolean 'ignore
End Sub End Sub
'Regresa verdadero si hay pedido en la tabla "PEDIDO" del cliente actual. 'Regresa verdadero si hay pedido en la tabla "PEDIDO" del cliente actual.
Sub hayPedido(db As SQL) As Boolean 'ignore Sub hayPedido As Boolean 'ignore
Private thisC As Cursor = skmt.ExecQuery($"select count(PE_CLIENTE) as hayPedido from PEDIDO where PE_CLIENTE = '${traeCliente}'"$) Private thisC As Cursor = khdb.ExecQuery($"select count(PE_CLIENTE) as hayPedido from PEDIDO where PE_CLIENTE = '${traeCliente}'"$)
thisC.Position = 0 thisC.Position = 0
Private hay As Boolean = False Private hay As Boolean = False
If thisC.GetInt("hayPedido") > 0 Then hay = True If thisC.GetInt("hayPedido") > 0 Then hay = True
@@ -804,10 +804,10 @@ Sub string2date(fecha As String) 'ignore
End Sub End Sub
'Guarda el nombre y version de la app en CAT_VARIABLES. 'Guarda el nombre y version de la app en CAT_VARIABLES.
Sub guardaAppInfo(db As SQL) 'ignore Sub guardaAppInfo 'ignore
db.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'") khdb.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'")
db.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$) khdb.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
db.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$) khdb.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
End Sub End Sub
'Muestra en el Log los campos y valores que regresan en el JobDone. 'Muestra en el Log los campos y valores que regresan en el JobDone.