9/1/2023 - Cambios para que si se mete RMI y luego se quita producto no se quede en negativa la venta.

- Si el almacen es el 12 (GDL) la geocerca no aplica
This commit is contained in:
2024-01-09 16:19:14 -06:00
parent b5112ea8c4
commit fb268b062c
5 changed files with 41 additions and 8 deletions

View File

@@ -411,6 +411,10 @@ Sub B4XPage_Appear
reqManager.Initialize(Me, Starter.DBReqServer) reqManager.Initialize(Me, Starter.DBReqServer)
usarGeocerca = kh.traeUsarGeocerca usarGeocerca = kh.traeUsarGeocerca
'Para el almacen 12 (GDL) no se usa la geocerca
If kh.traeAlmacen(Starter.skmt) = 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"))
c.Position = 0 c.Position = 0

View File

@@ -141,7 +141,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
listaProds.Initialize listaProds.Initialize
pedidoMap.Initialize pedidoMap.Initialize
listaHints.Initialize listaHints.Initialize
' Log("Llamamos LlenaProdsLL") Log("Llamamos LlenaProdsLL")
LlenaProdsLL(Null, Null) LlenaProdsLL(Null, Null)
list_prodsPedido.Initialize list_prodsPedido.Initialize
' Log("list_prodsPedido.Initialize") ' Log("list_prodsPedido.Initialize")
@@ -253,7 +253,7 @@ Sub B4XPage_Appear
LlenaProdsLL(Null, Null) LlenaProdsLL(Null, Null)
else If hayPedido Then else If hayPedido Then
' LogColor("HAY PEDIDO ANTERIOR", Colors.red) ' LogColor("HAY PEDIDO ANTERIOR", Colors.red)
' Log("Llamamos LlenaProdsLL") Log("Llamamos LlenaProdsLL")
LlenaProdsLL(Null, Null) LlenaProdsLL(Null, Null)
End If End If
If clv_prods_ll.Size > 0 Then If clv_prods_ll.Size > 0 Then
@@ -554,6 +554,7 @@ Sub b_prodMenos_Click
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")
Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index) Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0) Dim pnl As B4XView = pnl0.GetView(0)
Dim lProdX As B4XView = pnl.GetView(1)
Dim laCant As B4XView = pnl.GetView(2).GetView(2) Dim laCant As B4XView = pnl.GetView(2).GetView(2)
' Log($"precio|stock:${laCant.tag}"$) ' Log($"precio|stock:${laCant.tag}"$)
' Log("lacant.text="&laCant.text & "|" & buttonTag) ' Log("lacant.text="&laCant.text & "|" & buttonTag)
@@ -585,6 +586,18 @@ Sub b_prodMenos_Click
End If End If
Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov) Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov)
cuentaProds cuentaProds
If lfila.Text <> "RMI" Then
Private cs As CSBuilder
cs.Initialize
'Traemos el inventario actual
Private i As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_ID = '${id}'"$)
Private invActualizado As String = "0"
If i.RowCount > 0 Then
i.Position = 0
invActualizado = i.GetString("CAT_GP_ALMACEN")
End If
lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${precio}"$).Popall
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}"$)
End Sub End Sub
@@ -596,6 +609,7 @@ Sub b_prodMas_Click
LogColor("b_prodMas_Click", Colors.Magenta) LogColor("b_prodMas_Click", Colors.Magenta)
Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index) Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0) Dim pnl As B4XView = pnl0.GetView(0)
Dim lProdX As B4XView = pnl.GetView(1)
' Log("========= " & pnl0.Tag) ' Log("========= " & pnl0.Tag)
' Log("========= " & pnl.Tag) ' Log("========= " & pnl.Tag)
' Log("========= " & pnl.GetView(1).Tag) ' Log("========= " & pnl.GetView(1).Tag)
@@ -654,6 +668,18 @@ Sub b_prodMas_Click
Log("######### "& NumberFormat2((kh.traeLimiteAbordoWeb - (kh.traeLimiteAbordoXInventario - kh.traeVenta) - kh.traeVentaAbordo), 0, 2, 2, False)) Log("######### "& NumberFormat2((kh.traeLimiteAbordoWeb - (kh.traeLimiteAbordoXInventario - kh.traeVenta) - kh.traeVentaAbordo), 0, 2, 2, False))
End If End If
cuentaProds cuentaProds
If lfila.Text <> "RMI" Then
Private cs As CSBuilder
cs.Initialize
'Traemos el inventario actual
Private i As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_ID = '${id}'"$)
Private invActualizado As String = "0"
If i.RowCount > 0 Then
i.Position = 0
invActualizado = i.GetString("CAT_GP_ALMACEN")
End If
lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${precio}"$).Popall
End If
Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
End Sub End Sub
@@ -778,8 +804,11 @@ Sub cuentaProds
Else Else
l_infoPedido.Text = $"Total pedido: $${kh.traeTotalCliente}"$ l_infoPedido.Text = $"Total pedido: $${kh.traeTotalCliente}"$
End If End If
If kh.traeTotalCliente < 0 Then
Msgbox("No tienes suficiente venta para RMIs en esta orden, se van a borrar.", "AVISO") 'ignore
Starter.skmt.ExecNonQuery($"delete from pedido where PE_CEDIS = 'DUR' and PE_USUARIO = '${Subs.traeUsuarioDeBD}'"$)
cuentaProds
End If
' Log($"Total Prods: ${c.GetString("cant")}, Total Compra: $$1.2{c.GetString("total")}"$) ' Log($"Total Prods: ${c.GetString("cant")}, Total Compra: $$1.2{c.GetString("total")}"$)
c.Close c.Close
End Sub End Sub
@@ -1253,7 +1282,7 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
Private Pnl As B4XView = xui.CreatePanel("") Private Pnl As B4XView = xui.CreatePanel("")
Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip) Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip)
Private tempMap As Map = listaProdsConCant.Get(pr0) Private tempMap As Map = listaProdsConCant.Get(pr0)
Private inv = tempMap.Get("almacen") + tempMap.Get("cant") Private inv = tempMap.Get("almacen")' + tempMap.Get("cant")
tempMap.Put("almacen", inv) tempMap.Put("almacen", inv)
' Log(tempMap) ' Log(tempMap)
clv_prods_ll.Add(Pnl, tempMap) clv_prods_ll.Add(Pnl, tempMap)

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: 3.12.19 P-V4 #VersionName: 4.01.09 P-V4
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False
#BridgeLogger:true #BridgeLogger:true

