mirror of
https://github.com/KeymonSoft/Intmex_Multiventa.git
synced 2026-04-17 21:06:08 +00:00
Se corrigió el como se estaba enviando la información de las promociones. Se agrego al config propertis el query de actualizaGPS3.
1579 lines
54 KiB
QBasic
1579 lines
54 KiB
QBasic
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=11.5
|
|
@EndOfDesignText@
|
|
Sub Class_Globals
|
|
Private Root As B4XView
|
|
Private xui As XUI
|
|
Private pnlPantallaCompleta As Panel
|
|
Private lblFijosRequeridos As Label
|
|
Private lblVariablesRequeridas1 As Label
|
|
Private lblVariablesRequeridas2 As Label
|
|
Private lblVariablesRequeridas3 As Label
|
|
Private etLimiteSuma_Sub_pnl1 As Label
|
|
Private etLimiteSuma_Sub_pnl2 As Label
|
|
Private etLimiteSuma_Sub_pnl3 As Label
|
|
Private etLimiteSuma_Sub_pnl4 As Label
|
|
Private scrollView As ScrollView
|
|
Private pnlFijos As Panel
|
|
Private pnlVariables1 As Panel
|
|
Private pnlVariables2 As Panel
|
|
Private pnlVariables3 As Panel
|
|
' Private panelHeight As Int = 60dip
|
|
|
|
Private pnlMaxPromo As Panel
|
|
Private lblPromocion As Label
|
|
Private lblMaxPromo As Label
|
|
Private btnMenosPromo As Button
|
|
Private lblSumPromo As Label
|
|
Private btnSumaPromo As Button
|
|
Private btnGuardaPromo As Button
|
|
Private btnContinuar As Button
|
|
|
|
Private pnlProdTot As Panel
|
|
Private lblTotProd As Label
|
|
Private lblSumaTotal As Label
|
|
Private lblTotalProdPromo As Label
|
|
Private lblTotalValor As Label
|
|
Private lblNomPromo As Label
|
|
|
|
Dim estaPromo, esteCliente As String
|
|
' Dim tpf2 As Int = 0
|
|
Dim laPromo = "", elCliente = "" As String
|
|
Dim prodsPedidoActual As String
|
|
Dim montoPedidoActual As String
|
|
Dim promosMap As Map
|
|
' Dim prodsVarReq As Int = 0
|
|
' Dim prodsVarReq_ As Int = 0
|
|
' Dim prodsVarReq2_ As Int = 0
|
|
|
|
Dim productosFijos As Int
|
|
Dim variablesRequeridas1 As Int
|
|
Dim variablesRequeridas2 As Int
|
|
Dim variablesRequeridas3 As Int
|
|
Dim productosFijos_Iniciales As Int
|
|
Dim variablesRequeridas1_Inicial As Int
|
|
Dim variablesRequeridas2_Inicial As Int
|
|
Dim variablesRequeridas3_Inicial As Int
|
|
|
|
Private sumaVar1Tot As Int = 0
|
|
Private sumaVar2Tot As Int = 0
|
|
Private sumaVar3Tot As Int = 0
|
|
Dim Encabezado As String
|
|
' Dim etVar1HasFocus As Boolean = False
|
|
' Dim etVar2HasFocus As Boolean = False
|
|
' Dim etVar3HasFocus As Boolean = False
|
|
End Sub
|
|
|
|
Public Sub Initialize As Object
|
|
Return Me
|
|
End Sub
|
|
|
|
Private Sub B4XPage_Created (Root1 As B4XView)
|
|
Root = Root1
|
|
Dim pnlProdTotHeight As Int = 80dip
|
|
|
|
ObtenerVariablesRequeridas(estaPromo)
|
|
ObtenerFijos(estaPromo)
|
|
|
|
pnlMaxPromo = xui.CreatePanel("pnlMaxPromo")
|
|
pnlMaxPromo.SetLayoutAnimated(0, 0, 0, Root.Width, 100dip)
|
|
pnlMaxPromo.Color = xui.Color_LightGray
|
|
Root.AddView(pnlMaxPromo, 0, 0, Root.Width, 100dip)
|
|
|
|
lblPromocion.Initialize("lblPromocion")
|
|
lblPromocion.TextSize = 14
|
|
lblPromocion.TextColor = Colors.RGB(100,149,237)
|
|
lblPromocion.Gravity = Gravity.CENTER_VERTICAL
|
|
Dim lblPromocionWidth As Int = 180dip
|
|
lblPromocion.Text = "Max promos: "
|
|
pnlMaxPromo.AddView(lblPromocion, 10dip, 10dip, lblPromocionWidth, 30dip)
|
|
|
|
lblMaxPromo.Initialize("lblMaxPromo")
|
|
lblMaxPromo.TextSize = 16
|
|
lblMaxPromo.TextColor = xui.Color_Black
|
|
lblMaxPromo.Gravity = Gravity.CENTER
|
|
lblMaxPromo.Color = xui.Color_White
|
|
Dim lblMaxPromoWidth As Int = 40dip
|
|
pnlMaxPromo.AddView(lblMaxPromo, lblPromocion.Left + lblPromocion.Width, 10dip, lblMaxPromoWidth, 30dip)
|
|
|
|
btnMenosPromo.Initialize("btnMenosPromo")
|
|
btnMenosPromo.Text = "-"
|
|
btnMenosPromo.TextSize = 16
|
|
btnMenosPromo.Color = Colors.RGB(185, 106, 106)
|
|
btnMenosPromo.TextColor = xui.Color_White
|
|
Dim btnMenosPromoWidth As Int = 30dip
|
|
pnlMaxPromo.AddView(btnMenosPromo, lblMaxPromo.Left + lblMaxPromo.Width + 10dip, 10dip, btnMenosPromoWidth, 30dip)
|
|
|
|
lblSumPromo.Initialize("lblSumPromo")
|
|
lblSumPromo.TextSize = 16
|
|
lblSumPromo.TextColor = xui.Color_Black
|
|
lblSumPromo.Gravity = Gravity.CENTER
|
|
lblSumPromo.Color = xui.Color_White
|
|
Dim lblSumPromoWidth As Int = 40dip
|
|
pnlMaxPromo.AddView(lblSumPromo, btnMenosPromo.Left + btnMenosPromo.Width + 10dip, 10dip, lblSumPromoWidth, 30dip)
|
|
|
|
btnSumaPromo.Initialize("btnSumaPromo")
|
|
btnSumaPromo.Text = "+"
|
|
btnSumaPromo.TextSize = 16
|
|
btnSumaPromo.Color = Colors.RGB(133, 185, 106)
|
|
btnSumaPromo.TextColor = xui.Color_White
|
|
Dim btnSumaPromoWidth As Int = 30dip
|
|
pnlMaxPromo.AddView(btnSumaPromo, lblSumPromo.Left + lblSumPromo.Width + 10dip, 10dip, btnSumaPromoWidth, 30dip)
|
|
|
|
Dim lblNomPromo As Label
|
|
lblNomPromo.Initialize("lblNomPromo")
|
|
lblNomPromo.TextSize = 14
|
|
lblNomPromo.TextColor = xui.Color_Black
|
|
lblNomPromo.Gravity = Gravity.CENTER_VERTICAL
|
|
pnlMaxPromo.AddView(lblNomPromo, 10dip, 50dip, 100%x, 50dip)
|
|
|
|
pnlPantallaCompleta = xui.CreatePanel("pnlPantallaCompleta")
|
|
pnlPantallaCompleta.SetLayoutAnimated(0, 0, pnlMaxPromo.Height, Root.Width, Root.Height - pnlMaxPromo.Height - pnlProdTotHeight)
|
|
Root.AddView(pnlPantallaCompleta, 0, pnlMaxPromo.Height, Root.Width, Root.Height - pnlMaxPromo.Height - pnlProdTotHeight)
|
|
|
|
pnlProdTot.Initialize("pnlProdTot")
|
|
pnlProdTot.Color = xui.Color_White
|
|
Root.AddView(pnlProdTot, 0, Root.Height - pnlProdTotHeight, Root.Width, pnlProdTotHeight)
|
|
|
|
lblTotProd.Initialize("lblTotProd")
|
|
lblTotProd.Text = "Productos: "
|
|
lblTotProd.TextSize = 14
|
|
lblTotProd.TextColor = xui.Color_Black
|
|
pnlProdTot.AddView(lblTotProd, 10dip, 10dip, 100dip, 30dip)
|
|
|
|
lblSumaTotal.Initialize("lblSumaTotal")
|
|
lblSumaTotal.Text = "0"
|
|
lblSumaTotal.TextSize = 14
|
|
lblSumaTotal.TextColor = xui.Color_Blue
|
|
pnlProdTot.AddView(lblSumaTotal, lblTotProd.Left + lblTotProd.Width + 10dip, 10dip, 60dip, 30dip)
|
|
|
|
lblTotalProdPromo.Initialize("lblTotalProdPromo")
|
|
lblTotalProdPromo.Text = "Total: $"
|
|
lblTotalProdPromo.TextSize = 14
|
|
lblTotalProdPromo.TextColor = xui.Color_Black
|
|
pnlProdTot.AddView(lblTotalProdPromo, 10dip, 50dip, 100dip, 30dip)
|
|
|
|
lblTotalValor.Initialize("lblTotalValor")
|
|
lblTotalValor.Text = "0"
|
|
lblTotalValor.TextSize = 14
|
|
lblTotalValor.TextColor = xui.Color_Blue
|
|
pnlProdTot.AddView(lblTotalValor, lblTotalProdPromo.Left + lblTotalProdPromo.Width + 10dip, 50dip, 100dip, 30dip)
|
|
|
|
btnGuardaPromo.Initialize("btnGuardaPromo")
|
|
btnGuardaPromo.Text = "Terminar"
|
|
btnGuardaPromo.Color = Colors.RGB(106, 162, 185)
|
|
btnGuardaPromo.TextColor = xui.Color_White
|
|
btnGuardaPromo.Enabled = False
|
|
|
|
Dim btnWidth As Int = pnlProdTot.Width * 0.25
|
|
Dim btnHeight As Int = 50dip
|
|
|
|
pnlProdTot.AddView(btnGuardaPromo, pnlProdTot.Width - btnWidth, (pnlProdTot.Height - btnHeight) / 2, btnWidth, btnHeight)
|
|
|
|
btnContinuar.Initialize("btnContinuar")
|
|
btnContinuar.Text = "Continuar"
|
|
btnContinuar.Color = Colors.RGB(133, 185, 106)
|
|
btnContinuar.TextColor = xui.Color_White
|
|
btnContinuar.Enabled = False
|
|
|
|
Dim btnWidth As Int = pnlProdTot.Width * 0.25
|
|
Dim btnHeight As Int = 50dip
|
|
|
|
Dim separacion As Int = 5dip
|
|
pnlProdTot.AddView(btnContinuar, pnlProdTot.Width - btnWidth * 2 - separacion, (pnlProdTot.Height - btnHeight) / 2, btnWidth, btnHeight)
|
|
|
|
scrollView.Initialize(1000)
|
|
pnlPantallaCompleta.AddView(scrollView, 0, 0, pnlPantallaCompleta.Width, pnlPantallaCompleta.Height)
|
|
|
|
Dim pnlContainer As Panel
|
|
pnlContainer.Initialize("pnlContainer")
|
|
scrollView.Panel.AddView(pnlContainer, 0, 0, pnlPantallaCompleta.Width, 10000000dip)
|
|
|
|
lblFijosRequeridos.Initialize("lblFijosRequeridos")
|
|
lblFijosRequeridos.TextColor = xui.Color_Black
|
|
lblFijosRequeridos.TextSize = 12
|
|
lblFijosRequeridos.Color = xui.Color_LightGray
|
|
lblFijosRequeridos.Gravity = Gravity.CENTER
|
|
lblFijosRequeridos.SingleLine = True
|
|
|
|
pnlFijos.Initialize("pnlFijos")
|
|
pnlContainer.AddView(pnlFijos, 5dip, lblFijosRequeridos.Top + lblFijosRequeridos.Height + 10dip, pnlContainer.Width - 10dip, 100dip)
|
|
pnlFijos.Color = xui.Color_White
|
|
pnlFijos.Tag = "pnlFijos"
|
|
|
|
lblVariablesRequeridas1.Initialize("lblVariablesRequeridas1")
|
|
lblVariablesRequeridas1.TextColor = xui.Color_Black
|
|
lblVariablesRequeridas1.TextSize = 12
|
|
lblVariablesRequeridas1.Color = xui.Color_LightGray
|
|
lblVariablesRequeridas1.Gravity = Gravity.CENTER
|
|
lblVariablesRequeridas1.SingleLine = True
|
|
|
|
pnlVariables1.Initialize("pnlVariables1")
|
|
pnlContainer.AddView(pnlVariables1, 5dip, lblVariablesRequeridas1.Top + lblVariablesRequeridas1.Height + 10dip, pnlContainer.Width - 10dip, 100dip)
|
|
pnlVariables1.Color = xui.Color_White
|
|
pnlVariables1.Tag = "pnlVariables1"
|
|
|
|
lblVariablesRequeridas2.Initialize("lblVariablesRequeridas2")
|
|
lblVariablesRequeridas2.TextSize = 12
|
|
lblVariablesRequeridas2.Color = xui.Color_LightGray
|
|
lblVariablesRequeridas2.Gravity = Gravity.CENTER
|
|
lblVariablesRequeridas2.TextColor = xui.Color_Black
|
|
lblVariablesRequeridas2.SingleLine = True
|
|
|
|
pnlVariables2.Initialize("pnlVariables2")
|
|
pnlContainer.AddView(pnlVariables2, 5dip, lblVariablesRequeridas2.Top + lblVariablesRequeridas2.Height + 10dip, pnlContainer.Width - 10dip, 100dip)
|
|
pnlVariables2.Color = xui.Color_White
|
|
pnlVariables2.Tag = "pnlVariables2"
|
|
|
|
etLimiteSuma_Sub_pnl1.Initialize("etLimiteSuma_Sub_pnl1")
|
|
etLimiteSuma_Sub_pnl1.TextColor = xui.Color_Black
|
|
etLimiteSuma_Sub_pnl1.SingleLine = True
|
|
|
|
etLimiteSuma_Sub_pnl2.Initialize("etLimiteSuma_Sub_pnl2")
|
|
etLimiteSuma_Sub_pnl2.TextColor = xui.Color_Black
|
|
etLimiteSuma_Sub_pnl2.SingleLine = True
|
|
|
|
etLimiteSuma_Sub_pnl3.Initialize("etLimiteSuma_Sub_pnl3")
|
|
etLimiteSuma_Sub_pnl3.TextColor = xui.Color_Black
|
|
etLimiteSuma_Sub_pnl3.SingleLine = True
|
|
|
|
Dim anchoTotal As Int = pnlContainer.Width - 20dip
|
|
Dim ancholblFijosRequeridos As Int = anchoTotal * 0.65
|
|
Dim anchoEtLimiteSuma As Int = anchoTotal - ancholblFijosRequeridos
|
|
|
|
pnlContainer.AddView(lblFijosRequeridos, 10dip, 10dip, ancholblFijosRequeridos, 50dip)
|
|
pnlContainer.AddView(etLimiteSuma_Sub_pnl1, lblFijosRequeridos.Left + lblFijosRequeridos.Width + 10dip, 10dip, anchoEtLimiteSuma, 50dip)
|
|
|
|
pnlContainer.AddView(lblVariablesRequeridas1, 10dip, lblFijosRequeridos.Top + lblFijosRequeridos.Height + 10dip, ancholblFijosRequeridos, 50dip)
|
|
pnlContainer.AddView(etLimiteSuma_Sub_pnl2, lblVariablesRequeridas1.Left + lblVariablesRequeridas1.Width + 10dip, lblVariablesRequeridas1.Top, anchoEtLimiteSuma, 50dip)
|
|
|
|
pnlContainer.AddView(lblVariablesRequeridas2, 10dip, lblVariablesRequeridas1.Top + lblVariablesRequeridas1.Height + 10dip, ancholblFijosRequeridos, 50dip)
|
|
pnlContainer.AddView(etLimiteSuma_Sub_pnl3, lblVariablesRequeridas2.Left + lblVariablesRequeridas2.Width + 10dip, lblVariablesRequeridas2.Top, anchoEtLimiteSuma, 50dip)
|
|
|
|
lblVariablesRequeridas3.Initialize("lblVariablesRequeridas3")
|
|
lblVariablesRequeridas3.TextSize = 12
|
|
lblVariablesRequeridas3.Color = xui.Color_LightGray
|
|
lblVariablesRequeridas3.Gravity = Gravity.CENTER
|
|
lblVariablesRequeridas3.TextColor = xui.Color_Black
|
|
lblVariablesRequeridas3.SingleLine = True
|
|
|
|
etLimiteSuma_Sub_pnl4.Initialize("etLimiteSuma_Sub_pnl4")
|
|
etLimiteSuma_Sub_pnl4.TextColor = xui.Color_Black
|
|
etLimiteSuma_Sub_pnl4.SingleLine = True
|
|
|
|
pnlVariables3.Initialize("pnlVariables3")
|
|
pnlContainer.AddView(pnlVariables3, 5dip, lblVariablesRequeridas3.Top + lblVariablesRequeridas3.Height + 10dip, pnlContainer.Width - 10dip, 100dip)
|
|
pnlVariables3.Color = xui.Color_White
|
|
pnlVariables3.Tag = "pnlVariables3"
|
|
|
|
pnlContainer.AddView(lblVariablesRequeridas3, 10dip, lblVariablesRequeridas2.Top + lblVariablesRequeridas2.Height + 10dip, ancholblFijosRequeridos, 50dip)
|
|
pnlContainer.AddView(etLimiteSuma_Sub_pnl4, lblVariablesRequeridas3.Left + lblVariablesRequeridas3.Width + 10dip, lblVariablesRequeridas3.Top, anchoEtLimiteSuma, 50dip)
|
|
|
|
If VerificarCondicionesParabtnGuardaPromo Then
|
|
btnGuardaPromo.Visible = True
|
|
Else
|
|
btnGuardaPromo.Visible = False
|
|
End If
|
|
B4XPage_Appear
|
|
AjustarScroll
|
|
End Sub
|
|
|
|
Private Sub B4XPage_Appear
|
|
lblFijosRequeridos.Text = "0"
|
|
lblVariablesRequeridas1.Text = "0"
|
|
lblVariablesRequeridas2.Text = "0"
|
|
lblVariablesRequeridas3.Text = "0"
|
|
|
|
productosFijos = 0
|
|
variablesRequeridas1= 0
|
|
variablesRequeridas2= 0
|
|
variablesRequeridas3= 0
|
|
|
|
sumaVar1Tot = 0
|
|
sumaVar2Tot = 0
|
|
sumaVar3Tot = 0
|
|
|
|
If pnlFijos.IsInitialized Then pnlFijos.RemoveAllViews
|
|
If pnlVariables1.IsInitialized Then pnlVariables1.RemoveAllViews
|
|
If pnlVariables2.IsInitialized Then pnlVariables2.RemoveAllViews
|
|
If pnlVariables3.IsInitialized Then pnlVariables3.RemoveAllViews
|
|
|
|
btnGuardaPromo.Visible = False
|
|
|
|
Dim m As Map = Subs.traeTotalesClienteActual
|
|
prodsPedidoActual = m.Get("productos")
|
|
montoPedidoActual = m.Get("monto")
|
|
|
|
If laPromo <> "" Then
|
|
muestraPromo(laPromo, elCliente)
|
|
End If
|
|
|
|
ObtenerVariablesRequeridas(estaPromo)
|
|
ObtenerFijos(estaPromo)
|
|
|
|
ActualizarTotalValor
|
|
|
|
lblSumaTotal.Text = SumarFijos + SumarVariables1 +SumarVariables2 + SumarVariables3
|
|
|
|
ActualizarVisibilidadBtnGuardaPromo
|
|
|
|
AjustarScroll
|
|
|
|
scrollView.ScrollPosition = 0
|
|
End Sub
|
|
|
|
Private Sub ObtenerFijos(promo As String)
|
|
Dim cursorProductosFijos As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_DP_PZAS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = '${promo}' AND CAT_DP_TIPO = '0'"$)
|
|
|
|
If cursorProductosFijos.RowCount > 0 Then
|
|
cursorProductosFijos.Position = 0
|
|
|
|
If cursorProductosFijos.GetInt("CAT_DP_PZAS") <> 0 And cursorProductosFijos.GetString("CAT_DP_PZAS") <> " " Then
|
|
productosFijos = cursorProductosFijos.GetInt("CAT_DP_PZAS")
|
|
Else
|
|
lblFijosRequeridos.Visible = False
|
|
etLimiteSuma_Sub_pnl1.Visible = False
|
|
pnlFijos.Visible = False
|
|
End If
|
|
|
|
Else
|
|
productosFijos = 0
|
|
End If
|
|
|
|
productosFijos_Iniciales = productosFijos
|
|
End Sub
|
|
|
|
Private Sub ObtenerVariablesRequeridas(promo As String)
|
|
Log("Esto es promo: " & promo)
|
|
Dim cursorVariablesReq As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_STS AS CAT_GP_VAR1REQ, CAT_GP_IMP1 AS CAT_GP_VAR2REQ, CAT_GP_VARREQ3 from cat_gunaprod2 where cat_gp_id = '${promo}'"$)
|
|
|
|
If cursorVariablesReq.RowCount > 0 Then
|
|
cursorVariablesReq.Position = 0
|
|
|
|
If cursorVariablesReq.GetInt("CAT_GP_VAR1REQ") <> 0 And cursorVariablesReq.GetString("CAT_GP_VAR1REQ") <> " " Then
|
|
variablesRequeridas1 = cursorVariablesReq.GetInt("CAT_GP_VAR1REQ")
|
|
Else
|
|
lblVariablesRequeridas1.Visible = False
|
|
etLimiteSuma_Sub_pnl2.Visible = False
|
|
pnlVariables1.Visible = False
|
|
End If
|
|
|
|
If cursorVariablesReq.GetInt("CAT_GP_VAR2REQ") <> 0 And cursorVariablesReq.GetString("CAT_GP_VAR2REQ") <> " " Then
|
|
variablesRequeridas2 = cursorVariablesReq.GetInt("CAT_GP_VAR2REQ")
|
|
Else
|
|
lblVariablesRequeridas2.Visible = False
|
|
etLimiteSuma_Sub_pnl3.Visible = False
|
|
pnlVariables2.Visible = False
|
|
End If
|
|
|
|
If cursorVariablesReq.GetInt("CAT_GP_VARREQ3") <> 0 And cursorVariablesReq.GetString("CAT_GP_VARREQ3") <> " " Then
|
|
variablesRequeridas3 = cursorVariablesReq.GetInt("CAT_GP_VARREQ3")
|
|
lblVariablesRequeridas3.Visible = True
|
|
etLimiteSuma_Sub_pnl4.Visible = True
|
|
pnlVariables3.Visible = True
|
|
Else
|
|
lblVariablesRequeridas3.Visible = False
|
|
etLimiteSuma_Sub_pnl4.Visible = False
|
|
pnlVariables3.Visible = False
|
|
End If
|
|
Else
|
|
variablesRequeridas1 = 0
|
|
variablesRequeridas2 = 0
|
|
variablesRequeridas3 = 0
|
|
End If
|
|
|
|
variablesRequeridas1_Inicial = variablesRequeridas1
|
|
variablesRequeridas2_Inicial = variablesRequeridas2
|
|
variablesRequeridas3_Inicial = variablesRequeridas3
|
|
End Sub
|
|
|
|
Sub muestraPromo(promo As String, cliente As String)
|
|
estaPromo = promo
|
|
Log("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" & estaPromo & "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
|
|
esteCliente = cliente
|
|
Private mp As Map = Subs.traePromo(promo, cliente)
|
|
|
|
Log("Esto es el minimo? <<<<<<<<" & Subs.MaxPromQuery(promo))
|
|
|
|
lblMaxPromo.Text = Subs.MaxPromQuery(promo)
|
|
lblSumPromo.Text = 1
|
|
|
|
Private cs As CSBuilder
|
|
cs.Initialize
|
|
|
|
lblNomPromo.text = cs.Color(Colors.RGB(100,149,237)).Size(18).Append("Promocion: ").Pop.Append(promo).Append(CRLF).Append(mp.Get("descripcion")).Popall
|
|
Log("|" &lblNomPromo.text&"|")
|
|
ObtenerVariablesRequeridas(promo)
|
|
ObtenerFijos(promo)
|
|
|
|
Log(etLimiteSuma_Sub_pnl2.Text)
|
|
|
|
If pnlFijos.IsInitialized Then pnlFijos.RemoveAllViews
|
|
If pnlVariables1.IsInitialized Then pnlVariables1.RemoveAllViews
|
|
If pnlVariables2.IsInitialized Then pnlVariables2.RemoveAllViews
|
|
If pnlVariables3.IsInitialized Then pnlVariables3.RemoveAllViews
|
|
|
|
Dim nombrePromo As String = lblNomPromo.Text
|
|
Dim nomPromo() As String = Regex.Split("\r\n|\n", nombrePromo)
|
|
Log("Esto es nombre promo? <<<<<<<<<<<|" & nomPromo(1) & "|")
|
|
Encabezado = nomPromo(1)
|
|
Log("Esto es encabezado? |" & Encabezado)
|
|
|
|
' Dim promoText As String = lblNomPromo.Text.Trim()
|
|
' Dim idPromo() As String = Regex.Split(":", promoText)
|
|
' Log("Esto es idPromo? | <<<<<<<<<<<<<<<<<<|" & idPromo(1).Trim() & "|")
|
|
|
|
If productosFijos > 0 Then
|
|
pnlFijos.Visible = True
|
|
lblFijosRequeridos.Visible = True
|
|
lblFijosRequeridos.Text = $"Productos Fijos: '${productosFijos}'"$
|
|
lblFijosRequeridos.Left = 0
|
|
lblFijosRequeridos.Width = Root.Width
|
|
Dim cursorProdFijo As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO, CAT_DP_ID, CAT_DP_IDPROD, CAT_DP_TIPO FROM CAT_DETALLES_PAQ INNER JOIN CAT_GUNAPROD ON CAT_DP_IDPROD = CAT_GP_ID WHERE CAT_DP_ID = '${promo}' AND CAT_DP_TIPO = 0"$)
|
|
If cursorProdFijo.RowCount > 0 Then
|
|
For i = 0 To cursorProdFijo.RowCount - 1
|
|
cursorProdFijo.Position = i
|
|
GenerarFijos(cursorProdFijo.GetString("CAT_GP_NOMBRE"), cursorProdFijo.GetString("CAT_GP_ALMACEN"), cursorProdFijo.GetString("CAT_DP_PRECIO"), cursorProdFijo.GetString("CAT_DP_IDPROD"), i)
|
|
Next
|
|
End If
|
|
Else
|
|
pnlFijos.Visible = False
|
|
lblFijosRequeridos.Text = $"No hay productos Fijos"$
|
|
lblFijosRequeridos.Visible = False
|
|
End If
|
|
|
|
If variablesRequeridas1 > 0 Then
|
|
pnlVariables1.Visible = True
|
|
lblVariablesRequeridas1.Visible = True
|
|
lblVariablesRequeridas1.Text = $"Primeros Variables Requeridos: '${variablesRequeridas1}'"$
|
|
lblVariablesRequeridas1.Left = 0
|
|
lblVariablesRequeridas1.Width = Root.Width
|
|
Dim cursorNomProductosVar1 As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO, CAT_DP_ID, CAT_DP_IDPROD, CAT_DP_TIPO FROM CAT_DETALLES_PAQ INNER JOIN CAT_GUNAPROD ON CAT_DP_IDPROD = CAT_GP_ID WHERE CAT_DP_ID = '${promo}' AND CAT_DP_TIPO = 1"$)
|
|
If cursorNomProductosVar1.RowCount > 0 Then
|
|
For i = 0 To cursorNomProductosVar1.RowCount - 1
|
|
cursorNomProductosVar1.Position = i
|
|
GenerarVariables1(cursorNomProductosVar1.GetString("CAT_GP_NOMBRE"), cursorNomProductosVar1.GetString("CAT_GP_ALMACEN"), cursorNomProductosVar1.GetString("CAT_DP_PRECIO"), cursorNomProductosVar1.GetString("CAT_DP_IDPROD"), i)
|
|
Next
|
|
End If
|
|
Else
|
|
pnlVariables1.Visible = False
|
|
lblVariablesRequeridas1.Visible = False
|
|
End If
|
|
|
|
If variablesRequeridas2 > 0 Then
|
|
pnlVariables2.Visible = True
|
|
lblVariablesRequeridas2.Visible = True
|
|
lblVariablesRequeridas2.Text = $"Segundos Variables Requeridos: '${variablesRequeridas2}'"$
|
|
lblVariablesRequeridas2.Left = 0
|
|
lblVariablesRequeridas2.Width = Root.Width
|
|
Dim cursorNomProductosVar2 As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO, CAT_DP_ID, CAT_DP_IDPROD, CAT_DP_TIPO FROM CAT_DETALLES_PAQ INNER JOIN CAT_GUNAPROD ON CAT_DP_IDPROD = CAT_GP_ID WHERE CAT_DP_ID = '${promo}' AND CAT_DP_TIPO = 2"$)
|
|
If cursorNomProductosVar2.RowCount > 0 Then
|
|
For i = 0 To cursorNomProductosVar2.RowCount - 1
|
|
cursorNomProductosVar2.Position = i
|
|
GenerarVariables2(cursorNomProductosVar2.GetString("CAT_GP_NOMBRE"), cursorNomProductosVar2.GetString("CAT_GP_ALMACEN"), cursorNomProductosVar2.GetString("CAT_DP_PRECIO"), cursorNomProductosVar2.GetString("CAT_DP_IDPROD"), i)
|
|
Next
|
|
End If
|
|
Else
|
|
pnlVariables2.Visible = False
|
|
lblVariablesRequeridas2.Visible = False
|
|
End If
|
|
|
|
If variablesRequeridas3 > 0 Then
|
|
pnlVariables3.Visible = True
|
|
lblVariablesRequeridas3.Visible = True
|
|
lblVariablesRequeridas3.Text = $"Tercer Variables Requeridas: '${variablesRequeridas3}'"$
|
|
lblVariablesRequeridas3.Width = Root.Width
|
|
Dim cursorNomProductosVar3 As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO, CAT_DP_ID, CAT_DP_IDPROD, CAT_DP_TIPO FROM CAT_DETALLES_PAQ INNER JOIN CAT_GUNAPROD ON CAT_DP_IDPROD = CAT_GP_ID WHERE CAT_DP_ID = '${promo}' AND CAT_DP_TIPO = 3"$)
|
|
If cursorNomProductosVar3.RowCount > 0 Then
|
|
For i = 0 To cursorNomProductosVar3.RowCount - 1
|
|
cursorNomProductosVar3.Position = i
|
|
GenerarVariables3(cursorNomProductosVar3.GetString("CAT_GP_NOMBRE"), cursorNomProductosVar3.GetString("CAT_GP_ALMACEN"), cursorNomProductosVar3.GetString("CAT_DP_PRECIO"), cursorNomProductosVar3.GetString("CAT_DP_IDPROD"), i)
|
|
Next
|
|
End If
|
|
Else
|
|
pnlVariables3.Visible = False
|
|
lblVariablesRequeridas3.Visible = False
|
|
End If
|
|
|
|
AjustarScroll
|
|
End Sub
|
|
|
|
Private Sub btnMenosPromo_Click
|
|
' etVar1HasFocus = False
|
|
' etVar2HasFocus = False
|
|
' etVar3HasFocus = False
|
|
|
|
Dim currentValue As Int = lblSumPromo.Text.As(Int)
|
|
|
|
If currentValue > 1 Then
|
|
currentValue = currentValue - 1
|
|
End If
|
|
|
|
lblSumPromo.Text = currentValue
|
|
|
|
productosFijos = productosFijos_Iniciales * currentValue
|
|
variablesRequeridas1 = variablesRequeridas1_Inicial * currentValue
|
|
variablesRequeridas2 = variablesRequeridas2_Inicial * currentValue
|
|
variablesRequeridas3 = variablesRequeridas3_Inicial * currentValue
|
|
|
|
sumaVar1Tot = 0
|
|
sumaVar2Tot = 0
|
|
sumaVar3Tot = 0
|
|
|
|
If pnlVariables1.IsInitialized Then
|
|
For i = 0 To pnlVariables1.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables1.GetView(i)
|
|
Dim lblValueVar1 As Label = pnlProducto.GetView(2)
|
|
lblValueVar1.Text = "0"
|
|
Next
|
|
End If
|
|
|
|
If pnlVariables2.IsInitialized Then
|
|
For i = 0 To pnlVariables2.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables2.GetView(i)
|
|
Dim lblValueVar2 As Label = pnlProducto.GetView(2)
|
|
lblValueVar2.Text = "0"
|
|
Next
|
|
End If
|
|
|
|
If pnlVariables3.IsInitialized Then
|
|
For i = 0 To pnlVariables3.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables3.GetView(i)
|
|
Dim lblValueVar3 As Label = pnlProducto.GetView(2)
|
|
lblValueVar3.Text = "0"
|
|
Next
|
|
End If
|
|
|
|
lblFijosRequeridos.Text = $"Productos Fijos: '${productosFijos}'"$
|
|
lblVariablesRequeridas1.Text = $"Primeros Variables Requeridos: '${variablesRequeridas1}'"$
|
|
lblVariablesRequeridas2.Text = $"Segundos Variables Requeridos: '${variablesRequeridas2}'"$
|
|
lblVariablesRequeridas3.Text = $"Tercer Variables Requeridas: '${variablesRequeridas3}'"$
|
|
|
|
RecalcularSumas
|
|
ActualizarVisibilidadBtnGuardaPromo
|
|
End Sub
|
|
|
|
Private Sub btnSumaPromo_Click
|
|
' etVar1HasFocus = False
|
|
' etVar2HasFocus = False
|
|
' etVar3HasFocus = False
|
|
|
|
Dim currentValue As Int = lblSumPromo.Text.As(Int)
|
|
Dim maxValue As Int = lblMaxPromo.Text.As(Int)
|
|
Log("Esto es currentValue: " & currentValue)
|
|
Log("Esto es maxValue: " & maxValue)
|
|
|
|
If currentValue < maxValue Then
|
|
|
|
Log("Esto es currentValue despues del if: " & currentValue)
|
|
Log("Esto es maxValue despues del if: " & maxValue)
|
|
currentValue = currentValue + 1
|
|
Log("Esto es una suma: " & (currentValue + 1))
|
|
End If
|
|
|
|
lblSumPromo.Text = currentValue
|
|
|
|
' Actualizar las variables requeridas
|
|
productosFijos = productosFijos_Iniciales * currentValue
|
|
variablesRequeridas1 = variablesRequeridas1_Inicial * currentValue
|
|
variablesRequeridas2 = variablesRequeridas2_Inicial * currentValue
|
|
variablesRequeridas3 = variablesRequeridas3_Inicial * currentValue
|
|
|
|
' Reiniciar las sumas totales
|
|
sumaVar1Tot = 0
|
|
sumaVar2Tot = 0
|
|
sumaVar3Tot = 0
|
|
|
|
' Forzar la actualización de los EditText
|
|
If pnlVariables1.IsInitialized Then
|
|
For i = 0 To pnlVariables1.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables1.GetView(i)
|
|
Dim lblValueVar1 As Label = pnlProducto.GetView(2)
|
|
lblValueVar1.Text = "0" ' Reiniciar el valor
|
|
Next
|
|
End If
|
|
|
|
If pnlVariables2.IsInitialized Then
|
|
For i = 0 To pnlVariables2.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables2.GetView(i)
|
|
Dim lblValueVar2 As Label = pnlProducto.GetView(2)
|
|
lblValueVar2.Text = "0" ' Reiniciar el valor
|
|
Next
|
|
End If
|
|
|
|
If pnlVariables3.IsInitialized Then
|
|
For i = 0 To pnlVariables3.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables3.GetView(i)
|
|
Dim lblValueVar3 As Label = pnlProducto.GetView(2)
|
|
lblValueVar3.Text = "0" ' Reiniciar el valor
|
|
Next
|
|
End If
|
|
|
|
' Actualizar las etiquetas
|
|
lblFijosRequeridos.Text = $"Productos Fijos: '${productosFijos}'"$
|
|
lblVariablesRequeridas1.Text = $"Primeros Variables Requeridos: '${variablesRequeridas1}'"$
|
|
lblVariablesRequeridas2.Text = $"Segundos Variables Requeridos: '${variablesRequeridas2}'"$
|
|
lblVariablesRequeridas3.Text = $"Tercer Variables Requeridas: '${variablesRequeridas3}'"$
|
|
|
|
' Recalcular sumas y actualizar la interfaz
|
|
RecalcularSumas
|
|
ActualizarVisibilidadBtnGuardaPromo
|
|
End Sub
|
|
|
|
Private Sub btnVars1Mas_Click
|
|
' Dim totalVar1 As Int = 0
|
|
' etVar1HasFocus = False
|
|
' etVar2HasFocus = False
|
|
' etVar3HasFocus = False
|
|
Log("Iniciamos boton mas")
|
|
Log("Variables requeridas = " & variablesRequeridas1)
|
|
|
|
Log(sumaVar1Tot.As(Int) > variablesRequeridas1.As(Int))
|
|
If sumaVar1Tot.As(Int) >= variablesRequeridas1.As(Int) Then
|
|
Log("Entramos al primer if")
|
|
|
|
ToastMessageShow("No se pueden agregar más productos, ya se alcanzó el máximo.", True)
|
|
Return
|
|
End If
|
|
Log("Termiamos boton mas")
|
|
sumaVar1Tot = SumarVariables1
|
|
|
|
Dim pnlProducto As Panel = Sender.As(View).Parent
|
|
Dim lblValueVar1 As Label = pnlProducto.GetView(2)
|
|
Dim currentValue As Int = lblValueVar1.Text.As(Int)
|
|
|
|
currentValue = currentValue + 1
|
|
lblValueVar1.Text = currentValue
|
|
sumaVar1Tot = sumaVar1Tot + 1
|
|
|
|
RecalcularSumas
|
|
End Sub
|
|
|
|
Private Sub btnVars1Menos_Click
|
|
' etVar1HasFocus = False
|
|
' etVar2HasFocus = False
|
|
' etVar3HasFocus = False
|
|
Dim pnlProducto As Panel
|
|
pnlProducto = Sender.As(View).Tag
|
|
|
|
Dim lblValue As Label = pnlProducto.GetView(2)
|
|
|
|
Dim currentValue As Int
|
|
If IsNumber(lblValue.Text) Then
|
|
currentValue = lblValue.Text.As(Int)
|
|
Else
|
|
currentValue = 0
|
|
End If
|
|
|
|
If currentValue > 0 Then
|
|
currentValue = currentValue - 1
|
|
lblValue.Text = currentValue
|
|
|
|
sumaVar1Tot = sumaVar1Tot - 1
|
|
|
|
RecalcularSumas
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnVars2Mas_Click
|
|
|
|
' etVar1HasFocus = False
|
|
' etVar2HasFocus = False
|
|
' etVar3HasFocus = False
|
|
|
|
If sumaVar2Tot >= variablesRequeridas2 Then
|
|
ToastMessageShow("No se pueden agregar más productos, ya se alcanzó el máximo.", True)
|
|
Return
|
|
End If
|
|
|
|
Dim pnlProducto As Panel = Sender.As(View).Parent
|
|
Dim lblValueVar2 As Label = pnlProducto.GetView(2)
|
|
Dim currentValue As Int = lblValueVar2.Text.As(Int)
|
|
|
|
currentValue = currentValue + 1
|
|
lblValueVar2.Text = currentValue
|
|
sumaVar2Tot = sumaVar2Tot + 1
|
|
|
|
RecalcularSumas
|
|
End Sub
|
|
|
|
Private Sub btnVars2Menos_Click
|
|
' etVar1HasFocus = False
|
|
' etVar2HasFocus = False
|
|
' etVar3HasFocus = False
|
|
Dim pnlProducto As Panel
|
|
pnlProducto = Sender.As(View).Tag
|
|
|
|
Dim lblValue As Label = pnlProducto.GetView(2)
|
|
|
|
Dim currentValue As Int
|
|
If IsNumber(lblValue.Text) Then
|
|
currentValue = lblValue.Text.As(Int)
|
|
Else
|
|
currentValue = 0
|
|
End If
|
|
|
|
If currentValue > 0 Then
|
|
currentValue = currentValue - 1
|
|
lblValue.Text = currentValue
|
|
|
|
sumaVar2Tot = sumaVar2Tot - 1
|
|
|
|
RecalcularSumas
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnVars3Mas_Click
|
|
' etVar1HasFocus = False
|
|
' etVar2HasFocus = False
|
|
' etVar3HasFocus = False
|
|
|
|
If sumaVar3Tot >= variablesRequeridas3 Then
|
|
ToastMessageShow("No se pueden agregar más productos, ya se alcanzó el máximo.", True)
|
|
Return
|
|
End If
|
|
|
|
Dim pnlProducto As Panel = Sender.As(View).Parent
|
|
Dim lblValueVar3 As Label = pnlProducto.GetView(2)
|
|
Dim currentValue As Int = lblValueVar3.Text.As(Int)
|
|
|
|
currentValue = currentValue + 1
|
|
lblValueVar3.Text = currentValue
|
|
sumaVar3Tot = sumaVar3Tot + 1
|
|
|
|
RecalcularSumas
|
|
End Sub
|
|
|
|
Private Sub btnVars3Menos_Click
|
|
' etVar1HasFocus = False
|
|
' etVar2HasFocus = False
|
|
' etVar3HasFocus = False
|
|
Dim pnlProducto As Panel
|
|
pnlProducto = Sender.As(View).Tag
|
|
|
|
Dim lblValue As Label = pnlProducto.GetView(2)
|
|
|
|
Dim currentValue As Int
|
|
If IsNumber(lblValue.Text) Then
|
|
currentValue = lblValue.Text.As(Int)
|
|
Else
|
|
currentValue = 0
|
|
End If
|
|
|
|
If currentValue > 0 Then
|
|
currentValue = currentValue - 1
|
|
lblValue.Text = currentValue
|
|
|
|
sumaVar3Tot = sumaVar3Tot - 1
|
|
|
|
RecalcularSumas
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub GenerarFijos(nombreProd As String, inventario As String, precio As String, idProducto As String, numberOfViews As Int)
|
|
If Not(pnlFijos.IsInitialized) Then
|
|
Return
|
|
End If
|
|
|
|
Private estePrecio As String = precio
|
|
|
|
Dim pnlProducto As Panel
|
|
pnlProducto.Initialize("pnlProducto")
|
|
pnlProducto.SetLayout(0, 0, pnlFijos.Width, 70dip)
|
|
|
|
Dim lblNombre As Label
|
|
lblNombre.Initialize("lblNombre")
|
|
lblNombre.Text = nombreProd & CRLF & "Hay " & inventario & " $" & NumberFormat2(estePrecio,1,2,2,True)
|
|
lblNombre.Tag = idProducto
|
|
lblNombre.TextSize = 12
|
|
lblNombre.TextColor = xui.Color_Black
|
|
lblNombre.Gravity = Gravity.LEFT + Gravity.CENTER_VERTICAL
|
|
pnlProducto.AddView(lblNombre, 10dip, 10dip, pnlProducto.Width * 0.75 - 20dip, 50dip)
|
|
|
|
pnlProducto.Tag = estePrecio
|
|
|
|
pnlFijos.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlFijos.Width, 70dip)
|
|
pnlFijos.Height = (numberOfViews * 70dip) + 70dip
|
|
|
|
AjustarScroll
|
|
End Sub
|
|
|
|
Private Sub GenerarVariables1(nombreProd As String, inventario As String, precio As String, idProducto As String, numberOfViews As Int)
|
|
If Not(pnlVariables1.IsInitialized) Then Return
|
|
|
|
Private estePrecio As String = precio
|
|
|
|
Dim pnlProducto As Panel
|
|
pnlProducto.Initialize("pnlProducto")
|
|
pnlProducto.SetLayout(0, 0, pnlVariables1.Width, 50dip)
|
|
|
|
Dim lblNombre As Label
|
|
lblNombre.Initialize("lblNombre")
|
|
lblNombre.Text = nombreProd & CRLF & "Hay " & inventario & " $" & NumberFormat2(estePrecio,1,2,2,True)
|
|
lblNombre.Tag = idProducto
|
|
lblNombre.TextSize = 12
|
|
lblNombre.TextColor = xui.Color_Black
|
|
lblNombre.Gravity = Gravity.LEFT + Gravity.CENTER_VERTICAL
|
|
pnlProducto.AddView(lblNombre, 10dip, 10dip, pnlProducto.Width * 0.75 - 20dip, 50dip)
|
|
|
|
Dim btnWidth As Int = pnlProducto.Width * 0.25 / 3
|
|
Dim lblWidth As Int = btnWidth
|
|
Dim spacing As Int = 5dip
|
|
|
|
Dim btnMenos As Button
|
|
btnMenos.Initialize("btnVars1Menos")
|
|
btnMenos.Tag = pnlProducto
|
|
btnMenos.Text = $"-"$
|
|
btnMenos.TextSize = 20
|
|
btnMenos.Color = Colors.RGB(185, 106, 106)
|
|
btnMenos.TextColor = xui.Color_White
|
|
pnlProducto.AddView(btnMenos, pnlProducto.Width - btnWidth - spacing * 2 - lblWidth - btnWidth, 10dip, btnWidth, pnlProducto.Height - 10dip)
|
|
|
|
Dim lblValueVar1 As Label
|
|
lblValueVar1.Initialize("lblValueVar1") ' Asignar el evento TextChanged aquí
|
|
' lblValueVar1.InputType = lblValueVar1.INPUT_TYPE_NUMBERS
|
|
' lblValueVar1.Hint = "0"
|
|
lblValueVar1.Text = "0"
|
|
lblValueVar1.TextColor = xui.Color_Black
|
|
lblValueVar1.Gravity = Gravity.CENTER
|
|
lblValueVar1.TextSize = 12
|
|
lblValueVar1.Tag = pnlProducto ' Asignar el panel como tag
|
|
pnlProducto.AddView(lblValueVar1, btnMenos.Left + btnMenos.Width + spacing, 10dip, lblWidth, pnlProducto.Height - 10dip)
|
|
|
|
Dim btnMas As Button
|
|
btnMas.Initialize("btnVars1Mas")
|
|
btnMas.Tag = pnlProducto
|
|
btnMas.Text = $"+"$
|
|
btnMas.TextSize = 20
|
|
btnMas.Color = Colors.RGB(133, 185, 106)
|
|
btnMas.TextColor = xui.Color_White
|
|
pnlProducto.AddView(btnMas, lblValueVar1.Left + lblValueVar1.Width + spacing, 10dip, btnWidth, pnlProducto.Height - 10dip)
|
|
|
|
pnlProducto.Tag = estePrecio
|
|
|
|
pnlVariables1.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlVariables1.Width, 70dip)
|
|
pnlVariables1.Height = (numberOfViews * 70dip) + 70dip
|
|
|
|
AjustarScroll
|
|
End Sub
|
|
|
|
Private Sub GenerarVariables2(nombreProd As String, inventario As String, precio As String, idProducto As String, numberOfViews As Int)
|
|
If Not(pnlVariables2.IsInitialized) Then Return
|
|
|
|
Private estePrecio As String = precio
|
|
|
|
Dim pnlProducto As Panel
|
|
pnlProducto.Initialize("pnlProducto")
|
|
pnlProducto.SetLayout(0, 0, pnlVariables2.Width, 50dip)
|
|
|
|
Dim lblNombre As Label
|
|
lblNombre.Initialize("lblNombre")
|
|
lblNombre.Text = nombreProd & CRLF & "Hay " & inventario & " $" & NumberFormat2(estePrecio,1,2,2,True)
|
|
lblNombre.Tag = idProducto
|
|
lblNombre.TextSize = 12
|
|
lblNombre.TextColor = xui.Color_Black
|
|
lblNombre.Gravity = Gravity.LEFT + Gravity.CENTER_VERTICAL
|
|
pnlProducto.AddView(lblNombre, 10dip, 10dip, pnlProducto.Width * 0.75 - 20dip, 50dip)
|
|
|
|
Dim btnWidth As Int = pnlProducto.Width * 0.25 / 3
|
|
Dim lblWidth As Int = btnWidth
|
|
Dim spacing As Int = 5dip
|
|
|
|
Dim btnMenos As Button
|
|
btnMenos.Initialize("btnVars2Menos")
|
|
btnMenos.Tag = pnlProducto
|
|
btnMenos.Text = $"-"$
|
|
btnMenos.TextSize = 20
|
|
btnMenos.Color = Colors.RGB(185, 106, 106)
|
|
btnMenos.TextColor = xui.Color_White
|
|
pnlProducto.AddView(btnMenos, pnlProducto.Width - btnWidth - spacing * 2 - lblWidth - btnWidth, 10dip, btnWidth, pnlProducto.Height - 10dip)
|
|
|
|
Dim lblValueVar2 As Label
|
|
lblValueVar2.Initialize("lblValueVar2")
|
|
' lblValueVar2.InputType = lblValueVar2.INPUT_TYPE_NUMBERS
|
|
' lblValueVar2.Hint = "0"
|
|
lblValueVar2.Text = "0"
|
|
lblValueVar2.TextColor = xui.Color_Black
|
|
lblValueVar2.Gravity = Gravity.CENTER
|
|
lblValueVar2.TextSize = 12
|
|
lblValueVar2.Tag = pnlProducto
|
|
pnlProducto.AddView(lblValueVar2, btnMenos.Left + btnMenos.Width + spacing, 10dip, lblWidth, pnlProducto.Height - 10dip)
|
|
|
|
Dim btnMas As Button
|
|
btnMas.Initialize("btnVars2Mas")
|
|
btnMas.Tag = pnlProducto
|
|
btnMas.Text = $"+"$
|
|
btnMas.TextSize = 20
|
|
btnMas.Color = Colors.RGB(133, 185, 106)
|
|
btnMas.TextColor = xui.Color_White
|
|
pnlProducto.AddView(btnMas, lblValueVar2.Left + lblValueVar2.Width + spacing, 10dip, btnWidth, pnlProducto.Height - 10dip)
|
|
|
|
pnlProducto.Tag = estePrecio
|
|
|
|
pnlVariables2.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlVariables2.Width, 70dip)
|
|
pnlVariables2.Height = (numberOfViews * 70dip) + 70dip
|
|
|
|
AjustarScroll
|
|
End Sub
|
|
|
|
Private Sub GenerarVariables3(nombreProd As String, inventario As String, precio As String, idProducto As String, numberOfViews As Int)
|
|
If Not(pnlVariables3.IsInitialized) Then Return
|
|
|
|
Private estePrecio As String = precio
|
|
|
|
Dim pnlProducto As Panel
|
|
pnlProducto.Initialize("pnlProducto")
|
|
pnlProducto.SetLayout(0, 0, pnlVariables3.Width, 50dip)
|
|
|
|
Dim lblNombre As Label
|
|
lblNombre.Initialize("lblNombre")
|
|
lblNombre.Text = nombreProd & CRLF & "Hay " & inventario & " $" & NumberFormat2(estePrecio,1,2,2,True)
|
|
lblNombre.Tag = idProducto
|
|
lblNombre.TextSize = 12
|
|
lblNombre.TextColor = xui.Color_Black
|
|
lblNombre.Gravity = Gravity.LEFT + Gravity.CENTER_VERTICAL
|
|
pnlProducto.AddView(lblNombre, 10dip, 10dip, pnlProducto.Width * 0.75 - 20dip, 50dip)
|
|
|
|
Dim btnWidth As Int = pnlProducto.Width * 0.25 / 3
|
|
Dim lblWidth As Int = btnWidth
|
|
Dim spacing As Int = 5dip
|
|
|
|
Dim btnMenos As Button
|
|
btnMenos.Initialize("btnVars3Menos")
|
|
btnMenos.Tag = pnlProducto
|
|
btnMenos.Text = $"-"$
|
|
btnMenos.TextSize = 20
|
|
btnMenos.Color = Colors.RGB(185, 106, 106)
|
|
btnMenos.TextColor = xui.Color_White
|
|
pnlProducto.AddView(btnMenos, pnlProducto.Width - btnWidth - spacing * 2 - lblWidth - btnWidth, 10dip, btnWidth, pnlProducto.Height - 10dip)
|
|
|
|
Dim lblValueVar3 As Label
|
|
lblValueVar3.Initialize("lblValueVar3")
|
|
' lblValueVar3.InputType = lblValueVar3.INPUT_TYPE_NUMBERS
|
|
' lblValueVar3.Hint = "0"
|
|
lblValueVar3.Text = "0"
|
|
lblValueVar3.TextColor = xui.Color_Black
|
|
lblValueVar3.Gravity = Gravity.CENTER
|
|
lblValueVar3.TextSize = 12
|
|
lblValueVar3.Tag = pnlProducto
|
|
pnlProducto.AddView(lblValueVar3, btnMenos.Left + btnMenos.Width + spacing, 10dip, lblWidth, pnlProducto.Height - 10dip)
|
|
|
|
Dim btnMas As Button
|
|
btnMas.Initialize("btnVars3Mas")
|
|
btnMas.Tag = pnlProducto
|
|
btnMas.Text = $"+"$
|
|
btnMas.TextSize = 20
|
|
btnMas.Color = Colors.RGB(133, 185, 106)
|
|
btnMas.TextColor = xui.Color_White
|
|
pnlProducto.AddView(btnMas, lblValueVar3.Left + lblValueVar3.Width + spacing, 10dip, btnWidth, pnlProducto.Height - 10dip)
|
|
|
|
pnlProducto.Tag = estePrecio
|
|
|
|
pnlVariables3.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlVariables3.Width, 70dip)
|
|
pnlVariables3.Height = (numberOfViews * 70dip) + 70dip
|
|
|
|
AjustarScroll
|
|
End Sub
|
|
|
|
'Private Sub lblValueVar1_TextChanged (Old As String, New As String)
|
|
' Dim totalVar1 As Int = 0
|
|
' If New = "" Or New = Null Then New = 0
|
|
' If Old = "" Or Old = Null Then Old = 0
|
|
' If New = "-" Then New = 0
|
|
' etVar1HasFocus = True
|
|
' totalVar1 = SumarVariables1
|
|
' If etVar1HasFocus = True Then
|
|
'' Log("Entramos a 1er If")
|
|
' Dim variablesRequeridas1int As Int = New
|
|
' If New = "" Then
|
|
'' Log("Entramos a 2do If")
|
|
' New = 0
|
|
' End If
|
|
' If New < 0 Then
|
|
'' Log("Entramos a 3er If")
|
|
' New = 0
|
|
' Else
|
|
'' Log("Entramos a else")
|
|
' If totalVar1 <= variablesRequeridas1 Then
|
|
'
|
|
' Else If totalVar1 > variablesRequeridas1 Then
|
|
' variablesRequeridas1int = variablesRequeridas1 - sumaVar1Tot
|
|
' If variablesRequeridas1int < 1 Then variablesRequeridas1int = 0
|
|
'' isProgrammaticChange = True
|
|
' Log("Ponemos valor en tal desde extChanged " & variablesRequeridas1int)
|
|
' Sender.As(EditText).Text = variablesRequeridas1int
|
|
' End If
|
|
' End If
|
|
' sumaVar1Tot = totalVar1
|
|
' RecalcularSumas
|
|
' End If
|
|
'' Log("Salimos")
|
|
'End Sub
|
|
'
|
|
'Private Sub lblValueVar2_TextChanged (Old As String, New As String)
|
|
' If isProgrammaticChange Then
|
|
' isProgrammaticChange = False
|
|
' Return
|
|
' End If
|
|
'
|
|
' Log("---------------------------------")
|
|
' Dim totalVar2 As Int = 0
|
|
'
|
|
' If pnlVariables2.IsInitialized Then
|
|
' For i = 0 To pnlVariables2.NumberOfViews - 1
|
|
' Dim pnlProducto As Panel = pnlVariables2.GetView(i)
|
|
' Dim lblValueVar2 As EditText = pnlProducto.GetView(2)
|
|
' If lblValueVar2.Text = "" Then
|
|
' lblValueVar2.Text = 0
|
|
' End If
|
|
' Log("Esto es total var2Antes : "&totalVar2)
|
|
' Log("Esto es ET2: "&lblValueVar2.Text.As(Int))
|
|
' totalVar2 = totalVar2 + lblValueVar2.Text.As(Int)
|
|
' Log("Esto es total var2: "&totalVar2)
|
|
' Next
|
|
' End If
|
|
'
|
|
' etVar2HasFocus = True
|
|
' Log("Esto es El focus2: " & etVar2HasFocus)
|
|
' If etVar2HasFocus = True And etVar1HasFocus = False And etVar3HasFocus = False Then
|
|
' If New = "" Or New = Null Then New = 0
|
|
' If Old = "" Or Old = Null Then Old = 0
|
|
' If New = "-" Then New = 0
|
|
' Dim variablesRequeridas2int As Int = New
|
|
' If New = "" Then
|
|
' New = 0
|
|
' End If
|
|
' If New < 0 Then
|
|
' New = 0
|
|
' Else
|
|
'' Log("---------------------------------")
|
|
' Log("Variables Requeridas2: " & variablesRequeridas2)
|
|
' Log("Valor EditText2: " & totalVar2)
|
|
' Log(totalVar2 <= variablesRequeridas2)
|
|
' If totalVar2 <= variablesRequeridas2 Then
|
|
'' Log("---------------------------------")
|
|
' Log("Estoy entrando aca")
|
|
' Else If totalVar2 > variablesRequeridas2 Then
|
|
' variablesRequeridas2int = variablesRequeridas2 - sumaVar2Tot
|
|
' If variablesRequeridas2int < 1 Then variablesRequeridas2int = 0
|
|
' isProgrammaticChange = True
|
|
' Sender.As(EditText).Text = variablesRequeridas2int
|
|
' End If
|
|
' End If
|
|
' sumaVar2Tot = totalVar2
|
|
' RecalcularSumas
|
|
' End If
|
|
'End Sub
|
|
'
|
|
'Private Sub lblValueVar3_TextChanged (Old As String, New As String)
|
|
' If isProgrammaticChange Then
|
|
' isProgrammaticChange = False
|
|
' Return
|
|
' End If
|
|
'
|
|
' Log("---------------------------------")
|
|
' Dim totalVar3 As Int = 0
|
|
'
|
|
' If pnlVariables3.IsInitialized Then
|
|
' For i = 0 To pnlVariables3.NumberOfViews - 1
|
|
' Dim pnlProducto As Panel = pnlVariables3.GetView(i)
|
|
' Dim lblValueVar3 As EditText = pnlProducto.GetView(2)
|
|
' If lblValueVar3.Text = "" Then
|
|
' lblValueVar3.Text = 0
|
|
' End If
|
|
' Log("Esto es total var3Antes : "& totalVar3)
|
|
' Log("Esto es ET3: "& lblValueVar3.Text.As(Int))
|
|
' totalVar3 = totalVar3 + lblValueVar3.Text.As(Int)
|
|
' Log("Esto es total var3: "&totalVar3)
|
|
' Next
|
|
' End If
|
|
'
|
|
' etVar3HasFocus = True
|
|
' Log("Esto es El focus3: " & etVar3HasFocus)
|
|
' If etVar3HasFocus = True And etVar1HasFocus = False And etVar2HasFocus = False Then
|
|
' If New = "" Or New = Null Then New = 0
|
|
' If Old = "" Or Old = Null Then Old = 0
|
|
' If New = "-" Then New = 0
|
|
' Dim variablesRequeridas3int As Int = New
|
|
' If New = "" Then
|
|
' New = 0
|
|
' End If
|
|
' If New < 0 Then
|
|
' New = 0
|
|
' Else
|
|
'' Log("---------------------------------")
|
|
' Log("Variables Requeridas3: " & variablesRequeridas3)
|
|
' Log("Valor EditText3: " & totalVar3)
|
|
' Log(totalVar3 <= variablesRequeridas3)
|
|
' If totalVar3 <= variablesRequeridas3 Then
|
|
'' Log("---------------------------------")
|
|
' Log("Estoy entrando aca")
|
|
' Else If totalVar3 > variablesRequeridas3 Then
|
|
' variablesRequeridas3int = variablesRequeridas3 - sumaVar3Tot
|
|
' Log(variablesRequeridas3)
|
|
' Log("Valor EditText3: " & totalVar3)
|
|
' Log(sumaVar3Tot)
|
|
' Log(variablesRequeridas3int)
|
|
' Log("Estoy entrando aqui Var3")
|
|
' If variablesRequeridas3int < 1 Then variablesRequeridas3int = 0
|
|
' isProgrammaticChange = True
|
|
' Sender.As(EditText).Text = variablesRequeridas3int
|
|
' End If
|
|
' End If
|
|
' sumaVar3Tot = totalVar3
|
|
' RecalcularSumas
|
|
' End If
|
|
'End Sub
|
|
'
|
|
'Sub lblValueVar1_FocusChanged (HasFocus As Boolean)
|
|
' etVar1HasFocus = HasFocus
|
|
' etVar2HasFocus = False
|
|
' etVar3HasFocus = False
|
|
' Log("FocusChanged: " & HasFocus)
|
|
' If HasFocus Then
|
|
' Log("El EditText tiene el foco.")
|
|
' Else
|
|
' Log("El EditText perdió el foco.")
|
|
' End If
|
|
'End Sub
|
|
'
|
|
'Sub lblValueVar2_FocusChanged (HasFocus As Boolean)
|
|
' etVar1HasFocus = False
|
|
' etVar2HasFocus = HasFocus
|
|
' etVar3HasFocus = False
|
|
' Log("FocusChanged: " & HasFocus)
|
|
' If HasFocus Then
|
|
' Log("El EditText tiene el foco.")
|
|
' Else
|
|
' Log("El EditText perdió el foco.")
|
|
' End If
|
|
'End Sub
|
|
'
|
|
'Sub lblValueVar3_FocusChanged (HasFocus As Boolean)
|
|
' etVar1HasFocus = False
|
|
' etVar2HasFocus = False
|
|
' etVar3HasFocus = HasFocus
|
|
' Log("FocusChanged: " & HasFocus)
|
|
' If HasFocus Then
|
|
' Log("El EditText tiene el foco.")
|
|
' Else
|
|
' Log("El EditText perdió el foco.")
|
|
' End If
|
|
'End Sub
|
|
|
|
Private Sub RecalcularSumas
|
|
lblSumaTotal.Text = SumarFijos + SumarVariables1 + SumarVariables2 + SumarVariables3
|
|
|
|
ActualizarTotalValor
|
|
|
|
ActualizarVisibilidadBtnGuardaPromo
|
|
End Sub
|
|
|
|
Private Sub AjustarScroll
|
|
Dim baseHeight As Int = 0
|
|
|
|
If productosFijos > 0 And pnlFijos.Visible Then
|
|
lblFijosRequeridos.Top = baseHeight
|
|
etLimiteSuma_Sub_pnl1.Top = lblFijosRequeridos.Top
|
|
baseHeight = baseHeight + lblFijosRequeridos.Height
|
|
|
|
pnlFijos.Top = baseHeight
|
|
baseHeight = baseHeight + pnlFijos.Height
|
|
End If
|
|
|
|
If variablesRequeridas1 > 0 And pnlVariables1.Visible Then
|
|
lblVariablesRequeridas1.Top = baseHeight
|
|
etLimiteSuma_Sub_pnl2.Top = lblVariablesRequeridas1.Top
|
|
baseHeight = baseHeight + lblVariablesRequeridas1.Height
|
|
|
|
pnlVariables1.Top = baseHeight
|
|
baseHeight = baseHeight + pnlVariables1.Height
|
|
End If
|
|
|
|
If variablesRequeridas2 > 0 And pnlVariables2.Visible Then
|
|
lblVariablesRequeridas2.Top = baseHeight
|
|
etLimiteSuma_Sub_pnl3.Top = lblVariablesRequeridas2.Top
|
|
baseHeight = baseHeight + lblVariablesRequeridas2.Height
|
|
|
|
pnlVariables2.Top = baseHeight
|
|
baseHeight = baseHeight + pnlVariables2.Height
|
|
End If
|
|
|
|
If variablesRequeridas3 > 0 And pnlVariables3.Visible Then
|
|
lblVariablesRequeridas3.Top = baseHeight
|
|
etLimiteSuma_Sub_pnl4.Top = lblVariablesRequeridas3.Top
|
|
baseHeight = baseHeight + lblVariablesRequeridas3.Height
|
|
|
|
pnlVariables3.Top = baseHeight
|
|
baseHeight = baseHeight + pnlVariables3.Height
|
|
End If
|
|
|
|
scrollView.Panel.Height = baseHeight
|
|
|
|
pnlProdTot.Top = Root.Height - pnlProdTot.Height
|
|
End Sub
|
|
|
|
Private Sub btnGuardaPromo_Click
|
|
|
|
Subs.guardaProductoSinGestion(Subs.traeAlmacen, 0, lblSumPromo.Text, Encabezado, estaPromo, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
|
|
If productosFijos > 0 Then
|
|
Log("Guardando productos fijos...")
|
|
For i = 0 To pnlFijos.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlFijos.GetView(i)
|
|
Dim precioProducto As Float = pnlProducto.Tag.As(Float)
|
|
Dim cantidad As Int = productosFijos
|
|
Dim lblNombre As Label = pnlProducto.GetView(0)
|
|
Dim nombreProducto As String = lblNombre.Text
|
|
Private idProducto As String = lblNombre.tag
|
|
Dim nomProd() As String = Regex.Split("\r\n|\n", nombreProducto)
|
|
Log("Esto es el nombre dle producto? <<<<<<<<<<<<<<<<<<<<<<<|" &nomProd(1) & "|")
|
|
If cantidad > 0 Then
|
|
Subs.guardaProductoSinGestion(estaPromo, precioProducto, cantidad, nomProd(0), idProducto, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
End If
|
|
Next
|
|
Else
|
|
Log("No hay productos fijos para guardar.")
|
|
End If
|
|
|
|
If variablesRequeridas1 > 0 Then
|
|
Log("Guardando productos variables (Grupo 1)...")
|
|
For i = 0 To pnlVariables1.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables1.GetView(i)
|
|
Dim precioProducto As Float = pnlProducto.Tag.As(Float)
|
|
Dim lblValueVar1 As Label = pnlProducto.GetView(2)
|
|
Dim cantidad As Int = lblValueVar1.Text.As(Int)
|
|
Dim lblNombre As Label = pnlProducto.GetView(0)
|
|
Private idProducto As String = lblNombre.tag
|
|
Dim nombreProducto As String = lblNombre.Text
|
|
Dim nomProd() As String = Regex.Split("\r\n|\n", nombreProducto)
|
|
If cantidad > 0 Then
|
|
Log($"Guardando producto variable (Grupo 1): ${nombreProducto}, Cantidad: ${cantidad}, Precio: ${precioProducto}"$)
|
|
Subs.guardaProductoSinGestion(estaPromo, precioProducto, cantidad, nomProd(0), idProducto, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
End If
|
|
Next
|
|
Else
|
|
Log("No hay productos variables (Grupo 1) para guardar.")
|
|
End If
|
|
|
|
If variablesRequeridas2 > 0 Then
|
|
Log("Guardando productos variables (Grupo 2)...")
|
|
For i = 0 To pnlVariables2.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables2.GetView(i)
|
|
Dim precioProducto As Float = pnlProducto.Tag.As(Float)
|
|
Dim lblValueVar2 As Label = pnlProducto.GetView(2)
|
|
Dim cantidad As Int = lblValueVar2.Text.As(Int)
|
|
Dim lblNombre As Label = pnlProducto.GetView(0)
|
|
Private idProducto As String = lblNombre.tag
|
|
Dim nombreProducto As String = lblNombre.Text
|
|
Dim nomProd() As String = Regex.Split("\r\n|\n", nombreProducto)
|
|
If cantidad > 0 Then
|
|
Log($"Guardando producto variable (Grupo 2): ${nombreProducto}, Cantidad: ${cantidad}, Precio: ${precioProducto}"$)
|
|
Subs.guardaProductoSinGestion(estaPromo, precioProducto, cantidad, nomProd(0), idProducto, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
End If
|
|
Next
|
|
Else
|
|
Log("No hay productos variables (Grupo 2) para guardar.")
|
|
End If
|
|
|
|
If variablesRequeridas3 > 0 Then
|
|
Log("Guardando productos variables (Grupo 3)...")
|
|
For i = 0 To pnlVariables3.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables3.GetView(i)
|
|
Dim precioProducto As Float = pnlProducto.Tag.As(Float)
|
|
Dim lblValueVar3 As Label = pnlProducto.GetView(2)
|
|
Dim cantidad As Int = lblValueVar3.Text.As(Int)
|
|
Dim lblNombre As Label = pnlProducto.GetView(0)
|
|
Dim nombreProducto As String = lblNombre.Text
|
|
Private idProducto As String = lblNombre.tag
|
|
Dim nomProd() As String = Regex.Split("\r\n|\n", nombreProducto)
|
|
If cantidad > 0 Then
|
|
Log($"Guardando producto variable (Grupo 3): ${nombreProducto}, Cantidad: ${cantidad}, Precio: ${precioProducto}"$)
|
|
Subs.guardaProductoSinGestion(estaPromo, precioProducto, cantidad, nomProd(0), idProducto, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
End If
|
|
Next
|
|
Else
|
|
Log("No hay productos variables (Grupo 3) para guardar.")
|
|
End If
|
|
|
|
Log("Marcando bTerminarClicked como True...")
|
|
B4XPages.MainPage.bTerminarClicked = True
|
|
|
|
Log("Navegando a la página de productos...")
|
|
B4XPages.ShowPage("productos")
|
|
|
|
Log("Ejecutando b_terminar1_Click en la página de productos...")
|
|
B4XPages.MainPage.productos.b_terminar1_Click
|
|
|
|
Log("btnGuardaPromo_Click finalizado.")
|
|
End Sub
|
|
|
|
Private Sub btnContinuar_Click
|
|
Subs.guardaProductoSinGestion(Subs.traeAlmacen, 0, lblSumPromo.Text, Encabezado, estaPromo, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
|
|
If productosFijos > 0 Then
|
|
For i = 0 To pnlFijos.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlFijos.GetView(i)
|
|
Dim precioProducto As Float = pnlProducto.Tag.As(Float)
|
|
Dim cantidad As Int = productosFijos
|
|
Dim lblNombre As Label = pnlProducto.GetView(0)
|
|
Dim nombreProducto As String = lblNombre.Text
|
|
Private idProducto As String = lblNombre.tag
|
|
Dim nomProd() As String = Regex.Split("\r\n|\n", nombreProducto)
|
|
Subs.guardaProductoSinGestion(estaPromo, precioProducto, cantidad, nomProd(0), idProducto, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
Next
|
|
Else
|
|
Log("No hay productos fijos para guardar.")
|
|
End If
|
|
|
|
If variablesRequeridas1 > 0 Then
|
|
For i = 0 To pnlVariables1.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables1.GetView(i)
|
|
Dim precioProducto As Float = pnlProducto.Tag.As(Float)
|
|
Dim lblValueVar1 As Label = pnlProducto.GetView(2)
|
|
Dim cantidad As Int = lblValueVar1.Text.As(Int)
|
|
Dim lblNombre As Label = pnlProducto.GetView(0)
|
|
Dim nombreProducto As String = lblNombre.Text
|
|
Private idProducto As String = lblNombre.tag
|
|
Dim nomProd() As String = Regex.Split("\r\n|\n", nombreProducto)
|
|
If cantidad > 0 Then
|
|
Subs.guardaProductoSinGestion(estaPromo, precioProducto, cantidad, nomProd(0), idProducto, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
End If
|
|
Next
|
|
Else
|
|
Log("No hay productos variables (Grupo 1) para guardar.")
|
|
End If
|
|
|
|
If variablesRequeridas2 > 0 Then
|
|
For i = 0 To pnlVariables2.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables2.GetView(i)
|
|
Dim precioProducto As Float = pnlProducto.Tag.As(Float)
|
|
Dim lblValueVar2 As Label = pnlProducto.GetView(2)
|
|
Dim cantidad As Int = lblValueVar2.Text.As(Int)
|
|
Dim lblNombre As Label = pnlProducto.GetView(0)
|
|
Dim nombreProducto As String = lblNombre.Text
|
|
Private idProducto As String = lblNombre.tag
|
|
Dim nomProd() As String = Regex.Split("\r\n|\n", nombreProducto)
|
|
If cantidad > 0 Then
|
|
Subs.guardaProductoSinGestion(estaPromo, precioProducto, cantidad, nomProd(0), idProducto, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
End If
|
|
Next
|
|
Else
|
|
Log("No hay productos variables (Grupo 2) para guardar.")
|
|
End If
|
|
|
|
If variablesRequeridas3 > 0 Then
|
|
For i = 0 To pnlVariables3.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables3.GetView(i)
|
|
Dim precioProducto As Float = pnlProducto.Tag.As(Float)
|
|
Dim lblValueVar3 As Label = pnlProducto.GetView(2)
|
|
Dim cantidad As Int = lblValueVar3.Text.As(Int)
|
|
Dim lblNombre As Label = pnlProducto.GetView(0)
|
|
Dim nombreProducto As String = lblNombre.Text
|
|
Private idProducto As String = lblNombre.tag
|
|
Dim nomProd() As String = Regex.Split("\r\n|\n", nombreProducto)
|
|
If cantidad > 0 Then
|
|
Subs.guardaProductoSinGestion(estaPromo, precioProducto, cantidad, nomProd(0), idProducto, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
End If
|
|
Next
|
|
Else
|
|
Log("No hay productos variables (Grupo 3) para guardar.")
|
|
End If
|
|
|
|
Private prodspage As C_Productos
|
|
If prodspage.IsInitialized Then
|
|
prodspage.lv_catalogos.Visible = True
|
|
prodspage.lv_promos.Visible = False
|
|
prodspage.clv_productos.AsView.Visible = False
|
|
End If
|
|
B4XPages.MainPage.bTerminarClicked = True
|
|
B4XPages.ShowPage("productos")
|
|
|
|
Log("btnContinuar_Click finalizado.")
|
|
End Sub
|
|
|
|
Private Sub ActualizarVisibilidadBtnGuardaPromo
|
|
Dim condicionesCumplidas As Boolean = VerificarCondicionesParabtnGuardaPromo
|
|
|
|
If condicionesCumplidas Then
|
|
btnGuardaPromo.Visible = True
|
|
btnGuardaPromo.Enabled = True
|
|
btnContinuar.Visible = True
|
|
btnContinuar.Enabled = True
|
|
Else
|
|
btnGuardaPromo.Visible = False
|
|
btnGuardaPromo.Enabled = False
|
|
btnContinuar.Visible = False
|
|
btnContinuar.Enabled = False
|
|
End If
|
|
|
|
AjustarScroll
|
|
End Sub
|
|
|
|
Private Sub VerificarCondicionesParabtnGuardaPromo As Boolean
|
|
|
|
Dim hayProductosFijos As Boolean = (productosFijos > 0)
|
|
|
|
Dim hayVar1 As Boolean = (variablesRequeridas1 > 0)
|
|
Dim hayVar2 As Boolean = (variablesRequeridas2 > 0)
|
|
Dim hayVar3 As Boolean = (variablesRequeridas3 > 0)
|
|
|
|
If Not(hayProductosFijos) And Not(hayVar1) And Not(hayVar2) And Not(hayVar3) Then
|
|
Log("No hay valores mayores a 0, no se muestra el botón.")
|
|
Return False
|
|
End If
|
|
|
|
If hayVar1 Or hayVar2 Or hayVar3 Then
|
|
Dim condicionVar1 As Boolean = True
|
|
Dim condicionVar2 As Boolean = True
|
|
Dim condicionVar3 As Boolean = True
|
|
|
|
If hayVar1 Then
|
|
condicionVar1 = (SumarVariables1 = variablesRequeridas1)
|
|
' Log("Condición Var1: " & condicionVar1)
|
|
End If
|
|
|
|
If hayVar2 Then
|
|
condicionVar2 = (SumarVariables2 = variablesRequeridas2)
|
|
' Log("Condición Var2: " & condicionVar2)
|
|
End If
|
|
|
|
If hayVar3 Then
|
|
condicionVar3 = (SumarVariables3 = variablesRequeridas3)
|
|
' Log("Condición Var3: " & condicionVar3)
|
|
End If
|
|
|
|
If condicionVar1 And condicionVar2 And condicionVar3 Then
|
|
' Log("Todas las condiciones de variables requeridas se cumplen, se muestra el botón.")
|
|
Return True
|
|
Else
|
|
' Log("No se cumplen todas las condiciones de variables requeridas, no se muestra el botón.")
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
If hayProductosFijos Then
|
|
Return True
|
|
End If
|
|
|
|
' Log("No hay valores mayores a 0, no se muestra el botón.")
|
|
Return False
|
|
End Sub
|
|
|
|
Private Sub SumarFijos As Int
|
|
Dim totalFijos As Int = 0
|
|
|
|
If pnlFijos.IsInitialized Then
|
|
totalFijos = totalFijos + productosFijos
|
|
End If
|
|
|
|
Return totalFijos
|
|
End Sub
|
|
|
|
Private Sub SumarVariables1 As Int
|
|
Dim totalVar1 As Int = 0
|
|
|
|
If pnlVariables1.IsInitialized Then
|
|
For i = 0 To pnlVariables1.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables1.GetView(i)
|
|
Dim lblValueVar1 As Label = pnlProducto.GetView(2)
|
|
If lblValueVar1.Text = "" Or lblValueVar1.Text = "-" Or lblValueVar1.Text = " " Then
|
|
lblValueVar1.Text = 0
|
|
End If
|
|
totalVar1 = totalVar1 + lblValueVar1.Text.As(Int)
|
|
Next
|
|
End If
|
|
|
|
Log("Total variables 1= " & totalVar1)
|
|
Return totalVar1
|
|
End Sub
|
|
|
|
Private Sub SumarVariables2 As Int
|
|
Dim totalVar2 As Int = 0
|
|
|
|
If pnlVariables2.IsInitialized Then
|
|
For i = 0 To pnlVariables2.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables2.GetView(i)
|
|
Dim lblValueVar2 As Label = pnlProducto.GetView(2)
|
|
If lblValueVar2.Text = "" Then
|
|
lblValueVar2.Text = 0
|
|
End If
|
|
totalVar2 = totalVar2 + lblValueVar2.Text.As(Int)
|
|
Next
|
|
End If
|
|
|
|
Return totalVar2
|
|
End Sub
|
|
|
|
Private Sub SumarVariables3 As Int
|
|
Dim totalVar3 As Int = 0
|
|
|
|
If pnlVariables3.IsInitialized Then
|
|
For i = 0 To pnlVariables3.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables3.GetView(i)
|
|
Dim lblValueVar3 As Label = pnlProducto.GetView(2)
|
|
If lblValueVar3.Text = "" Then
|
|
lblValueVar3.Text = 0
|
|
End If
|
|
totalVar3 = totalVar3 + lblValueVar3.Text.As(Int)
|
|
Next
|
|
End If
|
|
|
|
Return totalVar3
|
|
End Sub
|
|
|
|
Private Sub CalcularTotalValor As Float
|
|
Dim total As Float = 0
|
|
|
|
If pnlFijos.IsInitialized And productosFijos > 0 Then
|
|
For i = 0 To pnlFijos.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlFijos.GetView(i)
|
|
Dim precioProducto As Float = pnlProducto.Tag.As(Float)
|
|
total = total + (precioProducto * productosFijos)
|
|
Next
|
|
End If
|
|
|
|
If pnlVariables1.IsInitialized Then
|
|
For i = 0 To pnlVariables1.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables1.GetView(i)
|
|
Dim lblValueVar1 As Label = pnlProducto.GetView(2)
|
|
Dim cantidad As Int = lblValueVar1.Text.As(Int)
|
|
If cantidad > 0 Then
|
|
total = total + (pnlProducto.Tag.As(Float) * cantidad)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If pnlVariables2.IsInitialized Then
|
|
For i = 0 To pnlVariables2.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables2.GetView(i)
|
|
Dim lblValueVar2 As Label = pnlProducto.GetView(2)
|
|
Dim cantidad As Int = lblValueVar2.Text.As(Int)
|
|
If cantidad > 0 Then
|
|
total = total + (pnlProducto.Tag.As(Float) * cantidad)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If pnlVariables3.IsInitialized Then
|
|
For i = 0 To pnlVariables3.NumberOfViews - 1
|
|
Dim pnlProducto As Panel = pnlVariables3.GetView(i)
|
|
Dim lblValueVar3 As Label = pnlProducto.GetView(2)
|
|
Dim cantidad As Int = lblValueVar3.Text.As(Int)
|
|
If cantidad > 0 Then
|
|
total = total + (pnlProducto.Tag.As(Float) * cantidad)
|
|
End If
|
|
Next
|
|
End If
|
|
Return total
|
|
End Sub
|
|
|
|
Private Sub ActualizarTotalValor
|
|
Dim total As Float = CalcularTotalValor
|
|
lblTotalValor.Text = NumberFormat(total, 1, 2)
|
|
End Sub
|
|
|