From 217b9550833f27cf38ceef5ba3236d4849c2e8f2 Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Mon, 4 Nov 2024 13:20:47 -0600 Subject: [PATCH] .. --- B4A/B4XMainPage.bas | 3 +- B4A/C_Cliente.bas | 116 ++++++++++++++-------------------- B4A/C_Clientes.bas | 1 - B4A/C_NoVenta.bas | 3 +- B4A/C_Nota.bas | 7 +- B4A/C_Pedidos.bas | 31 ++++----- B4A/C_Principal.bas | 104 ++++++++++++++++++++++++++---- B4A/C_Productos.bas | 32 +++++----- B4A/Files/celltitle.bal | Bin 1638 -> 1638 bytes B4A/Files/cliente.bal | Bin 47037 -> 47652 bytes B4A/Files/principal.bal | Bin 50924 -> 50927 bytes B4A/Files/proditem2.bal | Bin 0 -> 2418 bytes B4A/Files/resdia.bal | Bin 46043 -> 46069 bytes B4A/Guna Vistas V3.1.b4a.meta | 10 +-- B4A/Starter.bas | 1 + B4A/Subs.bas | 34 +++++++--- B4A/Tracker.bas | 2 +- 17 files changed, 212 insertions(+), 132 deletions(-) create mode 100644 B4A/Files/proditem2.bal diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 8e1acba..df076bc 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -76,7 +76,7 @@ Sub Class_Globals Private ImageView1 As ImageView Private Label2 As Label Dim Entrar As Button - Dim tipo_venta As String + Dim tipo_venta As String = Subs.traeTipoVentaDeBD Dim bTerminarClicked As Boolean = False Private lv_server As ListView Private l_server As Label @@ -178,6 +178,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PRO3054(H_IDCLIENTE TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PRO3055(H_IDCLIENTE TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTA_SUPLENCIA(RS_RUTA TEXT)") + skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD2 (CAT_GP_INICIATIVA TEXT, CAT_GP_TIPOPROD TEXT, CAT_GP_DEV TEXT, CAT_GP_ALMACEN NUMERIC, CAT_GP_ID TEXT, CAT_GP_NOMBRE TEXT, CAT_GP_IMP1 TEXT, CAT_GP_IMP2 TEXT, CAT_GP_PRECIO TEXT, CAT_GP_CLASIF TEXT, CAT_GP_STS TEXT, CAT_GP_TIPO TEXT, CAT_GP_SUBTIPO TEXT, CAT_GP_IMG BLOB, CAT_GP_CODPROMO TEXT)") ' skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_VARIABLES (CAT_VA_DESCRIPCION TEXT, CAT_VA_VALOR TEXT)") Subs.agregaColumna("HIST_ENCUESTA", "HE_LAT", "TEXT") Subs.agregaColumna("HIST_ENCUESTA", "HE_FOTO", "BLOB") diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 627a13c..8ef8bb4 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -26,7 +26,7 @@ Sub Class_Globals Dim ESPACIO As Int Dim BLANCO As String Dim cuenta As String - Dim tipo_venta As String = "PREVENTA" + Dim tipo_venta As String = Subs.traeTipoVentaDeBD Dim MAC_IMPRESORA As String Dim btAdmin As BluetoothAdmin Dim Printer1 As EscPosPrinter @@ -428,6 +428,7 @@ Sub Class_Globals Private p_transparenteInicioFin As Panel Dim b_geo As String + Private b_preventa As Button End Sub 'You can add more parameters here. @@ -486,6 +487,10 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear + gest.Text = "PreVenta" + If Subs.traeTipoVentaDeBD = "VENTA" Then gest.Text = "Venta" + If la_cuenta.Text = "0" Then gest.Text = "Carga Abordo" + iniciofin que_modulo = 1 dentroDeGeocerca = False indicePregunta = 0 @@ -501,12 +506,13 @@ Sub B4XPage_Appear cercavalor = 0 l_version.Text = Application.VersionName p_transparenteInicioFin.Width = Root.Width : p_transparenteInicioFin.Height = Root.Height + b_preventa.left = (Root.Width / 2) - (b_preventa.width / 2) b_Inicio_Fin_venta.Left = 5 b_Inicio_Fin_venta.Width = Root.Width - 10 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 + If Not(Starter.enVenta) Then b_Inicio_Fin_venta.Visible = True Log("EnVenta Visible") Else @@ -699,8 +705,8 @@ Sub B4XPage_Appear For i = 0 To j3.RowCount -1 Log("aqui tronare?") j3.Position = i - B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD 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"), "PREVENTA")) + B4XPages.MainPage.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(tipo_venta)} 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"), tipo_venta)) Next End If j3.Close @@ -802,7 +808,8 @@ Sub B4XPage_Appear 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")) s5.Position = 0 If c.RowCount > 0 Then - c.Position=0 + c.Position = 0 + Log(">>>>>> " & c.GetString("CAT_CL_CODIGO")) la_cuenta.Text = c.GetString("CAT_CL_CODIGO") la_cuenta_gallina.Text = c.GetString("CAT_CL_CODIGO") La_nombre.Text = c.GetString("CAT_CL_NOMBRE") @@ -866,7 +873,7 @@ Sub B4XPage_Appear End If total_cliente = s.GetString("TOTAL_CLIE") m_lat = "0" - If c.GetString("CAT_CL_LAT") <> "" Then m_lat =c.GetString("CAT_CL_LAT") + If c.GetString("CAT_CL_LAT") <> "" Then m_lat = c.GetString("CAT_CL_LAT") If m_lat.Length < 5 Then m_lat = "0" m_lon = "0" If c.GetString("CAT_CL_LONG") <> "" Then m_lon =c.GetString("CAT_CL_LONG") @@ -888,6 +895,7 @@ Sub B4XPage_Appear s.Close End If 'AQUI TERMINA + Starter.idCliente = la_cuenta.text c = skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'GEOCERCA'") If c.RowCount > 0 Then c.Position = 0 @@ -911,7 +919,7 @@ Sub B4XPage_Appear End Sub Sub GPS_LocationChanged (Location1 As Location) -' LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red) + LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red) If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude @@ -951,7 +959,8 @@ Sub GPS_LocationChanged (Location1 As Location) gest.Visible = False Tels.Visible = False p_transparenteInicioFin.Visible = False - b_Inicio_Fin_venta.Visible = False + Log(999) +' b_Inicio_Fin_venta.Visible = False End If End If If geo = "1" Then @@ -993,7 +1002,8 @@ Sub GPS_LocationChanged (Location1 As Location) Tels.Visible = False gest.Visible = False p_transparenteInicioFin.Visible = False - b_Inicio_Fin_venta.Visible = False + Log(998) +' b_Inicio_Fin_venta.Visible = False c = skmt.ExecQuery("SELECT PC_CLIENTE FROM PEDIDO_CLIENTE WHERE PC_CLIENTE IN (Select CUENTA from cuentaa)") If c.RowCount > 0 Then precision = "0" @@ -1013,7 +1023,8 @@ Sub GPS_LocationChanged (Location1 As Location) Tels.Visible = False gest.Visible = False p_transparenteInicioFin.Visible = False - b_Inicio_Fin_venta.Visible = False + Log(997) +' b_Inicio_Fin_venta.Visible = False LA_GEO.TextColor = Colors.Red If ALMACEN = "1" Then Tels.Visible = False @@ -1042,7 +1053,8 @@ Sub GPS_LocationChanged (Location1 As Location) Tels.Visible = False gest.Visible = False p_transparenteInicioFin.Visible = False - b_Inicio_Fin_venta.Visible = False + Log(996) +' b_Inicio_Fin_venta.Visible = False c = skmt.ExecQuery("SELECT NV_CLIENTE FROM NOVENTA CLIENTE WHERE NV_CLIENTE IN (Select CUENTA from cuentaa)") If c.RowCount > 0 Then Tels.Visible = True @@ -1053,7 +1065,8 @@ Sub GPS_LocationChanged (Location1 As Location) Tels.Visible = False gest.Visible = False p_transparenteInicioFin.Visible = False - b_Inicio_Fin_venta.Visible = False + Log(995) +' b_Inicio_Fin_venta.Visible = False LA_GEO.TextColor = Colors.Red If ALMACEN = "1" Then Tels.Visible = False @@ -1074,7 +1087,8 @@ Sub GPS_LocationChanged (Location1 As Location) Tels.Visible = False gest.Visible = False p_transparenteInicioFin.Visible = False - b_Inicio_Fin_venta.Visible = False + Log(994) +' b_Inicio_Fin_venta.Visible = False LA_GEO.TextColor = Colors.Red If ALMACEN = "1" Then Tels.Visible = False @@ -1102,14 +1116,19 @@ Private Sub p_pideGeoPass_Click End Sub +'Muestra u oculta el boton de inicio y fin de venta Private Sub iniciofin + Log(">>>>> " & Starter.enVenta) If Starter.enVenta = False Then + Log(333) p_transparenteInicioFin.BringToFront p_transparenteInicioFin.Visible = True b_Inicio_Fin_venta.Visible = True -' Log("Hacemos visible el boton de Inicio Venta2") +' Log("Hacemos visible el boton de Inicio Venta") Else + Log(4444) If b_Inicio_Fin_venta.Text <> "TERMINAR VENTA" Then + Log(555) p_transparenteInicioFin.Visible = False b_Inicio_Fin_venta.Visible = False End If @@ -1363,25 +1382,14 @@ End Sub Private Sub b_preguntag_Click B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE kmt_info2 SET CAT_CL_GIRO = ? WHERE CAT_CL_CODIGO = ? And CAT_CL_NOMBRE = ?", Array As Object (girotienda, la_cuenta.text,La_nombre.Text)) - skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA_AVISO_GIRO(HEAV_CLIENTE , HEAV_MODULO , HEAV_AVISO ,HEAV_GIRO ) VALUES (?,?,?,?) ", Array As Object( clie_id, ENCUESTA, "ACEPTA",girotienda)) - If girotienda <> "Selecciona una opcion" Then - If girotienda = "Tienda de Abarrotes (Abarrotes, Misceláneas, Minisupers, Particulares con Venta y Cremerías)" Then - Dim result As Int= -3 Do While result=-3 result = Msgbox2("Entiendo, acepto y consiento que GUNA usará mis datos Personales y serán tratados acorde con lo establecido en la Ley Federal de Protección de Datos Personales en Posesión de los Particulares (en lo sucesivo la “Ley”), y su respectivo Reglamento; bajo lo manifestado en el Aviso de Privacidad – Texto Completo – que se encuentra en la página www.guna.com.mx", "AVISO DE PRIVACIDAD","ACEPTO","", "NO ACEPTO",LoadBitmap(File.DirAssets,"alert2.png")) Select Case result Case DialogResponse.POSITIVE - - - - - - - ' If ALMACEN = "35" Or ALMACEN = "43" Or ALMACEN = "54" Or ALMACEN = "73" Or ALMACEN = "56" Then 'ALMACEN = "7" Then ' ' ''Or ALMACEN = "56" ATIZAPAN PEDIGRI ' p_pregunta1.Visible = False @@ -1398,8 +1406,6 @@ Private Sub b_preguntag_Click ' b_venta.Visible = False ' Guardar.Visible = False ' HIST.Visible = False -' - ' ' Else Log(que_modulo) If que_modulo = Null Or que_modulo = " " Then que_modulo = "1" @@ -1428,8 +1434,6 @@ Private Sub b_preguntag_Click Panel7.Visible = False else if que_modulo = "2" Then - - '' para la m2 If p_m1.IsInitialized And p_m1.Visible Then p_m1.Visible = False @@ -1458,14 +1462,11 @@ Private Sub b_preguntag_Click p_m3.Width = Root.Width * 0.94 SV_ENCUESTA.Panel.Height = p_m3.Height + 60 else if que_modulo = "4" Then - '' para la m4 - If p_m3.IsInitialized And p_m3.Visible Then p_m3.Visible = False Else - End If p_pregunta1.Visible = False p_cliente.Visible = False @@ -1483,7 +1484,6 @@ Private Sub b_preguntag_Click cb_p3_m4.SetItems(Items2) itemselect2 = "Selecciona una opcion" - Dim Items3 As List Items3.Initialize Items3.Add("Selecciona una opcion") @@ -1502,13 +1502,11 @@ Private Sub b_preguntag_Click itemselect6 = "Selecciona una opcion" cb_p4_5_m4.SetItems(Items3) itemselect7 = "Selecciona una opcion" - ' else if que_modulo = "5" Then '' 'MODULO 5 If p_m4.IsInitialized And p_m4.Visible Then p_m4.Visible = False Else - End If p_cliente.Visible = False SV_ENCUESTA.Visible = True @@ -1516,7 +1514,6 @@ Private Sub b_preguntag_Click SV_ENCUESTA.Panel.LoadLayout("ENCUESTA_M5") p_modulo5.Width = Root.Width * 0.94 SV_ENCUESTA.Panel.Height = p_modulo5.Height + 30 - Dim Items8 As List Items8.Initialize Items8.Add("Selecciona una opcion") @@ -1546,19 +1543,12 @@ Private Sub b_preguntag_Click End If Else p_pregunta1.Visible = False - B4XPages.ShowPage("productos") - - End If ' End IF - Case DialogResponse.NEGATIVE - B4XPages.ShowPage("productos") End Select - - Loop 'fin modulos ' If girotienda = "Tienda de Abarrotes (Abarrotes, Misceláneas, Minisupers, Particulares con Venta y Cremerías)" Then @@ -1705,18 +1695,13 @@ Private Sub b_preguntag_Click ' itemselect7 = "Selecciona una opcion" ' End If ' FIN MODULO 4 - ' Else ' B4XPages.ShowPage("productos") ' End If Else p_pregunta1.Visible = False - B4XPages.ShowPage("productos") - End If - - Else Msgbox("Contesta la pregunta por favor","AVISO") End If @@ -1911,8 +1896,8 @@ Sub B_guardaencuesta_Click p_pregunta1.Visible = False SV_ENCUESTA.Visible = False p_cliente.Visible = True - tipo_venta = "PREVENTA" -' StartActivity(colonia2) +' tipo_venta = "PREVENTA" +' StartActivity(colonia2) B4XPages.ShowPage("productos") End If Else @@ -1946,7 +1931,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub Else if SV_ENCUESTA.Visible Then SV_ENCUESTA.visible = False p_cliente.Visible = True - Else If B4XPages.MainPage.nota Then +' Else If B4XPages.MainPage.nota Then Else B4XPages.ShowPage("Clientes") @@ -1968,7 +1953,8 @@ Sub Guardar_Click p_transparenteInicioFin.Visible = True b_Inicio_Fin_venta.Visible = True b_Inicio_Fin_venta.Text = "TERMINAR VENTA" - Log("Hacemos visible el boton de Terminar Venta3") +' Starter.idCliente = "" + Log("Hacemos visible el boton de Terminar Venta") End Sub Sub guardadoventa @@ -3195,16 +3181,12 @@ Private Sub B_guardaencuesta_m2_Click CB3_P6_M3.Text = "SAHUAYO" CB4_P6_M3.Text = "MERZA/DUERO" CB5_P6_M3.Text = "HUGOSS" - End If - - Else p_pregunta1.Visible = False SV_ENCUESTA.Visible = False p_cliente.Visible = True - tipo_venta = "PREVENTA" -' StartActivity(colonia2) +' tipo_venta = "PREVENTA" B4XPages.ShowPage("productos") MsgboxAsync("Encuesta guardada","") End If @@ -3359,10 +3341,8 @@ Private Sub B_guardaencuesta_m3_Click p_pregunta1.Visible = False SV_ENCUESTA.Visible = False p_cliente.Visible = True - tipo_venta = "PREVENTA" -' StartActivity(colonia2) +' tipo_venta = "PREVENTA" B4XPages.ShowPage("productos") - MsgboxAsync("Encuesta guardada","") End If Else @@ -3443,14 +3423,11 @@ Private Sub B_guardaencuesta_m4_Click itemselect16 = "Selecciona una opcion" MsgboxAsync("Encuesta guardada","") Else - B4XPages.MainPage.tipo_venta = "PREVENTA" - ' B4XPages.ShowPage("productos") + B4XPages.MainPage.tipo_venta = tipo_venta +' tipo_venta = "PREVENTA" p_pregunta1.Visible = False SV_ENCUESTA.Visible = False p_cliente.Visible = True - tipo_venta = "PREVENTA" - B4XPages.ShowPage("productos") - ' StartActivity(colonia2) B4XPages.ShowPage("productos") End If Else @@ -3495,7 +3472,7 @@ Private Sub B_guardaencuesta_m5_Click skmt.ExecNonQuery2("INSERT INTO ENCUESTA_MODULO5 (CLIENTE, ALMACEN,P1, P2, P3, P4, P5, P6, P7, P8, P9) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object(Subs.traeCliente, ALMACEN,itemselect8,itemselect9,itemselect10,itemselect11,itemselect12,itemselect13,itemselect14,itemselect15,itemselect16)) SV_ENCUESTA.Visible = False p_cliente.Visible = True - B4XPages.MainPage.tipo_venta = "PREVENTA" + B4XPages.MainPage.tipo_venta = tipo_venta B4XPages.ShowPage("productos") MsgboxAsync("Encuesta guardada","") Else @@ -3752,8 +3729,7 @@ Private Sub B_GUARDA_CE_PED_Click 'b_venta.Visible = True b_like.Visible = False Guardar.Visible = True - tipo_venta = "PREVENTA" -' StartActivity(colonia2) +' tipo_venta = "PREVENTA" B4XPages.ShowPage("productos") End Sub @@ -4802,4 +4778,8 @@ End Sub Private Sub p_transparenteInicioFin_Click +End Sub + +Private Sub b_preventa_Click + End Sub \ No newline at end of file diff --git a/B4A/C_Clientes.bas b/B4A/C_Clientes.bas index 6181e76..d021d99 100644 --- a/B4A/C_Clientes.bas +++ b/B4A/C_Clientes.bas @@ -93,7 +93,6 @@ Sub B4XPage_Appear End Sub Sub ListView1_ItemClick (Position As Int, Value As Object) - If colonia = 0 Then colonia = Value End If diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas index d427d76..1299195 100644 --- a/B4A/C_NoVenta.bas +++ b/B4A/C_NoVenta.bas @@ -31,6 +31,7 @@ Sub Class_Globals Private stay_mi As String Private stay_ss As String Private p_NoVenta As Panel + dim tipo_venta = Subs.traeTipoVentaDeBD End Sub 'You can add more parameters here. @@ -96,7 +97,7 @@ Sub GUARDA_Click 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($"update ${Subs.traeTablaProds(tipo_venta)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) Next End If diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index 4ca23a5..7e358b6 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -34,6 +34,7 @@ Sub Class_Globals Dim tgl As Toggle Private almacen As String Private p_nota As Panel + Dim tipo_venta As String = Subs.traeTipoVentaDeBD End Sub 'You can add more parameters here. @@ -165,7 +166,7 @@ Sub borra_Click 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($"update ${Subs.traeTablaProds(tipo_venta)} 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 @@ -222,13 +223,13 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) ' For j = 0 To c.RowCount -1 ' Log("aqui tronare?") '' c.Position = j - B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.GetString("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(tipo_venta)} 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_cedis= ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(cedis, c.GetString("PE_FOLIO"))) ' Next ' End If ' j3.Close Else - B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(tipo_venta)} 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_cedis = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(nom, cedis, c.GetString("PE_FOLIO"))) End If c.Close diff --git a/B4A/C_Pedidos.bas b/B4A/C_Pedidos.bas index ef112b0..d82e5a6 100644 --- a/B4A/C_Pedidos.bas +++ b/B4A/C_Pedidos.bas @@ -59,6 +59,7 @@ Sub Class_Globals Private BONSABOR2 As String Dim cmd As DBCommand Private p_pedido As Panel + dim tipo_venta as string = Subs.traeTipoVentaDeBD End Sub 'You can add more parameters here. @@ -99,7 +100,7 @@ Sub B4XPage_Appear sb.Initialize p.Shell("ping -c1 -W1 177.244.63.54",Null, sb,Null) skmt.Initialize(ruta,"kmt.db", True) - c=B4XPages.MainPage.skmt.ExecQuery("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV from CAT_GUNAPROD where CAT_GP_NOMBRE In (Select PDESC from PROID)") + c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_NOMBRE In (Select PDESC from PROID)"$) c.Position=0 L_PROID.Text = c.GetString("CAT_GP_ID") l_tipo.Text = c.GetString("CAT_GP_TIPO") @@ -152,7 +153,7 @@ Sub B4XPage_Appear HCCP_CANT = DD.GetString("HCCP_CANT") DD.Close End If - DD=B4XPages.MainPage.skmt.ExecQuery2("Select COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) AND PE_PROID IN (select CAT_GP_ID from CAT_GUNAPROD where CAT_GP_CLASIF = ?) ",Array As String(c.GetString("CAT_GP_NOMBRE"))) + DD=B4XPages.MainPage.skmt.ExecQuery2($"Select COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) AND PE_PROID IN (select CAT_GP_ID from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_CLASIF = ?) "$,Array As String(c.GetString("CAT_GP_NOMBRE"))) DD.Position =0 BONSABOR2 = DD.GetString("CUANTOS") DD.Close @@ -274,7 +275,7 @@ Sub guardar_Click For i=0 To f.RowCount -1 f.Position=i precio_Cero = f.GetString("CAT_DP_PRECIO") - h=B4XPages.MainPage.skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_NOMBRE from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_ID = ? "$, Array As String(f.GetString("CAT_DP_IDPROD"))) h.Position=0 '0 B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,precio_Cero * f.GetString("CAT_DP_PZAS") * cantidad.text, precio_Cero, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta)) @@ -285,7 +286,7 @@ Sub guardar_Click End If e.Close B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0 , 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta, B4XPages.MainPage.tipo_venta)) - B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(tipo_venta)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cantidad.Text, L_PROID.Text)) Else Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA") 'ignore End If @@ -317,7 +318,7 @@ Sub guardar_Click F=B4XPages.MainPage.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)") For i =0 To f.RowCount -1 F.Position =i - h=B4XPages.MainPage.skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_NOMBRE from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_ID = ? "$, Array As String(f.GetString("CAT_DP_IDPROD"))) h.Position=0 B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta, B4XPages.MainPage.tipo_venta)) h.Close @@ -327,7 +328,7 @@ Sub guardar_Click e.Close '0 B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta, B4XPages.MainPage.tipo_venta)) - B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(tipo_venta)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cantidad.Text, L_PROID.Text)) cantidad.Text = "" c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") c.Position=0 @@ -351,7 +352,7 @@ Sub guardar_Click c.Position=0 usuario = c.GetString("USUARIO") B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin, B4XPages.MainPage.tipo_venta)) - B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(tipo_venta)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cantidad.Text, L_PROID.Text)) c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") c.Position=0 B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") @@ -444,7 +445,7 @@ Sub Terminar_Click For i=0 To f.RowCount -1 f.Position=i precio_Cero = f.GetString("CAT_DP_PRECIO") - h=B4XPages.MainPage.skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_NOMBRE from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_ID = ? "$, Array As String(f.GetString("CAT_DP_IDPROD"))) h.Position=0 Log(111) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,precio_Cero * f.GetString("CAT_DP_PZAS") * cantidad.text, precio_Cero, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta, B4XPages.MainPage.tipo_venta)) @@ -455,8 +456,8 @@ Sub Terminar_Click End If e.Close Log(222) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0 , 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta, B4XPages.MainPage.tipo_venta)) - B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0 , 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta, B4XPages.MainPage.tipo_venta)) + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(tipo_venta)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cantidad.Text, L_PROID.Text)) Else Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA") 'ignore End If @@ -487,7 +488,7 @@ Sub Terminar_Click F=B4XPages.MainPage.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)") For i =0 To f.RowCount -1 F.Position =i - h=B4XPages.MainPage.skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_NOMBRE from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_ID = ? "$, Array As String(f.GetString("CAT_DP_IDPROD"))) h.Position=0 Log(333) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta, B4XPages.MainPage.tipo_venta)) @@ -498,7 +499,7 @@ Sub Terminar_Click e.Close Log(444) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta, B4XPages.MainPage.tipo_venta)) - B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(tipo_venta)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cantidad.Text, L_PROID.Text)) cantidad.Text = "" c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") c.Position=0 @@ -523,7 +524,7 @@ Sub Terminar_Click usuario = c.GetString("USUARIO") Log(555) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin, B4XPages.MainPage.tipo_venta)) - B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(tipo_venta)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cantidad.Text, L_PROID.Text)) c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") c.Position=0 B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") @@ -572,8 +573,8 @@ Sub nopromo_Click c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") c.Position=0 usuario = c.GetString("USUARIO") - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",0,0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario, b4xpages.MainPage.tipo_venta)) - B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",0,0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario, B4XPages.MainPage.tipo_venta)) + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(tipo_venta)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cantidad.Text, L_PROID.Text)) cantidad.Text = "" B4XPages.ShowPage("Productos") End If diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 20bac32..d936395 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -236,6 +236,8 @@ Sub Class_Globals Dim p_transparenteActualizacion As Panel Private p_forzarActualizacion As Panel Dim l_forzarActualizacion As Label + Dim tipo_venta As String = Subs.traeTipoVentaDeBD + Private b_abordo As Button End Sub 'You can add more parameters here. @@ -274,6 +276,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) f.Position=0 l_ruta.Text = f.GetString("CAT_CL_RUTA") f.Close + b_abordo.Left = (Root.Width / 2) - (b_abordo.Width / 2) p_principal.Width = Root.Width : p_principal.Height = Root.Height ' ro = B4XPages.MainPage.skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info2") ' ro.Position = 0 @@ -343,6 +346,8 @@ End Sub Sub B4XPage_Appear ' LogColor($"########## ${Subs.traeRuta} ##########"$, Colors.red) p_principal.Visible = True +' Log($"|${Subs.traeTipoVentaDeBD}|"$) + If Subs.traeTipoVentaDeBD = "VENTA" Or Subs.traeTipoVentaDeBD = "ABORDO" Then b_abordo.Visible = True Else b_abordo.Visible = False E_RUTA2.Text = "" p_ruta2.Visible = False Subs.validaPromoProcterPRO3009 @@ -932,11 +937,21 @@ Sub cargar_Click cmd.Parameters = Array As Object(usuario,e_ruta.text,sDate,imei,sTime,"","","","","CARGA",ALMACEN,Application.VersionName) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_drop") + cmd.Initialize + cmd.Name = "select_TipoVenta" + cmd.Parameters = Array As Object(ALMACEN, e_ruta.text) + B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "tipoVenta") + cmd.Initialize cmd.Name = "select_cat_gunaprod_GV2" cmd.Parameters = Array As Object(ALMACEN) B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod") + cmd.Initialize + cmd.Name = "select_cat_gunaprod2_GV2" + cmd.Parameters = Array As Object(ALMACEN, e_ruta.text) + B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod2") + cmd.Initialize cmd.Name = "select_HIST_ESPECIAL_GUNA" ' cmd.Parameters = Array As Object(ALMACEN) @@ -1213,6 +1228,7 @@ Sub JobDone(Job As HttpJob) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info2(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, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_CL_CODIGO,e_ruta.Text,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)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (CAT_CL_CODIGO)) Next + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info2(CAT_CL_CODIGO, CAT_CL_RUTA, CAT_CL_NOMBRE, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_NUM_SERIEFISICO) VALUES (?,?,?,0,0,0)", Array As Object ("0", e_ruta.Text, "ABORDO")) Listo1 = 1 S_CC.Text = "LISTO" ' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Catalogo Clientes Actualizados." , True) @@ -1591,6 +1607,49 @@ Sub JobDone(Job As HttpJob) End If End If + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) + If RESULT.Tag = "gunaprod2" Then 'query tag + If PB2.Progress < 30 Then S_CP.Text = "CARGANDO" 'Mod por CHV - 20211028 Agregue el "If PB2.Progress < 30 then" + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + ' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) + Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) + Dim CAT_GP_CODPROMO As String = records(RESULT.Columns.Get("CAT_GP_CODPROMO")) +' CAT_GP_INICIATIVA = 5 +' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA, CAT_GP_CODPROMO)) + Next + Listo2=1 + If PB2.Progress = 0 Then + PB2.Progress = 30 + S_CP.Text = "CARGANDO" + ELSE If PB2.Progress = 30 Then + PB2.Progress = 60 + ELSE IF PB2.Progress = 60 Then + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If +' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Productos Actualizados." , True) + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) If RESULT.Tag = "gunaprodp" Then 'query tag @@ -1958,6 +2017,14 @@ Sub JobDone(Job As HttpJob) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FORZAR_ACTUALIZACION", actualizarAplicacion)) Log($">>>> GUARDAMOS NUEVA VERSION: ${version}, ${actualizarAplicacion}"$) End If + If RESULT.Tag = "tipoVenta" Then 'query tag + For Each records() As Object In RESULT.Rows + Private tipoVenta As String = records(RESULT.Columns.Get("CAT_RU_CATEGORIA")) + Next + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("TIPO_VENTA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("TIPO_VENTA", tipoVenta)) + Log($">>>> GUARDAMOS TIPO_VENTA: ${tipoVenta}"$) + End If End If End If @@ -2077,6 +2144,7 @@ Sub t2_tick B4XPages.MainPage.skmt.ExecNonQuery("delete from clie_act") B4XPages.MainPage.skmt.ExecNonQuery("delete from kmt_info2") B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod") + B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod2") B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") B4XPages.MainPage.skmt.ExecNonQuery("delete from HIST_VENTAS") B4XPages.MainPage.skmt.ExecNonQuery("delete from HIST_VERIFICACION") @@ -2150,6 +2218,7 @@ Sub inv_Click EJECUTANDO = 1 inve = 1 B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod") + B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod2") B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") c.Position = 0 @@ -2160,6 +2229,10 @@ Sub inv_Click cmd.Parameters = Array As Object(ALMACEN) B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod") cmd.Initialize + cmd.Name = "select_cat_gunaprod2_GV2" + cmd.Parameters = Array As Object(ALMACEN, e_ruta.text) + B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod2") + cmd.Initialize cmd.Name = "select_cat_paquetes_GV2" cmd.Parameters = Array As Object(ALMACEN) B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprodp") @@ -2358,7 +2431,7 @@ Sub resdia_Click End If d.Close - c=B4XPages.MainPage.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod where CAT_GP_TIPO = ? )", Array As String("RTEC")) + c=B4XPages.MainPage.skmt.ExecQuery2($"Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_TIPO = ? )"$, Array As String("RTEC")) c.Position = 0 l_monto_k.Text = c.GetString("MONTO_DIA") If l_monto_k.Text = "null" Then @@ -2366,7 +2439,7 @@ Sub resdia_Click End If c.Close - c=B4XPages.MainPage.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod where CAT_GP_TIPO = ? )", Array As String("PING")) + c=B4XPages.MainPage.skmt.ExecQuery2($"Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_TIPO = ? )"$, Array As String("PING")) c.Position = 0 l_monto_kp.Text = c.GetString("MONTO_DIA") If l_monto_kp.Text = "null" Then @@ -2477,7 +2550,7 @@ Sub resdia_Click c.Position = 0 L_CTE_PROMO.Text = c.GetString("CUANTOS") c.Close - d=B4XPages.MainPage.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) AS MONTO_DIA FROM PEDIDO WHERE PE_PROID IN (select CAT_GP_ID from cat_gunaprod where CAT_GP_TIPOPROD = ?) ", Array As String("PRIORITARIO")) + d=B4XPages.MainPage.skmt.ExecQuery2($"Select sum(PE_COSTO_TOT) AS MONTO_DIA FROM PEDIDO WHERE PE_PROID IN (select CAT_GP_ID from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_TIPOPROD = ?) "$, Array As String("PRIORITARIO")) d.Position = 0 '/////////////////////////////////////////////////////////////////////////////// '//////////////////////////// ULTIMA LINEA ANTES DEL ERROR ////////////////// @@ -2490,12 +2563,12 @@ Sub resdia_Click L_PRIO.Text = d.GetString("MONTO_DIA") d.Close - d=B4XPages.MainPage.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) AS MONTO_DIA FROM PEDIDO WHERE PE_PROID IN (select CAT_GP_ID from cat_gunaprod where CAT_GP_TIPOPROD = ?) ", Array As String("ESTRATEGICO")) + d=B4XPages.MainPage.skmt.ExecQuery2($"Select sum(PE_COSTO_TOT) AS MONTO_DIA FROM PEDIDO WHERE PE_PROID IN (select CAT_GP_ID from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_TIPOPROD = ?) "$, Array As String("ESTRATEGICO")) d.Position = 0 L_SECUND.Text =d.GetString("MONTO_DIA") d.Close - d=B4XPages.MainPage.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) AS MONTO_DIA FROM PEDIDO WHERE PE_PROID IN (select CAT_GP_ID from cat_gunaprod where CAT_GP_TIPOPROD = ?) ", Array As String("COMPLEMENTARIO")) + d=B4XPages.MainPage.skmt.ExecQuery2($"Select sum(PE_COSTO_TOT) AS MONTO_DIA FROM PEDIDO WHERE PE_PROID IN (select CAT_GP_ID from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_TIPOPROD = ?) "$, Array As String("COMPLEMENTARIO")) d.Position = 0 L_COMP.Text =d.GetString("MONTO_DIA") d.Close @@ -2580,7 +2653,7 @@ End Sub Sub e_ruta2_TextChanged (Old As String, New As String) ' Dim validChars As String ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 " ' 'Log("Antes: " & Old & " | " & New) - If New = e_ruta.text and new <> "" Then + If New = e_ruta.text And New <> "" Then cargar.Enabled = False ToastMessageShow("Las rutas NO PUEDEN ser iguales!!", False) Else @@ -2633,6 +2706,8 @@ Sub B_OK_COMISS_Click Panel_C.Visible = False SCROLL_RESDIA.Visible = False Btn_Ubicar.Visible=True + p_principal.Visible = True + SCROLL_RESDIA.Panel.RemoveAllViews End Sub Sub B_MARCAS_Click @@ -2652,7 +2727,7 @@ Sub B_MARCAS_Click c=B4XPages.MainPage.skmt.ExecQuery("Select CAT_GP_CLASIF, SUM(TOTAL) AS TOTAL FROM TOTAL_MARCAS GROUP BY CAT_GP_CLASIF") CLV1.Clear If c.RowCount>0 Then - For i=0 To c.RowCount -1 + For i=0 To c.RowCount - 1 c.Position=i AddTitle(c.GetString("CAT_GP_CLASIF")) If c.GetString("CAT_GP_CLASIF") = "PROMOS" Then @@ -2666,17 +2741,17 @@ Sub B_MARCAS_Click If f.GetString("CUANTOS") > 0 Then e=B4XPages.MainPage.skmt.ExecQuery2("select HMC_MARCA, HMC_TOTAL from HIST_MARCAS_CUOTAS where HMC_MARCA = ?", Array As String(c.GetString("CAT_GP_CLASIF"))) e.Position=0 - d=B4XPages.MainPage.skmt.ExecQuery2("SELECT count(distinct(PE_CLIENTE)) AS CUANTOS FROM PEDIDO WHERE PE_PROID in (select CAT_GP_ID from cat_gunaprod WHERE CAT_GP_CLASIF =?)", Array As String (c.GetString("CAT_GP_CLASIF"))) + d=B4XPages.MainPage.skmt.ExecQuery2($"SELECT count(distinct(PE_CLIENTE)) AS CUANTOS FROM PEDIDO WHERE PE_PROID in (select CAT_GP_ID from ${Subs.traeTablaProds(tipo_venta)} WHERE CAT_GP_CLASIF =?)"$, Array As String (c.GetString("CAT_GP_CLASIF"))) d.Position=0 CLV1.AddTextItem("TOTAL PREVENTA = $" & c.GetString("TOTAL"),"1") - CLV1.AddTextItem("M E T A MES= $" & e.GetString("HMC_TOTAL"),"1") - CLV1.AddTextItem("M E T A D I A= $" & Round(e.GetString("HMC_TOTAL") / 25),"1") - CLV1.AddTextItem("FALTA DIA= $" & Round((e.GetString("HMC_TOTAL") / 25) - c.GetString("TOTAL")) ,"1") + CLV1.AddTextItem("META MES= $" & e.GetString("HMC_TOTAL"),"1") + CLV1.AddTextItem("META DIA= $" & Round(e.GetString("HMC_TOTAL") / 25),"1") + CLV1.AddTextItem("FALTA DIA= $" & Round((e.GetString("HMC_TOTAL") / 25) - c.GetString("TOTAL")) ,"1") CLV1.AddTextItem("CLIENTES = " & d.GetString("CUANTOS"),"1") d.Close e.Close Else - d=B4XPages.MainPage.skmt.ExecQuery2("SELECT count(distinct(pe_cliente)) AS CUANTOS FROM PEDIDO WHERE PE_PROID in (select CAT_GP_ID from cat_gunaprod WHERE CAT_GP_CLASIF =?)", Array As String (c.GetString("CAT_GP_CLASIF"))) + d=B4XPages.MainPage.skmt.ExecQuery2($"SELECT count(distinct(pe_cliente)) AS CUANTOS FROM PEDIDO WHERE PE_PROID in (select CAT_GP_ID from ${Subs.traeTablaProds(tipo_venta)} WHERE CAT_GP_CLASIF =?)"$, Array As String (c.GetString("CAT_GP_CLASIF"))) d.Position=0 CLV1.AddTextItem("TOTAL PREVENTA = $" & c.GetString("TOTAL"),"1") CLV1.AddTextItem("M E T A = $" & "1000","1") @@ -2750,4 +2825,9 @@ End Sub Private Sub p_transparenteActualizacion_Click +End Sub + +Private Sub b_abordo_Click + Starter.skmt.ExecNonQuery($"update cuentaa set cuenta = '0'"$) + B4XPages.ShowPage("Cliente") End Sub \ No newline at end of file diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index a9fef5a..446c4d1 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -55,6 +55,7 @@ Sub Class_Globals Private l_info As Label Private b_buscar As Button Private p_botonesVenta As Panel + Dim tipo_venta As String = Subs.traeTipoVentaDeBD End Sub 'You can add more parameters here. @@ -81,12 +82,13 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear + LogColor(tipo_venta, Colors.red) prodsMap.Initialize - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("PRIORITARIO","1")) - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("ESTRATEGICO","2")) - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("COMPLEMENTARIO","3")) - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("CATALOGO REGULAR","0")) - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_CLASIF = (?) ",Array As Object("PROMOS","PROMOS")) + B4XPages.MainPage.skmt.ExecNonQuery2($"UPDATE ${Subs.traeTablaProds(tipo_venta)} SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?)"$,Array As Object("PRIORITARIO","1")) + B4XPages.MainPage.skmt.ExecNonQuery2($"UPDATE ${Subs.traeTablaProds(tipo_venta)} SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?)"$,Array As Object("ESTRATEGICO","2")) + B4XPages.MainPage.skmt.ExecNonQuery2($"UPDATE ${Subs.traeTablaProds(tipo_venta)} SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?)"$,Array As Object("COMPLEMENTARIO","3")) + B4XPages.MainPage.skmt.ExecNonQuery2($"UPDATE ${Subs.traeTablaProds(tipo_venta)} SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?)"$,Array As Object("CATALOGO REGULAR","0")) + B4XPages.MainPage.skmt.ExecNonQuery2($"UPDATE ${Subs.traeTablaProds(tipo_venta)} SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_CLASIF = (?)"$,Array As Object("PROMOS","PROMOS")) ' Private left = (Root.Width/2) - ((clv_productos.AsView.Width)/2) clv_productos.GetBase.SetLayoutAnimated(100, 0dip, 140dip, Root.Width, Root.Height * 0.68) 'Cambiamos el tamaño y posición de la lista de productos @@ -119,7 +121,7 @@ Sub B4XPage_Appear label1.TextColor = Colors.Black lv_catalogos.Clear lv_catalogos.AddSingleLine("CATALOGO") - c = B4XPages.MainPage.skmt.ExecQuery("select count(*) as hayPromos from cat_gunaprod where CAT_GP_TIPOPROD = 'PROMOS'") + c = B4XPages.MainPage.skmt.ExecQuery($"select count(*) as hayPromos from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_TIPOPROD = 'PROMOS'"$) c.Position = 0 If c.GetInt("hayPromos") > 0 Then If Not(Subs.traeCliente.StartsWith("N")) Then lv_catalogos.AddSingleLine("PROMOS") 'No se venden promos a clientes nuevos. @@ -155,15 +157,15 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object) If cd.RowCount = 0 Then LogColor("Promos" & " | " & marca & " | " & tipo, Colors.red) - c2 = B4XPages.MainPage.skmt.ExecQuery2("Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_TIPOPROD = ? AND CAT_GP_ID NOT IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP) AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa))", Array As String(Value, marca, tipo)) + c2 = B4XPages.MainPage.skmt.ExecQuery2($"Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_TIPOPROD = ? AND CAT_GP_ID NOT IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP) AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa))"$, Array As String(Value, marca, tipo)) Else If cd.RowCount > 0 Then LogColor("Promos" & " | " & marca & " | " & tipo, Colors.red) - c2 = B4XPages.MainPage.skmt.ExecQuery2("Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_TIPOPROD = ? and CAT_GP_ID <> 'PRO2265' AND CAT_GP_ID NOT IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP) AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa))", Array As String(Value, marca, tipo)) + c2 = B4XPages.MainPage.skmt.ExecQuery2($"Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_TIPOPROD = ? and CAT_GP_ID <> 'PRO2265' AND CAT_GP_ID NOT IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP) AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa))"$, Array As String(Value, marca, tipo)) End If ' End If Else LogColor("Catalogo", Colors.red) - c2=B4XPages.MainPage.skmt.ExecQuery("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD <> 'PROMOS' ") + c2=B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD <> 'PROMOS'"$) End If If Value = "CATALOGO" Then lv_catalogos.Visible = False @@ -263,7 +265,7 @@ Sub lv_promos_ItemClick (Position As Int, Value As Object) End If If entro = "3" Then LogColor("Promos YYY", Colors.red) - c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )", Array As String(Value, marca, tipo)) + c2=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )"$, Array As String(Value, marca, tipo)) clv_productos.AsView.Visible = False lv_promos.Visible = True lv_catalogos.Visible = False @@ -320,7 +322,7 @@ Sub llenaCatalogo(limpiar As Boolean) Log("LlenaCatalogo") If limpiar Then clv_productos.Clear Private c2 As Cursor - c2 = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD <> 'PROMOS' + c2 = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD <> 'PROMOS' order by Case CAT_GP_TIPOPROD when 'PRIORITARIO' THEN 0 WHEN 'ESTRATEGICO' THEN 1 @@ -406,7 +408,7 @@ 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 ${Subs.traeTablaProds(tipo_venta)} 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 @@ -537,7 +539,7 @@ Sub b_prodMas_Click End Sub Private Sub et_pCant_TextChanged (Old As String, New As String) - LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta) +' LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta) Try Dim index As Int = clv_productos.GetItemFromView(Sender) Dim pnl0 As B4XView = clv_productos.GetPanel(index) @@ -679,7 +681,7 @@ End Sub 'Inserta la promo especial en pedido Sub terminarpromoesp - c2 = B4XPages.MainPage.skmt.ExecQuery("select * from CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP)") + c2 = B4XPages.MainPage.skmt.ExecQuery($"select * from ${Subs.traeTablaProds(tipo_venta)} WHERE CAT_GP_ID IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP)"$) If c2.RowCount > 0 Then c2.Position = 0 Subs.guardaProducto(c2.GetString("CAT_GP_ID"), "0", 1,c2.GetString("CAT_GP_NOMBRE"), c2.GetString("CAT_GP_ID"), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta) @@ -734,7 +736,7 @@ Private Sub lv_promos_ItemLongClick (Position As Int, Value As Object) Log("Promo longclic = "&Value) Private id As String = "" - Dim c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID from cat_gunaprod where CAT_GP_TIPO = 'PROMOS' and CAT_GP_NOMBRE = '${Value}'"$) + Dim c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_TIPO = 'PROMOS' and CAT_GP_NOMBRE = '${Value}'"$) If c.RowCount > 0 Then c.Position = 0 id = c.GetString("CAT_GP_ID") diff --git a/B4A/Files/celltitle.bal b/B4A/Files/celltitle.bal index 0565ba828b2e9c830943e892376395300d531a5d..1d50cd33153eb930f6fc801339714f2565f82459 100644 GIT binary patch delta 14 VcmaFH^NeSM2`eMlW>Z!}MgS&m1NZ;{ delta 14 VcmaFH^NeSM2`i)AW>Z!}MgS(}1PlNG diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index f4fa29b25d1a383293004da62fd8f59393fbd91e..29cb8de70a37cc058dd9ac58cb51cbfb3e3b8c6c 100644 GIT binary patch literal 47652 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 F^dHdp6h;65 literal 47037 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 diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal index 50d1e9ec4b4af2ebd09159077fd5af15a5aa685a..47a23ec8f544b3186e800fca183b1a97bb0cfe07 100644 GIT binary patch delta 526 zcmaFU%ly8VS%8&+fngmV0|OV3?gZkAW(qtUKsqTtF)6<&C4Zun%*L=%wnU&10}~K4 z12GE_gY?1JY)EW&BsRz#m>NzbHpniRI5&(vS%+Po6)ZYAfPFE9wfP78dnPFJ4Hq*b zRQ?OMIaJVqr=GE%k&%Hxz8hp2$Z53`&U+np5IA-tx=# z(0*p0>0#E%7mPLtx7svI`LyH<#)TeXo5T7}Kq_XU+lRYqlj>h6ToT*d;$wa8*$Mw0 z4^EjGXIa~wc6XgOf8BZhFE=Y2%lmH5w7vT#@yY$Q2uS3pM*W-Qi z-nODS>(#@5W{5x9;<1n6H8bn eOi5s~k9zB@$p?2BO}>mjS)epX z6C)6V#6cQhY<46z2NIhTi4C#{rk)$do~*|%&k7cu9K^mD!rJ_c{XG+u`HqX35i0+U z+Z-xr#8b~${~u_Cd^gB4kn?IM-1R!_AkcdCw9U~w9;>Eo$P{tWklGvgVU_OAsc+L} z@ubw>n0swmxZQ03M~io?bY-b$6Knf>PBQJ>ZO^DO*_cc+%SbPdjs1J*A<1%TnD$-E~sD8>|lLH=+ar0*~<10yS#(X zugI)aIkr<^`R&d6yEf<@vOb;jweeeZ)SuV7|GwE}-AoYOer7ZK>&$fC)9>u=HOeh3 zkW^QB7wNq|Wk%wUg+E<`7CwKt;l1;($BP%n<>w`Tmb+gWReOx{;KD_sE1lO|5AZqi z?U7f{cSXO?PngZ~RT!6U-o&>;Ko${g{J?;4b_{ZNRB(3m_4N014RPFDCV!HhQDn1& d`jlCdr=;pk&Z}da9J!Zoa$OwfX4ylRSOAj^rdR*~ diff --git a/B4A/Files/proditem2.bal b/B4A/Files/proditem2.bal new file mode 100644 index 0000000000000000000000000000000000000000..4e2393c3c3c038afdd4f67065f1f426eee7eb0fd GIT binary patch literal 2418 zcmc&#&2Jk;6dw~iV46}sS_q#lUmlel~q5Vc}g3b-zHO>?82>`vl=&F*S<;*g#y zaX|&7N|g{-?p!%==!pxBa)T2m_z&R5&HR3Evzvql1QG~K^X512y?OKA@6D_$N~y_` zQg>snV%&w%^qd`9w|*~hJzp#&I*v^;4qZntnqYQ6tpc}9mE2VLG#D+u6ep3NHpKrO z9hzW=zpTsf;ty%a?+(Z@4C)y)$BcU?2BY$K8RPIL*{ZBA^wu_Sou7WYw$a%O?U9W`*Y@>pocz9VH5%w)$KYL`lAS2%hzP+iny2^61NEnxP3@ zSFaczljq1zFRcc_1urosoWRP4Ua;z$zIB0kzORRx)v}rpyIFs%6T||LZaBTngB*7- zo&ZUa{TbTSq8=VP)QQ!hn_;NHEIGE)MKL$8S>Fv9dSLAGz;WY1hu$DcBt{15cZIhcMzabIs`fPAVkTB;FA+DnFBUcG>;Hqs7G_aMVa4< zvBxR6tUduDsUHT|uINavW<^h8jI*4lFeGGF<7hN`I@e%U*M5v(ia~KoC2dgjmC@L+=$@q}M8FHH#EHYvU#7-b*Hvl9X)?7rQ`H#d* zLnp)>1^9==p!vIrIffY3;}AQDsbP77dig2?fVs=f=c$>2*v%QU5zd&6aCRPmpAy+F z6~--?w$&+q(p zkDsysamK#q&j@Jay&RF)x^1}4W=lt8t?UVIc>+*u?GIQW`y@@*L`*vjdyk}f@E(( zY#2ZaLSYvi+^qw?vD<;CZjGiltK;s1F*GR&+x2k5Sak0khz$=UKq}5$*pKe@JuW~R zuY*T0cH$s;}qjb zVXW%C9jp38gAnjq9|s;yZ)d9DJrAW}R38J9@c?GR(~9%7;yfdqg1+nn&l|5S8XvGo zXwCf$n1D?yGhw2lO;ogWp}FpG!X%kDS^OGH(OwLq zEqY)GeQ#D}EtSezN|lw2uOxb4nNnCL3N%L5^%5yGVE-hmDhiX#s*q9ojvHaQTDe@U zT!FBp0b@p4D`$?t zF2w^Sid-UO8Y7>OeS)=$xmK9w=sN#yv0klTuhws1&tRikzfr9(mGuSdt-Yd5QOcMS z=cc{WpsS5-Al)4=)2%%}+(@@U{IDtDI@-ti0tlXf2*xBA`!;oESws(@_`66)kKa7$?fZDCe2w@EU$ zNis7gc%V`lP$|ivF-qokQmMfoC&a@J#or-(bH=N_gyv!GqH9>X1=2+?}TRNyCN`iwn1%!%`BeF0u^($z}Y$6F4)ZXl)!t+%=d*dG0&iO!Dh~$ z&lLB3P5FKvw+S|LzoP69&CCNLFlK>49fT1d3c@_~eCYq|bMR395Gp*YoDNDk9h7pq zu+URd==<2SgNnraG9l;D5myLPas#RI4RVKJfhfrZzSvn$FIwDzmf29Y$R%U%I?$H<} z>KoFQO%F%9E!9o#aQrSk5_kruD-V0R9I`|`o< zr(VJ9Lxcb1Z$FV07JNcQ0B*IQpB4J&(9ov?rG(eFTJV%@0l4Z=a7GE72~FUvzYfhh zJ0}QpcR42+F~dV$O8URcpOy2HmGhF7+#Mdcpu{hT`1zKy@(YPKz(uw2VrUD0$qXF4>IH$5QCyVODW&SYh(}fG86*uOA*4t=A`c@dd2P?g z2uT{RVq&OxOITe+OH!)~71C;zc!jnURq46=&bju?hh{$9v+kO^@9)3&*=L`9?mW0| zymZ}Yf9L~s9Dn=tuIp_y7z`l;v7cXCM~dHx`i?iy2~c+Zl{H!;N~es{%7gJC+e+8S!%>_Iu9^v&e2Xqs?}soir;jN7s#G z#5hKbCt}xbW|*tn&STVhZq)tV6_`)j3m9<$BPI~Bbq_NvB)ddLOLU`c?WsVLuA9t= z$&8pn#3sGWut>MHGOE>$y6&U*#d?%gxR|PNF;(HA-Zn^ODygKhn5uAzP&uX61uSLk zrNkx+s-WCqHZ1S!tQ%Oy-v0tiHk`sCX@Rhuy}#V;{qzyM0!s!+(h5dO!=g>>mM_ZroOSp2Bl-TH*#3nHz!|*_q!ZxftCY8se z8jMR9QZlLel+=7$z{%rnP{5|JfRd6=iTzS2R6`+S77|l?y4jhKBwFHI7-I_skT0hC zf77s4|l%?j8PM*B~a^5b0Q^Yr)Lh1 z(UYhFswX!GYNgm?iV2H@8UoD(R$H`0S}@WgCG5=AB9}~AU^jDjH*>c#+Da`&QyUpA zSq{(K-9s|lrYqEM2m*VV)LtfaHpWW*#)5rgq|DdM<$c7;o~cl$u|P576f@4zSSxiH z&E+n!lC|G6mk*H4vRMkXAI;^1OzI$$+BMrs?Z<+xW=okv%;m$xnj5E3KmAs;9PKUf~fRdRK{>ryGFA_r|UR1kxp9yrL~n@gxqE^D@mfiaY1WE zr_GH|iWC@~;-SE|tSV2k_)fC;PElED=eyHv=1wz5)RIz9cA6tIQ)QCAqa@WD=l7H( zb#I&`A#jFConcaH)#*n*oVZNZxMNvk&?a1LBh(fr>!~cGRF+XHFRZXZISaL%LM@|I z{viCQhI35$94XUNXCmXUM`j@2Nte3aGwRoC;HUN}%_=x_0Jh62#E49F5|T1|1(em6 z=40Z!p+DxLnVrpl%u-*!pVbZH!hCB-oEIyF9~myN7%sTPAbaHDRdTiXuGUsdt$zMQ zt3^A(Ut$86n1G!8sruws(BxOpsqJkyNxZ7IoZOPz9^7Ux-}da~JL+;3-_%p#F7x>= z`CP@4s$gz%ANp2pzFihv)b_?8ZM3*zL|hiQCt`ZT$4B_>D=yPL5!~w-wKE9QicI1# zowL)t@VP;{h z3{S+3=^rsX6_}J1W1i%j20r)|Y$q!uZ mae7D>M_SQ`07juV1p5{Fiiv9P2r~9HV5nm~Ryuq{=>Gxdfa8<^ diff --git a/B4A/Guna Vistas V3.1.b4a.meta b/B4A/Guna Vistas V3.1.b4a.meta index b022c87..836c67f 100644 --- a/B4A/Guna Vistas V3.1.b4a.meta +++ b/B4A/Guna Vistas V3.1.b4a.meta @@ -55,8 +55,8 @@ ModuleClosedNodes1=11,13,14 ModuleClosedNodes10= ModuleClosedNodes11= ModuleClosedNodes12=6 -ModuleClosedNodes13= -ModuleClosedNodes14=17,20 +ModuleClosedNodes13=3 +ModuleClosedNodes14=3,17 ModuleClosedNodes15= ModuleClosedNodes16= ModuleClosedNodes17=4 @@ -70,12 +70,12 @@ ModuleClosedNodes23=3,4,5,6,7,8,9 ModuleClosedNodes24= ModuleClosedNodes25= ModuleClosedNodes3= -ModuleClosedNodes4=159 +ModuleClosedNodes4= ModuleClosedNodes5= ModuleClosedNodes6=8,9,10,11 ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Productos,l_prodX_LongClick,717,0,Diseñador Visual,nota.bal,-100,4,C_Nota,borra_Click,174,0,C_Nota,ListView1_ItemLongClick,223,6,C_Nota,B4XPage_Appear,69,6,C_Productos,ponProdsEnCero,642,0,Subs,traeTablaProds,1681,0,Subs,revisaProdFueraDePromo,1699,0,C_Historico,Regresar_Click,91,0,C_Historico,B4XPage_CloseRequest,96,0,C_Historico,B4XPage_Appear,84,0 +NavigationStack=C_Principal,B4XPage_Appear,342,5,Subs,revisaProdFueraDePromo,1699,0,C_Cliente,B4XPage_Created,474,0,C_Cliente,p_pideGeoPass_Click,1106,0,Visual Designer,cliente.bal,-100,6,Subs,traeTipoVentaDeBD,1711,6,Tracker,flp_LocationChanged,174,0,C_Cliente,iniciofin,1110,6,C_Cliente,GPS_LocationChanged,1084,1,C_Cliente,B4XPage_Appear,508,6 SelectedBuild=0 -VisibleModules=23,24,4,5,13,14,25,9,19,10,7 +VisibleModules=23,2,13,24,4,5,14,9,25 diff --git a/B4A/Starter.bas b/B4A/Starter.bas index 4ebb3bc..5874dbf 100644 --- a/B4A/Starter.bas +++ b/B4A/Starter.bas @@ -37,6 +37,7 @@ Sub Process_Globals Dim muestraProgreso = 0 'Parte de la funcionalidad "appUpdater" Public newApp As mNewVersion 'Parte de la funcionalidad "appUpdater" Dim nuevoLink As String + Dim idCliente As String = "" End Sub Sub Service_Create diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 9afb12d..c9cdd7c 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -649,7 +649,7 @@ End Sub Sub traeProdNombre(id As String) As String Private h As Cursor Private n As String - h=B4XPages.MainPage.skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(id.Trim)) + h=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_NOMBRE from ${traeTablaProds(traeTipoVentaDeBD)} where CAT_GP_ID = ? "$, Array As String(id.Trim)) If h.RowCount > 0 Then h.Position = 0 n = h.GetString("CAT_GP_NOMBRE") @@ -766,7 +766,7 @@ Sub guardaProducto(cedis As String, costoU As String, cant As String, nombre As LogColor("guardaProducto: "&prodId&", cant="&cant&" - TV:"&tipoVenta, Colors.Magenta) Private c As Cursor B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (cedis, (cant * costoU), costoU, cant, nombre, prodId, clienteId, fecha, usuario, traeRutaBitacora, precioSin, tipoVenta)) - B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cant, prodId)) + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${traeTablaProds(traeTipoVentaDeBD)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId)) c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") c.Position=0 B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") @@ -834,7 +834,7 @@ Sub traePromo(promo As String, cliente As String) As Map End If - c = B4XPages.MainPage.skmt.ExecQuery("Select CAT_GP_STS, CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = '"& promo & "'") 'Obtenemos las piezas requeridas de productos variables para la promoción. + c = B4XPages.MainPage.skmt.ExecQuery($"Select CAT_GP_STS, CAT_GP_NOMBRE from ${traeTablaProds(traeTipoVentaDeBD)} where CAT_GP_ID = '${promo}' "$) 'Obtenemos las piezas requeridas de productos variables para la promoción. c.Position = 0 Private pvr As String = 0 @@ -855,7 +855,7 @@ End Sub 'Regresa un mapa con el inventario disponible por producto para la promoción (desde la base de datos). Sub traemosInventarioDisponibleParaPromo(promo As String) As Map 'ignore Private c As Cursor - c = B4XPages.MainPage.skmt.ExecQuery2("SELECT CAT_GP_ID, CAT_GP_ALMACEN FROM CAT_GUNAPROD WHERE CAT_GP_ID IN (select CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = ?)", Array As String(promo)) + c = B4XPages.MainPage.skmt.ExecQuery2($"SELECT CAT_GP_ID, CAT_GP_ALMACEN FROM ${traeTablaProds(traeTipoVentaDeBD)} WHERE CAT_GP_ID IN (select CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = ?)"$, Array As String(promo)) ' Private prodInv As Map ' prodInv.Initialize Private prods As Map @@ -1155,7 +1155,7 @@ End Sub Sub traeProdIdDeBD As Map 'ignore Private c As Cursor Private m As Map - c=B4XPages.MainPage.skmt.ExecQuery("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_TIPO, CAT_GP_SUBTIPO from CAT_GUNAPROD where CAT_GP_NOMBRE In (Select PDESC from PROID)") + c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_TIPO, CAT_GP_SUBTIPO from ${traeTablaProds(traeTipoVentaDeBD)} where CAT_GP_NOMBRE In (Select PDESC from PROID)"$) If c.RowCount > 0 Then c.Position = 0 m = CreateMap("id":c.GetString("CAT_GP_ID"), "nombre":c.GetString("CAT_GP_NOMBRE"), "tipo":c.GetString("CAT_GP_TIPO"), "subtipo":c.GetString("CAT_GP_SUBTIPO")) @@ -1174,7 +1174,7 @@ Sub traePromoIdDeBD As Map 'ignore Private m As Map Log("ENTRE") - c=B4XPages.MainPage.skmt.ExecQuery("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_TIPO, CAT_GP_SUBTIPO from CAT_GUNAPROD where CAT_GP_NOMBRE In (Select PDESC from PROID) and CAT_GP_TIPO = 'PROMOS'") + c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_TIPO, CAT_GP_SUBTIPO from ${traeTablaProds(traeTipoVentaDeBD)} where CAT_GP_NOMBRE In (Select PDESC from PROID) and CAT_GP_TIPO = 'PROMOS'"$) If c.RowCount > 0 Then c.Position = 0 m = CreateMap("id":c.GetString("CAT_GP_ID"), "nombre":c.GetString("CAT_GP_NOMBRE"), "tipo":c.GetString("CAT_GP_TIPO"), "subtipo":c.GetString("CAT_GP_SUBTIPO")) @@ -1237,7 +1237,7 @@ End Sub Sub InvSuficientePromoEsp As Boolean Private y As Boolean = False - Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, ifnull(CAT_GP_ALMACEN, 0) As CAT_GP_ALMACEN from CAT_DETALLES_PAQ left JOIN CAT_GUNAPROD ON CAT_DP_IDPROD = CAT_GP_ID WHERE CAT_DP_ID IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP)") + Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select CAT_DP_IDPROD, CAT_DP_PZAS, ifnull(CAT_GP_ALMACEN, 0) As CAT_GP_ALMACEN from CAT_DETALLES_PAQ left JOIN ${traeTablaProds(traeTipoVentaDeBD)} ON CAT_DP_IDPROD = CAT_GP_ID WHERE CAT_DP_ID IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP)"$) If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i @@ -1401,7 +1401,7 @@ Sub revisaPromoProcterPRO3009(prodsMap1 As Map) Private monto As String = 0 Private invRegalo As Int = 0 Private totalRegalos As Int = 0 - Private r As ResultSet = Starter.skmt.ExecQuery($"select ifnull(cat_gp_almacen, 0) as CAT_GP_ALMACEN from cat_gunaprod where cat_gp_id = '${idRegalo}'"$) ' Traemos el inventario del regalo. + Private r As ResultSet = Starter.skmt.ExecQuery($"select ifnull(cat_gp_almacen, 0) as CAT_GP_ALMACEN from ${traeTablaProds(traeTipoVentaDeBD)} where cat_gp_id = '${idRegalo}'"$) ' Traemos el inventario del regalo. Do While r.NextRow Log(r.GetString("CAT_GP_ALMACEN")) If r.GetString("CAT_GP_ALMACEN") > 0 Then invRegalo = r.GetString("CAT_GP_ALMACEN") @@ -1687,7 +1687,7 @@ End Sub Sub traeTablaProds(tipoventa As String) As String Private tablaProds As String = "cat_gunaprod2" If tipoventa = "ABORDO" Or tipoventa = "PREVENTA" Then tablaProds = "cat_gunaprod" -' LogColor($"Tipo= ${tipoventa}, tabla=${tablaProds}"$, Colors.RGB(200,136,0)) + LogColor($"Tipo= ${tipoventa}, tabla=${tablaProds}"$, Colors.RGB(200,136,0)) Return tablaProds End Sub @@ -1699,8 +1699,22 @@ Sub revisaProdFueraDePromo(prodId As String) As Boolean Log("rowcount: " & p.RowCount) If p.RowCount > 0 Then p.Position = 0 -' Log($"|${p.GetString("PE_CEDIS")}|${prodId}|"$) + Log($"|${p.GetString("PE_CEDIS")}|${prodId}|"$) fueraDePromo = True End If Return fueraDePromo +End Sub + +'Trae el tipo de venta (VENTA o PREVENTA) desde CAT_VARIABLES, o "PREVENTA" por default. +Sub traeTipoVentaDeBD As String + Private tipoVenta As String = "PREVENTA" + Private r As ResultSet = Starter.skmt.ExecQuery("select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'TIPO_VENTA' ") + Do While r.NextRow + tipoVenta = r.GetString("CAT_VA_VALOR") + Loop + If Starter.idCliente = "0" Then + tipoVenta = "ABORDO" + End If + Log(">>>>>>> " & tipoVenta) + Return tipoVenta End Sub \ No newline at end of file diff --git a/B4A/Tracker.bas b/B4A/Tracker.bas index a7876f6..023ac9f 100644 --- a/B4A/Tracker.bas +++ b/B4A/Tracker.bas @@ -54,7 +54,7 @@ Sub Service_Create End Sub Sub flp_ConnectionSuccess - Log("Connected to location provider") +' Log("Connected to location provider") 'FLP.GetLastKnownLocation End Sub