diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index 33c080e..e4691e4 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -104,7 +104,7 @@ Sub B4XPage_Appear label2 = ListView1.TwoLinesLayout.SecondLabel label2.TextSize = 10 label2.TextColor = Colors.Blue - ListView1.AddTwoLines(cs.Color(textColor).append(c.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO")) + ListView1.AddSingleLine(cs.Color(textColor).Size(12).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(8).Color(Colors.Blue).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_COSTO_TOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll) folio = c.GetString("PE_FOLIO") vamoaver.Add(c.GetString("PE_FOLIO")) Next @@ -152,35 +152,47 @@ Private Sub B4XPage_CloseRequest As ResumableSub End Sub Sub borra_Click -' If folio <> "" Then - result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore - If result = DialogResponse.POSITIVE Then -' c=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") -' If c.RowCount>0 Then -' For i=0 To c.RowCount -1 -' c.Position=i -' B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) -' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) -' Next -' End If -' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") -' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") -' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - Subs.borraPedidoClienteActual - B4XPage_Appear - B4XPages.MainPage.productos.clv_prods_ll.Clear + Log("Entre al btn borrar") + result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + c=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") + Log($"select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa)"$) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) + Next End If -' Else -' Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore -' End If + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + B4XPage_Appear + End If End Sub Sub ListView1_ItemLongClick (Position As Int, Value As Object) Log(Value) + Private X() As String = Regex.Split(" ", Value) +' Log(X.Length) + Private nom As String = "" + For i = 0 To X.Length -1 + If X(i).Contains(CRLF) Then + End If + If Not(X(i).Contains(CRLF)) Then + nom = nom & " " & X(i) + Else + Exit + End If + Next + nom = nom.Trim + Log(nom) + Private cedis As String = X(X.Length-1) + Log(cedis) If Not(Subs.pedidoGuardado) Then result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore If result = DialogResponse.POSITIVE Then - c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) + c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ? ", Array As String(nom, cedis)) c.Position=0 Log(vamoaver.Get(Position)) If vamoaver.Get(Position) = "VENTA" Then @@ -194,30 +206,56 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) Log(Value) Starter.tabla = "CAT_GUNAPROD" End If + Log(Subs.traeAlmacen) ' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) - c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value)) - c2.Position=0 - Log(c2.GetString("CUANTOS")) - If c2.GetString("CUANTOS") > 0 Then - j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ?)",Array As String(Value)) +' c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value)) +' c2.Position=0 +' Log(c2.GetString("CUANTOS")) +' If c2.GetString("CUANTOS") > 0 Then +' j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? AND PE_CEDIS <> ?)",Array As String(Value, Subs.traeAlmacen)) +' Log(j3.RowCount) +' If j3.RowCount > 0 Then +' Log("estoy aqui") +' For i = 0 To j3.RowCount -1 +' Log("aqui tronare?") +' j3.Position = i +' B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) +' B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = '${j3.GetString("PE_PRONOMBRE")}') and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${c.GetString("PE_FOLIO")}' AND PE_CEDIS <> '${Subs.traeAlmacen}'"$) ' , Array As Object(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO"), Subs.traeAlmacen) +' Next +' End If +' j3.Close +' Else +' B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) +' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ? AND PE_CEDIS = ?", Array As Object(Value, c.GetString("PE_FOLIO"), Subs.traeAlmacen)) +' End If + + If cedis <> Subs.traeAlmacen Then + j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? and PE_CEDIS = ?)",Array As String(nom,cedis)) Log(j3.RowCount) If j3.RowCount > 0 Then - Log("estoy aqui") - For i = 0 To j3.RowCount -1 + Log("Soy promo") + For j = 0 To j3.RowCount -1 Log("aqui tronare?") - j3.Position = i - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO"))) + + j3.Position = j + Log(j3.GetString("PE_CANT")) + Log($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + '${j3.GetString("PE_CANT")}' where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$) + Starter.skmt.ExecNonQuery($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$) + + B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO"))) Next End If j3.Close Else + Log(c.GetString("PE_CANT")) + Log(c.Getstring("PE_PROID")) B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, c.GetString("PE_FOLIO"))) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(nom, cedis, vamoaver.Get(Position))) End If - c.Close - c2.Close + +' c.Close +' c2.Close DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 131bc3f..6a72273 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -763,7 +763,8 @@ Sub b_terminar1_Click label2.TextSize = 10 label2.TextColor = Colors.Blue - lv_prodsPedido.AddTwoLines(cs.Color(textColor).append(c_prods.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c_prods.GetString("PE_CANT")& " SubTotal $"& c_prods.GetString("PE_COSTO_TOT")& " Folio "& c_prods.GetString("PE_FOLIO")) +' ListView1.AddSingleLine(cs.Color(textColor).Size(12).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(8).Color(Colors.Blue).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_COSTO_TOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll) + lv_prodsPedido.AddSingleLine(cs.Color(textColor).Size(12).append(c_prods.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(8).Color(Colors.Blue).Append("Cantidad #"& c_prods.GetString("PE_CANT")).Append(" SubTotal $"& c_prods.GetString("PE_COSTO_TOT")).Append(" " & c_prods.GetString("PE_FOLIO")& " " &c_prods.GetString("PE_CEDIS")).PopAll) vamoaver.Add(c_prods.GetString("PE_FOLIO")) folio = c_prods.GetString("PE_FOLIO") Next @@ -907,11 +908,28 @@ End Sub Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object) Private sDate,sTime, clie_id, usuario As String + Log(Value) + Private X() As String = Regex.Split(" ", Value) +' Log(X.Length) + Private nom As String = "" + For i = 0 To X.Length -1 + If X(i).Contains(CRLF) Then + End If + If Not(X(i).Contains(CRLF)) Then + nom = nom & " " & X(i) + Else + Exit + End If + Next + nom = nom.Trim + Log(nom) + Private cedis As String = X(X.Length-1) + Log(cedis) If Not(Subs.pedidoGuardado) Then result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore If result = DialogResponse.POSITIVE Then - c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) - c.Position=0 + c =B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ? ", Array As String(nom, cedis)) + c.Position = 0 Log(vamoaver.Get(Position)) If vamoaver.Get(Position) = "VENTA" Then Log("CAT_GUNAPROD2") @@ -924,30 +942,37 @@ Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object) Log(Value) Starter.tabla = "CAT_GUNAPROD" End If + Log(Subs.traeAlmacen) ' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) ' Log(c.GetString("PE_CANT")) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) - c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value)) - c2.Position=0 - If c2.GetString("CUANTOS") > 0 Then - j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ?)",Array As String(Value)) +' c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value)) +' c2.Position=0 + If cedis <> Subs.traeAlmacen Then + j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? and PE_CEDIS = ?)",Array As String(nom,cedis)) Log(j3.RowCount) If j3.RowCount > 0 Then - Log("estoy aqui") - For i = 0 To j3.RowCount -1 + Log("Soy promo") + For j = 0 To j3.RowCount -1 Log("aqui tronare?") - j3.Position = i - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO"))) + + j3.Position = j + Log(j3.GetString("PE_CANT")) + Log($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + '${j3.GetString("PE_CANT")}' where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$) + Starter.skmt.ExecNonQuery($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$) + + B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO"))) Next End If j3.Close Else + Log(c.GetString("PE_CANT")) + Log(c.Getstring("PE_PROID")) B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, c.GetString("PE_FOLIO"))) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(nom, cedis, vamoaver.Get(Position))) End If c.Close - c2.Close +' c2.Close DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) @@ -966,6 +991,7 @@ Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object) B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") Private h As Cursor = B4XPages.MainPage.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART, sum (PE_COSTO_TOT) as PC_MONTO from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )") + Log($"select sum(PE_CANT) as PC_NOART, sum (PE_COSTO_TOT) as PC_MONTO from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )"$) h.Position=0 l_cant.Text = h.GetString("PC_NOART") l_total2.Text = h.GetString("PC_MONTO") diff --git a/B4A/C_Promos.bas b/B4A/C_Promos.bas index 879ae47..78dab87 100644 --- a/B4A/C_Promos.bas +++ b/B4A/C_Promos.bas @@ -8,20 +8,20 @@ Sub Class_Globals Private Root As B4XView Private xui As XUI Private pnlPantallaCompleta As Panel - Private etCantidadProductos As Label - Private etCantidadProductos2 As Label - Private etCantidadProductos3 As Label - Private etCantidadProductos4 As Label + 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 pnlSecundario1 As Panel - Private pnlSecundario2 As Panel - Private pnlSecundario3 As Panel - Private pnlSecundario4 As Panel - Private panelHeight As Int = 60dip + 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 @@ -40,14 +40,14 @@ Sub Class_Globals Private lblNomPromo As Label Dim estaPromo, esteCliente As String - Dim tpf2 As Int = 0 +' 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 prodsVarReq As Int = 0 +' Dim prodsVarReq_ As Int = 0 +' Dim prodsVarReq2_ As Int = 0 Dim productosFijos As Int Dim variablesRequeridas1 As Int @@ -62,6 +62,9 @@ Sub Class_Globals 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 @@ -189,41 +192,41 @@ Private Sub B4XPage_Created (Root1 As B4XView) pnlContainer.Initialize("pnlContainer") scrollView.Panel.AddView(pnlContainer, 0, 0, pnlPantallaCompleta.Width, 10000000dip) - etCantidadProductos.Initialize("etCantidadProductos") - etCantidadProductos.TextColor = xui.Color_Black - etCantidadProductos.TextSize = 12 - etCantidadProductos.Color = xui.Color_LightGray - etCantidadProductos.Gravity = Gravity.CENTER - etCantidadProductos.SingleLine = True + lblFijosRequeridos.Initialize("lblFijosRequeridos") + lblFijosRequeridos.TextColor = xui.Color_Black + lblFijosRequeridos.TextSize = 12 + lblFijosRequeridos.Color = xui.Color_LightGray + lblFijosRequeridos.Gravity = Gravity.CENTER + lblFijosRequeridos.SingleLine = True - pnlSecundario1.Initialize("pnlSecundario1") - pnlContainer.AddView(pnlSecundario1, 5dip, etCantidadProductos.Top + etCantidadProductos.Height + 10dip, pnlContainer.Width - 10dip, 100dip) - pnlSecundario1.Color = xui.Color_White - pnlSecundario1.Tag = "pnlSecundario1" + pnlFijos.Initialize("pnlFijos") + pnlContainer.AddView(pnlFijos, 5dip, lblFijosRequeridos.Top + lblFijosRequeridos.Height + 10dip, pnlContainer.Width - 10dip, 100dip) + pnlFijos.Color = xui.Color_White + pnlFijos.Tag = "pnlFijos" - etCantidadProductos2.Initialize("etCantidadProductos2") - etCantidadProductos2.TextColor = xui.Color_Black - etCantidadProductos2.TextSize = 12 - etCantidadProductos2.Color = xui.Color_LightGray - etCantidadProductos2.Gravity = Gravity.CENTER - etCantidadProductos2.SingleLine = True + lblVariablesRequeridas1.Initialize("lblVariablesRequeridas1") + lblVariablesRequeridas1.TextColor = xui.Color_Black + lblVariablesRequeridas1.TextSize = 12 + lblVariablesRequeridas1.Color = xui.Color_LightGray + lblVariablesRequeridas1.Gravity = Gravity.CENTER + lblVariablesRequeridas1.SingleLine = True - pnlSecundario2.Initialize("pnlSecundario2") - pnlContainer.AddView(pnlSecundario2, 5dip, etCantidadProductos2.Top + etCantidadProductos2.Height + 10dip, pnlContainer.Width - 10dip, 100dip) - pnlSecundario2.Color = xui.Color_White - pnlSecundario2.Tag = "pnlSecundario2" + pnlVariables1.Initialize("pnlVariables1") + pnlContainer.AddView(pnlVariables1, 5dip, lblVariablesRequeridas1.Top + lblVariablesRequeridas1.Height + 10dip, pnlContainer.Width - 10dip, 100dip) + pnlVariables1.Color = xui.Color_White + pnlVariables1.Tag = "pnlVariables1" - etCantidadProductos3.Initialize("etCantidadProductos3") - etCantidadProductos3.TextSize = 12 - etCantidadProductos3.Color = xui.Color_LightGray - etCantidadProductos3.Gravity = Gravity.CENTER - etCantidadProductos3.TextColor = xui.Color_Black - etCantidadProductos3.SingleLine = True + lblVariablesRequeridas2.Initialize("lblVariablesRequeridas2") + lblVariablesRequeridas2.TextSize = 12 + lblVariablesRequeridas2.Color = xui.Color_LightGray + lblVariablesRequeridas2.Gravity = Gravity.CENTER + lblVariablesRequeridas2.TextColor = xui.Color_Black + lblVariablesRequeridas2.SingleLine = True - pnlSecundario3.Initialize("pnlSecundario3") - pnlContainer.AddView(pnlSecundario3, 5dip, etCantidadProductos3.Top + etCantidadProductos3.Height + 10dip, pnlContainer.Width - 10dip, 100dip) - pnlSecundario3.Color = xui.Color_White - pnlSecundario3.Tag = "pnlSecundario3" + 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 @@ -238,50 +241,51 @@ Private Sub B4XPage_Created (Root1 As B4XView) etLimiteSuma_Sub_pnl3.SingleLine = True Dim anchoTotal As Int = pnlContainer.Width - 20dip - Dim anchoEtCantidadProductos As Int = anchoTotal * 0.65 - Dim anchoEtLimiteSuma As Int = anchoTotal - anchoEtCantidadProductos + Dim ancholblFijosRequeridos As Int = anchoTotal * 0.65 + Dim anchoEtLimiteSuma As Int = anchoTotal - ancholblFijosRequeridos - pnlContainer.AddView(etCantidadProductos, 10dip, 10dip, anchoEtCantidadProductos, 50dip) - pnlContainer.AddView(etLimiteSuma_Sub_pnl1, etCantidadProductos.Left + etCantidadProductos.Width + 10dip, 10dip, anchoEtLimiteSuma, 50dip) + pnlContainer.AddView(lblFijosRequeridos, 10dip, 10dip, ancholblFijosRequeridos, 50dip) + pnlContainer.AddView(etLimiteSuma_Sub_pnl1, lblFijosRequeridos.Left + lblFijosRequeridos.Width + 10dip, 10dip, anchoEtLimiteSuma, 50dip) - pnlContainer.AddView(etCantidadProductos2, 10dip, etCantidadProductos.Top + etCantidadProductos.Height + 10dip, anchoEtCantidadProductos, 50dip) - pnlContainer.AddView(etLimiteSuma_Sub_pnl2, etCantidadProductos2.Left + etCantidadProductos2.Width + 10dip, etCantidadProductos2.Top, 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(etCantidadProductos3, 10dip, etCantidadProductos2.Top + etCantidadProductos2.Height + 10dip, anchoEtCantidadProductos, 50dip) - pnlContainer.AddView(etLimiteSuma_Sub_pnl3, etCantidadProductos3.Left + etCantidadProductos3.Width + 10dip, etCantidadProductos3.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) - etCantidadProductos4.Initialize("etCantidadProductos4") - etCantidadProductos4.TextSize = 12 - etCantidadProductos4.Color = xui.Color_LightGray - etCantidadProductos4.Gravity = Gravity.CENTER - etCantidadProductos4.TextColor = xui.Color_Black - etCantidadProductos4.SingleLine = True + 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 - pnlSecundario4.Initialize("pnlSecundario4") - pnlContainer.AddView(pnlSecundario4, 5dip, etCantidadProductos4.Top + etCantidadProductos4.Height + 10dip, pnlContainer.Width - 10dip, 100dip) - pnlSecundario4.Color = xui.Color_White - pnlSecundario4.Tag = "pnlSecundario4" + 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(etCantidadProductos4, 10dip, etCantidadProductos3.Top + etCantidadProductos3.Height + 10dip, anchoEtCantidadProductos, 50dip) - pnlContainer.AddView(etLimiteSuma_Sub_pnl4, etCantidadProductos4.Left + etCantidadProductos4.Width + 10dip, etCantidadProductos4.Top, anchoEtLimiteSuma, 50dip) + 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 - etCantidadProductos.Text = "0" - etCantidadProductos2.Text = "0" - etCantidadProductos3.Text = "0" - etCantidadProductos4.Text = "0" + lblFijosRequeridos.Text = "0" + lblVariablesRequeridas1.Text = "0" + lblVariablesRequeridas2.Text = "0" + lblVariablesRequeridas3.Text = "0" productosFijos = 0 variablesRequeridas1= 0 @@ -292,10 +296,10 @@ Private Sub B4XPage_Appear sumaVar2Tot = 0 sumaVar3Tot = 0 - If pnlSecundario1.IsInitialized Then pnlSecundario1.RemoveAllViews - If pnlSecundario2.IsInitialized Then pnlSecundario2.RemoveAllViews - If pnlSecundario3.IsInitialized Then pnlSecundario3.RemoveAllViews - If pnlSecundario4.IsInitialized Then pnlSecundario4.RemoveAllViews + 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 @@ -312,7 +316,7 @@ Private Sub B4XPage_Appear ActualizarTotalValor - lblSumaTotal.Text = SumarValoresLblValue + lblSumaTotal.Text = SumarFijos + SumarVariables1 +SumarVariables2 + SumarVariables3 ActualizarVisibilidadBtnGuardaPromo @@ -330,9 +334,9 @@ Private Sub ObtenerFijos(promo As String) If cursorProductosFijos.GetInt("CAT_DP_PZAS") <> 0 And cursorProductosFijos.GetString("CAT_DP_PZAS") <> " " Then productosFijos = cursorProductosFijos.GetInt("CAT_DP_PZAS") Else - etCantidadProductos.Visible = False + lblFijosRequeridos.Visible = False etLimiteSuma_Sub_pnl1.Visible = False - pnlSecundario1.Visible = False + pnlFijos.Visible = False End If Else @@ -351,28 +355,28 @@ Private Sub ObtenerVariablesRequeridas(promo As String) If cursorVariablesReq.GetInt("CAT_GP_VAR1REQ") <> 0 And cursorVariablesReq.GetString("CAT_GP_VAR1REQ") <> " " Then variablesRequeridas1 = cursorVariablesReq.GetInt("CAT_GP_VAR1REQ") Else - etCantidadProductos2.Visible = False + lblVariablesRequeridas1.Visible = False etLimiteSuma_Sub_pnl2.Visible = False - pnlSecundario2.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 - etCantidadProductos3.Visible = False + lblVariablesRequeridas2.Visible = False etLimiteSuma_Sub_pnl3.Visible = False - pnlSecundario3.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") - etCantidadProductos4.Visible = True + lblVariablesRequeridas3.Visible = True etLimiteSuma_Sub_pnl4.Visible = True - pnlSecundario4.Visible = True + pnlVariables3.Visible = True Else - etCantidadProductos4.Visible = False + lblVariablesRequeridas3.Visible = False etLimiteSuma_Sub_pnl4.Visible = False - pnlSecundario4.Visible = False + pnlVariables3.Visible = False End If Else variablesRequeridas1 = 0 @@ -389,10 +393,10 @@ Sub muestraPromo(promo As String, cliente As String) estaPromo = promo esteCliente = cliente Private mp As Map = Subs.traePromo(promo, cliente) - Private prodsPromo As Map = mp.Get("productos") - Dim invDispPromo As Map = Subs.traemosInventarioDisponibleParaPromo(promo) + + Log("Esto es el minimo? <<<<<<<<" & Subs.MaxPromQuery(promo)) - lblMaxPromo.Text = Subs.revisaMaxPromosProdsVariablesPorInventario(mp) + lblMaxPromo.Text = Subs.MaxPromQuery(promo) lblSumPromo.Text = 1 Private cs As CSBuilder @@ -405,191 +409,243 @@ Sub muestraPromo(promo As String, cliente As String) Log(etLimiteSuma_Sub_pnl2.Text) - If pnlSecundario1.IsInitialized Then pnlSecundario1.RemoveAllViews - If pnlSecundario2.IsInitialized Then pnlSecundario2.RemoveAllViews - If pnlSecundario3.IsInitialized Then pnlSecundario3.RemoveAllViews - If pnlSecundario4.IsInitialized Then pnlSecundario4.RemoveAllViews + If pnlFijos.IsInitialized Then pnlFijos.RemoveAllViews + If pnlVariables1.IsInitialized Then pnlVariables1.RemoveAllViews + If pnlVariables2.IsInitialized Then pnlVariables2.RemoveAllViews + If pnlVariables3.IsInitialized Then pnlVariables3.RemoveAllViews Encabezado = promo If productosFijos > 0 Then - pnlSecundario1.Visible = True - etCantidadProductos.Visible = True - etCantidadProductos.Text = $"Productos Fijos: '${productosFijos}'"$ - etCantidadProductos.Left = 0 - etCantidadProductos.Width = Root.Width + 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 - GenerarPanelesP1(cursorProdFijo.GetString("CAT_GP_NOMBRE"), cursorProdFijo.GetString("CAT_GP_ALMACEN"), cursorProdFijo.GetString("CAT_DP_PRECIO"), cursorProdFijo.GetString("CAT_DP_IDPROD"), 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 - pnlSecundario1.Visible = False -' etCantidadProductos.Text = $"No hay productos Fijos"$ - etCantidadProductos.Visible = False + pnlFijos.Visible = False + lblFijosRequeridos.Text = $"No hay productos Fijos"$ + lblFijosRequeridos.Visible = False End If If variablesRequeridas1 > 0 Then - pnlSecundario2.Visible = True - etCantidadProductos2.Visible = True - etCantidadProductos2.Text = $"Primeros Variables Requeridos: '${variablesRequeridas1}'"$ - etCantidadProductos2.Left = 0 - etCantidadProductos2.Width = Root.Width + 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 - GenerarPanelesP2(cursorNomProductosVar1.GetString("CAT_GP_NOMBRE"), cursorNomProductosVar1.GetString("CAT_GP_ALMACEN"), cursorNomProductosVar1.GetString("CAT_DP_PRECIO"), cursorNomProductosVar1.GetString("CAT_DP_IDPROD"), 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 - pnlSecundario2.Visible = False - etCantidadProductos2.Visible = False + pnlVariables1.Visible = False + lblVariablesRequeridas1.Visible = False End If If variablesRequeridas2 > 0 Then - pnlSecundario3.Visible = True - etCantidadProductos3.Visible = True - etCantidadProductos3.Text = $"Segundos Variables Requeridos: '${variablesRequeridas2}'"$ - etCantidadProductos3.Left = 0 - etCantidadProductos3.Width = Root.Width + 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 - GenerarPanelesP3(cursorNomProductosVar2.GetString("CAT_GP_NOMBRE"), cursorNomProductosVar2.GetString("CAT_GP_ALMACEN"), cursorNomProductosVar2.GetString("CAT_DP_PRECIO"), cursorNomProductosVar2.GetString("CAT_DP_IDPROD"), 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 - pnlSecundario3.Visible = False - etCantidadProductos3.Visible = False + pnlVariables2.Visible = False + lblVariablesRequeridas2.Visible = False End If If variablesRequeridas3 > 0 Then - pnlSecundario4.Visible = True - etCantidadProductos4.Visible = True - etCantidadProductos4.Text = $"Tercer Variables Requeridas: '${variablesRequeridas3}'"$ - etCantidadProductos4.Width = Root.Width + 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 - GenerarPanelesP4(cursorNomProductosVar3.GetString("CAT_GP_NOMBRE"), cursorNomProductosVar3.GetString("CAT_GP_ALMACEN"), cursorNomProductosVar3.GetString("CAT_DP_PRECIO"), cursorNomProductosVar3.GetString("CAT_DP_IDPROD"), 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 - pnlSecundario4.Visible = False - etCantidadProductos4.Visible = False + 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 - - etCantidadProductos.Text = $"Productos Fijos: '${productosFijos}'"$ - etCantidadProductos.Left = 0 - etCantidadProductos.Width = Root.Width - - etCantidadProductos2.Text = $"Primeros Variables Requeridos: '${variablesRequeridas1}'"$ - etCantidadProductos2.Left = 0 - etCantidadProductos2.Width = Root.Width - - etCantidadProductos3.Text = $"Segundos Variables Requeridos: '${variablesRequeridas2}'"$ - etCantidadProductos3.Left = 0 - etCantidadProductos3.Width = Root.Width - - etCantidadProductos4.Text = $"Tercer Variables Requeridas: '${variablesRequeridas3}'"$ - etCantidadProductos4.Left = 0 - etCantidadProductos4.Width = Root.Width - - lblSumaTotal.Text = SumarValoresLblValue - - ActualizarTotalValor - + + 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 - etCantidadProductos.Text = $"Productos Fijos: '${productosFijos}'"$ - etCantidadProductos.Left = 0 - etCantidadProductos.Width = Root.Width - etCantidadProductos2.Text = $"Primeros Variables Requeridos: '${variablesRequeridas1}'"$ - etCantidadProductos2.Left = 0 - etCantidadProductos2.Width = Root.Width - etCantidadProductos3.Text = $"Segundos Variables Requeridos: '${variablesRequeridas2}'"$ - etCantidadProductos3.Left = 0 - etCantidadProductos3.Width = Root.Width - etCantidadProductos4.Text = $"Tercer Variables Requeridas: '${variablesRequeridas3}'"$ - etCantidadProductos4.Left = 0 - etCantidadProductos4.Width = Root.Width - - lblSumaTotal.Text = SumarValoresLblValue - - ActualizarTotalValor - + ' 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 - If sumaVar1Tot >= variablesRequeridas1 Then +' 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 - - Dim pnlProducto As Panel - pnlProducto = Sender.As(View).Parent + Log("Termiamos boton mas") + sumaVar1Tot = SumarVariables1 - 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 + 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 - lblValue.Text = currentValue - + lblValueVar1.Text = currentValue sumaVar1Tot = sumaVar1Tot + 1 - lblSumaTotal.Text = SumarValoresLblValue - - ActualizarVisibilidadBtnGuardaPromo - - ActualizarTotalValor + RecalcularSumas End Sub Private Sub btnVars1Menos_Click +' etVar1HasFocus = False +' etVar2HasFocus = False +' etVar3HasFocus = False Dim pnlProducto As Panel pnlProducto = Sender.As(View).Tag @@ -608,44 +664,36 @@ Private Sub btnVars1Menos_Click sumaVar1Tot = sumaVar1Tot - 1 - lblSumaTotal.Text = SumarValoresLblValue - - ActualizarVisibilidadBtnGuardaPromo - - ActualizarTotalValor + 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 - pnlProducto = Sender.As(View).Parent - 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 + 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 - lblValue.Text = currentValue - + lblValueVar2.Text = currentValue sumaVar2Tot = sumaVar2Tot + 1 - - lblSumaTotal.Text = SumarValoresLblValue - ActualizarVisibilidadBtnGuardaPromo - - ActualizarTotalValor + RecalcularSumas End Sub Private Sub btnVars2Menos_Click +' etVar1HasFocus = False +' etVar2HasFocus = False +' etVar3HasFocus = False Dim pnlProducto As Panel pnlProducto = Sender.As(View).Tag @@ -664,44 +712,35 @@ Private Sub btnVars2Menos_Click sumaVar2Tot = sumaVar2Tot - 1 - lblSumaTotal.Text = SumarValoresLblValue - - ActualizarVisibilidadBtnGuardaPromo - - ActualizarTotalValor + 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 - pnlProducto = Sender.As(View).Parent - 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 + 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 - lblValue.Text = currentValue - + lblValueVar3.Text = currentValue sumaVar3Tot = sumaVar3Tot + 1 - - lblSumaTotal.Text = SumarValoresLblValue - - ActualizarVisibilidadBtnGuardaPromo - - ActualizarTotalValor + + RecalcularSumas End Sub Private Sub btnVars3Menos_Click +' etVar1HasFocus = False +' etVar2HasFocus = False +' etVar3HasFocus = False Dim pnlProducto As Panel pnlProducto = Sender.As(View).Tag @@ -720,14 +759,12 @@ Private Sub btnVars3Menos_Click sumaVar3Tot = sumaVar3Tot - 1 - ActualizarVisibilidadBtnGuardaPromo - - ActualizarTotalValor + RecalcularSumas End If End Sub -Private Sub GenerarPanelesP1(nombreProd As String, inventario As String, precio As String, idProducto As String, numberOfViews As Int) - If Not(pnlSecundario1.IsInitialized) Then +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 @@ -735,7 +772,7 @@ Private Sub GenerarPanelesP1(nombreProd As String, inventario As String, precio Dim pnlProducto As Panel pnlProducto.Initialize("pnlProducto") - pnlProducto.SetLayout(0, 0, pnlSecundario1.Width, 70dip) + pnlProducto.SetLayout(0, 0, pnlFijos.Width, 70dip) Dim lblNombre As Label lblNombre.Initialize("lblNombre") @@ -748,28 +785,25 @@ Private Sub GenerarPanelesP1(nombreProd As String, inventario As String, precio pnlProducto.Tag = estePrecio - pnlSecundario1.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlSecundario1.Width, 70dip) - pnlSecundario1.Height = (numberOfViews * 70dip) + 70dip + pnlFijos.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlFijos.Width, 70dip) + pnlFijos.Height = (numberOfViews * 70dip) + 70dip AjustarScroll End Sub -Private Sub GenerarPanelesP2(nombreProd As String, inventario As String, precio As String, idProducto As String, numberOfViews As Int) - If Not(pnlSecundario2.IsInitialized) Then - Return - End If +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, pnlSecundario2.Width, 50dip) + 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 @@ -788,13 +822,16 @@ Private Sub GenerarPanelesP2(nombreProd As String, inventario As String, precio btnMenos.TextColor = xui.Color_White pnlProducto.AddView(btnMenos, pnlProducto.Width - btnWidth - spacing * 2 - lblWidth - btnWidth, 10dip, btnWidth, pnlProducto.Height - 10dip) - Dim lblValue As Label - lblValue.Initialize("lblValue") - lblValue.Text = "0" - lblValue.TextColor = xui.Color_Black - lblValue.Gravity = Gravity.CENTER - lblValue.TextSize = 12 - pnlProducto.AddView(lblValue, btnMenos.Left + btnMenos.Width + spacing, 10dip, lblWidth, 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") @@ -803,26 +840,24 @@ Private Sub GenerarPanelesP2(nombreProd As String, inventario As String, precio btnMas.TextSize = 20 btnMas.Color = Colors.RGB(133, 185, 106) btnMas.TextColor = xui.Color_White - pnlProducto.AddView(btnMas, lblValue.Left + lblValue.Width + spacing, 10dip, btnWidth, pnlProducto.Height - 10dip) + pnlProducto.AddView(btnMas, lblValueVar1.Left + lblValueVar1.Width + spacing, 10dip, btnWidth, pnlProducto.Height - 10dip) pnlProducto.Tag = estePrecio - pnlSecundario2.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlSecundario2.Width, 70dip) - pnlSecundario2.Height = (numberOfViews * 70dip) + 70dip + pnlVariables1.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlVariables1.Width, 70dip) + pnlVariables1.Height = (numberOfViews * 70dip) + 70dip AjustarScroll End Sub -Private Sub GenerarPanelesP3(nombreProd As String, inventario As String, precio As String, idProducto As String, numberOfViews As Int) - If Not(pnlSecundario3.IsInitialized) Then - Return - End If +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, pnlSecundario3.Width, 50dip) + pnlProducto.SetLayout(0, 0, pnlVariables2.Width, 50dip) Dim lblNombre As Label lblNombre.Initialize("lblNombre") @@ -846,13 +881,16 @@ Private Sub GenerarPanelesP3(nombreProd As String, inventario As String, precio btnMenos.TextColor = xui.Color_White pnlProducto.AddView(btnMenos, pnlProducto.Width - btnWidth - spacing * 2 - lblWidth - btnWidth, 10dip, btnWidth, pnlProducto.Height - 10dip) - Dim lblValue As Label - lblValue.Initialize("lblValue") - lblValue.Text = "0" - lblValue.TextColor = xui.Color_Black - lblValue.Gravity = Gravity.CENTER - lblValue.TextSize = 12 - pnlProducto.AddView(lblValue, btnMenos.Left + btnMenos.Width + spacing, 10dip, lblWidth, 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") @@ -861,26 +899,24 @@ Private Sub GenerarPanelesP3(nombreProd As String, inventario As String, precio btnMas.TextSize = 20 btnMas.Color = Colors.RGB(133, 185, 106) btnMas.TextColor = xui.Color_White - pnlProducto.AddView(btnMas, lblValue.Left + lblValue.Width + spacing, 10dip, btnWidth, pnlProducto.Height - 10dip) + pnlProducto.AddView(btnMas, lblValueVar2.Left + lblValueVar2.Width + spacing, 10dip, btnWidth, pnlProducto.Height - 10dip) pnlProducto.Tag = estePrecio - pnlSecundario3.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlSecundario3.Width, 70dip) - pnlSecundario3.Height = (numberOfViews * 70dip) + 70dip + pnlVariables2.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlVariables2.Width, 70dip) + pnlVariables2.Height = (numberOfViews * 70dip) + 70dip AjustarScroll End Sub -Private Sub GenerarPanelesP4(nombreProd As String, inventario As String, precio As String, idProducto As String, numberOfViews As Int) - If Not(pnlSecundario4.IsInitialized) Then - Return - End If +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, pnlSecundario4.Width, 50dip) + pnlProducto.SetLayout(0, 0, pnlVariables3.Width, 50dip) Dim lblNombre As Label lblNombre.Initialize("lblNombre") @@ -904,13 +940,16 @@ Private Sub GenerarPanelesP4(nombreProd As String, inventario As String, precio btnMenos.TextColor = xui.Color_White pnlProducto.AddView(btnMenos, pnlProducto.Width - btnWidth - spacing * 2 - lblWidth - btnWidth, 10dip, btnWidth, pnlProducto.Height - 10dip) - Dim lblValue As Label - lblValue.Initialize("lblValue") - lblValue.Text = "0" - lblValue.TextColor = xui.Color_Black - lblValue.Gravity = Gravity.CENTER - lblValue.TextSize = 12 - pnlProducto.AddView(lblValue, btnMenos.Left + btnMenos.Width + spacing, 10dip, lblWidth, 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") @@ -919,59 +958,247 @@ Private Sub GenerarPanelesP4(nombreProd As String, inventario As String, precio btnMas.TextSize = 20 btnMas.Color = Colors.RGB(133, 185, 106) btnMas.TextColor = xui.Color_White - pnlProducto.AddView(btnMas, lblValue.Left + lblValue.Width + spacing, 10dip, btnWidth, pnlProducto.Height - 10dip) + pnlProducto.AddView(btnMas, lblValueVar3.Left + lblValueVar3.Width + spacing, 10dip, btnWidth, pnlProducto.Height - 10dip) pnlProducto.Tag = estePrecio - pnlSecundario4.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlSecundario4.Width, 70dip) - pnlSecundario4.Height = (numberOfViews * 70dip) + 70dip + pnlVariables3.AddView(pnlProducto, 0, numberOfViews * 70dip, pnlVariables3.Width, 70dip) + pnlVariables3.Height = (numberOfViews * 70dip) + 70dip AjustarScroll +End Sub - If VerificarCondicionesParabtnGuardaPromo Then - btnGuardaPromo.Visible = True - Else - btnGuardaPromo.Visible = False - End If +'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 pnlSecundario1.Visible Then - etCantidadProductos.Top = baseHeight - etLimiteSuma_Sub_pnl1.Top = etCantidadProductos.Top - baseHeight = baseHeight + etCantidadProductos.Height + If productosFijos > 0 And pnlFijos.Visible Then + lblFijosRequeridos.Top = baseHeight + etLimiteSuma_Sub_pnl1.Top = lblFijosRequeridos.Top + baseHeight = baseHeight + lblFijosRequeridos.Height - pnlSecundario1.Top = baseHeight - baseHeight = baseHeight + pnlSecundario1.Height + pnlFijos.Top = baseHeight + baseHeight = baseHeight + pnlFijos.Height End If - If variablesRequeridas1 > 0 And pnlSecundario2.Visible Then - etCantidadProductos2.Top = baseHeight - etLimiteSuma_Sub_pnl2.Top = etCantidadProductos2.Top - baseHeight = baseHeight + etCantidadProductos2.Height + If variablesRequeridas1 > 0 And pnlVariables1.Visible Then + lblVariablesRequeridas1.Top = baseHeight + etLimiteSuma_Sub_pnl2.Top = lblVariablesRequeridas1.Top + baseHeight = baseHeight + lblVariablesRequeridas1.Height - pnlSecundario2.Top = baseHeight - baseHeight = baseHeight + pnlSecundario2.Height + pnlVariables1.Top = baseHeight + baseHeight = baseHeight + pnlVariables1.Height End If - If variablesRequeridas2 > 0 And pnlSecundario3.Visible Then - etCantidadProductos3.Top = baseHeight - etLimiteSuma_Sub_pnl3.Top = etCantidadProductos3.Top - baseHeight = baseHeight + etCantidadProductos3.Height + If variablesRequeridas2 > 0 And pnlVariables2.Visible Then + lblVariablesRequeridas2.Top = baseHeight + etLimiteSuma_Sub_pnl3.Top = lblVariablesRequeridas2.Top + baseHeight = baseHeight + lblVariablesRequeridas2.Height - pnlSecundario3.Top = baseHeight - baseHeight = baseHeight + pnlSecundario3.Height + pnlVariables2.Top = baseHeight + baseHeight = baseHeight + pnlVariables2.Height End If - If variablesRequeridas3 > 0 And pnlSecundario4.Visible Then - etCantidadProductos4.Top = baseHeight - etLimiteSuma_Sub_pnl4.Top = etCantidadProductos4.Top - baseHeight = baseHeight + etCantidadProductos4.Height + If variablesRequeridas3 > 0 And pnlVariables3.Visible Then + lblVariablesRequeridas3.Top = baseHeight + etLimiteSuma_Sub_pnl4.Top = lblVariablesRequeridas3.Top + baseHeight = baseHeight + lblVariablesRequeridas3.Height - pnlSecundario4.Top = baseHeight - baseHeight = baseHeight + pnlSecundario4.Height + pnlVariables3.Top = baseHeight + baseHeight = baseHeight + pnlVariables3.Height End If scrollView.Panel.Height = baseHeight @@ -980,24 +1207,18 @@ Private Sub AjustarScroll End Sub Private Sub btnGuardaPromo_Click - Log("Iniciando btnGuardaPromo_Click...") -' Guardamos Encabezado Subs.guardaProductoSinGestion(Encabezado, 0, lblSumPromo.Text, Encabezado, Encabezado, 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 pnlSecundario1.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario1.GetView(i) + 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 idProducto As String = pnlProducto.Tag ' Asegúrate de que esto sea correcto - Log(">>>>>>> ESTE DEBE SER EL ID DEL PRODUCTO" & pnlSecundario1.Tag) 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 @@ -1008,19 +1229,15 @@ Private Sub btnGuardaPromo_Click If variablesRequeridas1 > 0 Then Log("Guardando productos variables (Grupo 1)...") - For i = 0 To pnlSecundario2.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario2.GetView(i) + For i = 0 To pnlVariables1.NumberOfViews - 1 + Dim pnlProducto As Panel = pnlVariables1.GetView(i) Dim precioProducto As Float = pnlProducto.Tag.As(Float) - Dim lblValue As Label = pnlProducto.GetView(2) - Dim cantidad As Int = lblValue.Text.As(Int) - + Dim lblValueVar1 As Label = pnlProducto.GetView(2) + Dim cantidad As Int = lblValueVar1.Text.As(Int) Dim lblNombre As Label = pnlProducto.GetView(0) - Log(">>>>>>> ESTE DEBE SER EL ID DEL PRODUCTO:" & lblNombre.tag) 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) @@ -1032,19 +1249,15 @@ Private Sub btnGuardaPromo_Click If variablesRequeridas2 > 0 Then Log("Guardando productos variables (Grupo 2)...") - For i = 0 To pnlSecundario3.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario3.GetView(i) + For i = 0 To pnlVariables2.NumberOfViews - 1 + Dim pnlProducto As Panel = pnlVariables2.GetView(i) Dim precioProducto As Float = pnlProducto.Tag.As(Float) - Dim lblValue As Label = pnlProducto.GetView(2) - Dim cantidad As Int = lblValue.Text.As(Int) -' Dim idProducto As String = pnlProducto.Tag - + 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) @@ -1056,19 +1269,15 @@ Private Sub btnGuardaPromo_Click If variablesRequeridas3 > 0 Then Log("Guardando productos variables (Grupo 3)...") - For i = 0 To pnlSecundario4.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario4.GetView(i) + For i = 0 To pnlVariables3.NumberOfViews - 1 + Dim pnlProducto As Panel = pnlVariables3.GetView(i) Dim precioProducto As Float = pnlProducto.Tag.As(Float) - Dim lblValue As Label = pnlProducto.GetView(2) - Dim cantidad As Int = lblValue.Text.As(Int) -' Dim idProducto As String = pnlProducto.Tag - + 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) @@ -1091,34 +1300,29 @@ Private Sub btnGuardaPromo_Click End Sub Private Sub btnContinuar_Click - Log("Iniciando btnContinuar_Click...") - 'Guardamos Encabezado Subs.guardaProductoSinGestion(Encabezado, 0, lblSumPromo.Text, Encabezado, Encabezado, Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta) - ' Guardar productos fijos (si existen) + If productosFijos > 0 Then - For i = 0 To pnlSecundario1.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario1.GetView(i) + 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 idProducto As String = pnlProducto.Tag - 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) + 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 pnlSecundario2.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario2.GetView(i) + For i = 0 To pnlVariables1.NumberOfViews - 1 + Dim pnlProducto As Panel = pnlVariables1.GetView(i) Dim precioProducto As Float = pnlProducto.Tag.As(Float) - Dim lblValue As Label = pnlProducto.GetView(2) - Dim cantidad As Int = lblValue.Text.As(Int) -' Dim idProducto As String = pnlProducto.Tag + 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 @@ -1132,12 +1336,11 @@ Private Sub btnContinuar_Click End If If variablesRequeridas2 > 0 Then - For i = 0 To pnlSecundario3.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario3.GetView(i) + For i = 0 To pnlVariables2.NumberOfViews - 1 + Dim pnlProducto As Panel = pnlVariables2.GetView(i) Dim precioProducto As Float = pnlProducto.Tag.As(Float) - Dim lblValue As Label = pnlProducto.GetView(2) - Dim cantidad As Int = lblValue.Text.As(Int) -' Dim idProducto As String = pnlProducto.Tag + 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 @@ -1151,12 +1354,11 @@ Private Sub btnContinuar_Click End If If variablesRequeridas3 > 0 Then - For i = 0 To pnlSecundario4.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario4.GetView(i) + For i = 0 To pnlVariables3.NumberOfViews - 1 + Dim pnlProducto As Panel = pnlVariables3.GetView(i) Dim precioProducto As Float = pnlProducto.Tag.As(Float) - Dim lblValue As Label = pnlProducto.GetView(2) - Dim cantidad As Int = lblValue.Text.As(Int) -' Dim idProducto As String = pnlProducto.Tag + 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 @@ -1218,111 +1420,137 @@ Private Sub VerificarCondicionesParabtnGuardaPromo As Boolean Dim condicionVar3 As Boolean = True If hayVar1 Then - condicionVar1 = (sumaVar1Tot = variablesRequeridas1) - Log("Condición Var1: " & condicionVar1) + condicionVar1 = (SumarVariables1 = variablesRequeridas1) +' Log("Condición Var1: " & condicionVar1) End If If hayVar2 Then - condicionVar2 = (sumaVar2Tot = variablesRequeridas2) - Log("Condición Var2: " & condicionVar2) + condicionVar2 = (SumarVariables2 = variablesRequeridas2) +' Log("Condición Var2: " & condicionVar2) End If If hayVar3 Then - condicionVar3 = (sumaVar3Tot = variablesRequeridas3) - Log("Condición Var3: " & condicionVar3) + 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.") +' 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.") +' 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 -' Log("Hay productos fijos y no hay variables requeridas, se muestra el botón.") Return True End If - Log("No hay valores mayores a 0, no se muestra el botón.") +' Log("No hay valores mayores a 0, no se muestra el botón.") Return False End Sub -Private Sub SumarValoresLblValue As Int - Dim total As Int = 0 +Private Sub SumarFijos As Int + Dim totalFijos As Int = 0 - If pnlSecundario1.IsInitialized Then - total = total + productosFijos + If pnlFijos.IsInitialized Then + totalFijos = totalFijos + productosFijos End If - - If pnlSecundario2.IsInitialized Then - For i = 0 To pnlSecundario2.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario2.GetView(i) - Dim lblValue As Label = pnlProducto.GetView(2) - total = total + lblValue.Text.As(Int) + + 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 - If pnlSecundario3.IsInitialized Then - For i = 0 To pnlSecundario3.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario3.GetView(i) - Dim lblValue As Label = pnlProducto.GetView(2) - total = total + lblValue.Text.As(Int) + 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 - If pnlSecundario4.IsInitialized Then - For i = 0 To pnlSecundario4.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario4.GetView(i) - Dim lblValue As Label = pnlProducto.GetView(2) - total = total + lblValue.Text.As(Int) + 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 total + Return totalVar3 End Sub Private Sub CalcularTotalValor As Float Dim total As Float = 0 - If pnlSecundario1.IsInitialized And productosFijos > 0 Then - For i = 0 To pnlSecundario1.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario1.GetView(i) + 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 pnlSecundario2.IsInitialized Then - For i = 0 To pnlSecundario2.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario2.GetView(i) - Dim lblValue As Label = pnlProducto.GetView(2) - Dim cantidad As Int = lblValue.Text.As(Int) + 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 pnlSecundario3.IsInitialized Then - For i = 0 To pnlSecundario3.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario3.GetView(i) - Dim lblValue As Label = pnlProducto.GetView(2) - Dim cantidad As Int = lblValue.Text.As(Int) + 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 pnlSecundario4.IsInitialized Then - For i = 0 To pnlSecundario4.NumberOfViews - 1 - Dim pnlProducto As Panel = pnlSecundario4.GetView(i) - Dim lblValue As Label = pnlProducto.GetView(2) - Dim cantidad As Int = lblValue.Text.As(Int) + 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 diff --git a/B4A/INTMEX.b4a b/B4A/INTMEX.b4a index 90a60d5..83a84ff 100644 --- a/B4A/INTMEX.b4a +++ b/B4A/INTMEX.b4a @@ -95,31 +95,30 @@ Group=Default Group Library1=appupdating Library10=core Library11=fileprovider -Library12=firebaseadmob -Library13=firebaseanalytics -Library14=firebasenotifications -Library15=fusedlocationprovider -Library16=googlemaps -Library17=googlemapsextras -Library18=gps -Library19=ime +Library12=firebaseanalytics +Library13=firebasenotifications +Library14=fusedlocationprovider +Library15=googlemaps +Library16=googlemapsextras +Library17=gps +Library18=ime +Library19=javaobject Library2=b4xpages -Library20=javaobject -Library21=json -Library22=okhttputils2 -Library23=phone -Library24=preoptimizedclv -Library25=randomaccessfile -Library26=replyauto -Library27=rspopupmenu -Library28=serial -Library29=sql +Library20=json +Library21=okhttputils2 +Library22=phone +Library23=preoptimizedclv +Library24=randomaccessfile +Library25=replyauto +Library26=rspopupmenu +Library27=serial +Library28=sql +Library29=stringutils Library3=baqrcode -Library30=stringutils -Library31=togglelibrary -Library32=xcustomlistview -Library33=xui -Library34=runtimepermissions +Library30=togglelibrary +Library31=xcustomlistview +Library32=xui +Library33=runtimepermissions Library4=batteryprogressview Library5=bitmapcreator Library6=byteconverter @@ -158,14 +157,14 @@ Module7=C_Historico Module8=C_Mapas Module9=C_Nota NumberOfFiles=46 -NumberOfLibraries=34 +NumberOfLibraries=33 NumberOfModules=30 -Version=12.8 +Version=13.1 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Intmex #VersionCode: 1 - #VersionName: 5.03.11.MV + #VersionName: 5.03.20.MV 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/INTMEX.b4a.meta b/B4A/INTMEX.b4a.meta index 5fa088d..342c1ac 100644 --- a/B4A/INTMEX.b4a.meta +++ b/B4A/INTMEX.b4a.meta @@ -67,7 +67,7 @@ ModuleClosedNodes11= ModuleClosedNodes12= ModuleClosedNodes13=3 ModuleClosedNodes14=11 -ModuleClosedNodes15=21 +ModuleClosedNodes15= ModuleClosedNodes16= ModuleClosedNodes17= ModuleClosedNodes18= @@ -91,6 +91,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Promos,ObtenerVariablesRequeridas,351,0,C_Promos,B4XPage_Created,235,0,C_Promos,GenerarPanelesP1,750,0,C_Promos,Class_Globals,56,0,C_Validador,mandaGuardados,67,0,Tracker,CreateNotification,199,0,C_Validador,revisaGuardados,128,0,C_Validador,JobDone,241,3,C_Promos,btnGuardaPromo_Click,975,2,C_Promos,btnContinuar_Click,1156,0,Main,Activity_Create,29,0 +NavigationStack=C_Productos,lv_promos_ItemLongClick,817,0,C_Nota,ListView1_ItemLongClick,165,0,C_Nota,B4XPage_Appear,57,0,C_Nota,borra_Click,154,6,C_RespaldoDiario,Class_Globals,0,0,C_Promos,Class_Globals,18,0,Diseñador Visual,pedido.bal,-100,1,C_Productos,b_terminar1_Click,770,0,Diseñador Visual,productos.bal,-100,3,C_Productos,lv_prodsPedido_ItemLongClick,987,4 SelectedBuild=0 -VisibleModules=2,28,13,14,4,20,29,15,16,18 +VisibleModules=2,28,14,9,4,20,29,15,16,18,13 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index b1ea1ce..efb9247 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -664,12 +664,13 @@ End Sub 'Regresa el almacen actual de la base de datos. Sub traeAlmacen As String 'ignore - Private c As Cursor + Private c2 As Cursor Private a As String - c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") - c.Position = 0 - a = C.GetString("ID_ALMACEN") - c.Close + c2=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + + c2.Position = 0 + a = c2.GetString("ID_ALMACEN") + Return a End Sub @@ -1121,6 +1122,29 @@ Sub traeMaxPromos(pm As Map) As Int Return maxPromos.Get(0) - vendidas 'Regresamos el numero mas pequeño de las opciones. End Sub +Sub MaxPromQuery(promo As String) As Int + Private cMaxPromo As Cursor + Private minValue As Int + + cMaxPromo = B4XPages.MainPage.skmt.ExecQuery($"SELECT CAT_PA_ID, CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE FROM PROMOS_COMP where CAT_PA_ID = '${promo}'"$) + + If cMaxPromo.RowCount > 0 Then + cMaxPromo.Position = 0 + + Dim val1 As Int = cMaxPromo.GetInt("CAT_PA_MAXPROM") + Dim val2 As Int = cMaxPromo.GetInt("CAT_PA_MAXPROMREC") + Dim val3 As Int = cMaxPromo.GetInt("CAT_PA_MAXPROMCLIE") + + minValue = val1 + If val2 < minValue Then minValue = val2 + If val3 < minValue Then minValue = val3 + Else + minValue = 0 + End If + + Return minValue +End Sub + 'Regresa la cantidad de promos que se le han vendido al cliente. Sub traePromosVendidas(promo As String, cliente As String) As Int Private c As Cursor