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 c1eb301..bbdf3cb 100644 Binary files a/B4A/Files/login.bal and b/B4A/Files/login.bal differ diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal index 5804d5b..e37eb4b 100644 Binary files a/B4A/Files/principal.bal and b/B4A/Files/principal.bal differ 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