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)
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)
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
c.Position = 0

View File

@@ -141,7 +141,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
listaProds.Initialize
pedidoMap.Initialize
listaHints.Initialize
' Log("Llamamos LlenaProdsLL")
Log("Llamamos LlenaProdsLL")
LlenaProdsLL(Null, Null)
list_prodsPedido.Initialize
' Log("list_prodsPedido.Initialize")
@@ -253,7 +253,7 @@ Sub B4XPage_Appear
LlenaProdsLL(Null, Null)
else If hayPedido Then
' LogColor("HAY PEDIDO ANTERIOR", Colors.red)
' Log("Llamamos LlenaProdsLL")
Log("Llamamos LlenaProdsLL")
LlenaProdsLL(Null, Null)
End If
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")
Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0)
Dim lProdX As B4XView = pnl.GetView(1)
Dim laCant As B4XView = pnl.GetView(2).GetView(2)
' Log($"precio|stock:${laCant.tag}"$)
' Log("lacant.text="&laCant.text & "|" & buttonTag)
@@ -585,6 +586,18 @@ Sub b_prodMenos_Click
End If
Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov)
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"
' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
End Sub
@@ -596,6 +609,7 @@ Sub b_prodMas_Click
LogColor("b_prodMas_Click", Colors.Magenta)
Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0)
Dim lProdX As B4XView = pnl.GetView(1)
' Log("========= " & pnl0.Tag)
' Log("========= " & pnl.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))
End If
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}"$)
End Sub
@@ -778,8 +804,11 @@ Sub cuentaProds
Else
l_infoPedido.Text = $"Total pedido: $${kh.traeTotalCliente}"$
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")}"$)
c.Close
End Sub
@@ -1253,7 +1282,7 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
Private Pnl As B4XView = xui.CreatePanel("")
Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip)
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)
' Log(tempMap)
clv_prods_ll.Add(Pnl, tempMap)

View File

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

View File

@@ -91,6 +91,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=11,12
ModuleClosedNodes8=
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
VisibleModules=1,28,11,24,3,12,7,4,29,2

View File

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