From ebbd0af2760b8b5bc0d27f937d7a9ac56fcd1a02 Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Mon, 25 Mar 2024 23:00:50 -0600 Subject: [PATCH] =?UTF-8?q?-=20Se=20agreg=C3=B3=20la=20busqueda=20de=20pro?= =?UTF-8?q?ductos.=20-=20Se=20agreg=C3=B3=20el=20IVA=20al=20ticket=20de=20?= =?UTF-8?q?cierre=20de=20mesa.=20-=20Se=20agreg=C3=B3=20alimentos=20varios?= =?UTF-8?q?=20y=20bebidas=20varias.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B4A/B4XMainPage.bas | 31 ++- B4A/C_Principal.bas | 504 +++++++++++++++++++++++----------------- B4A/Files/login.bal | Bin 11277 -> 12304 bytes B4A/Files/principal.bal | Bin 44298 -> 47280 bytes B4A/Lanterna.b4a | 2 +- B4A/Lanterna.b4a.meta | 2 +- B4A/Starter.bas | 2 +- B4A/Subs.bas | 11 +- 8 files changed, 326 insertions(+), 226 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 88e8cab..c57dccd 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -45,7 +45,11 @@ Sub Class_Globals Private p_botones As Panel Private Label3 As Label Private p_server As Panel - Dim atrasPresionado As Boolean = False + Dim atrasPresionado As Boolean = False + Private cb_impresionActiva As CheckBox + Private CheckBox1 As CheckBox + Private b_leyendaDescuento As Button + Private p_leyendaDescuento As Panel End Sub Public Sub Initialize @@ -88,6 +92,17 @@ Private Sub B4XPage_Created (Root1 As B4XView) End If End Sub +Sub B4XPage_Appear + Private z As ResultSet = Starter.skmt.ExecQuery2("select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As String ("IMPRESION_ACTIVA")) + Do While z.NextRow + Private ia As Boolean = False + If z.GetString("CAT_VA_VALOR") = 1 Then ia = True + Loop + cb_impresionActiva.Checked = ia + Starter.imprimirTicket = ia +End Sub + + Private Sub B4XPage_CloseRequest As ResumableSub ' BACK key pressed 'Return True to close, False to cancel @@ -204,7 +219,8 @@ Sub JobDone(Job As HttpJob) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO,CAT_GP_ALMACEN,CAT_GP_IMG,CAT_GP_FECHA,CAT_GP_FECHA_MOD, CAT_GP_CLASIF, CAT_GP_TIPO) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO,CAT_GP_ALMACEN,CAT_GP_IMG,CAT_GP_FECHA,CAT_GP_FECHA_MOD,CAT_GP_CLASIF,CAT_GP_TIPO)) Next For v = 1 To 20 'Agregamos productos varios (editables) - Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO,CAT_GP_ALMACEN,CAT_GP_IMG,CAT_GP_FECHA,CAT_GP_FECHA_MOD, CAT_GP_CLASIF, CAT_GP_TIPO) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object ($"VAR${NumberFormat2(v, 2, 0, 0, False)}"$,$"Alimentos Varios ${NumberFormat2(v, 2, 0, 0, False)}"$,"1","10000",Null,"2024-02-04 17:00:00","2024-02-04 17:00:00","VARIOS","VARIOS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO,CAT_GP_ALMACEN,CAT_GP_IMG,CAT_GP_FECHA,CAT_GP_FECHA_MOD, CAT_GP_CLASIF, CAT_GP_TIPO) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object ($"AVAR${NumberFormat2(v, 2, 0, 0, False)}"$,$"Alimentos Varios ${NumberFormat2(v, 2, 0, 0, False)}"$,"1","10000",Null,"2024-02-04 17:00:00","2024-02-04 17:00:00","VARIOS","ALIMENTOS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO,CAT_GP_ALMACEN,CAT_GP_IMG,CAT_GP_FECHA,CAT_GP_FECHA_MOD, CAT_GP_CLASIF, CAT_GP_TIPO) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object ($"VVAR${NumberFormat2(v, 2, 0, 0, False)}"$,$"Bebidas Varias ${NumberFormat2(v, 2, 0, 0, False)}"$,"1","10000",Null,"2024-02-04 17:00:00","2024-02-04 17:00:00","VARIOS","VINOS Y LICORES")) Next Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!! Starter.skmt.EndTransaction @@ -253,5 +269,14 @@ Private Sub b_entrar_LongClick End Sub Private Sub user_TextChanged (Old As String, New As String) - If New = "KMTS1" Then i_conf.Visible = True Else i_conf.Visible = False + If New.Trim = "KMTS1" Then i_conf.Visible = True Else i_conf.Visible = False +End Sub + +Private Sub cb_impresionActiva_CheckedChange(Checked As Boolean) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("IMPRESION_ACTIVA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("IMPRESION_ACTIVA", Checked)) +End Sub + +Private Sub b_leyendaDescuento_Click + End Sub \ No newline at end of file diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 6a26fc0..97d8b52 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -131,6 +131,14 @@ Sub Class_Globals Private b_reabrirMesaMulti As Button Private b_imp2 As Button Private p_wobble As Panel + Private p_botonesCerrar As Panel + Private b_imprimirCerrar As Button + Private p_leyendaDescuento As Panel + Private b_leyendaDescuento As Button + Private cb_leyendaDescuento As CheckBox + Dim n As Int + Private et_buscar As EditText + Private p_buscar As Panel End Sub 'You can add more parameters here. @@ -159,7 +167,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) p_principal.Width = Root.Width p_principal.Height = Root.Height - clv_prods_ll.GetBase.SetLayoutAnimated(0, 5dip, (l_meseroAbierta2.Top + l_meseroAbierta2.Height + 5), Root.Width - 20, Root.Height * 0.55) 'Cambiamos el tamaño y posición de la lista de productos. + clv_prods_ll.GetBase.SetLayoutAnimated(0, 5dip, (p_buscar.Top + p_buscar.Height + 5), Root.Width - 20, Root.Height * 0.55) 'Cambiamos el tamaño y posición de la lista de productos. clv_prods_ll.Base_Resize(clv_prods_ll.GetBase.Width, clv_prods_ll.GetBase.Height) 'Cambiamos el tamaño del panel interno de la lista para que se ajuste al nuevo tamaño. clv_mesas.GetBase.SetLayoutAnimated(0, 5dip, 80dip, Root.Width - 20, Root.Height * 0.80) 'Cambiamos el tamaño y posición de la lista de mesas. clv_mesas.Base_Resize(clv_mesas.GetBase.Width, clv_mesas.GetBase.Height) 'Cambiamos el tamaño del panel interno de las mesas para que se ajuste al nuevo tamaño. @@ -183,7 +191,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) sv_resumen.Panel.LoadLayout("resumenCont") Subs.centraEtiqueta(l_pago, p_pago.Width) Subs.centraPanel(p_propina, p_pago.Width) - Subs.centraBoton(b_pagoCerrar, p_pago.Width) +' Subs.centraBoton(b_pagoCerrar, p_pago.Width) + Subs.centraPanel(p_botonesCerrar, p_pago.Width) Dim cs As CSBuilder cs.Initialize l_inicioDia.Text = cs.append("Para iniciar día, ingrese el texto ").bold.Append("INICIO DIA").Pop.Append(" y la tecla ").Bold.Append("Retorno").Pop.Append(" del teclado.").Color(Colors.red).Append(" Los datos del día anterior se borraran.").Popall @@ -211,7 +220,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) Starter.nivelActual = "Cats" lv_categorias.Color = Colors.White lv_categorias.Top = l_meseroAbierta2.Top + l_meseroAbierta2.Height + 5 - lv_categorias.Height = Root.Height * 0.55 + lv_categorias.Height = Root.Height * 0.60 Private Label1 As Label = lv_categorias.SingleLineLayout.Label Label1.TextSize = 9dip Label1.TextColor = Colors.Black @@ -232,7 +241,7 @@ Sub B4XPage_Appear ' p_wobble.Top = Root.Height - p_wobble.Height - 50 ' p_wobble.Elevation = 10 ' p_wobble.BringToFront - Starter.imprimirTicket = False + Starter.imprimirTicket = True reqManager.Initialize(Me, Starter.DBReqServer) B4XPages.MainPage.atrasPresionado = False ' Log(Starter.DBReqServer) @@ -293,37 +302,60 @@ Sub B4XPage_Appear ' Log(NumberFormat2(x&".52", 1,2,2,True) & " -> " & n2t.NumberToWords(x&".52")) ' Next WobbleMenu1.mBase.As(Panel).Elevation = 10dip 'Ponemos la elevacion en 10 para que quede enfrente de los paneles semitransparentes. + + Private z As ResultSet = Starter.skmt.ExecQuery2("select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As String ("IMPRESION_ACTIVA")) + Do While z.NextRow + Private ia As Boolean = False + If z.GetString("CAT_VA_VALOR") = 1 Then ia = True + Loop + Starter.imprimirTicket = ia + Log(Starter.imprimirTicket) End Sub Sub B4XPage_CloseRequest As ResumableSub ' BACK key pressed 'Return True to close, False to cancel - Log($"${lv_categorias.Visible} And ${Starter.nivelActual}, ${Starter.catActual}"$) - If (lv_categorias.Visible Or Starter.catActual = "VARIOS") And Starter.nivelActual = "SubCats" Then - Log(1) +' Log($"${lv_categorias.Visible} And ${Starter.nivelActual}, ${Starter.catActual}"$) + + If lv_categorias.Visible And n = 0 Then 'Or Starter.catActual = "VARIOS") And Starter.nivelActual = "SubCats" clv_prods_ll.AsView.Visible = False + p_buscar.Visible = False lv_categorias.Visible = True -' Starter.nivelActual = "Cats" muestraCats - else If p_reabrirMesaMulti.Visible Then + n = 1 + Log(Starter.nivelActual & ", " & n) +' Log(0) + Else If p_reabrirMesaMulti.Visible Then +' Log(1) p_reabrirMesaMulti.Visible = False Else If p_transparenteVerOrden.Visible Then +' Log(2) p_transparenteVerOrden.Visible = False else If p_renombraVarios.Visible Then +' Log(3) p_renombraVarios.Visible = False Else If p_transparenteCambioMesa.Visible Then +' Log(4) p_transparenteCambioMesa.Visible = False Else If p_transparentePago.visible Then 'Si se esta mostrando el popup de pago, lo cerramos. +' Log(5) ' p_pago.Visible = False p_transparentePago.Visible = False Else If clv_prods_ll.AsView.Visible Then 'SI se muestran los +' Log(6) clv_prods_ll.AsView.Visible = False + p_buscar.Visible = False lv_categorias.Visible = True + n = 0 +' Log(Starter.nivelActual & ", " & n) else If p_mesa.Visible Then +' Log(7) If Subs.revisaCierreAdmin Then + p_transparenteCierreAdmin.BringToFront p_transparenteCierreAdmin.Visible = True - Log(8) +' Log(8) Else +' Log(9) p_transparenteCierreAdmin.Visible = False End If p_mesa.Visible = False @@ -702,6 +734,7 @@ End Sub Private Sub WobbleMenu1_Tab1Click ' Log("TAB 1") If Subs.revisaCierreAdmin Then + p_transparenteCierreAdmin.BringToFront p_transparenteCierreAdmin.Visible = True Else p_transparenteCierreAdmin.Visible = False @@ -948,6 +981,7 @@ Private Sub p_mesasItem_Click tipoPago = "VENTA" muestraCats clv_prods_ll.AsView.Visible = False + p_buscar.Visible = False lv_categorias.Visible = True ' Log(Sender.As(Panel).tag) b_abrirMesa.Text = "Abrir Mesa" @@ -1079,7 +1113,7 @@ Private Sub b_mesaCerrar_Click cb_opcionEfectivo.Checked = False p_formasDePago.Height = 40dip p_propina.Top = 133dip - b_pagoCerrar.Top = 263dip + p_botonesCerrar.Top = 257dip p_pago.Height = 320dip p_formasDePago.RemoveAllViews Private c As Cursor = Starter.skmt.ExecQuery($"select PE_MESA from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$) @@ -1115,14 +1149,20 @@ End Sub Private Sub lv_categorias_ItemClick (Position As Int, Value As Object) ' Log("ITEM CLICKED") - Starter.catActual = value - Log(Starter.nivelActual) - If Starter.nivelActual = "Cats" And Value = "VARIOS" Then - Log(6) - Starter.nivelActual = "SubCats" - lv_categorias_ItemClick (1, "VARIOS") - Starter.nivelActual = "SubCats" +' Starter.catActual = Value + If Starter.nivelActual = "Cats" Then + Starter.catActual = Value + Else if Starter.nivelActual = "SubCats" Then + Starter.subcatActual = Value End If +' Log(Starter.nivelActual) +' Log($"${Starter.catActual}, ${Starter.subcatActual}"$) +' If Starter.nivelActual = "Cats" And Value = "VARIOS" Then +' Log(6) +' Starter.nivelActual = "SubCats" +' lv_categorias_ItemClick (1, "VARIOS") +' Starter.nivelActual = "SubCats" +' End If If Starter.nivelActual = "Cats" Then Private lasCats As List = Subs.traeSubCategorias(Value) @@ -1134,7 +1174,8 @@ Private Sub lv_categorias_ItemClick (Position As Int, Value As Object) Else lv_categorias.Visible = False clv_prods_ll.AsView.Visible = True - Private c As ResultSet = Starter.skmt.ExecQuery($"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_CLASIF <> 'PROMOS' and CAT_GP_CLASIF = '${Value}' order by CAT_GP_NOMBRE"$) + p_buscar.Visible = True + Private c As ResultSet = Starter.skmt.ExecQuery($"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_CLASIF <> 'PROMOS' and CAT_GP_CLASIF = '${Value}' and CAT_GP_TIPO = '${Starter.catActual}' order by CAT_GP_NOMBRE"$) LlenaProdsLL(c, Null) End If End Sub @@ -1196,7 +1237,7 @@ Private Sub b_pagoCerrar_Click Private tm As Map = CreateMap("ticket":sigTicket, "pago":tipoPago) listaTickets.Add(tm) 'Agregamos el ticket y pago a la lista para imprimir el ticket con estos datos al llamar b_imprimirTicket_Click End If - b_imprimirTicket_Click + b_leyendaDescuento_Click Sleep(1000) WobbleMenu1_Tab1Click End Sub @@ -2064,198 +2105,9 @@ Sub imprimeTicket (ticket As String, pago As String) As ResumableSub End Sub Private Sub b_imprimirTicket_Click - Private imprimirEste As Boolean = Starter.imprimirTicket - Private logger As Boolean = True - Private TAMANO As Int - Private ESPACIO As Int - Private BLANCO As String - Private c, s As Cursor - Private l_total, la_cuenta As Label - l_total.Initialize("l") - la_cuenta.Initialize("2") - b_imprimirTicket.Enabled = False -' If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0). - ProgressDialogShow("Imprimiendo, un momento ...") - For k = 0 To listaTickets.Size - 1 'Por cada ticket y pago de la lista imprimimos un ticket. - If imprimirEste Then - Printer1.DisConnect - If Not(Printer1.IsConnected) Then - If Starter.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 Starter.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 - End If - DateTime.DateFormat = "MM/dd/yyyy" - Private sDate,sTime As String - 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 - Private sucursal As String = "SUCURSAL" -' c.Close - TAMANO = 0 - ESPACIO = 14 - BLANCO = " " 'esto para las impresoras nuevas - 'printer.Initialize(cmp20.OutputStream) - If imprimirEste Then Printer1.Reset - Dim bmp As Bitmap - bmp.InitializeResize(File.DirAssets, "logoLanter2.bmp", 376, 129, True) 'ignore - Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) - myimage = Printer1.DitherImage2D(myimage, 128) - myimage= Printer1.PackImage(myimage) -' LogColor(listaTickets, Colors.red) - If logger Then LogColor($">>>>>> INICIA IMPRESION DE TICKET ${listaTickets.Get(k).As(Map).Get("ticket")} <<<<<<<<<<<<"$, Colors.Red) - Starter.ticketActual = listaTickets.Get(k).As(Map).Get("ticket") - tipoPago = listaTickets.Get(k).As(Map).Get("pago") - Try - If imprimirEste Then Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening - If imprimirEste Then Printer1.WriteString(Printer1.REVERSE) - If imprimirEste Then Printer1.PrintImage(myimage) - If imprimirEste Then Printer1.WriteString(Printer1.UNREVERSE) - If tipoPago <> "VENTA" Then 'Solo imprimimos los datos fiscales si es para b_pagoCerrar. - If imprimirEste Then Printer1.WriteString("RESTAURANTE Y COCINA ITALIANA PEVEL" & CRLF) - If logger Then Log("RESTAURANTE Y COCINA ITALIANA PEVEL" & CRLF) - If imprimirEste Then Printer1.WriteString("RFC: RCI230918DAA " & CRLF) - If logger Then Log("RFC: RCI230918DAA" & CRLF) - If imprimirEste Then Printer1.WriteString("REG FSC: GENERAL DE LEY DE PERSONAS MORALES" & CRLF) - If logger Then Log("REG FSC: GENERAL DE LEY DE PERSONAS MORALES" & CRLF) - If imprimirEste Then Printer1.WriteString("DOM FSC: PASEO DE LAS PALMAS NO. 275, LOCAL B" & CRLF) - If logger Then Log("DOM FSC: PASEO DE LAS PALMAS NO. 275, LOCAL B" & CRLF) - If imprimirEste Then Printer1.WriteString("EXPEDIDO EN: PASEO DE LAS PALMAS NO. 275, LOCAL B" & CRLF) - If logger Then Log("EXPEDIDO EN: PASEO DE LAS PALMAS NO. 275, LOCAL B" & CRLF) - If imprimirEste Then Printer1.WriteString("TEL: 55 5207 9969" & CRLF) - If logger Then Log("TEL: 55 5207 9969" & CRLF) - End If - If imprimirEste Then Printer1.WriteString("CDMX " & sDate &" " & sTime & CRLF) - If logger Then Log("CDMX " & sDate &" " & sTime & CRLF) - If imprimirEste Then Printer1.WriteString(Printer1.BOLD) - If imprimirEste Then Printer1.WriteString("No. Ticket: " & Starter.ticketActual & CRLF) - If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD) - If logger Then Log("No. Ticket: " & Starter.ticketActual & CRLF) - If imprimirEste Then Printer1.WriteString($"Mesero: ${Starter.meseroActual}${Subs.rellenaHasta(15 - Starter.meseroActual.Length)}${Printer1.BOLD} # Mesa${CRLF}"$) - If logger Then Log($"Mesero: ${Starter.meseroActual}${Subs.rellenaHasta(15 - Starter.meseroActual.Length)} # Mesa${CRLF}"$) - If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD) - If imprimirEste Then Printer1.WriteString($"Comensales: ${Starter.comensalesActuales}${Subs.rellenaHasta(14 - Starter.mesaActual.Length)}${Printer1.BOLD} ${Starter.mesaActual}${CRLF}"$) - If logger Then Log($"Comensales: ${Starter.comensalesActuales}${Subs.rellenaHasta(14 - Starter.mesaActual.Length)}${Starter.mesaActual}${CRLF}"$) -' If imprimirEste Then Printer1.WriteString($"${Printer1.BOLD}${Subs.alineaDerecha(Starter.mesaActual, 28, " ")}"$) -' If logger Then Log($"${Subs.alineaDerecha(Starter.mesaActual, 28, " ")}"$) -' If imprimirEste Then Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) -' If logger Then Log("ID.Cliente: " & la_cuenta.Text & CRLF) - If imprimirEste Then Printer1.WriteString(" " & CRLF) - c = Starter.skmt.ExecQuery($"select *, ifnull(PE_DESC, 0) as DESC from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) -' Log($"select * from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) -' Log(c.RowCount) - If c.RowCount > 0 Then - Private elSubTotal As String = 0 - If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD) - For i = 0 To c.RowCount - 1 - c.Position = i - Private elNombre As String = c.GetString("PE_PRONOMBRE") - If elNombre.Length > 30 Then elNombre.SubString2(0, 30) - elSubTotal = c.GetString("PE_COSTO_TOT") - (c.GetString("PE_COSTO_TOT") * (c.GetString("DESC") / 100)) - Private cantXpu As String = $"${c.GetString("PE_CANT")} x ${c.GetString("PE_COSTOU")}"$ - If imprimirEste Then Printer1.WriteString($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${cantXpu}${Subs.alineaDerecha("$"&NumberFormat2(elSubTotal, 1, 2, 2, True), (30 - cantXpu.Length), ".")}${CRLF}"$) - Log($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${cantXpu}${Subs.alineaDerecha("$"&NumberFormat2(elSubTotal, 1, 2, 2, True), (30 - cantXpu.Length), ".")}${CRLF}"$) - Next - End If - c = Starter.skmt.ExecQuery($"select *, ifnull(PT_PROPINA, "0") as propina, ifnull(PT_ALMACEN, "") as ALM from PEDIDO_TICKET where PT_MESA = '${Starter.mesaActual}' and PT_PAGO = '${tipoPago}' and PT_TICKET = '${Starter.ticketActual}'"$) -' Log($"Rowcount: ${c.RowCount}"$) - If c.RowCount > 0 Then - c.Position = 0 -' Log(c.GetString("propina")) - -' Private z As Cursor = Starter.skmt.ExecQuery($"select *, ifnull(PE_DESC, 0) as DESC from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) -' Log(z.RowCount) -' Private y As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC from PEDIDO where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$) -' Log(y.RowCount) -' Private x As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC, CAT_GP_TIPO from PEDIDO join CAT_GUNAPROD on CAT_GP_ID = PE_PROID where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$) -' Log(x.RowCount) - - Private elTotal As String = Subs.traeTotalTicketActual_P(tipoPago) - If c.GetString("ALM") = "MULTI-TICKET" Then elTotal = c.GetString("PT_MONTO") -' Log(">>>>>>>> " & Subs.traeTotalTicketActual_P(tipoPago)) -' If c.GetString("propina") <> 0 And c.GetString("PT_PAGO_PROPINA") = "Tarjeta" Then 'Se comento porque lo propina no se debe de sumar al ticket. -' If imprimirEste Then Printer1.WriteString($"${CRLF}Propina: $${NumberFormat2(c.GetString("PT_PROPINA"), 1, 2, 2, True)}"$) -' If logger Then Log($"${CRLF}Propina: $${NumberFormat2(c.GetString("PT_PROPINA"), 1, 2, 2, True)}"$) -' elTotal = elTotal + c.GetString("PT_PROPINA") -' End If - If imprimirEste Then Printer1.WriteString($"${CRLF}Total: $${NumberFormat2(elTotal, 1, 2, 2, True)}"$) - If logger Then Log($"${CRLF}Total: $${NumberFormat2(elTotal, 1, 2, 2, True)}"$) - If imprimirEste Then Printer1.WriteString($"${CRLF}${n2t.NumberToWords(NumberFormat2(elTotal, 1, 2, 2, False))}"$) - If logger Then Log($"${CRLF}${n2t.NumberToWords(NumberFormat2(elTotal, 1, 2, 2, False))}"$) - If tipoPago <> "VENTA" Then - Private fPago As String = c.GetString("PT_PAGO") - If fPago = "EFECTIVO" Then fPago = "EFEPUNTOS" - If imprimirEste Then Printer1.WriteString($"${CRLF}Forma de pago: ${fPago}"$) - If logger Then Log($"${CRLF}Forma de pago: ${fPago}"$) - End If - End If - If imprimirEste Then Printer1.WriteString(Printer1.UNREVERSE) - If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD) - If imprimirEste Then Printer1.WriteString(CRLF) - If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF) - If logger Then Log("------------------------------" & CRLF) - If tipoPago <> "VENTA" Then - If imprimirEste Then Printer1.WriteString("----------- PAGADO -----------" & CRLF) - If logger Then Log("------------ PAGADO ----------" & CRLF) - Else - If imprimirEste Then Printer1.WriteString("---------- NO PAGADO ---------" & CRLF) - If logger Then Log("---------- NO PAGADO ---------" & CRLF) - End If - If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF) - If logger Then Log("------------------------------" & CRLF) - If imprimirEste Then Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) - If logger Then Log("----ESTE TICKET NO ES UN -----" & CRLF) - If imprimirEste Then Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) - If logger Then Log("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) - If imprimirEste Then Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) - If logger Then Log("--------INFORMATIVO-----------" & CRLF) - If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF) - If logger Then Log("------------------------------" & CRLF) - If imprimirEste Then Printer1.WriteString(CRLF) - If tipoPago = "VENTA" Then - If imprimirEste Then Printer1.WriteString("------ 10% DE DESCUENTO ------" & CRLF) - If imprimirEste Then Printer1.WriteString("----- PAGANDO EN EFECTIVO ----" & CRLF) - If imprimirEste Then Printer1.WriteString("-- >> SOLO EN ALIMENTOS << ---" & CRLF) - If imprimirEste Then Printer1.WriteString(CRLF) - If logger Then Log("------ 10% DE DESCUENTO ------" & CRLF) - If logger Then Log("----- PAGANDO EN EFECTIVO ----" & CRLF) - If logger Then Log("-- >> SOLO EN ALIMENTOS << ---" & CRLF) - End If - If imprimirEste Then Printer1.WriteString(CRLF) - If imprimirEste Then Printer1.WriteString(CRLF) - Sleep(1000) - Printer1.DisConnect - Catch - Log(LastException) - End Try - Sleep(1000) - Next - Sleep(1000) - b_imprimirTicket.Enabled = True - ProgressDialogHide -' B4XPage_CloseRequest + p_leyendaDescuento.Visible = True + p_leyendaDescuento.BringToFront + cb_leyendaDescuento.Checked = True End Sub Private Sub cb_pagoPropina_SelectedIndexChanged (Index As Int) @@ -2269,7 +2121,7 @@ End Sub Private Sub l_prodX_LongClick Log(Sender.As(Label).tag) Private m As Map = Sender.As(Label).tag.As(Map) - If m.Get("prod").As(String).Contains("Alimentos Varios") Then + If m.Get("prod").As(String).Contains("Alimentos Varios") Or m.Get("prod").As(String).Contains("Bebidas Varias") Then p_renombraVarios.BringToFront et_nombreVariable.Text = m.Get("prod") et_nombreVariable.tag = m @@ -2317,7 +2169,7 @@ Sub agregaFormaDePago(left0 As Int, top0 As Int, tag0 As Int) p_propina.Top = p_propina.Top + 70 p_formasDePago.Height = p_formasDePago.Height + 70 p_pago.Height = p_pago.Height + 70 - b_pagoCerrar.Top = b_pagoCerrar.Top + 70 + p_botonesCerrar.Top = p_botonesCerrar.Top + 70 End If l_tipoPago2.Text = $"${Starter.formasDePago}:"$ cb_pago2.Tag = tag0 @@ -2444,10 +2296,10 @@ Private Sub lv_historial_ItemLongClick (Position As Int, Value As Object) If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i - Private n As String = c.GetString("PE_PRONOMBRE") + Private n1 As String = c.GetString("PE_PRONOMBRE") ' Log(n.Length & " - " & n) - If n.Length > 25 Then n = n.SubString2(0, 25) - lv_verOrden.AddTwoLines($"${c.GetString("PE_CANT")} - ${n}"$, $"Precio: $${c.GetString("PE_COSTOU")}"$) + If n1.Length > 25 Then n1 = n1.SubString2(0, 25) + lv_verOrden.AddTwoLines($"${c.GetString("PE_CANT")} - ${n1}"$, $"Precio: $${c.GetString("PE_COSTOU")}"$) Next End If p_transparenteVerOrden.Visible = True @@ -2503,3 +2355,221 @@ Private Sub b_reabrirMesaMulti_Click p_transparenteVerOrden.Visible = False WobbleMenu1_Tab1Click End Sub + +Private Sub b_imprimirCerrar_Click +' b_imprimirTicket_Click +End Sub + +Private Sub b_leyendaDescuento_Click + Private imprimirEste As Boolean = Starter.imprimirTicket + Private logger As Boolean = True + Private TAMANO As Int + Private ESPACIO As Int + Private BLANCO As String + Private c, s As Cursor + Private l_total, la_cuenta As Label + l_total.Initialize("l") + la_cuenta.Initialize("2") + b_imprimirTicket.Enabled = False +' If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0). + ProgressDialogShow("Imprimiendo, un momento ...") + For k = 0 To listaTickets.Size - 1 'Por cada ticket y pago de la lista imprimimos un ticket. + If imprimirEste Then + Printer1.DisConnect + If Not(Printer1.IsConnected) Then + If Starter.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 Starter.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 + End If + DateTime.DateFormat = "MM/dd/yyyy" + Private sDate,sTime As String + 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 + Private sucursal As String = "SUCURSAL" +' c.Close + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " 'esto para las impresoras nuevas + 'printer.Initialize(cmp20.OutputStream) + If imprimirEste Then Printer1.Reset + Dim bmp As Bitmap + bmp.InitializeResize(File.DirAssets, "logoLanter2.bmp", 376, 129, True) 'ignore + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + myimage = Printer1.DitherImage2D(myimage, 128) + myimage= Printer1.PackImage(myimage) +' LogColor(listaTickets, Colors.red) + If logger Then LogColor($">>>>>> INICIA IMPRESION DE TICKET ${listaTickets.Get(k).As(Map).Get("ticket")} <<<<<<<<<<<<"$, Colors.Red) + Starter.ticketActual = listaTickets.Get(k).As(Map).Get("ticket") + tipoPago = listaTickets.Get(k).As(Map).Get("pago") + Try + If imprimirEste Then Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + If imprimirEste Then Printer1.WriteString(Printer1.REVERSE) + If imprimirEste Then Printer1.PrintImage(myimage) + If imprimirEste Then Printer1.WriteString(Printer1.UNREVERSE) + If tipoPago <> "VENTA" Then 'Solo imprimimos los datos fiscales si es para b_pagoCerrar. + If imprimirEste Then Printer1.WriteString("RESTAURANTE Y COCINA ITALIANA PEVEL" & CRLF) + If logger Then Log("RESTAURANTE Y COCINA ITALIANA PEVEL" & CRLF) + If imprimirEste Then Printer1.WriteString("RFC: RCI230918DAA " & CRLF) + If logger Then Log("RFC: RCI230918DAA" & CRLF) + If imprimirEste Then Printer1.WriteString("REG FSC: GENERAL DE LEY DE PERSONAS MORALES" & CRLF) + If logger Then Log("REG FSC: GENERAL DE LEY DE PERSONAS MORALES" & CRLF) + If imprimirEste Then Printer1.WriteString("DOM FSC: PASEO DE LAS PALMAS NO. 275, LOCAL B" & CRLF) + If logger Then Log("DOM FSC: PASEO DE LAS PALMAS NO. 275, LOCAL B" & CRLF) + If imprimirEste Then Printer1.WriteString("EXPEDIDO EN: PASEO DE LAS PALMAS NO. 275, LOCAL B" & CRLF) + If logger Then Log("EXPEDIDO EN: PASEO DE LAS PALMAS NO. 275, LOCAL B" & CRLF) + If imprimirEste Then Printer1.WriteString("TEL: 55 5207 9969" & CRLF) + If logger Then Log("TEL: 55 5207 9969" & CRLF) + End If + If imprimirEste Then Printer1.WriteString("CDMX " & sDate &" " & sTime & CRLF) + If logger Then Log("CDMX " & sDate &" " & sTime & CRLF) + If imprimirEste Then Printer1.WriteString(Printer1.BOLD) + If imprimirEste Then Printer1.WriteString("No. Ticket: " & Starter.ticketActual & CRLF) + If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD) + If logger Then Log("No. Ticket: " & Starter.ticketActual & CRLF) + If imprimirEste Then Printer1.WriteString($"Mesero: ${Starter.meseroActual}${Subs.rellenaHasta(15 - Starter.meseroActual.Length)}${Printer1.BOLD} # Mesa${CRLF}"$) + If logger Then Log($"Mesero: ${Starter.meseroActual}${Subs.rellenaHasta(15 - Starter.meseroActual.Length)} # Mesa${CRLF}"$) + If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD) + If imprimirEste Then Printer1.WriteString($"Comensales: ${Starter.comensalesActuales}${Subs.rellenaHasta(14 - Starter.mesaActual.Length)}${Printer1.BOLD} ${Starter.mesaActual}${CRLF}"$) + If logger Then Log($"Comensales: ${Starter.comensalesActuales}${Subs.rellenaHasta(14 - Starter.mesaActual.Length)}${Starter.mesaActual}${CRLF}"$) +' If imprimirEste Then Printer1.WriteString($"${Printer1.BOLD}${Subs.alineaDerecha(Starter.mesaActual, 28, " ")}"$) +' If logger Then Log($"${Subs.alineaDerecha(Starter.mesaActual, 28, " ")}"$) +' If imprimirEste Then Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) +' If logger Then Log("ID.Cliente: " & la_cuenta.Text & CRLF) + If imprimirEste Then Printer1.WriteString(" " & CRLF) + c = Starter.skmt.ExecQuery($"select *, ifnull(PE_DESC, 0) as DESC from PEDIDO join cat_gunaprod on PE_PROID = CAT_GP_ID where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) +' Log($"select * from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) +' Log(c.RowCount) + If c.RowCount > 0 Then + Private elSubTotal As String = 0 + If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD) + For i = 0 To c.RowCount - 1 + c.Position = i + Private elNombre As String = c.GetString("PE_PRONOMBRE") + If elNombre.Length > 30 Then elNombre.SubString2(0, 30) + If c.GetString("CAT_GP_TIPO") = "ALIMENTOS" Then + elSubTotal = c.GetString("PE_COSTO_TOT") - (c.GetString("PE_COSTO_TOT") * (c.GetString("DESC") / 100)) + Else + elSubTotal = c.GetString("PE_COSTO_TOT") + End If +' Log($"${c.GetString("PE_PRONOMBRE")}, ${c.GetString("DESC")}${elSubTotal}"$) + Private cantXpu As String = $"${c.GetString("PE_CANT")} x ${elSubTotal}"$ + If imprimirEste Then Printer1.WriteString($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${cantXpu}${Subs.alineaDerecha("$"&NumberFormat2(elSubTotal, 1, 2, 2, True), (30 - cantXpu.Length), ".")}${CRLF}"$) + Log($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${cantXpu}${Subs.alineaDerecha("$"&NumberFormat2(elSubTotal, 1, 2, 2, True), (30 - cantXpu.Length), ".")}${CRLF}"$) + Next + End If + c = Starter.skmt.ExecQuery($"select *, ifnull(PT_PROPINA, "0") as propina, ifnull(PT_ALMACEN, "") as ALM from PEDIDO_TICKET where PT_MESA = '${Starter.mesaActual}' and PT_PAGO = '${tipoPago}' and PT_TICKET = '${Starter.ticketActual}'"$) +' Log($"Rowcount: ${c.RowCount}"$) + If c.RowCount > 0 Then + c.Position = 0 +' Log(c.GetString("propina")) + +' Private z As Cursor = Starter.skmt.ExecQuery($"select *, ifnull(PE_DESC, 0) as DESC from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) +' Log(z.RowCount) +' Private y As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC from PEDIDO where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$) +' Log(y.RowCount) +' Private x As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC, CAT_GP_TIPO from PEDIDO join CAT_GUNAPROD on CAT_GP_ID = PE_PROID where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$) +' Log(x.RowCount) + + Private elTotal As String = Subs.traeTotalTicketActual_P(tipoPago) + If c.GetString("ALM") = "MULTI-TICKET" Then elTotal = c.GetString("PT_MONTO") +' Log(">>>>>>>> " & Subs.traeTotalTicketActual_P(tipoPago)) +' If c.GetString("propina") <> 0 And c.GetString("PT_PAGO_PROPINA") = "Tarjeta" Then 'Se comento porque lo propina no se debe de sumar al ticket. +' If imprimirEste Then Printer1.WriteString($"${CRLF}Propina: $${NumberFormat2(c.GetString("PT_PROPINA"), 1, 2, 2, True)}"$) +' If logger Then Log($"${CRLF}Propina: $${NumberFormat2(c.GetString("PT_PROPINA"), 1, 2, 2, True)}"$) +' elTotal = elTotal + c.GetString("PT_PROPINA") +' End If + If tipoPago <> "VENTA" Then + If imprimirEste Then Printer1.WriteString($"${CRLF}IVA: $${NumberFormat2(((elTotal * 0.16)), 1, 2, 2, True)}"$) + If logger Then Log($"${CRLF}IVA: $${NumberFormat2(((elTotal * 0.16)), 1, 2, 2, True)}"$) + End If + + If imprimirEste Then Printer1.WriteString($"${CRLF}Total: $${NumberFormat2(elTotal, 1, 2, 2, True)}"$) + If logger Then Log($"${CRLF}Total: $${NumberFormat2(elTotal, 1, 2, 2, True)}"$) + If imprimirEste Then Printer1.WriteString($"${CRLF}${n2t.NumberToWords(NumberFormat2(elTotal, 1, 2, 2, False))}"$) + If logger Then Log($"${CRLF}${n2t.NumberToWords(NumberFormat2(elTotal, 1, 2, 2, False))}"$) + If tipoPago <> "VENTA" Then + Private fPago As String = c.GetString("PT_PAGO") + If fPago = "EFECTIVO" Then fPago = "EFEPUNTOS" + If imprimirEste Then Printer1.WriteString($"${CRLF}Forma de pago: ${fPago}"$) + If logger Then Log($"${CRLF}Forma de pago: ${fPago}"$) + End If + End If + If imprimirEste Then Printer1.WriteString(Printer1.UNREVERSE) + If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD) + If imprimirEste Then Printer1.WriteString(CRLF) + If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF) + If logger Then Log("------------------------------" & CRLF) + If tipoPago <> "VENTA" Then + If imprimirEste Then Printer1.WriteString("----------- PAGADO -----------" & CRLF) + If logger Then Log("------------ PAGADO ----------" & CRLF) + Else + If imprimirEste Then Printer1.WriteString("---------- NO PAGADO ---------" & CRLF) + If logger Then Log("---------- NO PAGADO ---------" & CRLF) + End If + If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF) + If logger Then Log("------------------------------" & CRLF) + If imprimirEste Then Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + If logger Then Log("----ESTE TICKET NO ES UN -----" & CRLF) + If imprimirEste Then Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + If logger Then Log("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + If imprimirEste Then Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + If logger Then Log("--------INFORMATIVO-----------" & CRLF) + If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF) + If logger Then Log("------------------------------" & CRLF) + If imprimirEste Then Printer1.WriteString(CRLF) + If tipoPago = "VENTA" And cb_leyendaDescuento.Checked Then + If imprimirEste Then Printer1.WriteString(Printer1.REVERSE) + If imprimirEste Then Printer1.WriteString("------ 10% DE DESCUENTO ------" & CRLF) + If imprimirEste Then Printer1.WriteString("----- PAGANDO EN EFECTIVO ----" & CRLF) + If imprimirEste Then Printer1.WriteString("-- >> SOLO EN ALIMENTOS << ---" & CRLF) + If imprimirEste Then Printer1.WriteString(Printer1.UNREVERSE) + If imprimirEste Then Printer1.WriteString(CRLF) + If logger Then Log("------ 10% DE DESCUENTO ------" & CRLF) + If logger Then Log("----- PAGANDO EN EFECTIVO ----" & CRLF) + If logger Then Log("-- >> SOLO EN ALIMENTOS << ---" & CRLF) + End If + If imprimirEste Then Printer1.WriteString(CRLF) + If imprimirEste Then Printer1.WriteString(CRLF) + Sleep(1000) + Printer1.DisConnect + Catch + Log(LastException) + End Try + Sleep(1000) + Next + Sleep(1000) + b_imprimirTicket.Enabled = True + ProgressDialogHide + p_leyendaDescuento.Visible = False +' B4XPage_CloseRequest +End Sub + +Private Sub et_buscar_TextChanged (Old As String, New As String) + Private c As ResultSet = Starter.skmt.ExecQuery($"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_CLASIF <> 'PROMOS' and CAT_GP_TIPO = '${Starter.catActual}' and CAT_GP_NOMBRE like '%${New}%' order by CAT_GP_NOMBRE"$) + LlenaProdsLL(c, Null) + Log(c.RowCount) +End Sub \ No newline at end of file diff --git a/B4A/Files/login.bal b/B4A/Files/login.bal index c1eb301d338d24f29ce5a7cbc3df59d2f7d6098e..bbdf3cb442ca807d0b72e61be825939923a8ec1d 100644 GIT binary patch delta 1994 zcma)6OK)366u#5MNv;z=;>K}&{fHggc{HK4h^U}K)HK*o5hz5CNFQlqCvIZW#I9qf zNgsr!qz%y0mb0i>5Qz;N7Dcjz5E9}SfVx90T8TX%ZxD!0_|CY-_gYEC;>`W#%$+me z`OcZSJ#lx+Vp0_4&w52M;!IyxnLbS?ABoo*aP#zd@w((6Bf|nU=_!duIfYy>2O$w zBRb6DSYTFIPX!nE)U6BgVR55AXBrdmKEI<9tpC`tS6_=a0K9p8?2X}3&iPnH{y;+N z-w59;(b(|#Xq;mWdg+TM*JMTK|6iS*tBd+8qtRHLE0SK4QByPYmwJcpnjbXt+2c!v zL@u47$>xuXzc)Xw7bOZ>`il2mK~ZdXTy7LaDme~{2|8(g=2LqIeeZ0dudP0Df-Xcf zagxmaA!@NXUO$0Y1F#k*qK;sA0cKKO)-%GMAu zfN7XXa22p=%A@%cfV-2XEsw{sGrfJcu#;P{j(bpC#~_oq4ItU_;oOqK4>>hD;Iq+> z?s+joL-qlT^Y$oxrA6H-{34S$2ha>Ni586NEV9^Jw>dmVot{82%`TSiU6@pCo;~L= z$YjoOGT~WFtI5n@wg5Ag>mbT?KuT|mMJjpX9T_ajqqFj_imVstv^S#W;9FupeG=&i z@*gr!t`Rr8T-TjNtM)!wv46bZi9DU@8o>CA#RS_OAy7}9M8e-NvZ@2X*Yh41b)z4R2Wml5l!TrU|8q;*}iqZyMJz)4!1X*w9LUxzWnc-?#na{{s2)VtN1o delta 1463 zcmb7DOH5Ni6rBND=;uKxzxEX#ZE4YBEg=fgz=EnJED)k834&TGBDNr(Rz6yw$in!E z0lXVcOoWYFO={e@Fzi_B)&yO-(nO7kF)qY=Uju!wfQgGU@64Tg;*qgYnBXEj;;(oGbma^s1zamcm=N2%Si#N6OAw`q zG6gS3UV*S6tOyZdLsTkwm4ZtOUY+4SX3tERL&2TM=@AA*%{EUZau+$jmHLwx(?FA9 z$*jed&aShk{T=vbHXRF(!@AxApA1V91v&z4!F>F7$0x(F$QaR6fi{14M-Y<6`x=h( zqba@cA&+msx+p@wvnbVG>fos(C5e3g5T1(-@Y$`0w^hTu2i`erASCIKMWlPyb9guh zq3gwgRBE`9rhU+GprqiA|2&1*LsNyj1=$5!A|o#%v|HbPZG|Y(j{{k+>jj5NboC+i zB8+6at_O!OLc@;H$d6O-60B99;REoaI%v6!0a?PJyo<41{4(7Y2-)4bA*5F+4l5pu zgLY7jIC)A1me&<`!L;Ooul5ZdfpD!C$Df4_uxir6s#FMd&SyM|@Ano(@o45$1dKJC ze3(uY4Xak7@T9gC23;-t`ZR(*m7Pet)JTG^;XrLdRbkXSe8;#^oTZIJl5JeETXc}i}0qV8fo27ZfO^Aa}=z?%CFAD8uyt5T5u*?qN7{D<}!=KZJk3Dw0UL)Ol- zioTcjAam#k;QhhJJWeX%uBW*vuDXJ1*ojd06$a=hmz%Vi z$aVPb5oNP{aI!97n8cvmZBq3!#$Fz>-IFOyQc`USE*N?KOiWQ;{g>55>xE zU@YCD*|~1Yxf1*2O6D=)Hg~C>P_9U zyaW1K?Rw!?=+E{|s%Z)WxKKJ)QjlQi4 z9tHOH=!m+J1qOXlqH#W0SPyu`QavT?G?eG&%`MaG%<$Ap4Mw?#mxrylu(VKLXiO^9 z!2)@#mc|#`EzuiU)Hq$9p?Hc}XEGVg z;y{!jl&(VmTS9*~p+8u_-38o3z#*-;O4buULQ%p{!Ufz*z!3uOE#N+gBT@RILu)-KcbTct69WHxm z;9lT>(LX`CM688noNo>Jv~F8gCPE!kVlo$&6q>CMeXlb(>z~$1UtE!EG8^;Da*LtS z%^z|#{a~9WXb?l|7#iZBNWu<2c1N7ZIh@vQC3Ig+H|q&adpZ0);IVIKRN>`dG$E;% zjIF5`yeul4DJ*k+iMJVrqT!N+F90aH92-#rLs zl*O!A*xzjg>DHC3c5r#6;@4JB4gXpFo2v=ZFez=HifYra3{S9 zg0ceHPPm*f7)rA2OS50Wgp9S&={*IkTBBpTps_q1+uF=1wi}}7W+-SK9*JW-5>Gx< zKu%gF)KA;CuP*FY3E8C_aZ zJvNl4k{32~T}cPQZ`$EExd0)0+6Z?5%JtsvHg{WmxcKe^fP6>j?&Wv&X}eGZXmi%W z6H^gu!*TSr=@fc!tw#BcXjmPiMAQr{FSq3}$cCpu!r%qxD@YmJC z!6L^tUll1M8{ahD?_WFJ!aSO8MP4l&FR_&%m9ST-5@SQzPUm`1?Z&s-rGLgCkW9$=$ zTJ?$33^qef6V`R5i3}Rb)zCky2LvYvs*bfah5mCD@QdW(u+ub(od8|NJ?KbpU+R zQ^P*R#fZ1EVdgv~dOtoj1(R(~l0P)0s(nn3k@#yHSqcX;20(MNn)9q_D)DST7(8<} zJf5$HEgKSGSS4o}D6dRW+;EIn^W#^oQ1CD%L6$j;oyJgwKvTGc=yn)qU3hA?uroY_ zXK-k1TAjw?ilO@ie9G&>^+KqRX_T9X3U>9-0@&AbF`8!WJgL)}=}`r^LEU zbZR|TiTTpB%%&W^+@bt}D=#g;q`U%bLAvUS)8w`p{>lmY?!u|;Z)2OxC8)k~n*J&e$u$hg7^t5o!GR@p z>^e_=NA+HBYmar`v-JXp^QjVy4vFA*Yvtew4V~$0?ui@rdjbxu%T-)$v9S|LiuKfT zjL-GzmU@EJ8YOOp0(cECy$rbd{%Cd!w{J_1+qg+va@@9WzAGp`sAG5d3Egq>`gTil zgsiM%ce%w~CyP61F&u`j8VcDlI`%b>)YmQ+lsxx%qz-);kGm~m_xVisUF;|uF03tm zQyka>dz`hfd9zYMvp8K>DX^$I2bOJ7LsRt-`=j9>PD|aVM+1CbV_^?l8A0{X#fIGe zhTOI$LLyWA6V*{D(!XHshIdr-*;+;SdAJ{8wgs?nVZz%{Fma=WJ?4&9ueQzfkfZW_{VNV1viPl=zZQ^P86kjl7Aa&~~mj@vG&K@b@31}-%fSo-8 zRNu9oi=KpVXj=}XWRJ$jUMTywxCc1ALy3t(k@=pldAweN^x6UV+_72zAX=+_aGKvX z?mv9o;ktOdvWnOE0E-p73_Z^C9vn{imfi5+w0;ed%@j%;WY7cUK1~O zSlCOR?Ju3QFL-cX@w6$~iQLrO;$O3iAr`1y#-MwjWT@J;RANY-&aWWqX+7!}xNZbA z;2rRChXl)Z?~%(HL{IOdk~^7^d-PaRV+1Yob_|Zkq6!f9ThnL&yhPX4hsO@2+Fzdp-iA>&s!O4;|uMV!(x&@)~j<(IM+n*+v z7|aJgCPL8zqW+b8|--e;cdt%ZpTUW4B(GILp}7DeisBdVRLf;0;a?sStk_R+grupPHZARzU6_m3au&SGBny%|3L`Tb_* zH^2GKZ-(xB+O?Oo0p1#orrlqoQR#0}TfoV-TOUKw#vm^=0pBuzJgY6}M`De6QKerYCSgePy+&VUDG-z`W2DK;KDIOmocjGn!0RtGS7fF1}&tbK36h zb%(*rCmG{>itIam@|fyF@?z6`bA2jq`sOeb68x?<51__SDg&uFIZWbk;s`2{RHCHz zXCxjZakRvPC5|CBP#Hoc*3HeDIQNIAB$S4dnbag~e7|0dUmMl(m^YKdzkHcR}1#B(K{C$UB1T8Zm8^I+rds+R-} z63-`Yq++GAfQmSxPy^~%uzg8Dfnq-pdYSq5AxT+LFhSeUHMeuzY_%qKOUGCQE~*2{|k{m?sUMO%}SdgMDkbmln69!m&N_E{nwVfM6U8 z^g?E68a71r4^XI!W#RaF=IT0g4SpLn+(%0-sVO+-n`j^POmz|}3<{2xbRxST1dXLx zXe$_vHM6o2TV`Z!$SLTLJJZr}wrq&Lje7D^@2{syS&uVYmf%#Hg01Tm{Bqi4*6!41 zz_~JmzWr%^`Ni&e2an*JJrBmg|4jxH)nR@L~#V$gs$=t2%Z{*u%alo z8OI9@?Hl7z^n5;MHL3V{t_ibBLtuS13wuj-sF*bvmrExhx?4fQm^7SSr($huDNM6> zV@25jRGGZ_Wb8EJr0y*@fiYF{(2Tqy(_=5(potU~{1fPE3PU_(~wq(ev>Ko{5boz3(QP;2cbgqN#`uJ{!14po9D(3t#kVUs8d`OU)oV2X)H#|v5PO>7vJrhn68);Dl&*eI0D zwXt39RTFoZB7>h^-fpa4YG8Z7HpZ&rZ14$&;`-85v1xb5n%G`xn7w=$wjGB|5!kde z{7J`c)QR7L)G@QR1NY`cpfz?Ra;t;zmZ>iq(;|_c>{MRtR^D6Jf!Z2}@;fzAy%evx z6(bumMEqpO2jXsPGD4TtvTiaf7)ocBzMB-?UVj7Em&LJtJf_qSokR3NWJ4-a8dY3c z7mt>P?QB1FPefIs!Z%L8zt<3B(<@Q+q7NPq(?Mrdf?G*0HX+x!35f`79K`InH=>pu z;Nhx2&})oy!wg8t2(jy|biC$S9LMXBMMvt~!ne7F_UI-OUaWNpURfw!5gD@y2h#L{SmQsw^qDur~B_Cjc z!GP>SZ)|%-6${D3-obI~uxo_F?J@aS^rDR&5$ikRVZdPuGqFC5+oWLQOPyG>SR?@b zQ4hT%bO@vIc(Fsrz1Qbtu1}o37VvT@}H@ZJtQad*O_vh zDjtmx2B1}wL+_qds`{ZvN=bK|a6MA_3UM?V|cS;q`!QR+F!+Hm|rPpr?5OG4}I3evC}SR zp61T%SYyL)S_UBHrBIx0(UI8cM3M2=cCrtJC6q_?Ja*kHJ;U9|K0*sQG4@wBELa(W zl+9tNY969L`;=y$<6u&L<~MT<>)*^ir4!)@r1P$|pXX~|)ox=K_zvkWcyvDR@&OMd z8#)ocW(ck=S1^5zj(RvfM7a>}{yJ0Sfyo`a*+pTE z+zumMcXjMDr-Aynz@P#p8V*k85|^*aNZp2ObmNcSYQeJvR2x6)q1wv>u4rz7*j?uN-^iTXZ(Q5+V6j zFGZg0|0{As?C)2wuf>)9buS(6@a#z;^kC{{kAzW=JT$mb@kq+iVf;QDd+ajmv4_?p zVbuS~s1nMwo$MRZE7pJWJv!fVH#w4o-Ee?1;CI6G?|P|n(|d&JBi=63YABOtBsMe3 z&Po<(Y6(QH?!#NWsPd-b)6?Up5zjLp`ts!>KVCURJv}M`3!?6Qoh|-c96*&gAUXm) zZ{h!N^dq1FdwK#1n2uUBeW^Iomk$FQoeKUa_`(pP4PpqK8HUEpkzqlk?M`L<@^~^d Sx(Wv2@0lt>+p=LkIQjqKDe5Kw diff --git a/B4A/Lanterna.b4a b/B4A/Lanterna.b4a index 8710910..184dfe2 100644 --- a/B4A/Lanterna.b4a +++ b/B4A/Lanterna.b4a @@ -82,7 +82,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: Lanterna #VersionCode: 1 - #VersionName: 4.03.20 + #VersionName: 4.03.23 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Lanterna.b4a.meta b/B4A/Lanterna.b4a.meta index c33f27e..ef189c3 100644 --- a/B4A/Lanterna.b4a.meta +++ b/B4A/Lanterna.b4a.meta @@ -25,6 +25,6 @@ ModuleClosedNodes5= ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8=47,48 -NavigationStack=C_Principal,B4XPage_Appear,286,0,C_Principal,p_mesasItem_Click,937,0,C_Principal,B4XPage_Created,211,0,B4XMainPage,JobDone,205,2,C_Principal,b_mesaEditar_Click,1096,0,Subs,traeSubCategorias,1411,3,C_Principal,p_mesaAbierta_Click,1106,0,C_Principal,lv_categorias_ItemClick,1111,3,C_Principal,B4XPage_CloseRequest,298,6,C_Principal,muestraCats,337,6 +NavigationStack=Subs,traeSubCategorias,1410,0,Subs,traeTotalTicketActual_P,1169,0,C_Principal,et_buscar_TextChanged,2565,6,C_Principal,b_leyendaDescuento_Click,2485,6,C_Principal,p_mesasItem_Click,975,0,Visual Designer,principal.bal,-100,6,C_Principal,lv_categorias_ItemClick,1168,1,C_Principal,B4XPage_Created,209,0,C_Principal,B4XPage_Appear,276,0,C_Principal,B4XPage_CloseRequest,347,6,C_Principal,WobbleMenu1_Tab1Click,730,0 SelectedBuild=0 VisibleModules=1,7,8,2,3,6,4,5 diff --git a/B4A/Starter.bas b/B4A/Starter.bas index 07929d6..394ac28 100644 --- a/B4A/Starter.bas +++ b/B4A/Starter.bas @@ -28,7 +28,7 @@ Sub Process_Globals Dim formasDePago As Int = 1 Dim imprimirTicket As Boolean = False Dim nivelActual As String - dim catActual as string + Dim catActual, subcatActual As String End Sub Sub Service_Create diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 8fc17e4..e6a8cb4 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -1165,12 +1165,17 @@ End Sub Sub traeTotalTicketActual_P(tipoPago As String) As String Private st As String = 0 Private desc As String = 0 - Private p As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC, CAT_GP_TIPO from PEDIDO join CAT_GUNAPROD on CAT_GP_ID = PE_PROID where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}'"$) + Private p As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC, CAT_GP_NOMBRE, CAT_GP_TIPO from PEDIDO join CAT_GUNAPROD on CAT_GP_ID = PE_PROID where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}'"$) ' Log($"${p.RowCount} - select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC, CAT_GP_TIPO from PEDIDO join CAT_GUNAPROD on CAT_GP_ID = PE_PROID where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}'"$) If p.RowCount > 0 Then For j = 0 To p.RowCount - 1 p.Position = j - desc = p.GetString("DESC") / 100 + If p.GetString("CAT_GP_TIPO") = "ALIMENTOS" Then + desc = p.GetString("DESC") / 100 + Else + desc = 0 + End If +' Log(">>>>>>> " & p.GetString("CAT_GP_NOMBRE") & " - " & (p.GetString("PE_COSTO_TOT") * desc)) st = st + (p.GetString("PE_COSTO_TOT") - (p.GetString("PE_COSTO_TOT") * desc)) Next End If @@ -1409,7 +1414,7 @@ End Sub Sub traeSubCategorias(cat As String) As List Private c As Cursor = Starter.skmt.ExecQuery($"select distinct CAT_GP_CLASIF from CAT_GUNAPROD where CAT_GP_TIPO = '${cat}' order by CAT_GP_CLASIF"$) Private l As List - Log(c.RowCount) +' Log(c.RowCount) If c.RowCount > 0 Then l.Initialize For i = 0 To c.RowCount - 1