diff --git a/Files/principal.bal b/Files/principal.bal index 8d747e0..daa87d0 100644 Binary files a/Files/principal.bal and b/Files/principal.bal differ diff --git a/Lanterna2.b4a.meta b/Lanterna2.b4a.meta index 1680fe2..febe768 100644 --- a/Lanterna2.b4a.meta +++ b/Lanterna2.b4a.meta @@ -19,9 +19,9 @@ ModuleClosedNodes1= ModuleClosedNodes2= ModuleClosedNodes3= ModuleClosedNodes4= -ModuleClosedNodes5=2,93,94,96,99,100,101 +ModuleClosedNodes5= ModuleClosedNodes6= ModuleClosedNodes7= -NavigationStack=Principal,Globals,181,0,Principal,b_cierreTotal_LongClick,1607,0,Principal,b_imp_Click,1783,3,Principal,b_leyendaDescuento_Click,2963,6,Principal,b_cierraAdmin_Click,1472,0,Principal,b_imp2_Click,2016,6,Visual Designer,resumenItem.bal,-100,6,Principal,b_resumen_Click,3328,6,Visual Designer,principal.bal,-100,6,Principal,acomodaResItems,3343,6,Main,JobDone,282,0 +NavigationStack=Principal,b_resumen_Click,3328,6,Principal,acomodaResItems,3343,6,Main,JobDone,282,0,Principal,b_reabrirMesa_Click,2710,0,Principal,p_transparenteVerOrden_Click,2695,0,Principal,b_imp_Click,1802,0,Principal,b_imp2_Click,2052,6,Principal,cb_factura_CheckedChange,3519,0,Visual Designer,principal.bal,-100,6,Principal,b_imp3_Click,2109,6 SelectedBuild=0 VisibleModules=6,5,7 diff --git a/Principal.bas b/Principal.bas index 97bcf81..caf0160 100644 --- a/Principal.bas +++ b/Principal.bas @@ -190,6 +190,7 @@ Sub Globals Private l_titResPagoTot As Label Private l_titResComprobante As Label Private l_titResFormaPago As Label + Private b_imp3 As Button End Sub Sub Activity_Create(FirstTime As Boolean) @@ -942,7 +943,7 @@ Private Sub WobbleMenu1_Tab3Click p_transparenteResumen.Visible = False actualizaProductos("Alimentos") ' For w = 0 To 150 -' + ' ' Next End Sub @@ -1730,58 +1731,58 @@ Sub b_imp_Click Private c As Cursor = Starter.skmt.ExecQuery($"select M_ESTATUS from CAT_MESAS where M_ESTATUS = 'ABIERTA'"$) Log(c.RowCount) ' If c.RowCount = 0 Then 'Si no hay mesas abiertas entonces ... - Private c As Cursor = Starter.skmt.ExecQuery("select PE_MESA, PE_TIPO, PE_TICKET, sum(PE_COSTO_TOT) as SUBTOT from PEDIDO where PE_TIPO <> 'VENTA' group by PE_MESA, pe_tipo, PE_TICKET order by PE_MESA, PE_TIPO desc") - If c.RowCount > 0 Then - c.Position = 0 - Private mesaAnt As String = "" - Private tipoAnt As String = "" - Private tipo As String - Private ticket As String - If imprimirAqui Then Printer1.WriteString($"Fecha: ${sDate} ${sTime} ${CRLF}${CRLF}"$) - For i = 0 To c.RowCount - 1 - c.Position = i - ticket = c.GetString("PE_TICKET") - If c.GetString("PE_TIPO") = "TARJETA" Then - tipo = "Pago Tarjeta " - Else If c.GetString("PE_TIPO") = "EFECTIVO" Then - tipo = "Pago Efectivo " - End If - If mesaAnt <> c.GetString("PE_MESA") Then - Private tm As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as totalMesa from PEDIDO_TICKET where PT_MESA = '${c.GetString("PE_MESA")}' and PT_PAGO <> 'MULTI-TICKET'"$) - tm.Position = 0 - cs.Color(Colors.RGB(1,127,1)).Append($"Mesa ${c.GetString("PE_MESA")} - $${NumberFormat2(tm.GetString("totalMesa"), 1, 2, 2, True)} ${CRLF}"$).pop - If imprimirAqui Then Printer1.WriteString($"Mesa ${c.GetString("PE_MESA")} - $${NumberFormat2(tm.GetString("totalMesa"), 1, 2, 2, True)} ${CRLF}"$) - Private tipoAnt As String = "" - End If - If tipoAnt <> c.GetString("PE_TIPO") And c.GetString("PE_TIPO") <> "MULTI-TICKET" Then - Private tpt As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as totalTipo from PEDIDO_TICKET where PT_MESA = '${c.GetString("PE_MESA")}' and PT_PAGO = '${c.GetString("PE_TIPO")}'"$) - tpt.Position = 0 - cs.Color(Colors.red).Append($" * ${tipo} - $${NumberFormat2(tpt.GetString("totalTipo"), 1, 2, 2, True)} ${CRLF}"$).pop - If imprimirAqui Then Printer1.WriteString($" * ${tipo} - $${NumberFormat2(tpt.GetString("totalTipo"), 1, 2, 2, True)} ${CRLF}"$) - End If - If c.GetString("PE_TIPO") <> "MULTI-TICKET" Then - cs.Append($" Ticket ${ticket}: $${NumberFormat2(c.GetString("SUBTOT"), 0, 2, 2, True)}${CRLF}"$).Popall - If imprimirAqui Then Printer1.WriteString($" Ticket ${ticket}: $${NumberFormat2(c.GetString("SUBTOT"), 0, 2, 2, True)}${CRLF}"$) - End If - mesaAnt = c.GetString("PE_MESA") - tipoAnt = c.GetString("PE_TIPO") - Next - If imprimirAqui Then Printer1.WriteString(CRLF) - Private tt As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as total from PEDIDO_TICKET where PT_PAGO = 'TARJETA'"$) - Private te As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as total from PEDIDO_TICKET where PT_PAGO = 'EFECTIVO'"$) - tt.Position = 0 : te.Position = 0 - Private totalEfectivo As String = 0 - If te.GetString("total") <> Null Then totalEfectivo = te.GetString("total") - cs.color(Colors.RGB(1,127,1)).Append($"${CRLF}Total Tarjeta: ${NumberFormat2(tt.GetString("total"), 1,2,2,True)}${CRLF}"$).popall - If imprimirAqui Then Printer1.WriteString($"${CRLF}Total Tarjeta: ${NumberFormat2(tt.GetString("total"), 1,2,2,True)}${CRLF}"$) - cs.color(Colors.RGB(1,127,1)).Append($"Total Efectivo: ${NumberFormat2(totalEfectivo, 1,2,2,True)}${CRLF}"$).popall - If imprimirAqui Then Printer1.WriteString($"Total Efectivo: ${NumberFormat2(totalEfectivo, 1,2,2,True)}${CRLF}"$) - - l_resumen.Text = cs - l_resumen.Height = su.MeasureMultilineTextHeight(l_resumen, l_resumen.Text) - sv_resumen.Panel.Height = l_resumen.Height - End If - Subs.panelVisible(p_transparenteResumen, 0, 0) + Private c As Cursor = Starter.skmt.ExecQuery("select PE_MESA, PE_TIPO, PE_TICKET, sum(PE_COSTO_TOT) as SUBTOT from PEDIDO where PE_TIPO <> 'VENTA' group by PE_MESA, pe_tipo, PE_TICKET order by PE_MESA, PE_TIPO desc") + If c.RowCount > 0 Then + c.Position = 0 + Private mesaAnt As String = "" + Private tipoAnt As String = "" + Private tipo As String + Private ticket As String + If imprimirAqui Then Printer1.WriteString($"Fecha: ${sDate} ${sTime} ${CRLF}${CRLF}"$) + For i = 0 To c.RowCount - 1 + c.Position = i + ticket = c.GetString("PE_TICKET") + If c.GetString("PE_TIPO") = "TARJETA" Then + tipo = "Pago Tarjeta " + Else If c.GetString("PE_TIPO") = "EFECTIVO" Then + tipo = "Pago Efectivo " + End If + If mesaAnt <> c.GetString("PE_MESA") Then + Private tm As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as totalMesa from PEDIDO_TICKET where PT_MESA = '${c.GetString("PE_MESA")}' and PT_PAGO <> 'MULTI-TICKET'"$) + tm.Position = 0 + cs.Color(Colors.RGB(1,127,1)).Append($"Mesa ${c.GetString("PE_MESA")} - $${NumberFormat2(tm.GetString("totalMesa"), 1, 2, 2, True)} ${CRLF}"$).pop + If imprimirAqui Then Printer1.WriteString($"Mesa ${c.GetString("PE_MESA")} - $${NumberFormat2(tm.GetString("totalMesa"), 1, 2, 2, True)} ${CRLF}"$) + Private tipoAnt As String = "" + End If + If tipoAnt <> c.GetString("PE_TIPO") And c.GetString("PE_TIPO") <> "MULTI-TICKET" Then + Private tpt As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as totalTipo from PEDIDO_TICKET where PT_MESA = '${c.GetString("PE_MESA")}' and PT_PAGO = '${c.GetString("PE_TIPO")}'"$) + tpt.Position = 0 + cs.Color(Colors.red).Append($" * ${tipo} - $${NumberFormat2(tpt.GetString("totalTipo"), 1, 2, 2, True)} ${CRLF}"$).pop + If imprimirAqui Then Printer1.WriteString($" * ${tipo} - $${NumberFormat2(tpt.GetString("totalTipo"), 1, 2, 2, True)} ${CRLF}"$) + End If + If c.GetString("PE_TIPO") <> "MULTI-TICKET" Then + cs.Append($" Ticket ${ticket}: $${NumberFormat2(c.GetString("SUBTOT"), 0, 2, 2, True)}${CRLF}"$).Popall + If imprimirAqui Then Printer1.WriteString($" Ticket ${ticket}: $${NumberFormat2(c.GetString("SUBTOT"), 0, 2, 2, True)}${CRLF}"$) + End If + mesaAnt = c.GetString("PE_MESA") + tipoAnt = c.GetString("PE_TIPO") + Next + If imprimirAqui Then Printer1.WriteString(CRLF) + Private tt As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as total from PEDIDO_TICKET where PT_PAGO = 'TARJETA'"$) + Private te As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as total from PEDIDO_TICKET where PT_PAGO = 'EFECTIVO'"$) + tt.Position = 0 : te.Position = 0 + Private totalEfectivo As String = 0 + If te.GetString("total") <> Null Then totalEfectivo = te.GetString("total") + cs.color(Colors.RGB(1,127,1)).Append($"${CRLF}Total Tarjeta: ${NumberFormat2(tt.GetString("total"), 1,2,2,True)}${CRLF}"$).popall + If imprimirAqui Then Printer1.WriteString($"${CRLF}Total Tarjeta: ${NumberFormat2(tt.GetString("total"), 1,2,2,True)}${CRLF}"$) + cs.color(Colors.RGB(1,127,1)).Append($"Total Efectivo: ${NumberFormat2(totalEfectivo, 1,2,2,True)}${CRLF}"$).popall + If imprimirAqui Then Printer1.WriteString($"Total Efectivo: ${NumberFormat2(totalEfectivo, 1,2,2,True)}${CRLF}"$) + + l_resumen.Text = cs + l_resumen.Height = su.MeasureMultilineTextHeight(l_resumen, l_resumen.Text) + sv_resumen.Panel.Height = l_resumen.Height + End If + Subs.panelVisible(p_transparenteResumen, 0, 0) ' Else ' ToastMessageShow("¡Es necesario que NO haya mesas abiertas para realizar el cierre!", True) ' End If @@ -1870,164 +1871,164 @@ Sub b_imp2_Click Private c As Cursor = Starter.skmt.ExecQuery($"select M_ESTATUS from CAT_MESAS where M_ESTATUS = 'ABIERTA'"$) ' Log(c.RowCount) ' If c.RowCount = 0 Then 'Si no hay mesas abiertas entonces ... - Private c As Cursor = Starter.skmt.ExecQuery("select distinct CAT_GP_CLASIF, PE_PRONOMBRE, sum(pe_cant) as cuantos, sum(pe_costo_tot) as monto from pedido join CAT_GUNAPROD on cat_gp_id = PE_PROID where PE_TIPO <> 'VENTA' group by PE_PRONOMBRE order by CAT_GP_CLASIF, PE_PRONOMBRE") 'Este query quita los "Consumo de alimentos", que son los tickets que se generan con el multi-ticket, porque en CAT_GUNAPROD no existe el ID CDA01. + Private c As Cursor = Starter.skmt.ExecQuery("select distinct CAT_GP_CLASIF, PE_PRONOMBRE, sum(pe_cant) as cuantos, sum(pe_costo_tot) as monto from pedido join CAT_GUNAPROD on cat_gp_id = PE_PROID where PE_TIPO <> 'VENTA' group by PE_PRONOMBRE order by CAT_GP_CLASIF, PE_PRONOMBRE") 'Este query quita los "Consumo de alimentos", que son los tickets que se generan con el multi-ticket, porque en CAT_GUNAPROD no existe el ID CDA01. ' Log(c.RowCount) - If c.RowCount > 0 Then - c.Position = 0 - Private catAnt As String = "" - Private catTotal As String = 0 - If imprimirAqui Then Printer1.WriteString($"Fecha: ${sDate} ${sTime} ${CRLF}${CRLF}"$) - Log("*** GRUPOS ***") - cs.Color(Colors.red).Append($"*** GRUPOS ***${CRLF}"$).pop - Printer1.WriteString(Printer1.BOLD) - If imprimirAqui Then Printer1.WriteString($"*** GRUPOS ***${CRLF}"$) - Printer1.WriteString(Printer1.NOBOLD) - For i = 0 To c.RowCount - 1 - c.Position = i + If c.RowCount > 0 Then + c.Position = 0 + Private catAnt As String = "" + Private catTotal As String = 0 + If imprimirAqui Then Printer1.WriteString($"Fecha: ${sDate} ${sTime} ${CRLF}${CRLF}"$) + Log("*** GRUPOS ***") + cs.Color(Colors.red).Append($"*** GRUPOS ***${CRLF}"$).pop + Printer1.WriteString(Printer1.BOLD) + If imprimirAqui Then Printer1.WriteString($"*** GRUPOS ***${CRLF}"$) + Printer1.WriteString(Printer1.NOBOLD) + For i = 0 To c.RowCount - 1 + c.Position = i ' Log($"${catAnt} - ${c.GetString("CAT_GP_CLASIF")}"$) - If catAnt <> c.GetString("CAT_GP_CLASIF") Then + If catAnt <> c.GetString("CAT_GP_CLASIF") Then ' Private tm As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as totalMesa from PEDIDO_TICKET where PT_MESA = '${c.GetString("PE_MESA")}' and PT_PAGO <> 'MULTI-TICKET'"$) ' tm.Position = 0 - If catAnt <> "" Then - cs.Color(Colors.Green).Append($"Total ${catAnt}: ${catTotal}${CRLF}"$).pop - If imprimirAqui Then - Printer1.WriteString(Printer1.BOLD) - Printer1.WriteString($"Total ${catAnt}: ${catTotal}${CRLF}${CRLF}"$) - Printer1.WriteString(Printer1.NOBOLD) - End If -' Log($">>>>>>> CAT TOTAL ${catAnt}: ${catTotal}"$ ) - End If - cs.Color(Colors.red).Append($"++ ${c.GetString("CAT_GP_CLASIF")} ++${CRLF}"$).pop - Log($"++ ${c.GetString("CAT_GP_CLASIF")} ++${CRLF}"$) - Printer1.WriteString(Printer1.BOLD) - If imprimirAqui Then Printer1.WriteString($"++ ${c.GetString("CAT_GP_CLASIF")} ++${CRLF}"$) - Printer1.WriteString(Printer1.NOBOLD) - Private tipoAnt As String = "" - catTotal = 0 - End If - - Private elNombre As String = c.GetString("PE_PRONOMBRE") - If elNombre.Length > 20 Then elNombre = elNombre.SubString2(0, 20) - Log($"${elNombre} - ${c.GetString("cuantos")}"$) '${c.Position} - ${elNombre.Length} - - cs.Color(Colors.DarkGray).Append($"${elNombre} - ${c.GetString("cuantos")} ${CRLF}"$).pop - Private monto As String = NumberFormat2(c.GetString("monto"), 1, 0, 0, True) - Private cuantos As String = c.GetString("cuantos") - - Private primerEspacioLargo As Int = 30 - elNombre.Length - (cuantos.Length + 1) - 6 - Private primerEspacio As String = "" - For n = 1 To primerEspacioLargo - primerEspacio = primerEspacio & "." - Next -' If imprimirAqui Then Printer1.WriteString($"${elNombre}${Subs.alineaDerecha(c.GetString("cuantos"), (31 - elNombre.Length), ".")} ${CRLF}"$) - If imprimirAqui Then Printer1.WriteString($"${elNombre}${primerEspacio}${cuantos}..${monto} ${CRLF}"$) - catTotal = catTotal + c.GetString("cuantos") -' Log($">>>> ${catAnt} - ${c.GetString("CAT_GP_CLASIF")}"$) - If i = c.RowCount - 1 Then - Log($"Total ${c.GetString("CAT_GP_CLASIF")}: ${catTotal}${CRLF}"$) - cs.Color(Colors.Green).Append($"Total ${c.GetString("CAT_GP_CLASIF")}: ${catTotal}${CRLF}"$).pop + If catAnt <> "" Then + cs.Color(Colors.Green).Append($"Total ${catAnt}: ${catTotal}${CRLF}"$).pop If imprimirAqui Then Printer1.WriteString(Printer1.BOLD) - Printer1.WriteString($"Total ${c.GetString("CAT_GP_CLASIF")}: ${catTotal}${CRLF}"$) + Printer1.WriteString($"Total ${catAnt}: ${catTotal}${CRLF}${CRLF}"$) Printer1.WriteString(Printer1.NOBOLD) End If +' Log($">>>>>>> CAT TOTAL ${catAnt}: ${catTotal}"$ ) End If + cs.Color(Colors.red).Append($"++ ${c.GetString("CAT_GP_CLASIF")} ++${CRLF}"$).pop + Log($"++ ${c.GetString("CAT_GP_CLASIF")} ++${CRLF}"$) + Printer1.WriteString(Printer1.BOLD) + If imprimirAqui Then Printer1.WriteString($"++ ${c.GetString("CAT_GP_CLASIF")} ++${CRLF}"$) + Printer1.WriteString(Printer1.NOBOLD) Private tipoAnt As String = "" - catAnt = c.GetString("CAT_GP_CLASIF") -' Log(i) + catTotal = 0 + End If + + Private elNombre As String = c.GetString("PE_PRONOMBRE") + If elNombre.Length > 20 Then elNombre = elNombre.SubString2(0, 20) + Log($"${elNombre} - ${c.GetString("cuantos")}"$) '${c.Position} - ${elNombre.Length} - + cs.Color(Colors.DarkGray).Append($"${elNombre} - ${c.GetString("cuantos")} ${CRLF}"$).pop + Private monto As String = NumberFormat2(c.GetString("monto"), 1, 0, 0, True) + Private cuantos As String = c.GetString("cuantos") + + Private primerEspacioLargo As Int = 30 - elNombre.Length - (cuantos.Length + 1) - 6 + Private primerEspacio As String = "" + For n = 1 To primerEspacioLargo + primerEspacio = primerEspacio & "." Next - If imprimirAqui Then Printer1.WriteString(CRLF) +' If imprimirAqui Then Printer1.WriteString($"${elNombre}${Subs.alineaDerecha(c.GetString("cuantos"), (31 - elNombre.Length), ".")} ${CRLF}"$) + If imprimirAqui Then Printer1.WriteString($"${elNombre}${primerEspacio}${cuantos}..${monto} ${CRLF}"$) + catTotal = catTotal + c.GetString("cuantos") +' Log($">>>> ${catAnt} - ${c.GetString("CAT_GP_CLASIF")}"$) + If i = c.RowCount - 1 Then + Log($"Total ${c.GetString("CAT_GP_CLASIF")}: ${catTotal}${CRLF}"$) + cs.Color(Colors.Green).Append($"Total ${c.GetString("CAT_GP_CLASIF")}: ${catTotal}${CRLF}"$).pop + If imprimirAqui Then + Printer1.WriteString(Printer1.BOLD) + Printer1.WriteString($"Total ${c.GetString("CAT_GP_CLASIF")}: ${catTotal}${CRLF}"$) + Printer1.WriteString(Printer1.NOBOLD) + End If + End If + Private tipoAnt As String = "" + catAnt = c.GetString("CAT_GP_CLASIF") +' Log(i) + Next + If imprimirAqui Then Printer1.WriteString(CRLF) ' l_resumen.Text = cs - l_resumen.Height = su.MeasureMultilineTextHeight(l_resumen, l_resumen.Text) - sv_resumen.Panel.Height = l_resumen.Height - End If - 'RESUMEN - Private rsm As Cursor = Starter.skmt.ExecQuery($"select distinct CAT_GP_CLASIF, sum(pe_cant) as cuantos, sum(pe_costo_tot) as monto from pedido join CAT_GUNAPROD on cat_gp_id = PE_PROID group by CAT_GP_CLASIF order by CAT_GP_CLASIF"$) 'Este query quita los "Consumo de alimentos", que son los tickets que se generan con el multi-ticket, porque en CAT_GUNAPROD no existe el ID CDA01. + l_resumen.Height = su.MeasureMultilineTextHeight(l_resumen, l_resumen.Text) + sv_resumen.Panel.Height = l_resumen.Height + End If + 'RESUMEN + Private rsm As Cursor = Starter.skmt.ExecQuery($"select distinct CAT_GP_CLASIF, sum(pe_cant) as cuantos, sum(pe_costo_tot) as monto from pedido join CAT_GUNAPROD on cat_gp_id = PE_PROID group by CAT_GP_CLASIF order by CAT_GP_CLASIF"$) 'Este query quita los "Consumo de alimentos", que son los tickets que se generan con el multi-ticket, porque en CAT_GUNAPROD no existe el ID CDA01. ' Log(rsm.RowCount) - If rsm.RowCount > 0 Then - Printer1.WriteString(Printer1.BOLD) - If imprimirAqui Then Printer1.WriteString($"*** RESUMEN *** ${CRLF}"$) - cs.Color(Colors.red).Append($"** RESUMEN **${CRLF}"$).pop - Printer1.WriteString(Printer1.NOBOLD) - For i = 0 To rsm.RowCount - 1 - rsm.Position = i - Private laCat As String = rsm.GetString("CAT_GP_CLASIF") - If laCat.Length > 20 Then laCat = laCat.SubString2(0, 20) + If rsm.RowCount > 0 Then + Printer1.WriteString(Printer1.BOLD) + If imprimirAqui Then Printer1.WriteString($"*** RESUMEN *** ${CRLF}"$) + cs.Color(Colors.red).Append($"** RESUMEN **${CRLF}"$).pop + Printer1.WriteString(Printer1.NOBOLD) + For i = 0 To rsm.RowCount - 1 + rsm.Position = i + Private laCat As String = rsm.GetString("CAT_GP_CLASIF") + If laCat.Length > 20 Then laCat = laCat.SubString2(0, 20) ' Log($"${rsm.Position} - ${laCat.Length} - ${laCat}"$) - Private monto As String = NumberFormat2(rsm.GetString("monto"), 1, 0, 0, True) - Private cuantos As String = rsm.GetString("cuantos") - Private primerEspacioLargo As Int = 30 - laCat.Length - (cuantos.Length + 1) - 6 - Private primerEspacio As String = "" - For n = 1 To primerEspacioLargo - primerEspacio = primerEspacio & "." - Next - If imprimirAqui Then Printer1.WriteString($"${laCat}${primerEspacio}${cuantos}..${monto} ${CRLF}"$) - cs.Color(Colors.DarkGray).Append($"${laCat}${primerEspacio}${cuantos}..${monto} ${CRLF}"$).pop - Log($"${laCat}${primerEspacio}${cuantos}..${monto} ${CRLF}"$) + Private monto As String = NumberFormat2(rsm.GetString("monto"), 1, 0, 0, True) + Private cuantos As String = rsm.GetString("cuantos") + Private primerEspacioLargo As Int = 30 - laCat.Length - (cuantos.Length + 1) - 6 + Private primerEspacio As String = "" + For n = 1 To primerEspacioLargo + primerEspacio = primerEspacio & "." Next - 'COMENSALES - Private coms As Cursor = Starter.skmt.ExecQuery($"select sum(PT_COMENSALES) as totComensales from PEDIDO_TICKET where ifnull(PT_ALMACEN,0) <> 'MULTI-TICKET'"$) - Private totalComensales As Int = 0 - If coms.RowCount > 0 Then - coms.Position = 0 - totalComensales = coms.GetInt("totComensales") - End If - If imprimirAqui Then Printer1.WriteString($"Comensales ...........${totalComensales} ${CRLF}"$) - cs.Color(Colors.DarkGray).Append($"Comensales ..........${totalComensales} ${CRLF}"$).pop - Log($"Comensales ...........${totalComensales} ${CRLF}"$) + If imprimirAqui Then Printer1.WriteString($"${laCat}${primerEspacio}${cuantos}..${monto} ${CRLF}"$) + cs.Color(Colors.DarkGray).Append($"${laCat}${primerEspacio}${cuantos}..${monto} ${CRLF}"$).pop + Log($"${laCat}${primerEspacio}${cuantos}..${monto} ${CRLF}"$) + Next + 'COMENSALES + Private coms As Cursor = Starter.skmt.ExecQuery($"select sum(PT_COMENSALES) as totComensales from PEDIDO_TICKET where ifnull(PT_ALMACEN,0) <> 'MULTI-TICKET'"$) + Private totalComensales As Int = 0 + If coms.RowCount > 0 Then + coms.Position = 0 + totalComensales = coms.GetInt("totComensales") + End If + If imprimirAqui Then Printer1.WriteString($"Comensales ...........${totalComensales} ${CRLF}"$) + cs.Color(Colors.DarkGray).Append($"Comensales ..........${totalComensales} ${CRLF}"$).pop + Log($"Comensales ...........${totalComensales} ${CRLF}"$) - 'PAGOS - Private pgs As Cursor = Starter.skmt.ExecQuery($"Select PT_PAGO2, sum(PT_NOART) As arts, sum(PT_MONTO) As monto from PEDIDO_TICKET where pt_pago <> 'MULTI-TICKET' and pt_pago <> 'VENTA' group by PT_PAGO2"$) - Private totalComensales As Int = 0 - If imprimirAqui Then Printer1.WriteString($"${CRLF}"$) - Printer1.WriteString(Printer1.BOLD) - If imprimirAqui Then Printer1.WriteString($"*** PAGOS *** ${CRLF}"$) - Printer1.WriteString(Printer1.NOBOLD) - cs.Color(Colors.red).Append($"** PAGOS **${CRLF}"$).pop - Log("*** PAGOS ***") - Private totalPagos As String = 0 - For i = 0 To pgs.RowCount - 1 - pgs.Position = i - Private elPago As String = pgs.GetString("PT_PAGO2") - If elPago.Length > 20 Then elPago = elPago.SubString2(0, 20) + 'PAGOS + Private pgs As Cursor = Starter.skmt.ExecQuery($"Select PT_PAGO2, sum(PT_NOART) As arts, sum(PT_MONTO) As monto from PEDIDO_TICKET where pt_pago <> 'MULTI-TICKET' and pt_pago <> 'VENTA' group by PT_PAGO2"$) + Private totalComensales As Int = 0 + If imprimirAqui Then Printer1.WriteString($"${CRLF}"$) + Printer1.WriteString(Printer1.BOLD) + If imprimirAqui Then Printer1.WriteString($"*** PAGOS *** ${CRLF}"$) + Printer1.WriteString(Printer1.NOBOLD) + cs.Color(Colors.red).Append($"** PAGOS **${CRLF}"$).pop + Log("*** PAGOS ***") + Private totalPagos As String = 0 + For i = 0 To pgs.RowCount - 1 + pgs.Position = i + Private elPago As String = pgs.GetString("PT_PAGO2") + If elPago.Length > 20 Then elPago = elPago.SubString2(0, 20) ' Log($"${pgs.Position} - ${elPago.Length} - ${elPago}"$) - Private monto As String = pgs.GetString("monto") - Private cuantos As String = pgs.GetString("arts") - Private primerEspacioLargo As Int = 30 - elPago.Length - (cuantos.Length + 1) - 6 - Private primerEspacio As String = "" - For n = 1 To primerEspacioLargo - primerEspacio = primerEspacio & "." - Next + Private monto As String = pgs.GetString("monto") + Private cuantos As String = pgs.GetString("arts") + Private primerEspacioLargo As Int = 30 - elPago.Length - (cuantos.Length + 1) - 6 + Private primerEspacio As String = "" + For n = 1 To primerEspacioLargo + primerEspacio = primerEspacio & "." + Next ' monto = NumberFormat2(monto.As(Double), 1, 0, 0, True) ' Log(monto) - If imprimirAqui Then Printer1.WriteString($"${elPago}${primerEspacio}${cuantos}..${NumberFormat2(pgs.GetString("monto"), 1, 0, 0, True)} ${CRLF}"$) - cs.Color(Colors.DarkGray).Append($"${elPago}${primerEspacio}${cuantos}..${NumberFormat2(pgs.GetString("monto"), 1, 0, 0, True)} ${CRLF}"$).pop - Log($"${elPago}${primerEspacio}${cuantos}..${NumberFormat2(pgs.GetString("monto"), 1, 0, 0, True)} ${CRLF}"$) - totalPagos = totalPagos + monto - Next - totalPagos = NumberFormat2(totalPagos, 1, 0, 0, True) - If imprimirAqui Then Printer1.WriteString($"TOTAL PAGOS ......... ${i}..${totalPagos} ${CRLF}"$) - If imprimirAqui Then Printer1.WriteString($"${CRLF}${CRLF}${CRLF}"$) - cs.Color(Colors.DarkGray).Append($"TOTAL PAGOS: .........${i}.. ${totalPagos} ${CRLF}"$).pop - Log($"TOTAL PAGOS: .........${i}.. ${totalPagos} ${CRLF}"$) + If imprimirAqui Then Printer1.WriteString($"${elPago}${primerEspacio}${cuantos}..${NumberFormat2(pgs.GetString("monto"), 1, 0, 0, True)} ${CRLF}"$) + cs.Color(Colors.DarkGray).Append($"${elPago}${primerEspacio}${cuantos}..${NumberFormat2(pgs.GetString("monto"), 1, 0, 0, True)} ${CRLF}"$).pop + Log($"${elPago}${primerEspacio}${cuantos}..${NumberFormat2(pgs.GetString("monto"), 1, 0, 0, True)} ${CRLF}"$) + totalPagos = totalPagos + monto + Next + totalPagos = NumberFormat2(totalPagos, 1, 0, 0, True) + If imprimirAqui Then Printer1.WriteString($"TOTAL PAGOS ......... ${i}..${totalPagos} ${CRLF}"$) + If imprimirAqui Then Printer1.WriteString($"${CRLF}${CRLF}${CRLF}"$) + cs.Color(Colors.DarkGray).Append($"TOTAL PAGOS: .........${i}.. ${totalPagos} ${CRLF}"$).pop + Log($"TOTAL PAGOS: .........${i}.. ${totalPagos} ${CRLF}"$) - 'PROPINAS - Private prop As ResultSet = Starter.skmt.ExecQuery($"Select PT_PAGO_PROPINA, sum(PT_PROPINA) As PROPINA from PEDIDO_TICKET where pt_pago <> 'MULTI-TICKET' group by PT_PAGO_PROPINA"$) - If imprimirAqui Then Printer1.WriteString(CRLF) - Printer1.WriteString(Printer1.BOLD) - If imprimirAqui Then Printer1.WriteString($"*** PROPINAS *** ${CRLF}"$) - Printer1.WriteString(Printer1.NOBOLD) - cs.Color(Colors.red).Append($"** PROPINAS **${CRLF}"$).pop - Log("*** PROPINAS ***") - Do While prop.NextRow - If prop.GetString("PT_PAGO_PROPINA") <> Null Then - Private laPropina As String = prop.GetString("PROPINA") - If imprimirAqui Then Printer1.WriteString($"${prop.GetString("PT_PAGO_PROPINA")}${Subs.alineaDerecha("$"&NumberFormat2(laPropina, 1, 2, 2, True), (30 - prop.GetString("PT_PAGO_PROPINA").Length), ".")} ${CRLF}"$) + 'PROPINAS + Private prop As ResultSet = Starter.skmt.ExecQuery($"Select PT_PAGO_PROPINA, sum(PT_PROPINA) As PROPINA from PEDIDO_TICKET where pt_pago <> 'MULTI-TICKET' group by PT_PAGO_PROPINA"$) + If imprimirAqui Then Printer1.WriteString(CRLF) + Printer1.WriteString(Printer1.BOLD) + If imprimirAqui Then Printer1.WriteString($"*** PROPINAS *** ${CRLF}"$) + Printer1.WriteString(Printer1.NOBOLD) + cs.Color(Colors.red).Append($"** PROPINAS **${CRLF}"$).pop + Log("*** PROPINAS ***") + Do While prop.NextRow + If prop.GetString("PT_PAGO_PROPINA") <> Null Then + Private laPropina As String = prop.GetString("PROPINA") + If imprimirAqui Then Printer1.WriteString($"${prop.GetString("PT_PAGO_PROPINA")}${Subs.alineaDerecha("$"&NumberFormat2(laPropina, 1, 2, 2, True), (30 - prop.GetString("PT_PAGO_PROPINA").Length), ".")} ${CRLF}"$) ' Log(prop.GetString("PT_PAGO_PROPINA")) - cs.Color(Colors.DarkGray).Append($"${prop.GetString("PT_PAGO_PROPINA")}${Subs.alineaDerecha("$"&NumberFormat2(laPropina, 1, 2, 2, True), (30 - prop.GetString("PT_PAGO_PROPINA").Length), ".")} ${CRLF}"$).pop - Log($" ${prop.GetString("PT_PAGO_PROPINA")}${Subs.alineaDerecha("$"&NumberFormat2(laPropina, 1, 2, 2, True), (30 - prop.GetString("PT_PAGO_PROPINA").Length), ".")} "$) - End If - Loop + cs.Color(Colors.DarkGray).Append($"${prop.GetString("PT_PAGO_PROPINA")}${Subs.alineaDerecha("$"&NumberFormat2(laPropina, 1, 2, 2, True), (30 - prop.GetString("PT_PAGO_PROPINA").Length), ".")} ${CRLF}"$).pop + Log($" ${prop.GetString("PT_PAGO_PROPINA")}${Subs.alineaDerecha("$"&NumberFormat2(laPropina, 1, 2, 2, True), (30 - prop.GetString("PT_PAGO_PROPINA").Length), ".")} "$) + End If + Loop ' LogColor($">>>>>>> ${Ceil(25.2)}"$, Colors.red) ' LogColor($">>>>>>> ${Ceil(25.5)}"$, Colors.red) ' Efectivo...............$300.00 @@ -2035,10 +2036,10 @@ Sub b_imp2_Click If imprimirAqui Then Printer1.WriteString(CRLF) If imprimirAqui Then Printer1.WriteString(CRLF) If imprimirAqui Then Printer1.WriteString(CRLF) - End If - l_resumen.Text = cs - Log(123) - Subs.panelVisible(p_transparenteResumen, 0, 0) + End If + l_resumen.Text = cs + Log(123) + Subs.panelVisible(p_transparenteResumen, 0, 0) ' Else ' ToastMessageShow("¡Es necesario que NO haya mesas abiertas para realizar el cierre!", True) ' End If @@ -2055,6 +2056,112 @@ Sub b_imp2_Click ProgressDialogHide End Sub + +Sub b_imp3_Click + Private imprimirAqui As Boolean = Starter.imprimirTicket + Private sDate, sTime As String + Private c As Cursor + sv_resumen.Panel.Height = p_resumen.Height + cs.Initialize + Private l_total, la_cuenta As Label + l_total.Initialize("l") + la_cuenta.Initialize("2") + b_imp2.Enabled = False + ProgressDialogShow("Imprimiendo, un momento ...") + If imprimirAqui 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 + Printer1.Reset + End If +' If imprimirAqui Then Printer1.WriteString(Printer1.UNREVERSE) + Try + DateTime.DateFormat = "yyyymmdd" + sDate = DateTime.Date(DateTime.Now) + Printer1.WriteString(Printer1.BOLD) + If imprimirAqui Then Printer1.WriteString("LA LANTERNA RISTORANTE" & CRLF) + Printer1.WriteString(Printer1.NOBOLD) + DateTime.DateFormat = "MM/dd/yyyy" + sDate = DateTime.Date(DateTime.Now) + sTime = DateTime.Time(DateTime.Now) + + Private c As Cursor = Starter.skmt.ExecQuery($"select M_ESTATUS from CAT_MESAS where M_ESTATUS = 'ABIERTA'"$) + 'RESUMEN + Private rsm As Cursor = Starter.skmt.ExecQuery($"select distinct CAT_GP_CLASIF, sum(pe_cant) as cuantos, sum(pe_costo_tot) as monto from pedido join CAT_GUNAPROD on cat_gp_id = PE_PROID group by CAT_GP_CLASIF order by CAT_GP_CLASIF"$) 'Este query quita los "Consumo de alimentos", que son los tickets que se generan con el multi-ticket, porque en CAT_GUNAPROD no existe el ID CDA01. +' Log(rsm.RowCount) + If rsm.RowCount > 0 Then + 'PROPINAS + Private prop As ResultSet = Starter.skmt.ExecQuery($"Select PT_PAGO_PROPINA, sum(PT_PROPINA) As PROPINA from PEDIDO_TICKET where pt_pago <> 'MULTI-TICKET' group by PT_PAGO_PROPINA"$) + If imprimirAqui Then Printer1.WriteString(CRLF) + Printer1.WriteString(Printer1.BOLD) + If imprimirAqui Then Printer1.WriteString($"*** PROPINAS *** ${CRLF}"$) + Printer1.WriteString(Printer1.NOBOLD) + cs.Color(Colors.red).Append($"** PROPINAS **${CRLF}"$).pop + Log("*** PROPINAS ***") + Private tot As String = 0 + Do While prop.NextRow + If prop.GetString("PT_PAGO_PROPINA") <> Null Then + Private laPropina As String = prop.GetString("PROPINA") + If imprimirAqui Then Printer1.WriteString($"${prop.GetString("PT_PAGO_PROPINA")}${Subs.alineaDerecha("$"&NumberFormat2(laPropina, 1, 2, 2, True), (30 - prop.GetString("PT_PAGO_PROPINA").Length), ".")} ${CRLF}"$) +' Log(prop.GetString("PT_PAGO_PROPINA")) + cs.Color(Colors.DarkGray).Append($"${prop.GetString("PT_PAGO_PROPINA")}${Subs.alineaDerecha("$"&NumberFormat2(laPropina, 1, 2, 2, True), (30 - prop.GetString("PT_PAGO_PROPINA").Length), ".")} ${CRLF}"$).pop + Log($" ${prop.GetString("PT_PAGO_PROPINA")}${Subs.alineaDerecha("$"&NumberFormat2(laPropina, 1, 2, 2, True), (30 - prop.GetString("PT_PAGO_PROPINA").Length), ".")} "$) + tot = tot + laPropina + End If + Loop + If imprimirAqui Then Printer1.WriteString(CRLF) + If imprimirAqui Then Printer1.WriteString($"Total:${Subs.alineaDerecha("$"&NumberFormat2(tot, 1, 2, 2, True), (30 - 6), ".")} ${CRLF}"$) + cs.Color(Colors.DarkGray).Append($"Total:${Subs.alineaDerecha("$"&NumberFormat2(tot, 1, 2, 2, True), (30 - 6), ".")} ${CRLF}"$).pop + Log($"Total: ${tot}"$) +' LogColor($">>>>>>> ${Ceil(25.2)}"$, Colors.red) +' LogColor($">>>>>>> ${Ceil(25.5)}"$, Colors.red) +' Efectivo...............$300.00 +' Tarjeta................$910.00 + If imprimirAqui Then Printer1.WriteString(CRLF) + If imprimirAqui Then Printer1.WriteString(CRLF) + If imprimirAqui Then Printer1.WriteString(CRLF) + End If + l_resumen.Text = cs + Subs.panelVisible(p_transparenteResumen, 0, 0) +' Else +' ToastMessageShow("¡Es necesario que NO haya mesas abiertas para realizar el cierre!", True) +' End If + Sleep(1000) + Printer1.DisConnect + Catch + ToastMessageShow("Error en la impresion 3.", True) + Printer1.Disconnect +' B4XPages.ShowPage("Principal") + Activity_Resume + End Try + Sleep(1000) + b_imp2.Enabled = True + ProgressDialogHide +End Sub + Sub b_imp_VIEJO_Click ' Log("inicia B_IMP2_Click") Private TAMANO As Int @@ -2674,8 +2781,8 @@ Private Sub lv_historial_ItemLongClick (Position As Int, Value As Object) ' Private d() As String = Regex.Split("\|", Value) ' lv_verOrden.Clear ' Private c As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO where PE_MESA = '${d(0)}' and PE_TICKET = '${d(1)}' and PE_TIPO = '${d(2)}'"$) -'' Log($"select * from PEDIDO where PE_MESA = '${d(0)}' and PE_TICKET = '${d(1)}' and PE_TIPO = '${d(2)}'"$) -'' Log(c.RowCount) + '' Log($"select * from PEDIDO where PE_MESA = '${d(0)}' and PE_TICKET = '${d(1)}' and PE_TIPO = '${d(2)}'"$) + '' Log(c.RowCount) ' Private Label1 As Label = lv_verOrden.TwoLinesLayout.Label ' Private Label2 As Label = lv_verOrden.TwoLinesLayout.SecondLabel ' Label1.TextColor = Colors.RGB(1,127,1) @@ -2686,7 +2793,7 @@ Private Sub lv_historial_ItemLongClick (Position As Int, Value As Object) ' For i = 0 To c.RowCount - 1 ' c.Position = i ' Private n1 As String = c.GetString("PE_PRONOMBRE") -'' Log(n.Length & " - " & n) + '' Log(n.Length & " - " & n) ' If n1.Length > 25 Then n1 = n1.SubString2(0, 25) ' lv_verOrden.AddTwoLines($"${c.GetString("PE_CANT")} - ${n1}"$, $"Precio: $${c.GetString("PE_COSTOU")}"$) ' Next @@ -2899,8 +3006,8 @@ Private Sub b_leyendaDescuento_Click Private desc As ResultSet = Starter.skmt.ExecQuery($"select * from PEDIDO where PE_PRONOMBRE = 'DESCUENTO' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) Do While desc.NextRow - If imprimirEste Then Printer1.WriteString($"Subtotal: ${Subs.alineaDerecha("$"&NumberFormat2( (Subs.traeTotalTicketActual_P(tipoPago)), 1, 2, 2, True), (30 - 12), ".")}${CRLF}"$) - Log($"Subtotal: ${Subs.alineaDerecha("$"&NumberFormat2((Subs.traeTotalTicketActual_P(tipoPago)), 1, 2, 2, True), (30 - 12), ".")}${CRLF}"$) + If imprimirEste Then Printer1.WriteString($"Subtotal: ${Subs.alineaDerecha("$"&NumberFormat2( (Subs.traeTotalTicketActual_P(tipoPago)), 1, 2, 2, True), (30 - 12), ".")}${CRLF}"$) + Log($"Subtotal: ${Subs.alineaDerecha("$"&NumberFormat2((Subs.traeTotalTicketActual_P(tipoPago)), 1, 2, 2, True), (30 - 12), ".")}${CRLF}"$) cantXpu = $"1 x ${desc.GetString("PE_COSTOU")}"$ If imprimirEste Then Printer1.WriteString($"1 DESCUENTO${CRLF}${cantXpu}${Subs.alineaDerecha("$"&NumberFormat2(desc.GetString("PE_COSTO_TOT"), 1, 2, 2, True), (30 - cantXpu.Length), ".")}${CRLF}"$) @@ -3064,34 +3171,34 @@ Private Sub clv_orden_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int) ' If listaProdsOrden.IndexOf(clv_orden.GetValue(i).As(Map).Get("id")) > -1 Then ' Log("Ya existe") ' Else - Pnl.LoadLayout("proditem") - listaProdsOrden.InsertAt(i, clv_orden.GetValue(i).As(Map).Get("id")) + Pnl.LoadLayout("proditem") + listaProdsOrden.InsertAt(i, clv_orden.GetValue(i).As(Map).Get("id")) ' Log($"insertamos ${clv_orden.GetValue(i).As(Map).Get("id")} en ${i}"$) ' Log(listaProdsOrden) - p_prods.Width = clv_orden.GetBase.Width ' Activity.Width * 0.99 - p_prods.Height = 42dip - p_botMasMen.Left = (clv_orden.GetBase.Width - p_botMasMen.Width - 8) - b_prodMas.Height = 47dip : b_prodMas.top = 3dip - b_prodMenos.Height = 47dip : b_prodMenos.top = 3dip - et_pCant.Height = 49dip : et_pCant.top = 3dip - l_pCant.Height = 37dip : l_pCant.top = 9dip - p_botMasMen.Top = -6 - Private cs As CSBuilder - cs.Initialize - l_prodX.SetTextSizeAnimated(0, 13) - If clv_orden.GetValue(i).As(Map).Get("cant") <> Null And clv_orden.GetValue(i).As(Map).Get("cant") > 0 Then - p_prods.Color=0xFFE2EEFF - et_pCant.TextColor=Colors.Red - b_prodMenos.Tag = "vendido" - b_prodMas.Tag = "vendido" - End If - Private precio As String=NumberFormat2(clv_orden.GetValue(i).As(Map).Get("precio").As(Double),1,2,2,False) - If clv_orden.GetValue(i).As(Map).Get("cant") <> Null Then et_pCant.Text = clv_orden.GetValue(i).As(Map).Get("cant") - l_prodX.Text = cs.Color(Colors.red).append(clv_orden.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Color(0xFF017F01).Append($"Precio $${NumberFormat2(precio, 1, 2, 2, True)}"$).Popall - l_prodX.Tag = clv_orden.GetValue(i).As(Map) - l_pCant.Tag = clv_orden.GetValue(i).As(Map).Get("id") + p_prods.Width = clv_orden.GetBase.Width ' Activity.Width * 0.99 + p_prods.Height = 42dip + p_botMasMen.Left = (clv_orden.GetBase.Width - p_botMasMen.Width - 8) + b_prodMas.Height = 47dip : b_prodMas.top = 3dip + b_prodMenos.Height = 47dip : b_prodMenos.top = 3dip + et_pCant.Height = 49dip : et_pCant.top = 3dip + l_pCant.Height = 37dip : l_pCant.top = 9dip + p_botMasMen.Top = -6 + Private cs As CSBuilder + cs.Initialize + l_prodX.SetTextSizeAnimated(0, 13) + If clv_orden.GetValue(i).As(Map).Get("cant") <> Null And clv_orden.GetValue(i).As(Map).Get("cant") > 0 Then + p_prods.Color=0xFFE2EEFF + et_pCant.TextColor=Colors.Red + b_prodMenos.Tag = "vendido" + b_prodMas.Tag = "vendido" + End If + Private precio As String=NumberFormat2(clv_orden.GetValue(i).As(Map).Get("precio").As(Double),1,2,2,False) + If clv_orden.GetValue(i).As(Map).Get("cant") <> Null Then et_pCant.Text = clv_orden.GetValue(i).As(Map).Get("cant") + l_prodX.Text = cs.Color(Colors.red).append(clv_orden.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Color(0xFF017F01).Append($"Precio $${NumberFormat2(precio, 1, 2, 2, True)}"$).Popall + l_prodX.Tag = clv_orden.GetValue(i).As(Map) + l_pCant.Tag = clv_orden.GetValue(i).As(Map).Get("id") ' Log(clv_orden.GetValue(i).As(Map).Get("id")) - i_prod.Bitmap = clv_orden.GetValue(i).As(Map).Get("img") + i_prod.Bitmap = clv_orden.GetValue(i).As(Map).Get("img") ' End If @@ -3355,7 +3462,7 @@ End Sub Private Sub cb_factura_CheckedChange(Checked As Boolean) Starter.ticketFactura = Checked - If Checked Then + If Checked Then Log(222) cb_leyendaDescuento.Checked = False cb_mostrarDescuento.Checked = False