From fb5898b38b968ffd76cdf76decc21c14d68ad3a1 Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 1 Sep 2025 13:31:05 -0600 Subject: [PATCH] 5.08.09 --- B4A/B4XMainPage.bas | 4 + B4A/C_Cliente.bas | 342 ++++++++++++++++++++++++++++------ B4A/C_Clientes.bas | 10 +- B4A/C_Nota.bas | 10 +- B4A/C_Principal.bas | 79 ++++++-- B4A/C_Productos.bas | 10 +- B4A/Files/cliente.bal | Bin 63537 -> 64392 bytes B4A/Guna Vistas V3.1.b4a | 2 +- B4A/Guna Vistas V3.1.b4a.meta | 2 +- B4A/Subs.bas | 2 + 10 files changed, 381 insertions(+), 80 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 5eae53a..79a15c3 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -153,9 +153,12 @@ Private Sub B4XPage_Created (Root1 As B4XView) skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS COMENTARIOS (COMENTARTIO TEXT, CLIENTE TEXT, DESCARGADO TEXT)") +' skmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_PROMOS_DESCUENTOS") Subs.agregaColumna("PLAN_LEALTAD", "DESCARGADO", "TEXT") Subs.agregaColumna("PEDIDO_CLIENTE", "PC_FACTURA", "INTEGER") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS GPS (HABILITADO)") + skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMOS_DESCUENTOS (CAT_PD_ALMACEN TEXT, CAT_PD_COD_PROMO TEXT, CAT_PD_RANGO INT, CAT_PD_VIGENCIA TEXT, CAT_PD_DESCUENTO TEXT, CAT_PD_PRODUCTO TEXT, CAT_PD_TIER TEXT)") + Subs.agregaColumna("CAT_PROMOS_DESCUENTOS", "CAT_PD_RANGO2", "INT") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD2 (CAT_GP_CODPROMO TEXT, CAT_GP_INICIATIVA TEXT, CAT_GP_TIPOPROD TEXT, CAT_GP_DEV TEXT, CAT_GP_ALMACEN NUM, 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 )") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PROMO_ESP (HVD_CLIENTE)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMO_ESP(CAT_PE_ID TEXT,CAT_PE_IDPROMO TEXT,CAT_PE_MONTO TEXT)") @@ -194,6 +197,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) Subs.agregaColumna("HIST_ENCUESTA", "HE_FOTO", "BLOB") Subs.agregaColumna("kmt_info3", "foto", "BLOB") Subs.agregaColumna("PEDIDO", "PE_RECALCULO", "TEXT") + Subs.agregaColumna("PEDIDO", "PE_RECCEDIS", "TEXT") Subs.agregaColumna("PEDIDO", "PE_RECALCULOTOT", "TEXT") Subs.agregaColumna("HIST_ENCUESTA", "HE_LON", "TEXT") Subs.agregaColumna("kmt_info3", "encuesta", "TEXT") diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index f4d0c5d..367260c 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -463,6 +463,7 @@ Sub Class_Globals Private p_cliente_ As Panel Private l_limite As Label Private l_credito As Label + Private l_tipocliente As Label End Sub 'You can add more parameters here. @@ -534,6 +535,8 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear + TraeCantProd + ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png") btnPlanLealtad.Visible = False bitacora.inicioFin ' iniciofin @@ -587,6 +590,9 @@ Sub B4XPage_Appear ' Log("EnVenta NO Visible") ' b_Inicio_Fin_venta.Visible = False ' End If + + + If Subs.hayPedido Then 'Si hay pedido, deshabilitamos el boton de "No Venta" Log(">>>>> HAY PEDIDO") @@ -601,6 +607,24 @@ Sub B4XPage_Appear End If skmt.Initialize(ruta,"kmt.db", True) reqManager.Initialize(Me, Starter.server) + + + + Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) AND foto IS NULL") + If fotomostrar1.RowCount > 0 Then + ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png") + Log("aqui no hay foto") + Else + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_cat_clientes2_guna_FOTO_GV2" + cmd.Parameters = Array As Object(la_cuenta.Text, Subs.traeAlmacen,Subs.traeRuta) + Log(la_cuenta.Text) + Log(Subs.traeRuta) + Log(Subs.traeAlmacen) + reqManager.ExecuteQuery(cmd , 0, "kmt_datos_foto") + End If + l_tipocliente.Text = Subs.traeTipoCliente 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)") @@ -1149,26 +1173,7 @@ Sub B4XPage_Appear End If End If - Dim fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If fotomostrar.RowCount > 0 Then - Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) AND foto IS NULL") - If fotomostrar1.RowCount > 0 Then - ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png") - Log("aqui no hay foto") - Else - fotomostrar.Position = 0 - Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("foto") - Dim InputStream1 As InputStream - InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length) - Dim Bitmap1 As Bitmap - Bitmap1.Initialize2(InputStream1) - InputStream1.Close - ImageView4.Bitmap = Bitmap1 - - Log("aqui si hay foto") - End If - - End If + SV_ENCUESTA.Visible = False P_gallina.Visible = False p_pregunta1.Visible = False @@ -1202,6 +1207,37 @@ Sub B4XPage_Appear End Sub + +Sub TraeCantProd As Boolean + +' Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT* FROM PEDIDO JOIN CAT_PROMOS_DESCUENTOS ON CAT_PD_PRODUCTO = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_CEDIS = ? AND PE_CANT >= CAT_PD_RANGO AND CAT_PD_RANGO2 <= PE_CANT", Array As String(Subs.traeAlmacen)) + Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_CEDIS = ? ", Array As String(Subs.traeAlmacen)) + If c.RowCount > 0 Then + For promespdes = 0 To c.RowCount -1 + c.Position = promespdes + + Dim rangosel As Cursor= B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM CAT_PROMOS_DESCUENTOS WHERE CAT_PD_PRODUCTO = ? AND CAT_PD_RANGO <= ? AND CAT_PD_RANGO2 >= ?",Array As String(c.GetString("PE_PROID"),c.GetInt("PE_CANT"),c.GetInt("PE_CANT"))) + If rangosel.RowCount > 0 Then + + rangosel.Position = 0 + + If rangosel.GetString("CAT_PD_TIER").Contains(Subs.traeTipoCliente) Then + Log(c.GetString("PE_COSTOU")) + Log(rangosel.GetString("CAT_PD_DESCUENTO")) + Private recalculo As Float = c.GetString("PE_COSTOU") - NumberFormat2(((c.GetString("PE_COSTOU") * rangosel.GetString("CAT_PD_DESCUENTO"))/100),0,2,2,False) + LogColor(recalculo,Colors.Blue) + Private recalculototal As Float =c.GetString("PE_CANT") * recalculo + skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ?, PE_RECCEDIS = ? WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(NumberFormat2(recalculo,0,2,2,False) ,NumberFormat2(recalculototal,0,2,2,False), rangosel.GetString("CAT_PD_COD_PROMO"),c.GetString("PE_PROID"))) + End If + Else + skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = NULL, PE_RECALCULOTOT = NULL, PE_RECCEDIS = NULL WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(c.GetString("PE_PROID"))) + End If + + Next + End If + +End Sub + Sub GPS_LocationChanged (Location1 As Location) LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red) If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then @@ -1556,6 +1592,42 @@ Sub JobDone(Job As HttpJob) ' End If ' End If + + + If result1.Tag = "kmt_datos_foto" Then 'query tag + + For Each records() As Object In result1.Rows + + Dim CAT_CL_FOTO() As Byte = records(result1.Columns.Get("CAT_CL_FOTO")) + Next + Log("si paso") + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE kmt_info3 SET foto = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(CAT_CL_FOTO)) + + Dim fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If fotomostrar.RowCount > 0 Then + Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) AND foto IS NULL") + If fotomostrar1.RowCount > 0 Then + ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png") + Log("aqui no hay foto") + Else + fotomostrar.Position = 0 + Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("foto") + Dim InputStream1 As InputStream + InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length) + Dim Bitmap1 As Bitmap + Bitmap1.Initialize2(InputStream1) + InputStream1.Close + ImageView4.Bitmap = Bitmap1 + + Log("aqui si hay foto") + End If + + End If + End If + + + + End If Job.Release @@ -2606,13 +2678,207 @@ Sub B_IMP_Click Else Impresion End If - Else + Else If ALMACEN = 88 OR ALMACEN = 92 Then + + Impresion3 + Else Impresion End If + B4XPages.MainPage.skmt.ExecNonQuery("delete from TICKET_IMPRESO where idCliente In (select cuenta from cuentaa)") B4XPages.MainPage.skmt.ExecNonQuery($"insert into TICKET_IMPRESO (idCliente) values ('${Subs.traeCliente}')"$) End Sub +Sub Impresion3 + c=skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close +' c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL")) +' c.Position = 0 +' sucursal = c.GetString("CAT_VA_VALOR") +' c.Close + + ProgressDialogShow("Imprimiendo, un momento ...") + Printer1.DisConnect + If Not(Printer1.IsConnected) Then +' If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else +' If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If + + TAMANO = 0 + ESPACIO = 21 + BLANCO = " " + Dim bmp As Bitmap + bmp.InitializeResize(File.DirAssets, "guna.png", 192, 192, True) 'ignore + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + + myimage = Printer1.DitherImage2D(myimage, 128) + + myimage= Printer1.PackImage(myimage) + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + + Printer1.PrintImage(myimage) + Printer1.WriteString(Printer1.UNREVERSE) + + 'Printer1.Justify = 1 + 'printer.Initialize(cmp20.OutputStream) +' Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) + Printer1.WriteString("RFC: DRT-110316-9J1" & CRLF) +' Printer1.WriteString(sucursal & CRLF) + Printer1.WriteString(sDate & CRLF) + Printer1.WriteString(sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) +' Printer1.WriteString("C.P.: " & la_cp.Text & CRLF) + Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF) + Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF) + + Printer1.WriteString("-----------PREVENTA-----------" & CRLF) + ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. + s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU,IFNULL(PE_RECALCULO,0) AS PE_RECALCULO, length(PE_COSTOU) as L_COSTOU, length(Ifnull(PE_RECALCULO,0)) as L_COSTOREC,PE_CANT * PE_COSTOU AS PE_COSTO_TOT,PE_CANT * IFNULL(PE_RECALCULO,0) AS PE_COSTO_TOTREC, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,length(PE_CANT * IFNULL(PE_RECALCULO,0)) as L_COSTO_TOTREC,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String(Subs.traeAlmacen)) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + + Else + + If s.GetDouble("PE_RECALCULO") = 0 Then + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + TAMANO = s.GetLong("L_CANT") + TAMANO + TAMANO = s.GetLong("L_COSTOU") + TAMANO + TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + + ESPACIO = ESPACIO - TAMANO + + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF ) + TAMANO = 0 + ESPACIO = 21 + BLANCO = " " + Else + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + TAMANO = s.GetLong("L_CANT") + TAMANO + TAMANO = s.GetLong("L_COSTOREC") + TAMANO + TAMANO = s.GetLong("L_COSTO_TOTREC") + TAMANO + + ESPACIO = ESPACIO - TAMANO + + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_RECALCULO") & " $" & s.GETSTRING("PE_COSTO_TOTREC") & CRLF ) + TAMANO = 0 + ESPACIO = 21 + BLANCO = " " + End If + + End If + Next + End If + s.Close + Printer1.WriteString(" " & CRLF) + s=skmt.ExecQuery("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE LENGTH(PE_CEDIS) > 3 AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU") + If S.RowCount>0 Then + Printer1.WriteString("------------PROMOS------------" & CRLF) + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + + Else + + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + TAMANO = s.GetLong("L_CANT") + TAMANO + TAMANO = s.GetLong("L_COSTOU") + TAMANO + TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + + ESPACIO = ESPACIO - TAMANO + + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF ) + TAMANO = 0 + ESPACIO = 21 + BLANCO = " " + End If + Next + Printer1.WriteString(" " & CRLF) + End If + s.Close + + s=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + s.Position =0 + ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then + ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL"))) + ' End If + Printer1.WriteString("Subtotal Preventa: $" & s.GetString("TOTAL") & CRLF) + s.Close + c= skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )") + C.Position=0 + Printer1.WriteString("Total Articulos: " & c.GetString("PC_NOART") & CRLF) + c.Close + s=skmt.ExecQuery("select IFNULL(SUM(PE_COSTO_TOT),0) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and IFNULL(PE_RECALCULO,0) = 0") + s.Position =0 + S2=skmt.ExecQuery("select IFNULL(SUM(PE_RECALCULOTOT),0) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and IFNULL(PE_RECALCULO,0) <> 0") + S2.Position =0 + ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then + ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL"))) + ' End If +' Printer1.WriteString("Descuento: $" & 150 & CRLF) + Printer1.WriteString("Total Preventa: $" & NumberFormat2((s.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF) + + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("ENTREGA EN :" & CRLF) + Printer1.WriteString(la_Calle.Text & CRLF) + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(" " & CRLF) + + Sleep(1000) + Printer1.DisConnect + + ProgressDialogHide +' printer.Flush + ' printer.Close +End Sub + Sub Impresion2 c=skmt.ExecQuery("select USUARIO from usuarioa") c.Position=0 @@ -2745,37 +3011,7 @@ Sub Impresion2 Printer1.WriteString(" " & CRLF) End If s.Close - -' Printer1.WriteString("-------------RMI..-----------" & CRLF) -' ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. -' s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CEDIS = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA","DUR")) -' If S.RowCount>0 Then -' For i=0 To S.RowCount -1 -' S.Position=i -' If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then -' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) -' -' Else -' -' Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) -' TAMANO = s.GetLong("L_CANT") + TAMANO -' TAMANO = s.GetLong("L_COSTOU") + TAMANO -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO -' -' ESPACIO = ESPACIO - TAMANO -' -' For E=0 To ESPACIO -1 -' BLANCO = " " & BLANCO -' Next -' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF ) -' TAMANO = 0 -' ESPACIO = 21 -' BLANCO = " " -' End If -' Next -' End If -' s.Close - + s=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") s.Position =0 ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then @@ -6135,7 +6371,7 @@ Sub Camera1_PictureTaken (Data()As Byte) Log(nombrefoto) - Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & Dir, filename, 450, 600, True) + Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & Dir, filename, 225, 300, True) Dim out As OutputStream = File.OpenOutput(File.DirInternal & Dir & Dir2, filename, False) img.WriteToStream(out, 100, "PNG") ' foto4 = File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto3) diff --git a/B4A/C_Clientes.bas b/B4A/C_Clientes.bas index 70cfae8..9c24b0f 100644 --- a/B4A/C_Clientes.bas +++ b/B4A/C_Clientes.bas @@ -28,6 +28,8 @@ Sub Class_Globals Dim q_buscar As String Private p_clientes As Panel Private Panel4 As Panel + + Dim reqManager As DBRequestManager End Sub 'You can add more parameters here. @@ -66,6 +68,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) End Sub Sub B4XPage_Appear + reqManager.Initialize(Me, Starter.server) busca.Text = "" entro = "2" colonia = 0 @@ -150,6 +153,9 @@ Sub ListView1_ItemClick (Position As Int, Value As Object) Log(B4XPages.MainPage.cliente.bitacora.enVenta) End If B4XPages.ShowPage("Cliente") + + + End If Log(entro) End Sub @@ -241,4 +247,6 @@ End Sub Private Sub p_clientes_Click 'Nada aqui, solo esta para que los clics no se pasen hacia atras. -End Sub \ No newline at end of file +End Sub + + diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index 88cc0e1..b5b5d83 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -78,7 +78,7 @@ Sub B4XPage_Appear C.Position=0 Existe = C.GetString("EXISTE") C.Close - c=B4XPages.MainPage.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS desc") + c=B4XPages.MainPage.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS, IFNULL(PE_RECALCULOTOT,0) AS PE_RECALCULOTOT FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS desc") ListView1.Clear ListView1.Height = Root.Height * 0.65 Private cs As CSBuilder @@ -99,7 +99,11 @@ Sub B4XPage_Appear label2.TextSize = 16 label2.TextColor = Colors.White - ListView1.AddSingleLine(cs.Color(textColor).Size(20).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(16).Color(Colors.White).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_COSTO_TOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll) + If c.GetDouble("PE_RECALCULOTOT") = 0 Then + ListView1.AddSingleLine(cs.Color(textColor).Size(20).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(16).Color(Colors.White).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_COSTO_TOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll) + Else + ListView1.AddSingleLine(cs.Color(textColor).Size(20).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(16).Color(Colors.White).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_RECALCULOTOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll) + End If label1.Height = 90dip ' label2.Height = 60dip ' @@ -262,6 +266,7 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) nom = nom.Trim Private cedis As String = X(X.Length-1) Log(nom) + Log(cedis) Dim cx As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID,PE_CANT, PE_FOLIO, PE_CEDIS, PE_PRONOMBRE, PE_CEDIS/1 AS is_numeric FROM PEDIDO where (pe_pronombre = '${nom}' or pe_pronombre = '${nom} ') AND PE_CEDIS = '${cedis}' and is_numeric > 0 and pe_cliente in (Select CUENTA from cuentaa) and PE_RECALCULO > 0"$) Log("Recalculados: " & cx.RowCount) If cx.RowCount > 0 Then ' Si hay recalculo (producto con promocion), al borrar el produto hay que borrar TODO el pedido. @@ -285,6 +290,7 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) c=B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID,PE_CANT, PE_FOLIO, PE_CEDIS, PE_PRONOMBRE FROM PEDIDO where (pe_pronombre = '${nom}' or pe_pronombre = '${nom} ') AND PE_CEDIS = '${cedis}' and pe_cliente in (Select CUENTA from cuentaa)"$) Log($"select PE_PROID,PE_CANT, PE_FOLIO, PE_CEDIS FROM PEDIDO where pe_pronombre = '${nom}' AND PE_CEDIS = '${cedis}' and pe_cliente in (Select CUENTA from cuentaa)"$) Log(c.RowCount) +' If c.RowCount > 0 Then c.Position=0 ' If c.RowCount > 0 Then ' 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"))) diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index c28dd45..31e449c 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -731,6 +731,7 @@ Sub Subir_Click Next End If c.Close + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null")) d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") If c.RowCount>0 Then @@ -748,22 +749,42 @@ Sub Subir_Click cuantos_pedido = D.GetString("CUANTOS_PEDIDO") d.Close - c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) - d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$) - If c.RowCount>0 Then - For i=0 To c.RowCount -1 - c.Position=i - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "insert_pedido_GV2" - cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), ALMACEN, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) - B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") - Next + If ALMACEN = "88" Or ALMACEN = "6" Then + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_RECCEDIS,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) + d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), ALMACEN, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + Else + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) + d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), ALMACEN, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close End If - c.Close - d.Position=0 - cuantos_pedido = D.GetString("CUANTOS_PEDIDO") - d.Close + ' 'CUESTIONARIO c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$) @@ -1000,6 +1021,7 @@ Sub cargar_Click B4XPages.MainPage.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS") B4XPages.MainPage.skmt.ExecNonQuery("delete from PROMOS_COMP") B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_VERIFICACION") + B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_PROMOS_DESCUENTOS") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM MARCAS_RUTAS") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_STAY_STORE") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GEOCERCA") @@ -1056,6 +1078,11 @@ Sub cargar_Click cmd.Parameters = Array As Object(ALMACEN) B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod") + cmd.Initialize + cmd.Name = "Select_promo_descuento_guna" + cmd.Parameters = Array As Object(ALMACEN) + B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "promodesp") + cmd.Initialize cmd.Name = "select_cat_gunaprod2_GV2" cmd.Parameters = Array As Object(ALMACEN, e_ruta.text) @@ -1569,6 +1596,23 @@ 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 = "promodesp" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CAT_PD_ALMACEN As String = records(RESULT.Columns.Get("CAT_PD_ALMACEN")) + Dim CAT_PD_COD_PROMO As String = records(RESULT.Columns.Get("CAT_PD_COD_PROMO")) + Dim CAT_PD_RANGO As String = records(RESULT.Columns.Get("CAT_PD_RANGO")) + Dim CAT_PD_RANGO2 As String = records(RESULT.Columns.Get("CAT_PD_RANGO2")) + Dim CAT_PD_VIGENCIA As String = records(RESULT.Columns.Get("CAT_PD_VIGENCIA")) + Dim CAT_PD_DESCUENTO As String = records(RESULT.Columns.Get("CAT_PD_DESCUENTO")) + Dim CAT_PD_PRODUCTO As String = records(RESULT.Columns.Get("CAT_PD_PRODUCTO")) + Dim CAT_PD_TIER As String = records(RESULT.Columns.Get("CAT_PD_TIER")) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_PROMOS_DESCUENTOS(CAT_PD_ALMACEN, CAT_PD_COD_PROMO, CAT_PD_RANGO, CAT_PD_VIGENCIA, CAT_PD_DESCUENTO, CAT_PD_PRODUCTO, CAT_PD_TIER,CAT_PD_RANGO2) VALUES (?,?,?,?,?,?,?,?)", Array As Object (CAT_PD_ALMACEN, CAT_PD_COD_PROMO, CAT_PD_RANGO, CAT_PD_VIGENCIA, CAT_PD_DESCUENTO, CAT_PD_PRODUCTO, CAT_PD_TIER,CAT_PD_RANGO2)) + Next + End If + End If + If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) If RESULT.Tag = "HIST_PROM" Then 'query tag @@ -1759,8 +1803,8 @@ Sub JobDone(Job As HttpJob) ' 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_LISTAPRECIO As Int = records(RESULT.Columns.Get("CAT_LISTAPRECIO")) - Dim CAT_LISTAPRECIO As Int = 10 + Dim CAT_LISTAPRECIO As String = records(RESULT.Columns.Get("CAT_LISTAPRECIO")) +' Dim CAT_LISTAPRECIO As Int = 10 ' 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_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_TIPOPROD,CAT_GP_INICIATIVA,CAT_LISTAPRECIO) 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_LISTAPRECIO)) @@ -2369,6 +2413,7 @@ Log("--------> BORRAMOS") B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido") B4XPages.MainPage.skmt.ExecNonQuery("delete from noventa") B4XPages.MainPage.skmt.ExecNonQuery("delete from COMENTARIOS") + B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_PROMOS_DESCUENTOS") B4XPages.MainPage.skmt.ExecNonQuery("delete from PLAN_LEALTAD") B4XPages.MainPage.skmt.ExecNonQuery("delete from clie_act") B4XPages.MainPage.skmt.ExecNonQuery("delete from kmt_info3") diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index ddb9153..268a755 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -2397,7 +2397,7 @@ Sub Busca_TextChanged (Old As String, New As String) listaHints.Initialize Sleep(0) ' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) - Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' AND CAT_GP_TIPO <> 'PROMOCION' union all select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) + Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_LISTAPRECIO from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' AND CAT_GP_TIPO <> 'PROMOCION' union all select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_LISTAPRECIO from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) Log("Llamamos LlenaProdsLL") LlenaProdsLL(p) ' Do While p.NextRow @@ -2453,8 +2453,8 @@ Sub LlenaProdsLL(p As ResultSet) ' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) - If Subs.traeTipoCliente = "4" Then - Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_LISTAPRECIO, 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_TIPO <> 'PROMOS' and CAT_GP_TIPO <> 'PROMOCION' + If Subs.traeTipoCliente = 4 Then + Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE,CAT_GP_PRECIO, CAT_LISTAPRECIO, 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_TIPO <> 'PROMOS' and CAT_GP_TIPO <> 'PROMOCION' order by Case CAT_GP_TIPOPROD when 'PRIORITARIO' THEN 0 WHEN 'ESTRATEGICO' THEN 1 @@ -2462,7 +2462,7 @@ Sub LlenaProdsLL(p As ResultSet) Else 3 End, CAT_GP_NOMBRE"$) Else - Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct 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_TIPO <> 'PROMOS' and CAT_GP_TIPO <> 'PROMOCION' + Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_LISTAPRECIO, 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_TIPO <> 'PROMOS' and CAT_GP_TIPO <> 'PROMOCION' order by Case CAT_GP_TIPOPROD when 'PRIORITARIO' THEN 0 WHEN 'ESTRATEGICO' THEN 1 @@ -2495,7 +2495,7 @@ Sub LlenaProdsLL(p As ResultSet) Log(p.GetString("CAT_GP_ID")) cant = cantsMap.Get(p.GetString("CAT_GP_ID")) End If - If Subs.traeTipoCliente = "4" Then + If Subs.traeTipoCliente = 4 Then If p.GetString("CAT_GP_ID") <> "GUN141" And p.GetString("CAT_GP_ID") <> "GUN142" Then ' Log(p.GetString("CAT_GP_NOMBRE")) ' ¡Importante! Crear un NUEVO mapa en cada iteración. diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index 44587ee37c7ad1286fd3ac04f972c2c3faa2e29f..bde55b3857b1c01a28d755e9dd00d0e2f9d804ca 100644 GIT binary patch delta 4509 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