View File

@@ -91,6 +91,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=11,12 ModuleClosedNodes7=11,12
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Productos,lv_prodsPedido_ItemLongClick,1016,5,Visual Designer,cliente.bal,-100,5,C_Productos,B4XPage_Appear,157,2,C_Productos,et_pCant_FocusChanged,731,0,Visual Designer,productos.bal,-100,6,C_Productos,cuentaProds,766,6,C_Productos,b_prodMas_Click,600,0,C_Productos,clv_prods_ll_VisibleRangeChanged,1127,1,C_Productos,clv_prods_ll_ItemClick,1035,0,C_Productos,l_prodX_Click,1057,6,B4XMainPage,b_cargaLocalOk_Click,717,0 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
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,28,11,24,3,12,7,4,29,2 VisibleModules=1,28,11,24,3,12,7,4,29,2

View File

@@ -453,7 +453,7 @@ Sub RD_copiaRespaldoDiario 'ignore
Catch Catch
Log(LastException) Log(LastException)
End Try End Try
Private extDir as string = "" Private extDir As String = ""
If File.IsDirectory(File.DirRootExternal, "kmts") Then extDir = "/kmts" If File.IsDirectory(File.DirRootExternal, "kmts") Then extDir = "/kmts"
Try Try
Private name() As String = Regex.split(" ", Application.LabelName) 'Obtenemos el nombre de la app para ponerselo a la BD. Private name() As String = Regex.split(" ", Application.LabelName) 'Obtenemos el nombre de la app para ponerselo a la BD.