From b7c9be52019de3724521847ea918bd5e59cd8f5a Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Thu, 10 Oct 2024 19:41:44 -0600 Subject: [PATCH] - VERSION 4.10.09.EP_d - Se corrige el error de que a veces cuando se mete producto, no lo agrega al pedido (normalmente para Chong), basicamente si se buscaba un producto y se escribia muy rapido, duplicaba los resultados y al agregar el producto, se agregaba en blanco. - Se hicieron cambios en la clase del cuestionario para que no se amontonen las preguntas y se vean mejor en algunas pantallas. --- B4A/C_Cliente.bas | 101 +++++++--------------------------- B4A/C_Clientes.bas | 13 +++-- B4A/C_Cuestionario.bas | 19 +++++-- B4A/C_Productos.bas | 12 ++-- B4A/Guna Vistas V3.1.b4a | 2 +- B4A/Guna Vistas V3.1.b4a.meta | 4 +- B4A/Starter.bas | 1 - B4A/Subs.bas | 4 +- 8 files changed, 55 insertions(+), 101 deletions(-) diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index f6b39d7..0566983 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -481,34 +481,39 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear - que_modulo = 1 - dentroDeGeocerca = False - indicePregunta = 0 If TOMAR_FOTO <> 0 Then Cuestionario - B4XPages.MainPage.tipo_venta = tipo_venta encuentasmapa.Initialize Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA) Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean) Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean) - LA_GPS.TextColor = Colors.Red LA_GPS.Text = "SIN UBICACION GPS" cercavalor = 0 + + b_Inicio_Fin_venta.Text = "INICIAR VENTA" + b_Inicio_Fin_venta.BringToFront +' LogColor(">>>>>> EN VENTA: " & Starter.enVenta, Colors.red) + If Not(Starter.enVenta) And la_cuenta.Text <> "0" Then + b_Inicio_Fin_venta.Visible = True + Log("EnVenta Visible") + Else + Log("EnVenta NO Visible") + b_Inicio_Fin_venta.Visible = False + End If + If Not(Starter.gps.GPSEnabled) Then ToastMessageShow("Es necesario tener el GPS encendido", True) StartActivity(Starter.gps.LocationSettingsIntent) End If skmt.Initialize(ruta,"kmt.db", True) reqManager.Initialize(Me, Starter.server) - p_camara.Width = Root.Width p_camara.Height = Root.Height - S2=B4XPages.MainPage.skmt.ExecQuery("select count(*) AS CUANTOS from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)") S2.Position =0 CUANTOS = S2.GetString("CUANTOS") @@ -521,7 +526,6 @@ Sub B4XPage_Appear Else MONTO_COMPRA = "0" End If - la_saldotot.Text = MONTO_COMPRA If MONTO_COMPRA <> "0" Then META2 = 300 - MONTO_COMPRA @@ -567,12 +571,10 @@ Sub B4XPage_Appear Tels.Visible = True gest.Visible = True End If - c = skmt.ExecQuery("SELECT PC_CLIENTE FROM PEDIDO_CLIENTE WHERE PC_CLIENTE IN (Select CUENTA from cuentaa)") If c.RowCount > 0 Then Tels.Visible = True gest.Visible = True - Else If c.RowCount = 0 Then Tels.Visible = False gest.Visible = False @@ -589,14 +591,11 @@ Sub B4XPage_Appear gest.Visible = True End If End If - - LA_GEO.TextColor = Colors.Red If ALMACEN = "1" Then Tels.Visible = False gest.Visible = True End If - End If CallSubDelayed(Tracker, "Track") CallSubDelayed(Tracker, "StartFLPSmall") @@ -650,7 +649,6 @@ Sub B4XPage_Appear Printer1.Connect Log("2") End If - c = skmt.ExecQuery("SELECT HABILITADA FROM IMPRESORA") If c.RowCount > 0 Then c.Position = 0 @@ -663,21 +661,7 @@ Sub B4XPage_Appear B_IMP.Visible = False End If ' Log(distance) - - b_Inicio_Fin_venta.Text = "INICIAR VENTA" - b_Inicio_Fin_venta.BringToFront - ' LogColor(">>>>>> EN VENTA: " & Starter.enVenta, Colors.red) - If Not(Starter.enVenta) And la_cuenta.Text <> "0" Then - b_Inicio_Fin_venta.Visible = True - Log("EnVenta Visible") - Else - Log("EnVenta NO Visible") - b_Inicio_Fin_venta.Visible = False - End If -' LogColor(">>>>>> EN VENTA: " & Starter.enVenta, Colors.red) - - ' Log(Subs.InvSuficientePromoEsp) ' Log(Subs.traemontoprod) If ALMACEN = 32 Then @@ -691,7 +675,6 @@ Sub B4XPage_Appear End If If Not(Subs.traemontoprod) And Subs.vendidoPromoEsp Then Private j3 As Cursor - Log("SI PROMO") 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_PROID = ?)",Array As String("PROUNI01")) Log(j3.RowCount) @@ -708,27 +691,21 @@ Sub B4XPage_Appear Else End If End If - If ALMACEN = 87 Or ALMACEN = 6 Then If Subs.traemontoprod Then Msgbox2Async("El cliente tiene derecho a un descuento de 150 pesos por la compra de mas de $500 en productos Productos participantes" , "Descuento disponible", "Aceptar", "", "", LoadBitmap(File.DirAssets,"alert2.png"), False) Wait For Msgbox_Result (resultado As Int) If resultado = DialogResponse.POSITIVE Then - Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT SUM(PE_CANT) AS PIEZAS FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA)") If c.RowCount > 0 Then c.Position = 0 - Private des As Float = NumberFormat2(150/c.GetString("PIEZAS"),0,2,2,False) Log( NumberFormat2(des,0,2,2,False)) - Private c2 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT Ifnull(SUM(PE_CANT),0) AS PE_CANT FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU < ?",Array As String(des)) If c2.RowCount > 0 Then c2.Position = 0 Log(c2.GetString("PE_CANT")) - End If - Private c3 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT SUM(PE_CANT) AS PE_CANT FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU >= ?",Array As String(des)) If c3.RowCount > 0 Then c3.Position = 0 @@ -737,16 +714,11 @@ Sub B4XPage_Appear Log( NumberFormat2(rec,0,2,2,False)) Private cantres As Float = des + rec Log( NumberFormat2(cantres,0,2,2,False)) - - Private c5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT Ifnull(SUM(PE_CANT),0) AS PE_CANT FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU > ? and PE_COSTOU < ?",Array As String(des, cantres)) If c5.RowCount > 0 Then c5.Position = 0 Log(c5.GetString("PE_CANT")) - If c5.GetString("PE_CANT") = "0" Then - - Private c4 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU >= ?",Array As String(NumberFormat2(cantres,0,2,2,False))) If c4.RowCount > 0 Then For i = 0 To c4.RowCount -1 @@ -754,17 +726,12 @@ Sub B4XPage_Appear Private recalculo As Float = c4.GetString("PE_COSTOU") - NumberFormat2(cantres,0,2,2,False) LogColor(recalculo,Colors.Blue) Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False) - ' Log(recalculo&"|||||"&recalculototal) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_PROID = ? ",Array As String(NumberFormat2(recalculo,0,2,2,False) ,NumberFormat2(recalculototal,0,2,2,False), c4.GetString("PE_PROID"))) - Next End If - c4.Close Else - - Private c6 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT SUM(PE_CANT) AS PE_CANT FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU >= ?",Array As String(cantres)) If c6.RowCount > 0 Then c6.Position = 0 @@ -773,8 +740,6 @@ Sub B4XPage_Appear Log( NumberFormat2(rec1,0,2,2,False)) Private cantres1 As Float = cantres + rec1 Log( NumberFormat2(cantres1,0,2,2,False)) - - Private c4 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU >= ?",Array As String(NumberFormat2(cantres1,0,2,2,False))) If c4.RowCount > 0 Then For i = 0 To c4.RowCount -1 @@ -782,35 +747,22 @@ Sub B4XPage_Appear Private recalculo As Float = c4.GetString("PE_COSTOU") - NumberFormat2(cantres1,0,2,2,False) LogColor(recalculo,Colors.Blue) Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False) - ' Log(recalculo&"|||||"&recalculototal) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_PROID = ? ",Array As String(NumberFormat2(recalculo,0,2,2,False) ,NumberFormat2(recalculototal,0,2,2,False), c4.GetString("PE_PROID"))) - Next End If - c4.Close - End If - - End If - End If - - End If End If - End If c.Close c2.Close c3.Close - End If - If Not(Subs.traemontoprod) Then - Private c4 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND (PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("null")) If c4.RowCount > 0 Then For i = 0 To c4.RowCount -1 @@ -819,22 +771,16 @@ Sub B4XPage_Appear ' Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False) ' Log(recalculo&"|||||"&recalculototal) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_PROID = ? ",Array As String("","",c4.GetString("PE_PROID"))) - Next End If - -' Log("AQUI ESTOY") - Else End If End If - 'AQUI CAMBIAR Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? OR PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL",Array As String("","null")) ' LogColor(s3.RowCount,Colors.Yellow) If s3.RowCount > 0 Then c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)") - s=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null")) s.Position=0 Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("","null")) @@ -879,8 +825,6 @@ Sub B4XPage_Appear End If c.Close s.Close - - Else If s3.RowCount = 0 Then c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)") s=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") @@ -898,7 +842,7 @@ Sub B4XPage_Appear l_atiende.Text = c.GetString("CAT_CL_ATIENDE1") l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2") TELEFONO = c.GetString("CAT_CL_TELEFONO") - Log(s.GetString("TOTAL_CLIE")) +' Log(s.GetString("TOTAL_CLIE")) If s.GetString("TOTAL_CLIE") = Null Then l_total.Text = 0 Else @@ -928,15 +872,13 @@ Sub B4XPage_Appear s.Close End If 'AQUI TERMINA - - c = skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'GEOCERCA'") If c.RowCount > 0 Then c.Position = 0 Dim geo As String = c.GetString("CAT_VA_VALOR") End If c.Close - Log(geo) +' Log(geo) If geo = "0" Then gest.Visible = True Tels.Visible = True @@ -949,8 +891,7 @@ Sub B4XPage_Appear b_Inicio_Fin_venta.Visible = False ' ToastMessageShow("aaa", False) End If - - Log($"ALMACEN: ${ALMACEN}${CRLF}RUTA:${LA_RUTA}"$) +' Log($"ALMACEN: ${ALMACEN}${CRLF}RUTA:${LA_RUTA}"$) End Sub Sub GPS_LocationChanged (Location1 As Location) @@ -1130,11 +1071,10 @@ Private Sub p_pideGeoPass_Click End Sub Private Sub iniciofin - If Starter.VarX = 0 Then + If Starter.enVenta = False Then b_Inicio_Fin_venta.Visible = True - Log("Hacemos visible el boton de Inicio Venta2") +' Log("Hacemos visible el boton de Inicio Venta2") Else - b_Inicio_Fin_venta.Visible = False End If End Sub @@ -1227,10 +1167,10 @@ Sub gest_Click Private rutasEncuesta As List rutasEncuesta.Initialize2(Array As Int(702, 703, 707, 718, 730, 732, 733, 734)) - + ' ALMACEN = 79 ' LA_RUTA = 732 - + If (ALMACEN = 6 And LA_RUTA = 3) Or (ALMACEN = 79 And rutasEncuesta.IndexOf(LA_RUTA.As(Int)) > -1) Then Log($"${cuest.encuestaIniciada} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$) If Not(cuest.encuestaIniciada) And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then @@ -4794,7 +4734,6 @@ Private Sub b_Inicio_Fin_venta_Click Starter.enVenta = False ' LogColor($">>>>>> TERMINA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red) B4XPages.ShowPageAndRemovePreviousPages("Principal") - Starter.VarX = 0 guardadoventa Else if b_Inicio_Fin_venta.Text = "INICIAR VENTA" Then contadorIniciarVenta = 0 @@ -4802,13 +4741,11 @@ Private Sub b_Inicio_Fin_venta_Click contadorIniciarVenta = contadorIniciarVenta + 1 If contadorIniciarVenta = 1 And IniVenNO = False And motivoNoVenta <> "NO VENTA" Then IniVenNO = True - Starter.VarX = 1 Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRutaBitacora, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "") Starter.enVenta = True ' LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red) Else If contadorIniciarVenta = 1 And IniVenNO = False And motivoNoVenta = "NO VENTA" Then IniVenNO = True - Starter.VarX = 1 Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRutaBitacora, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, motivoNoVenta, "") Starter.enVenta = True Else If contadorIniciarVenta > 1 Then diff --git a/B4A/C_Clientes.bas b/B4A/C_Clientes.bas index fd4d6b0..6181e76 100644 --- a/B4A/C_Clientes.bas +++ b/B4A/C_Clientes.bas @@ -65,13 +65,13 @@ End Sub Sub B4XPage_Appear busca.Text = "" - entro ="2" + entro = "2" colonia = 0 - c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info2 where gestion = 0 ORDER BY CAT_CL_CODIGO") + c = B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info2 where gestion = 0 ORDER BY CAT_CL_CODIGO") ListView1.Clear lfila.Text = "NOMBRE" If c.RowCount>0 Then - For i=0 To c.RowCount -1 + For i = 0 To c.RowCount - 1 c.Position=i Dim label1 As Label label1 = ListView1.TwoLinesLayout.Label @@ -84,6 +84,11 @@ Sub B4XPage_Appear ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NOMBRE")) Next End If + If B4XPages.MainPage.cliente.cuest.IsInitialized Then + 'Borramos las encuestas que no hayan respondido la pregunta 7, es decir que si no completaron la encuesta, se borra todo para que les vuelva a aparecer. + B4XPages.MainPage.skmt.ExecNonQuery("delete from CUESTIONARIO where Q_IDCLIENTE not in (select Q_IDCLIENTE from CUESTIONARIO where Q_IDPREGUNTA = '7')") + Log("Borramos encuestas incompletas") + End If entro = "4" End Sub @@ -115,7 +120,7 @@ Sub ListView1_ItemClick (Position As Int, Value As Object) End If entro = "4" Else If entro = "4" Then - Starter.VarX = 0 + Starter.enVenta = False B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA") B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value)) DateTime.TimeFormat = "HHmmss" diff --git a/B4A/C_Cuestionario.bas b/B4A/C_Cuestionario.bas index 8d418e9..d6f91c4 100644 --- a/B4A/C_Cuestionario.bas +++ b/B4A/C_Cuestionario.bas @@ -18,6 +18,7 @@ Sub Class_Globals Dim panelSombra As Panel 'Panel de sombra. Dim cb_respuestas As String = "" Dim panelActual As Panel + Dim bringToFrontCont As Int = 0 End Sub 'You can add more parameters here. @@ -172,7 +173,6 @@ Sub agregaPreguntaAbierta(id As String, pregunta As String, ids As List, respues encuestaIniciada = True vPreguntaActual = id bAceptarPregunta.Initialize("bAceptarPregunta") - bAceptarPregunta.Enabled = False Private su As StringUtils panelSombra.Initialize("pSombra") Private cd As ColorDrawable @@ -202,31 +202,38 @@ Sub agregaPreguntaAbierta(id As String, pregunta As String, ids As List, respues For p = 0 To respuestas.Size - 1 et(p).Initialize("et") labelX(p).Initialize("labelX") + labelX(p).Height = 60dip ' et(p).Color = Colors.red ' labelX(p).Color = Colors.Blue et(p).As(B4XView).SetTextAlignment("CENTER", "CENTER") labelX(p).As(B4XView).SetTextAlignment("CENTER", "CENTER") - et(p).SetTextSizeAnimated(0, 14) + et(p).SetTextSizeAnimated(0, 10) et(p).Tag = CreateMap("id":id, "pregunta":pregunta, "panel":panelSombra, "idRespuesta":ids.Get(p)) labelX(p).Text = respuestas.Get(p) + Private lx As Label = labelX(p) et(p).Text = "" Log($"Agregamos ET ${labelX(p).text} - ${(70*p)}"$) +' Private labelXHeight As String = + Log(labelX(p).Height) sv_cuest.panel.AddView(labelX(p), 0, (70 * p), (panelX.Width * 0.72), 60) 'Agregamos la etiqueta al panel. - sv_cuest.panel.AddView(et(p), (labelX(p).Width + 5), (70 * p), (panelX.Width * 0.2), 60) 'Agregamos el edittext al panel. + sv_cuest.panel.AddView(et(p), (labelX(p).Width + 5), (70 * p), (panelX.Width * 0.2), 85) 'Agregamos el edittext al panel. Private newTop As Int = 0 'lbl.top + lbl.Height + 20 'Si es el primer radio, lo ponemos en top = alto de la "pregunta" + 10. If p <> 0 Then newTop = et(p - 1).Top + et(p - 1).Height + 5 'Calculamos el Top del radio de acuerdo al top y alto del radio anterior. et(p).Top = newTop labelX(p).Top = newTop Next bAceptarPregunta.Text = "Continuar" - panelX.AddView(sv_cuest, 10, lbl.top + 45dip, (panelX.Width * 0.95), 300dip) + panelX.AddView(sv_cuest, 10, lbl.top + lbl.Height + 20, (panelX.Width * 0.95), 300dip) sv_cuest.panel.Height = newTop + 40dip panelX.Height = newTop + 80dip + 35dip 'Calculamos el alto del panel de acuerdo al Top del boton. + panelX.Height = 150dip + (respuestas.Size * 80) 'Calculamos el alto del panel de acuerdo al Top del boton. + If panelX.Height > (Root2.Height * 0.7) Then ' Si el panel es mayor al 70%, lo regresamos al 70%. panelX.Height = Root2.Height * 0.7 End If panelX.AddView(bAceptarPregunta, 10, (panelX.Height - 55dip), 150dip, 50dip) 'Ponemos el boton de continuar despues del ultimo radio. bAceptarPregunta.Left = (panelX.Width / 2) - (bAceptarPregunta.Width / 2) + bAceptarPregunta.Enabled = False sv_cuest.Height = panelX.Height - (lbl.Top + lbl.Height) - 55dip panelX.left = (Root2.Width / 2) - (panelX.Width / 2) panelX.top = (Root2.Height / 2) - (panelX.Height / 2) 'Centramos verticalmente el panel. @@ -235,6 +242,7 @@ Sub agregaPreguntaAbierta(id As String, pregunta As String, ids As List, respues panelSombra.Height = Root2.Height panelSombra.Elevation = 100dip panelSombra.BringToFront + bringToFrontCont = 0 End Sub private Sub preguntaContestada(Success As Map) 'ignore @@ -305,7 +313,7 @@ private Sub cb_CheckedChange(Checked As Boolean) End Sub Private Sub et_TextChanged(Old As String, New As String) -' Log($"${Old}, ${New}"$) + Log($"${Old}, ${New}"$) Private etTotales As Int = 0 Private etCont As Int = 0 Private etResps As String = "" @@ -328,6 +336,7 @@ Private Sub et_TextChanged(Old As String, New As String) End If Next ' Log($"${etResps}, ${etIdResps}"$) + Log($"${etCont}, ${etTotales}"$) bAceptarPregunta.Tag = CreateMap("idPregunta":Sender.As(EditText).tag.As(Map).Get("id").As(String), "pregunta":Sender.As(EditText).tag.As(Map).Get("pregunta"), "idRespuesta":etIdResps, "respuesta":etResps, "panel":Sender.As(EditText).tag.As(Map).Get("panel")) If etCont = etTotales Then bAceptarPregunta.Enabled = True Else bAceptarPregunta.Enabled = False End Sub diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 2791563..6736139 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -395,16 +395,17 @@ Sub BUSCA_TextChanged (Old As String, New As String) If New.Length > 2 Or forzarbusqueda Then forzarbusqueda = False Log("searching") - se=B4XPages.MainPage.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_NOMBRE like ? and CAT_GP_CLASIF <> ?", Array As String(q_buscar,"PROMOS")) ' order by CAT_GP_NOMBRE asc + se = B4XPages.MainPage.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_NOMBRE like ? and CAT_GP_CLASIF <> ?", Array As String(q_buscar,"PROMOS")) ' order by CAT_GP_NOMBRE asc ' lv_catalogos.Clear lv_catalogos.Visible = False lv_promos.Visible = False clv_productos.AsView.Visible = True - clv_productos.Clear + Log(se.RowCount) If se.RowCount > 0 Then If se.RowCount > 50 Then ProgressDialogShow("Buscando productos") Sleep(100) - For i=0 To se.RowCount -1 + clv_productos.Clear + For i = 0 To se.RowCount -1 se.Position=i If se.GetString("CAT_GP_TIPOPROD") = "PRIORITARIO" Then bgColor = Colors.RGB(255, 212, 163) 'naranja @@ -520,6 +521,7 @@ Private Sub et_pCant_TextChanged (Old As String, New As String) End Sub Sub cuentaProds + Log("-= CUENTAPRODS =-") totalProds = 0 totalCompra = 0 ' Private inicioContador As String = DateTime.Now @@ -540,8 +542,10 @@ Sub cuentaProds Private m As Map m=CreateMap("cant":cant1.Text, "precio":esteTag.get(0)) prodsMap.Put(esteTag.Get(2), m) + Log("-= Agregamos producto =-") Else prodsMap.Remove(esteTag.Get(2)) + Log("-= Quitamos producto =-") End If l_total.Visible = True l_totProds.Visible = True @@ -549,7 +553,7 @@ Sub cuentaProds l_totProds.text = $"Prods: ${totalProds}"$ Next ' LogColor("TIEMPO cuentaProds -=" & ((DateTime.Now-inicioContador)/1000), Colors.Red) - Subs.revisaPromoProcterPRO3009(prodsMap) +' Subs.revisaPromoProcterPRO3009(prodsMap) LogColor(prodsMap, Colors.blue) p_botonesVenta.Visible = True Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) diff --git a/B4A/Guna Vistas V3.1.b4a b/B4A/Guna Vistas V3.1.b4a index 29b200f..23d6258 100644 --- a/B4A/Guna Vistas V3.1.b4a +++ b/B4A/Guna Vistas V3.1.b4a @@ -251,7 +251,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: Guna V3.1 #VersionCode: 1 - #VersionName: 4.10.07.EP_d + #VersionName: 4.10.09.EP_d 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Guna Vistas V3.1.b4a.meta b/B4A/Guna Vistas V3.1.b4a.meta index b41376c..1962e0c 100644 --- a/B4A/Guna Vistas V3.1.b4a.meta +++ b/B4A/Guna Vistas V3.1.b4a.meta @@ -72,10 +72,10 @@ ModuleClosedNodes25= ModuleClosedNodes3= ModuleClosedNodes4= ModuleClosedNodes5= -ModuleClosedNodes6=8,9,10 +ModuleClosedNodes6=8,9,10,11 ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Clientes,Class_Globals,0,0,C_Cliente,Class_Globals,416,0,C_NoVenta,GUARDA_Click,125,1,Subs,iniciaActividad,1322,0,Subs,bitacora,1285,0,Main,Activity_Create,27,0,B4XMainPage,Class_Globals,27,1,C_Cliente,cuest_preguntaContestada,4619,0,C_Cliente,ListView1_ItemLongClick,1212,0,C_Cliente,gest_Click,1218,6,C_Cliente,B4XPage_Appear,946,0 +NavigationStack=C_Clientes,B4XPage_Appear,83,6,C_Cliente,B4XPage_Appear,496,0,C_Cliente,iniciofin,1069,0,Subs,TraeMontoProd,1205,0,Visual Designer,cliente.bal,-100,1,C_Productos,Class_Globals,0,0,C_Productos,et_pCant_TextChanged,510,0,C_Productos,cuentaProds,530,6,C_Productos,BUSCA_TextChanged,392,6,Main,Process_Globals,20,0 SelectedBuild=0 VisibleModules=23,2,24,13,14,4,6,9,12,5 diff --git a/B4A/Starter.bas b/B4A/Starter.bas index 9e7b99b..8870b8f 100644 --- a/B4A/Starter.bas +++ b/B4A/Starter.bas @@ -35,7 +35,6 @@ Sub Process_Globals Public BluetoothState As Boolean Dim ubicacionActual As Location Dim enVenta As Boolean = False - Dim VarX As Int = 0 End Sub Sub Service_Create diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 3ae6865..1ffaa93 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -1207,10 +1207,10 @@ Sub TraeMontoProd As Boolean If c.GetString("suma") >= c2.GetString("CAT_PE_MONTO") Then x = True - Log("verdadero") +' Log("verdadero") Else x = False - Log("Falso") +' Log("Falso") End If End If