Se agregaron a la impresion del ticket, lo campos de propina, regimen fiscal, direccion fiscal y otros datos requeridos y la cantidad en letra.

This commit is contained in:
2024-02-22 16:31:13 -06:00
parent 1c914b524b
commit 7c5e244db0
6 changed files with 230 additions and 58 deletions

View File

@@ -92,6 +92,8 @@ Sub Class_Globals
Private et_propina As EditText
Private cb_pagoPropina As B4XComboBox
' Private p_test As Panel
Private tipoPago As String = "VENTA"
Dim n2t As numeroATexto
End Sub
'You can add more parameters here.
@@ -224,16 +226,22 @@ Sub B4XPage_Appear
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
End If
Printer1.Initialize(Me, "Printer1")
n2t.Initialize
Log(n2t.NumberToWords(456.50))
Log(n2t.NumberToWords(456.51))
' For x = 198 To 305
' Log(NumberFormat2(x&".52", 1,2,2,True) & " -> " & n2t.NumberToWords(x&".52"))
' Next
End Sub
Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed
'Return True to close, False to cancel
If clv_prods_ll.AsView.Visible Then
If p_pago.visible Then 'Si se esta mostrando el popup de pago, lo cerramos.
p_pago.Visible = False
Else If clv_prods_ll.AsView.Visible Then 'SI se muestran los
clv_prods_ll.AsView.Visible = False
lv_categorias.Visible = True
Else If p_pago.visible Then
p_pago.Visible = False
else If p_mesa.Visible Then
If Subs.revisaCierreAdmin Then p_transparenteCierreAdmin.Visible = True Else p_transparenteCierreAdmin.Visible = False
p_mesa.Visible = False
@@ -918,6 +926,7 @@ Private Sub p_mesasItem_Click
' Log(p_prods.Width)
' p_prods.Width = clv_prods_ll.GetBase.Width
' clv_prods_ll.Base_Resize(400,Root.Height)
tipoPago = "VENTA"
clv_prods_ll.AsView.Visible = False
lv_categorias.Visible = True
' Log(Sender.As(Panel).tag)
@@ -1033,10 +1042,10 @@ End Sub
Private Sub b_pagoCerrar_Click
p_pago.Visible = False
If cb_pago.SelectedItem = "Efectivo" Then
Private tipoPago As String = "EFECTIVO"
tipoPago = "EFECTIVO"
Else
'Pago con tarjeta
Private tipoPago As String = "TARJETA"
tipoPago = "TARJETA"
End If
Private sigTicket As String = Subs.traeConsecutivoTicket("CERRADA", tipoPago)
Starter.skmt.ExecNonQuery($"update CAT_MESAS set M_PAGO = null, M_TICKET = null, M_ESTATUS = null, M_MESERO = null, M_COMENSALES = null where M_ID = '${Starter.mesaActual}'"$)
@@ -1044,11 +1053,19 @@ Private Sub b_pagoCerrar_Click
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_TIPO = '${tipoPago}', PE_TICKET = '${sigTicket}' where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA' and PE_TICKET = '${Starter.ticketActual}'"$)
' Log($"update PEDIDO set PE_TIPO = '${tipoPago}', PE_TICKET = '${sigTicket}' where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA' and PE_TICKET = '${Starter.ticketActual}'"$)
Private laPropina As String = "0"
If et_propina.Text <> "" Then laPropina = et_propina.Text
If et_propina.Text <> "" Then
laPropina = et_propina.Text
' Starter.skmt.ExecNonQuery($"insert into PROPINAS (PR_MESA, PR_TICKET, PR_PAGO, PR_PROPINA, PT_MESERO, PR_FECHA) values ('${Starter.mesaActual}', '${sigTicket}', '${tipoPago}', '${laPropina}', '${Starter.meseroActual}', '${DateTime.Date(DateTime.Now)}')"$)
End If
Starter.skmt.ExecNonQuery($"update PEDIDO_TICKET set PT_PAGO = '${tipoPago}', PT_TICKET = '${sigTicket}', PT_TARJETA = '${cb_pago.SelectedItem}', PT_PROPINA = '${laPropina}', PT_PAGO_PROPINA = '${cb_pagoPropina.SelectedItem}' where PT_MESA = '${Starter.mesaActual}' and PT_TICKET = '${Starter.ticketActual}' and PT_PAGO = 'VENTA'"$)
' Log($"update PEDIDO_TICKET set PT_PAGO = '${tipoPago}', PT_TICKET = '${sigTicket}' where PT_MESA = '${Starter.mesaActual}' and PT_TICKET = '${Starter.ticketActual}' and PT_PAGO = 'VENTA"$)
B4XPage_CloseRequest
Log(tipoPago)
Starter.ticketActual = sigTicket
b_imprimirTicket_Click
' Log("Close Request")
' B4XPage_CloseRequest
Sleep(1000)
WobbleMenu1_Tab1Click
End Sub
Private Sub cb_pago_SelectedIndexChanged (Index As Int)
@@ -1146,10 +1163,12 @@ End Sub
Private Sub et_inicioDia_EnterPressed
If et_inicioDia.Text.trim = "INICIO DIA" Then
p_transparenteCierreAdmin.Visible = False
p_transparenteCierreAdmin.Visible = False
et_inicioDia.Text = ""
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("CIERRE ADMIN"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CIERRE ADMIN","0"))
Starter.skmt.ExecNonQuery("delete from PEDIDO")
Starter.skmt.ExecNonQuery("delete from PEDIDO_TICKET")
End If
End Sub
@@ -1290,7 +1309,6 @@ Sub b_imp_Click
Else
ToastMessageShow("¡Es necesario que NO haya mesas abiertas para realizar el cierre!", True)
End If
' Printer1.WriteString("__________" & CRLF)
' Printer1.WriteString("------------------------------" & CRLF)
' Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
@@ -1658,17 +1676,15 @@ Private Sub b_regresarProds_Click
End Sub
Private Sub b_imprimirTicket_Click
Private imprimirEste As Boolean = True
Private imprimirEste As Boolean = False
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_imp.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 ...")
@@ -1698,7 +1714,6 @@ Private Sub b_imprimirTicket_Click
Sleep(500)
impresoraConectada = False
End If
DateTime.DateFormat = "MM/dd/yyyy"
Private sDate,sTime As String
sDate = DateTime.Date(DateTime.Now)
@@ -1718,69 +1733,84 @@ Private Sub b_imprimirTicket_Click
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
' Mesero: Donald--------- # Mesa
' Mesero: Luis----------- # Mesa
' ...........................2
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)
Try
If imprimirEste Then Printer1.WriteString("LA LANTERNA RISTORANTE" & CRLF)
If logger Then Log("LA LANTERNA RISTORANTE" & CRLF)
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)
If imprimirEste Then Printer1.WriteString("No. Ticket: " & Starter.ticketActual & CRLF)
If logger Then Log("No. Ticket: " & Starter.ticketActual & CRLF)
If imprimirEste Then Printer1.WriteString(sDate &" " & sTime & CRLF)
If logger Then Log(sDate &" " & sTime & CRLF)
If imprimirEste Then Printer1.WriteString("CDMX " & sDate &" " & sTime & CRLF)
If logger Then Log("CDMX " & sDate &" " & sTime & 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.BOLD}${Subs.alineaDerecha(Starter.mesaActual, 28, " ")}"$)
If logger Then Log($"${Subs.alineaDerecha(Starter.mesaActual, 28, " ")}"$)
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)
If logger Then Log(" " & CRLF)
c = Starter.skmt.ExecQuery($"select * from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA' and PE_TICKET = '${Starter.ticketActual}'"$)
c = Starter.skmt.ExecQuery($"select * from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$)
If c.RowCount > 0 Then
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 imprimirEste Then Printer1.WriteString($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${Subs.alineaDerecha("$"&NumberFormat2(c.GetString("PE_COSTO_TOT"), 1, 2, 2, True), 30, ".")}${CRLF}"$)
Log($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${Subs.alineaDerecha("$"&NumberFormat2(c.GetString("PE_COSTO_TOT"), 1, 2, 2, True), 30, ".")}${CRLF}"$)
Next
End If
c = Starter.skmt.ExecQuery($"select * from PEDIDO_TICKET where PT_MESA = '${Starter.mesaActual}' and PT_PAGO = 'VENTA' and PT_TICKET = '${Starter.ticketActual}'"$)
c = Starter.skmt.ExecQuery($"select *, ifnull(PT_PROPINA, "0") as propina 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
If imprimirEste Then Printer1.WriteString($"${CRLF}Total: $${NumberFormat2(c.GetString("PT_MONTO"), 1, 2, 2, True)}"$)
If logger Then Log($"${CRLF}Total: $${NumberFormat2(c.GetString("PT_MONTO"), 1, 2, 2, True)}"$)
' Log(c.GetString("propina"))
Private elTotal As String = c.GetString("PT_MONTO")
If c.GetString("propina") <> 0 And c.GetString("PT_PAGO_PROPINA") = "Tarjeta" Then
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
If imprimirEste Then Printer1.WriteString($"${CRLF}Forma de pago: ${c.GetString("PT_PAGO")}"$)
If logger Then Log($"${CRLF}Forma de pago: ${c.GetString("PT_PAGO")}"$)
End If
End If
If imprimirEste Then Printer1.WriteString(Printer1.UNREVERSE)
If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD)
' printer.WriteLine("------------VENTA-------------")
' printer.WriteLine("TOTAL COMPRA: $:" & total_cliente)
' Printer1.WriteString(Printer1.DEFAULTS & CRLF)
If imprimirEste Then Printer1.WriteString(CRLF)
' Printer1.WriteString(Printer1.SINGLE)
'Printer1.WriteString("------------------------------")
' Printer1.WriteString(Printer1.HIGH)
' Printer1.Justify = 1
' If imprimirEste Then Printer1.WriteString( "Nombre y Firma del cliente" & CRLF)
' If logger Then Log( "Nombre y Firma del cliente" & CRLF)
' If imprimirEste Then Printer1.WriteString(CRLF)
' If imprimirEste Then Printer1.WriteString(CRLF)
' If imprimirEste Then Printer1.WriteString(CRLF)
' Printer1.WriteString(Printer1.DEFAULTS)
' Printer1.WriteString(Printer1.SINGLE)
' If imprimirEste Then Printer1.WriteString("__________" & CRLF)
' If logger Then Log("__________" & 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)
@@ -1803,6 +1833,7 @@ Private Sub b_imprimirTicket_Click
Sleep(1000)
b_imp.Enabled = True
ProgressDialogHide
' B4XPage_CloseRequest
End Sub
Private Sub cb_pagoPropina_SelectedIndexChanged (Index As Int)