Attribute VB_Name = "MCierreXZ"

' FUNCION QUE REALIZA LA VISUALIZACION POR PANTALLA DEL CIERRE X O Z
'
'PARAMETROS:
'intCierre = 0 CIERREX
'intCierre = 1 CIERREZ

'intNegocio = 0 PLAYA
'intNegocio = 1 TIENDA

Public Function GImprimeCierre(intCierre As Integer, intNegocio As Integer, strCdVendedor As String, strSimbMonBas As String, strSimbMonExt As String, intAnchoDeTicket As Integer, intDecResultado As Integer, RS_CABECERA As ADODB.Recordset, RS_RESU1 As ADODB.Recordset, _
                           RS_RESU2 As ADODB.Recordset, Optional RS_RESU3 As ADODB.Recordset, Optional RS_RESU4 As ADODB.Recordset, Optional strTurno As String) As Integer

On Error GoTo ControlDeError 'Nos controlara el uso no valido de null

Dim IntAnchoTicket As Integer
Dim intDeciResult As Integer
Dim strSimbMdaBase As String
Dim strSimbMdaExt As String
Dim strCodVendedor As String

IntAnchoTicket = intAnchoDeTicket
intDeciResult = intDecResultado
strSimbMdaBase = strSimbMonBas
strSimbMdaExt = strSimbMonExt
strCodVendedor = strCdVendedor

'********************************
'--Empieza el proceso de grabado--------------------------------------------------------------------
Open GStrDispoTickBol For Output As #1
'---------------------------------------------------------------------------------------------------

GImprimeCierre = -1
Print #1, ""
Print #1, ""
Print #1, ""

Dim strTitulo As String
Dim strLinea As String

strLinea = Alineacion("C", IntAnchoTicket, IntAnchoTicket, "---------------------------------------")


'*************** CABECERA DEL CIERRE X *****************************
    If Not IsNull(RS_CABECERA!HEAD1) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD1), RS_CABECERA!HEAD1)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD2) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD2), RS_CABECERA!HEAD2)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD3) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD3), RS_CABECERA!HEAD3)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD4) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD4), RS_CABECERA!HEAD4)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD5) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD5), RS_CABECERA!HEAD5)
        Print #1, strTitulo
    End If

'    If Not IsNull(RS_CABECERA!HEAD6) Then
'        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD6), RS_CABECERA!HEAD6)
'        Print #1, strTitulo
'    End If

    Print #1, strLinea
    If intCierre = 0 Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len("CIERRE (X)"), "CIERRE (X)")
    Else
        strTitulo = Alineacion("C", IntAnchoTicket, Len("CIERRE (Z)"), "CIERRE (Z)")
    End If
    
    Print #1, strTitulo
    
    If intNegocio = 1 And intCierre = 0 Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len("(Vendedor : " & strCodVendedor & ")"), "(Vendedor : " & strCodVendedor & ")")
        Print #1, strTitulo
    End If

    Print #1, strLinea

    Dim strMaquinaReg As String
    strMaquinaReg = Alineacion("I", IntAnchoTicket - 10, Len("Maq.Regist.No: " & RS_CABECERA!SERIALNUMBER), "Maq.Regist.No: " & RS_CABECERA!SERIALNUMBER)
    Print #1, strMaquinaReg
    
    Dim strFecha As String
    strFecha = Alineacion("I", IntAnchoTicket - 10, Len("Fecha        : " & Format(Date & " " & Time, "dd/MM/yyyy hh:mm:ss")), "Fecha        : ") & Format(Date & " " & Time, "dd/MM/yyyy hh:mm:ss")
    Print #1, strFecha

    Dim strTipoCambio As String
    strTipoCambio = Alineacion("I", IntAnchoTicket - 10, Len("Tipo de Cambio: " & GFormatodeNumero(CStr(IIf(IsNull(RS_CABECERA!MONTOTIPOCAMBIO), 0, RS_CABECERA!MONTOTIPOCAMBIO)), intDeciResult)), "Tipo de Cambio: " & GFormatodeNumero(CStr(IIf(IsNull(RS_CABECERA!MONTOTIPOCAMBIO), 0, RS_CABECERA!MONTOTIPOCAMBIO)), intDeciResult))
    Print #1, strTipoCambio
    
    Dim strNroTransacciones As String
    strNroTransacciones = Alineacion("I", IntAnchoTicket - 10, Len("Nro. Transac. : " & RS_CABECERA!NROTRANSAC), "Nro. Transac. : " & RS_CABECERA!NROTRANSAC)
    Print #1, strNroTransacciones
    
    '@ Jorge: de aqui empieza el problema de los Nulos ------------------
    Dim strTicketBolIni As String
    strTicketBolIni = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Boleta Ini. : "), "Num. Ticket Boleta Ini. : ") & FormatoTicket(RS_CABECERA!TICKECTBOLEINI)
    Print #1, strTicketBolIni
    
    Dim strTicketBolFin As String
    strTicketBolFin = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Boleta Fin. : "), "Num. Ticket Boleta Fin. : ") & FormatoTicket(RS_CABECERA!TICKECTBOLEFIN)
    Print #1, strTicketBolFin

    Dim strTicketFacIni As String
    strTicketFacIni = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Factura Ini.: "), "Num. Ticket Factura Ini.: ") & FormatoTicket(IIf(IsNull(RS_CABECERA!TICKECTFACTINI), 0, RS_CABECERA!TICKECTFACTINI))
    Print #1, strTicketFacIni
    
    Dim strTicketFacFin As String
    strTicketFacFin = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Factura Ini.: "), "Num. Ticket Factura Fin.: ") & FormatoTicket(IIf(IsNull(RS_CABECERA!TICKECTFACTFIN), 0, RS_CABECERA!TICKECTFACTFIN))
    Print #1, strTicketFacFin

    Dim strValorVenta As String
    strValorVenta = "Valor Venta            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!VALORVENTASOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!VALORVENTASOLES, intDeciResult))
    Print #1, strValorVenta

    Dim strNoAfecto As String
    strNoAfecto = "No Afecto              " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!NOAFECTOSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!NOAFECTOSOLES, intDeciResult))
    Print #1, strNoAfecto

    Dim strIGV As String
    strIGV = "I.G.V                  " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!IGVSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!IGVSOLES, intDeciResult))
    Print #1, strIGV

    Dim strVentaTotal As String
    strVentaTotal = "Venta Total            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALSOLES, intDeciResult))
    Print #1, strVentaTotal
    
    Dim strNroTicketAnul As String
    strNroTicketAnul = Alineacion("I", IntAnchoTicket - 10, Len("Num. Ticket Anulados : " & IntNroTicketAnul), "Num. Ticket Anulados : " & Str(RS_CABECERA!TICKESTANUL))
    Print #1, strNroTicketAnul
    
    Dim strTotalTicketAnul As String
    strTotalTicketAnul = "Total Ticket Anulados  " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!MONTOTICKESTANULSOL, intDeciResult)), GFormatodeNumero(RS_CABECERA!MONTOTICKESTANULSOL, intDeciResult))
    Print #1, strTotalTicketAnul

    ' EL TURNO SOLO SE IMPRIME EN EKL CIERRE X
    If intCierre = 0 And intNegocio = 0 Then
        Dim strTurnoCierre As String
        strTurnoCierre = Alineacion("I", IntAnchoTicket - 10, Len("Turno : " & strTurno), "Turno : " & strTurno)
        Print #1, strTurnoCierre
    End If
    If intCierre = 1 Then
        Dim strGranTotal As String
        strGranTotal = "Gran Total             " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTZETA, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTZETA, intDeciResult))
        Print #1, strGranTotal
    
        Dim strNroZeta As String
        strNroZeta = Alineacion("I", IntAnchoTicket - 10, Len("Numero de Zeta       : " & DblGranTotal), "Numero de Zeta       : " & Str(RS_CABECERA!NBRZETA))
        Print #1, strNroZeta
    End If

Print #1, ""
Print #1, ""

'*************** PARTE DE RESUMEN DE VENTAS ***********************

Dim strTotalBol As String
Dim strTotalFac As String
Dim strTotalGen As String

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN DE VENTA"), "RESUMEN DE VENTA")
Print #1, strTitulo

Print #1, strLinea


strTotalBol = "Total Ticket Boleta    " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALTICKETBOLETASOL, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALTICKETBOLETASOL, intDeciResult))
Print #1, strTotalBol

        
strTotalFac = "Total Ticket Factura   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTICKETFACTURASOL), 0, RS_CABECERA!TOTALTICKETFACTURASOL), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTICKETFACTURASOL), 0, RS_CABECERA!TOTALTICKETFACTURASOL), intDeciResult))
Print #1, strTotalFac
        
strTotalGen = "Total General          " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALBOLFACTBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALBOLFACTBASE, intDeciResult))
Print #1, strTotalGen
        
Print #1, ""
Print #1, ""

'*************** PARTE DE RESUMEN POR TIPOS DE PAGO ***********************

Dim strPagEfectivo As String
Dim strPagTarjetas As String
Dim strPagVales As String

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR TIPOS DE PAGOS"), "RESUMEN POR TIPOS DE PAGOS")
Print #1, strTitulo
Print #1, strLinea

If intNegocio = 0 Then
    strPagEfectivo = "EFECTIVO               " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult))
    Print #1, strPagEfectivo
        
    strPagTarjetas = "TARJETA                " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult))
    Print #1, strPagTarjetas
    
    strPagVales = "GUIA                   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult))
    Print #1, strPagVales
Else
    strPagEfectivo = "EFECTIVO               " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult))
    Print #1, strPagEfectivo
    
    strPagEfectivo = "     VUELTO            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALVUELTOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALVUELTOBASE, intDeciResult))
    Print #1, strPagEfectivo
        
    strPagEfectivo = "     NETO              " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALNETOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALNETOBASE, intDeciResult))
    Print #1, strPagEfectivo
                
    strPagEfectivo = "                       " & Mid(strSimbMdaExt, 1, 3) & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOEXT, intDeciResult))
    Print #1, strPagEfectivo
    
    strPagEfectivo = "     VUELTO            " & Mid(strSimbMdaExt, 1, 3) & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALVUELTOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALVUELTOEXT, intDeciResult))
    Print #1, strPagEfectivo
        
    strPagEfectivo = "     NETO              " & Mid(strSimbMdaExt, 1, 3) & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALNETOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALNETOEXT, intDeciResult))
    Print #1, strPagEfectivo
                                
    strPagTarjetas = "TARJETA                " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult))
    Print #1, strPagTarjetas

    strPagTarjetas = "                       " & Mid(strSimbMdaExt, 1, 3) & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETAEXT), 0, RS_CABECERA!TOTALTARJETAEXT), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETAEXT), 0, RS_CABECERA!TOTALTARJETAEXT), intDeciResult))
    Print #1, strPagTarjetas
    
    strPagVales = "GUIA                   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult))
    Print #1, strPagVales
    
    strPagVales = "                       " & Mid(strSimbMdaExt, 1, 3) & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOEXT), 0, RS_CABECERA!TOTALCREDITOEXT), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOEXT), 0, RS_CABECERA!TOTALCREDITOEXT), intDeciResult))
    Print #1, strPagVales
    
End If
        
Print #1, ""
Print #1, ""

' ESTAS VARIABLES SE UTILIZAN PARA LOS 4 RESUMENES
Dim strCatID As String
Dim strCatDes As String
Dim strCatTotal As String
Dim dblTotal As Double ' ACUMULADOR POR RESUMEN
Dim strTotalResumen As String

'*************** PARTE DE RESUMEN POR CATEGORIA ***********************

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR CATEGORIA"), "RESUMEN POR CATEGORIA")
Print #1, strTitulo
Print #1, strLinea
dblTotal = 0

While Not RS_RESU1.EOF
    strCatID = Alineacion("I", 8, Len(RS_RESU1!CLASSID), RS_RESU1!CLASSID)
    strCatDes = Alineacion("I", 20, Len(RS_RESU1!DESCR), RS_RESU1!DESCR)
    strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU1!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU1!TOTALPEN, intDeciResult))
    Print #1, strCatID & " " & strCatDes & "" & strCatTotal
    
    dblTotal = dblTotal + RS_RESU1!TOTALPEN
    
    RS_RESU1.MoveNext
Wend
RS_RESU1.MoveFirst

strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
Print #1, strTotalResumen

Print #1, ""
Print #1, ""

'*************** PARTE DE RESUMEN POR PRODUCTOS ***********************

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR PRODUCTOS"), "RESUMEN POR PRODUCTOS")
Print #1, strTitulo
Print #1, strLinea
dblTotal = 0

While Not RS_RESU2.EOF
    strCatID = Alineacion("I", 8, Len(RS_RESU2!INVTIDSKU), RS_RESU2!INVTIDSKU)
    strCatDes = Alineacion("I", 20, Len(RS_RESU2!DESCRINVENTORY), RS_RESU2!DESCRINVENTORY)
    strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU2!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU2!TOTALPEN, intDeciResult))
    Print #1, strCatID & " " & strCatDes & "" & strCatTotal
  
    dblTotal = dblTotal + RS_RESU2!TOTALPEN
    
    RS_RESU2.MoveNext
Wend
RS_RESU2.MoveFirst

strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
Print #1, strTotalResumen

Print #1, ""
Print #1, ""

If intCierre = 1 Then

    '*************** PARTE DE RESUMEN POR VENDEDOR ***********************
    strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR VENDEDOR"), "RESUMEN POR VENDEDOR")
    Print #1, strTitulo
    Print #1, strLinea
    dblTotal = 0
    
    While Not RS_RESU3.EOF
        strCatID = Alineacion("I", 8, Len(RS_RESU3!SALESPERID), RS_RESU3!SALESPERID)
        strCatDes = Alineacion("I", 20, Len(RS_RESU3!salespername), RS_RESU3!salespername)
        strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU3!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU3!TOTALPEN, intDeciResult))
        Print #1, strCatID & " " & strCatDes & "" & strCatTotal
        
        dblTotal = dblTotal + RS_RESU3!TOTALPEN
        
        RS_RESU3.MoveNext
    Wend
    RS_RESU3.MoveFirst
    
    strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
    Print #1, strTotalResumen
    
    Print #1, ""
    Print #1, ""
    
End If
    
' LOS 2 SIGUIENTES RESUMENES SE IMPRIMEN SI NEGOCIO ES PLAYA
If intNegocio = 0 Then
    '*************** PARTE DE RESUMEN POR CARA *************************
    
   If GIntVentaAutoCombust = 1 Then
            strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR CARA"), "RESUMEN POR CARA")
            Print #1, strTitulo
            Print #1, strLinea
            dblTotal = 0
            
            Dim StrCara As String
            Dim strSIDE As String
            
            If Not RS_RESU4.EOF Then
                StrCara = Alineacion("I", 8, Len("CARA :" & RS_RESU4!CARA), "CARA :" & RS_RESU4!CARA)
                Print #1, StrCara
                strSIDE = RS_RESU4!CARA
            End If
                
            While Not RS_RESU4.EOF
                
                strSIDE = RS_RESU4!CARA
                strCatID = Alineacion("I", 8, Len(RS_RESU4!INVTIDSKU), RS_RESU4!INVTIDSKU)
                strCatDes = Alineacion("I", 20, Len(RS_RESU4!DESCRINVENTORY), RS_RESU4!DESCRINVENTORY)
                strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU4!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU4!TOTALPEN, intDeciResult))
                Print #1, strCatID & " " & strCatDes & "" & strCatTotal
              
                dblTotal = dblTotal + RS_RESU4!TOTALPEN
                
                RS_RESU4.MoveNext
                
                If Not RS_RESU4.EOF Then
                    If RS_RESU4!CARA <> strSIDE Then
                        StrCara = Alineacion("I", 8, Len("CARA :" & RS_RESU4!CARA), "CARA :" & RS_RESU4!CARA)
                        Print #1, StrCara
                    End If
                End If
            Wend
            RS_RESU4.MoveFirst
            
            strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
            Print #1, strTotalResumen
      End If
End If

For i = 1 To GintSaltaLineas
   Print #1, Space(10)
Next
''------Modificado para Mi Mercado - Trujillo ----------------------------------
''------Autor: Jorge Illescas
Print #1, ""   ' El Primer Print no es Tomado en Cuenta
Print #1, ""   ' A partir del Primero se toman en cuenta
Print #1, ""
Print #1, ""

' COMINEZA IMPRESION
 Call corta_ticket(GStrDispoTickBol)
  
 Close #1
'Printer.EndDoc

GImprimeCierre = 0


Exit Function
ControlDeError:
'    If Err.Number = 94 Then  'Se trata de un error de uso no valido de null
'       GImprimeCierre = 94
'       Exit Function
'    End If
'    If Err.Number = 482 Then  'Se trata de un error de Impresora
'       GImprimeCierre = 482
'       Exit Function
'    End If
    '/*--
    GImprimeCierre = Err.Number
    Printer.KillDoc
    Exit Function
    
End Function

' FUNCION QUE REALIZA LA VISUALIZACION POR PANTALLA DEL CIERRE X O Z
'
'PARAMETROS:
'intCierre = 0 CIERREX
'intCierre = 1 CIERREZ

'intNegocio = 0 PLAYA
'intNegocio = 1 TIENDA

Public Function GVerCierre(intCierre As Integer, intNegocio As Integer, strCdVendedor As String, strSimbMonBas As String, strSimbMonExt As String, intAnchoDeTicket As Integer, intDecResultado As Integer, RS_CABECERA As ADODB.Recordset, RS_RESU1 As ADODB.Recordset, _
                           RS_RESU2 As ADODB.Recordset, Optional RS_RESU3 As ADODB.Recordset, Optional RS_RESU4 As ADODB.Recordset, Optional strTurno As String) As Integer

On Error GoTo ControlDeError 'Nos controlara el uso no valido de null

Dim IntAnchoTicket As Integer
Dim intDeciResult As Integer
Dim strSimbMdaBase As String
Dim strSimbMdaExt As String
Dim strCodVendedor As String

IntAnchoTicket = intAnchoDeTicket
intDeciResult = intDecResultado
strSimbMdaBase = strSimbMonBas
strSimbMdaExt = strSimbMonExt
strCodVendedor = strCdVendedor

'********************************

Open "Cierre.txt" For Output As #1

GVerCierre = -1
Print #1, ""
Print #1, ""
Print #1, ""

Dim strTitulo As String
Dim strLinea As String

strLinea = Alineacion("C", IntAnchoTicket, IntAnchoTicket, "---------------------------------------")


'*************** CABECERA DEL CIERRE X *****************************
    If Not IsNull(RS_CABECERA!HEAD1) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD1), RS_CABECERA!HEAD1)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD2) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD2), RS_CABECERA!HEAD2)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD3) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD3), RS_CABECERA!HEAD3)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD4) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD4), RS_CABECERA!HEAD4)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD5) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD5), RS_CABECERA!HEAD5)
        Print #1, strTitulo
    End If

'    If Not IsNull(RS_CABECERA!HEAD6) Then
'        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD6), RS_CABECERA!HEAD6)
'        Print #1, strTitulo
'    End If

    Print #1, strLinea
    If intCierre = 0 Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len("CIERRE (X)"), "CIERRE (X)")
    Else
        strTitulo = Alineacion("C", IntAnchoTicket, Len("CIERRE (Z)"), "CIERRE (Z)")
    End If
    
    Print #1, strTitulo
    
    If intNegocio = 1 And intCierre = 0 Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len("(Vendedor : " & strCodVendedor & ")"), "(Vendedor : " & strCodVendedor & ")")
        Print #1, strTitulo
    End If
    
    Print #1, strLinea

    Dim strMaquinaReg As String
    strMaquinaReg = Alineacion("I", IntAnchoTicket - 10, Len("Maq.Regist.No: " & RS_CABECERA!SERIALNUMBER), "Maq.Regist.No: " & RS_CABECERA!SERIALNUMBER)
    Print #1, strMaquinaReg

    Dim strFecha As String
    strFecha = Alineacion("I", IntAnchoTicket - 10, Len("Fecha        : " & Format(Date & " " & Time, "dd/MM/yyyy hh:mm:ss")), "Fecha        : ") & Format(Date & " " & Time, "dd/MM/yyyy hh:mm:ss")
    Print #1, strFecha

    Dim strTipoCambio As String
    strTipoCambio = Alineacion("I", IntAnchoTicket - 10, Len("Tipo de Cambio: " & GFormatodeNumero(CStr(IIf(IsNull(RS_CABECERA!MONTOTIPOCAMBIO), 0, RS_CABECERA!MONTOTIPOCAMBIO)), intDeciResult)), "Tipo de Cambio: " & GFormatodeNumero(CStr(IIf(IsNull(RS_CABECERA!MONTOTIPOCAMBIO), 0, RS_CABECERA!MONTOTIPOCAMBIO)), intDeciResult))
    Print #1, strTipoCambio

    Dim strNroTransacciones As String
    strNroTransacciones = Alineacion("I", IntAnchoTicket - 10, Len("Nro. Transac. : " & RS_CABECERA!NROTRANSAC), "Nro. Transac. : " & RS_CABECERA!NROTRANSAC)
    Print #1, strNroTransacciones
    
    '@ Jorge: de aqui empieza el problema de los Nulos ------------------
    Dim strTicketBolIni As String
    strTicketBolIni = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Boleta Ini. : "), "Num. Ticket Boleta Ini. : ") & FormatoTicket(RS_CABECERA!TICKECTBOLEINI)
    Print #1, strTicketBolIni

    Dim strTicketBolFin As String
    strTicketBolFin = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Boleta Fin. : "), "Num. Ticket Boleta Fin. : ") & FormatoTicket(RS_CABECERA!TICKECTBOLEFIN)
    Print #1, strTicketBolFin

    Dim strTicketFacIni As String
    strTicketFacIni = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Factura Ini.: "), "Num. Ticket Factura Ini.: ") & FormatoTicket(IIf(IsNull(RS_CABECERA!TICKECTFACTINI), 0, RS_CABECERA!TICKECTFACTINI))
    Print #1, strTicketFacIni

    Dim strTicketFacFin As String
    strTicketFacFin = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Factura Ini.: "), "Num. Ticket Factura Fin.: ") & FormatoTicket(IIf(IsNull(RS_CABECERA!TICKECTFACTFIN), 0, RS_CABECERA!TICKECTFACTFIN))
    Print #1, strTicketFacFin

'*****************
    Dim strTicketValIni As String
    strTicketValIni = Alineacion("I", IntAnchoTicket - 12, Len("Num. Orden Despacho Ini.: "), "Num. Orden Despacho Ini.: ") & FormatoTicket(IIf(IsNull(RS_CABECERA!TICKECTVALEINI), 0, RS_CABECERA!TICKECTVALEINI))
    Print #1, strTicketValIni

    Dim strTicketValFin As String
    strTicketValFin = Alineacion("I", IntAnchoTicket - 12, Len("Num. Orden Despacho Ini.: "), "Num. Orden Despacho Fin.: ") & FormatoTicket(IIf(IsNull(RS_CABECERA!TICKECTVALEFIN), 0, RS_CABECERA!TICKECTVALEFIN))
    Print #1, strTicketValFin

'*****************

    Dim strValorVenta As String
    strValorVenta = "Valor Venta            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!VALORVENTASOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!VALORVENTASOLES, intDeciResult))
    Print #1, strValorVenta

    Dim strNoAfecto As String
    strNoAfecto = "No Afecto              " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!NOAFECTOSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!NOAFECTOSOLES, intDeciResult))
    Print #1, strNoAfecto

    Dim strIGV As String
    strIGV = "I.G.V                  " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!IGVSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!IGVSOLES, intDeciResult))
    Print #1, strIGV

    Dim strVentaTotal As String
    strVentaTotal = "Venta Total            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALSOLES, intDeciResult))
    Print #1, strVentaTotal

    Dim strNroTicketAnul As String
    strNroTicketAnul = Alineacion("I", IntAnchoTicket - 10, Len("Num. Ticket Anulados : " & IntNroTicketAnul), "Num. Ticket Anulados : " & Str(RS_CABECERA!TICKESTANUL))
    Print #1, strNroTicketAnul

    Dim strTotalTicketAnul As String
    strTotalTicketAnul = "Total Ticket Anulados  " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!MONTOTICKESTANULSOL, intDeciResult)), GFormatodeNumero(RS_CABECERA!MONTOTICKESTANULSOL, intDeciResult))
    Print #1, strTotalTicketAnul

    ' EL TURNO SOLO SE IMPRIME EN EKL CIERRE X
    If intCierre = 0 And intNegocio = 0 Then
        Dim strTurnoCierre As String
        strTurnoCierre = Alineacion("I", IntAnchoTicket - 10, Len("Turno : " & strTurno), "Turno : " & strTurno)
        Print #1, strTurnoCierre
    End If
    If intCierre = 1 Then
        Dim strGranTotal As String
        strGranTotal = "Gran Total             " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTZETA, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTZETA, intDeciResult))
        Print #1, strGranTotal

        Dim strNroZeta As String
        strNroZeta = Alineacion("I", IntAnchoTicket - 10, Len("Numero de Zeta       : " & DblGranTotal), "Numero de Zeta       : " & Str(RS_CABECERA!NBRZETA))
        Print #1, strNroZeta

    End If

Print #1, ""
Print #1, ""

'*************** PARTE DE RESUMEN DE VENTAS ***********************

Dim strTotalBol As String
Dim strTotalFac As String
Dim strTotalGen As String

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN DE VENTA"), "RESUMEN DE VENTA")
Print #1, strTitulo

Print #1, strLinea


strTotalBol = "Total Ticket Boleta    " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALTICKETBOLETASOL, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALTICKETBOLETASOL, intDeciResult))
Print #1, strTotalBol


strTotalFac = "Total Ticket Factura   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTICKETFACTURASOL), 0, RS_CABECERA!TOTALTICKETFACTURASOL), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTICKETFACTURASOL), 0, RS_CABECERA!TOTALTICKETFACTURASOL), intDeciResult))
Print #1, strTotalFac

strTotalFac = "Total Orden Despacho   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTICKETVALESOL), 0, RS_CABECERA!TOTALTICKETVALESOL), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTICKETVALESOL), 0, RS_CABECERA!TOTALTICKETVALESOL), intDeciResult))
Print #1, strTotalFac

strTotalGen = "Total General          " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALBOLFACTBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALBOLFACTBASE, intDeciResult))
Print #1, strTotalGen

Print #1, ""
Print #1, ""

'*************** PARTE DE RESUMEN POR TIPOS DE PAGO ***********************

Dim strPagEfectivo As String
Dim strPagTarjetas As String
Dim strPagVales As String

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR TIPOS DE PAGOS"), "RESUMEN POR TIPOS DE PAGOS")
Print #1, strTitulo
Print #1, strLinea

If intNegocio = 0 Then
    strPagEfectivo = "EFECTIVO               " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult))
    Print #1, strPagEfectivo
        
    strPagTarjetas = "TARJETA                " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult))
    Print #1, strPagTarjetas
    
    strPagVales = "GUIA                   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult))
    Print #1, strPagVales
Else
    strPagEfectivo = "EFECTIVO               " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult))
    Print #1, strPagEfectivo
    
    strPagEfectivo = "     VUELTO            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALVUELTOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALVUELTOBASE, intDeciResult))
    Print #1, strPagEfectivo
        
    strPagEfectivo = "     NETO              " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALNETOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALNETOBASE, intDeciResult))
    Print #1, strPagEfectivo
                
    strPagEfectivo = "                       " & Mid(strSimbMdaExt, 1, 3) & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOEXT, intDeciResult))
    Print #1, strPagEfectivo
    
    strPagEfectivo = "     VUELTO            " & Mid(strSimbMdaExt, 1, 3) & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALVUELTOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALVUELTOEXT, intDeciResult))
    Print #1, strPagEfectivo
        
    strPagEfectivo = "     NETO              " & Mid(strSimbMdaExt, 1, 3) & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALNETOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALNETOEXT, intDeciResult))
    Print #1, strPagEfectivo
                                
    strPagTarjetas = "TARJETA                " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult))
    Print #1, strPagTarjetas

    strPagTarjetas = "                       " & Mid(strSimbMdaExt, 1, 3) & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETAEXT), 0, RS_CABECERA!TOTALTARJETAEXT), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETAEXT), 0, RS_CABECERA!TOTALTARJETAEXT), intDeciResult))
    Print #1, strPagTarjetas
    
    strPagVales = "GUIA                   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult))
    Print #1, strPagVales
    
    strPagVales = "                       " & Mid(strSimbMdaExt, 1, 3) & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOEXT), 0, RS_CABECERA!TOTALCREDITOEXT), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOEXT), 0, RS_CABECERA!TOTALCREDITOEXT), intDeciResult))
    Print #1, strPagVales
    
End If

Print #1, ""
Print #1, ""

' ESTAS VARIABLES SE UTILIZAN PARA LOS 4 RESUMENES
Dim strCatID As String
Dim strCatDes As String
Dim strCatTotal As String
Dim dblTotal As Double ' ACUMULADOR POR RESUMEN
Dim strTotalResumen As String

'*************** PARTE DE RESUMEN POR CATEGORIA ***********************

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR CATEGORIA"), "RESUMEN POR CATEGORIA")
Print #1, strTitulo
Print #1, strLinea
dblTotal = 0

While Not RS_RESU1.EOF
    strCatID = Alineacion("I", 8, Len(RS_RESU1!CLASSID), RS_RESU1!CLASSID)
    strCatDes = Alineacion("I", 20, Len(RS_RESU1!DESCR), RS_RESU1!DESCR)
    strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU1!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU1!TOTALPEN, intDeciResult))
    Print #1, strCatID & " " & strCatDes & "" & strCatTotal

    dblTotal = dblTotal + RS_RESU1!TOTALPEN

    RS_RESU1.MoveNext
Wend
RS_RESU1.MoveFirst

strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
Print #1, strTotalResumen

Print #1, ""
Print #1, ""

'*************** PARTE DE RESUMEN POR PRODUCTOS ***********************

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR PRODUCTOS"), "RESUMEN POR PRODUCTOS")
Print #1, strTitulo
Print #1, strLinea
dblTotal = 0

While Not RS_RESU2.EOF
    strCatID = Alineacion("I", 8, Len(RS_RESU2!INVTIDSKU), RS_RESU2!INVTIDSKU)
    strCatDes = Alineacion("I", 20, Len(RS_RESU2!DESCRINVENTORY), RS_RESU2!DESCRINVENTORY)
    strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU2!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU2!TOTALPEN, intDeciResult))
    Print #1, strCatID & " " & strCatDes & "" & strCatTotal

    dblTotal = dblTotal + RS_RESU2!TOTALPEN

    RS_RESU2.MoveNext
Wend
RS_RESU2.MoveFirst

strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
Print #1, strTotalResumen

Print #1, ""
Print #1, ""
    
If intCierre = 1 Then
    '*************** PARTE DE RESUMEN POR VENDEDOR ***********************
    
    strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR VENDEDOR"), "RESUMEN POR VENDEDOR")
    Print #1, strTitulo
    Print #1, strLinea
    dblTotal = 0
    
    While Not RS_RESU3.EOF
        strCatID = Alineacion("I", 8, Len(RS_RESU3!SALESPERID), RS_RESU3!SALESPERID)
        strCatDes = Alineacion("I", 20, Len(RS_RESU3!salespername), RS_RESU3!salespername)
        strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU3!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU3!TOTALPEN, intDeciResult))
        Print #1, strCatID & " " & strCatDes & "" & strCatTotal
    
        dblTotal = dblTotal + RS_RESU3!TOTALPEN
    
        RS_RESU3.MoveNext
    Wend
    RS_RESU3.MoveFirst
    
    strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
    Print #1, strTotalResumen
    
    Print #1, ""
    Print #1, ""
    
End If

' LOS 2 SIGUIENTES RESUMENES SE IMPRIMEN SI NEGOCIO ES PLAYA
If intNegocio = 0 Then

    '*************** PARTE DE RESUMEN POR CARA *************************
    
     If GIntVentaAutoCombust = 1 Then
     
            strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR CARA"), "RESUMEN POR CARA")
            Print #1, strTitulo
            Print #1, strLinea
            dblTotal = 0
            
            Dim StrCara As String
            Dim strSIDE As String
            
            If Not RS_RESU4.EOF Then
                StrCara = Alineacion("I", 8, Len("CARA :" & RS_RESU4!CARA), "CARA :" & RS_RESU4!CARA)
                Print #1, StrCara
                strSIDE = RS_RESU4!CARA
            End If
            
            While Not RS_RESU4.EOF
            
                strSIDE = RS_RESU4!CARA
                strCatID = Alineacion("I", 8, Len(RS_RESU4!INVTIDSKU), RS_RESU4!INVTIDSKU)
                strCatDes = Alineacion("I", 20, Len(RS_RESU4!DESCRINVENTORY), RS_RESU4!DESCRINVENTORY)
                strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU4!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU4!TOTALPEN, intDeciResult))
                Print #1, strCatID & " " & strCatDes & "" & strCatTotal
            
                dblTotal = dblTotal + RS_RESU4!TOTALPEN
            
                RS_RESU4.MoveNext
            
                If Not RS_RESU4.EOF Then
                    If RS_RESU4!CARA <> strSIDE Then
                        StrCara = Alineacion("I", 8, Len("CARA :" & RS_RESU4!CARA), "CARA :" & RS_RESU4!CARA)
                        Print #1, StrCara
                    End If
                End If
            Wend
            RS_RESU4.MoveFirst
            
            strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
            Print #1, strTotalResumen
     End If
End If

For i = 1 To GintSaltaLineas
   Print #1, Space(10)
Next
''------Modificado para Mi Mercado - Trujillo ----------------------------------
''------Autor: Jorge Illescas
Print #1, ""   ' El Primer Print no es Tomado en Cuenta
Print #1, ""   ' A partir del Primero se toman en cuenta
Print #1, ""
Print #1, ""

Close #1
Shell "notepad.exe Cierre.txt", vbMinimizedNoFocus 'Modificado por Jorge

GVerCierre = 0


Exit Function
ControlDeError:
'    If Err.Number = 94 Then  'Se trata de un error de uso no valido de null
'       GVerCierre = 94
'       Exit Function
'    End If
    GVerCierre = Err.Number
    Exit Function
    
End Function


Public Function GVerCierreXVendedor(intCierre As Integer, intNegocio As Integer, strCdVendedor As String, strSimbMonBas As String, strSimbMonExt As String, intAnchoDeTicket As Integer, intDecResultado As Integer, RS_CABECERA As ADODB.Recordset, RS_RESU1 As ADODB.Recordset, _
                           RS_RESU2 As ADODB.Recordset, Optional RS_RESU3 As ADODB.Recordset, Optional RS_RESU4 As ADODB.Recordset, Optional strTurno As String) As Boolean


Dim IntAnchoTicket As Integer
Dim intDeciResult As Integer
Dim strSimbMdaBase As String
Dim strSimbMdaExt As String
Dim strCodVendedor As String

IntAnchoTicket = intAnchoDeTicket
intDeciResult = intDecResultado
strSimbMdaBase = strSimbMonBas
strSimbMdaExt = strSimbMonExt
strCodVendedor = strCdVendedor

'********************************

Open "Cierre.txt" For Output As #1

GVerCierreXVendedor = False
Print #1, ""
Print #1, ""
Print #1, ""

Dim strTitulo As String
Dim strLinea As String

strLinea = Alineacion("C", IntAnchoTicket, IntAnchoTicket, "---------------------------------------")


'*************** CABECERA DEL CIERRE X ********************************
    If Not IsNull(RS_CABECERA!HEAD1) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD1), RS_CABECERA!HEAD1)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD2) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD2), RS_CABECERA!HEAD2)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD3) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD3), RS_CABECERA!HEAD3)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD4) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD4), RS_CABECERA!HEAD4)
        Print #1, strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD5) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD5), RS_CABECERA!HEAD5)
        Print #1, strTitulo
    End If

'    If Not IsNull(RS_CABECERA!HEAD6) Then
'        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD6), RS_CABECERA!HEAD6)
'        Print #1, strTitulo
'    End If

    Print #1, strLinea
    If intCierre = 0 Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len("VENTAS POR VENDEDOR"), "VENTAS POR VENDEDOR")
    Else
        strTitulo = Alineacion("C", IntAnchoTicket, Len("CIERRE (Z)"), "CIERRE (Z)")
    End If
    
    Print #1, strTitulo
    
    'If intNegocio = 1 And intCierre = 0 Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len("(Vendedor : " & strCodVendedor & ")"), "(Vendedor : " & strCodVendedor & ")")
        Print #1, strTitulo
    'End If
    
    Print #1, strLinea

    'Dim strMaquinaReg As String
    'strMaquinaReg = Alineacion("I", IntAnchoTicket - 10, Len("Maq.Regist.No: " & RS_CABECERA!SERIALNUMBER), "Maq.Regist.No: " & RS_CABECERA!SERIALNUMBER)
    'Print #1, strMaquinaReg

    Dim strFecha As String
    strFecha = Alineacion("I", IntAnchoTicket - 10, Len("Fecha        : " & Format(Date & " " & Time, "dd/MM/yyyy hh:mm:ss")), "Fecha        : ") & Format(Date & " " & Time, "dd/MM/yyyy hh:mm:ss")
    Print #1, strFecha

    Dim strTipoCambio As String
    strTipoCambio = Alineacion("I", IntAnchoTicket - 10, Len("Tipo de Cambio: " & GFormatodeNumero(CStr(IIf(IsNull(RS_CABECERA!MONTOTIPOCAMBIO), 0, RS_CABECERA!MONTOTIPOCAMBIO)), intDeciResult)), "Tipo de Cambio: " & GFormatodeNumero(CStr(IIf(IsNull(RS_CABECERA!MONTOTIPOCAMBIO), 0, RS_CABECERA!MONTOTIPOCAMBIO)), intDeciResult))
    Print #1, strTipoCambio

    'Dim strNroTransacciones As String
    'strNroTransacciones = Alineacion("I", IntAnchoTicket - 10, Len("Nro. Transac. : " & RS_CABECERA!NROTRANSAC), "Nro. Transac. : " & RS_CABECERA!NROTRANSAC)
    'Print #1, strNroTransacciones

    'Dim strTicketBolIni As String
    'strTicketBolIni = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Boleta Ini. : "), "Num. Ticket Boleta Ini. : ") & FormatoTicket(RS_CABECERA!TICKECTBOLEINI)
    'Print #1, strTicketBolIni

    'Dim strTicketBolFin As String
    'strTicketBolFin = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Boleta Fin. : "), "Num. Ticket Boleta Fin. : ") & FormatoTicket(RS_CABECERA!TICKECTBOLEFIN)
    'Print #1, strTicketBolFin

    'Dim strTicketFacIni As String
    'strTicketFacIni = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Factura Ini.: "), "Num. Ticket Factura Ini.: ") & FormatoTicket(IIf(IsNull(RS_CABECERA!TICKECTFACTINI), 0, RS_CABECERA!TICKECTFACTINI))
    'Print #1, strTicketFacIni

    'Dim strTicketFacFin As String
    'strTicketFacFin = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Factura Ini.: "), "Num. Ticket Factura Fin.: ") & FormatoTicket(IIf(IsNull(RS_CABECERA!TICKECTFACTFIN), 0, RS_CABECERA!TICKECTFACTFIN))
    'Print #1, strTicketFacFin

    'Dim strValorVenta As String
    'strValorVenta = "Valor Venta            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!VALORVENTASOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!VALORVENTASOLES, intDeciResult))
    'Print #1, strValorVenta

    'Dim strNoAfecto As String
    'strNoAfecto = "No Afecto              " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!NOAFECTOSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!NOAFECTOSOLES, intDeciResult))
    'Print #1, strNoAfecto

    'Dim strIGV As String
    'strIGV = "I.G.V                  " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!IGVSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!IGVSOLES, intDeciResult))
    'Print #1, strIGV

    'Dim strVentaTotal As String
    'strVentaTotal = "Venta Total            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALSOLES, intDeciResult))
    'Print #1, strVentaTotal

    'Dim strNroTicketAnul As String
    'strNroTicketAnul = Alineacion("I", IntAnchoTicket - 10, Len("Num. Ticket Anulados : " & IntNroTicketAnul), "Num. Ticket Anulados : " & Str(RS_CABECERA!TICKESTANUL))
    'Print #1, strNroTicketAnul

    'Dim strTotalTicketAnul As String
    'strTotalTicketAnul = "Total Ticket Anulados  " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!MONTOTICKESTANULSOL, intDeciResult)), GFormatodeNumero(RS_CABECERA!MONTOTICKESTANULSOL, intDeciResult))
    'Print #1, strTotalTicketAnul

    ' EL TURNO SOLO SE IMPRIME EN EKL CIERRE X
    If intCierre = 0 And intNegocio = 0 Then
        Dim strTurnoCierre As String
        strTurnoCierre = Alineacion("I", IntAnchoTicket - 10, Len("Turno : " & strTurno), "Turno : " & strTurno)
        Print #1, strTurnoCierre
    End If
    If intCierre = 1 Then
        Dim strGranTotal As String
        strGranTotal = "Gran Total             " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTZETA, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTZETA, intDeciResult))
        Print #1, strGranTotal

        Dim strNroZeta As String
        strNroZeta = Alineacion("I", IntAnchoTicket - 10, Len("Numero de Zeta       : " & DblGranTotal), "Numero de Zeta       : " & Str(RS_CABECERA!NBRZETA))
        Print #1, strNroZeta

    End If

'Print #1, ""
'Print #1, ""

'*************** PARTE DE RESUMEN DE VENTAS ***********************

'Dim strTotalBol As String
'Dim strTotalFac As String
'Dim strTotalGen As String

'strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN DE VENTA"), "RESUMEN DE VENTA")
'Print #1, strTitulo

'Print #1, strLinea


'strTotalBol = "Total Ticket Boleta    " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALTICKETBOLETASOL, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALTICKETBOLETASOL, intDeciResult))
'Print #1, strTotalBol


'strTotalFac = "Total Ticket Factura   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTICKETFACTURASOL), 0, RS_CABECERA!TOTALTICKETFACTURASOL), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTICKETFACTURASOL), 0, RS_CABECERA!TOTALTICKETFACTURASOL), intDeciResult))
'Print #1, strTotalFac

'strTotalGen = "Total General          " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALBOLFACTBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALBOLFACTBASE, intDeciResult))
'Print #1, strTotalGen

'Print #1, ""
'Print #1, ""

'*************** PARTE DE RESUMEN POR TIPOS DE PAGO ***********************

'Dim strPagEfectivo As String
'Dim strPagTarjetas As String
'Dim strPagVales As String

'strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR TIPOS DE PAGOS"), "RESUMEN POR TIPOS DE PAGOS")
'Print #1, strTitulo
'Print #1, strLinea

'If intNegocio = 0 Then
'    strPagEfectivo = "EFECTIVO               " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult))
'    Print #1, strPagEfectivo
        
'    strPagTarjetas = "TARJETA                " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult))
'    Print #1, strPagTarjetas
    
'    strPagVales = "VALE                   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult))
'    Print #1, strPagVales
'Else
'    strPagEfectivo = "EFECTIVO               " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult))
'    Print #1, strPagEfectivo
    
'    strPagEfectivo = "     VUELTO            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALVUELTOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALVUELTOBASE, intDeciResult))
'    Print #1, strPagEfectivo
        
'    strPagEfectivo = "     NETO              " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALNETOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALNETOBASE, intDeciResult))
'    Print #1, strPagEfectivo
                
'    strPagEfectivo = "                       " & strSimbMdaExt & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOEXT, intDeciResult))
'    Print #1, strPagEfectivo
    
'    strPagEfectivo = "     VUELTO            " & strSimbMdaExt & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALVUELTOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALVUELTOEXT, intDeciResult))
'    Print #1, strPagEfectivo
        
'    strPagEfectivo = "     NETO              " & strSimbMdaExt & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALNETOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALNETOEXT, intDeciResult))
'    Print #1, strPagEfectivo
                                
'    strPagTarjetas = "TARJETA                " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult))
'    Print #1, strPagTarjetas

'    strPagTarjetas = "                       " & strSimbMdaExt & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETAEXT), 0, RS_CABECERA!TOTALTARJETAEXT), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETAEXT), 0, RS_CABECERA!TOTALTARJETAEXT), intDeciResult))
'    Print #1, strPagTarjetas
    
'    strPagVales = "VALE                   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult))
'    Print #1, strPagVales
    
'    strPagVales = "                       " & strSimbMdaExt & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOEXT), 0, RS_CABECERA!TOTALCREDITOEXT), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOEXT), 0, RS_CABECERA!TOTALCREDITOEXT), intDeciResult))
'    Print #1, strPagVales
    
'End If

Print #1, ""
Print #1, ""

' ESTAS VARIABLES SE UTILIZAN PARA LOS 4 RESUMENES
Dim strCatID As String
Dim strCatDes As String
Dim strCatTotal As String
Dim dblTotal As Double ' ACUMULADOR POR RESUMEN
Dim strTotalResumen As String

'*************** PARTE DE RESUMEN POR CATEGORIA ***********************

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR CATEGORIA"), "RESUMEN POR CATEGORIA")
Print #1, strTitulo
Print #1, strLinea
dblTotal = 0

While Not RS_RESU1.EOF
    strCatID = Alineacion("I", 8, Len(RS_RESU1!CLASSID), RS_RESU1!CLASSID)
    strCatDes = Alineacion("I", 20, Len(RS_RESU1!DESCR), RS_RESU1!DESCR)
    strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU1!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU1!TOTALPEN, intDeciResult))
    Print #1, strCatID & " " & strCatDes & "" & strCatTotal

    dblTotal = dblTotal + RS_RESU1!TOTALPEN

    RS_RESU1.MoveNext
Wend
RS_RESU1.MoveFirst

strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
Print #1, strTotalResumen

Print #1, ""
Print #1, ""

'*************** PARTE DE RESUMEN POR PRODUCTOS ***********************

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR PRODUCTOS"), "RESUMEN POR PRODUCTOS")
Print #1, strTitulo
Print #1, strLinea
dblTotal = 0

While Not RS_RESU2.EOF
    strCatID = Alineacion("I", 8, Len(RS_RESU2!INVTIDSKU), RS_RESU2!INVTIDSKU)
    strCatDes = Alineacion("I", 20, Len(RS_RESU2!DESCRINVENTORY), RS_RESU2!DESCRINVENTORY)
    strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU2!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU2!TOTALPEN, intDeciResult))
    Print #1, strCatID & " " & strCatDes & "" & strCatTotal

    dblTotal = dblTotal + RS_RESU2!TOTALPEN

    RS_RESU2.MoveNext
Wend
RS_RESU2.MoveFirst

strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
Print #1, strTotalResumen

Print #1, ""
Print #1, ""
    
If intCierre = 1 Then
    '*************** PARTE DE RESUMEN POR VENDEDOR ***********************
    
    strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR VENDEDOR"), "RESUMEN POR VENDEDOR")
    Print #1, strTitulo
    Print #1, strLinea
    dblTotal = 0
    
    While Not RS_RESU3.EOF
        strCatID = Alineacion("I", 8, Len(RS_RESU3!SALESPERID), RS_RESU3!SALESPERID)
        strCatDes = Alineacion("I", 20, Len(RS_RESU3!salespername), RS_RESU3!salespername)
        strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU3!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU3!TOTALPEN, intDeciResult))
        Print #1, strCatID & " " & strCatDes & "" & strCatTotal
    
        dblTotal = dblTotal + RS_RESU3!TOTALPEN
    
        RS_RESU3.MoveNext
    Wend
    RS_RESU3.MoveFirst
    
    strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
    Print #1, strTotalResumen
    
    Print #1, ""
    Print #1, ""
    
End If

' LOS 2 SIGUIENTES RESUMENES SE IMPRIMEN SI NEGOCIO ES PLAYA
If intNegocio = 0 Then

    '*************** PARTE DE RESUMEN POR CARA *************************
    
     If GIntVentaAutoCombust = 1 Then
     
            strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR CARA"), "RESUMEN POR CARA")
            Print #1, strTitulo
            Print #1, strLinea
            dblTotal = 0
            
            Dim StrCara As String
            Dim strSIDE As String
            
            If Not RS_RESU4.EOF Then
                StrCara = Alineacion("I", 8, Len("CARA :" & RS_RESU4!CARA), "CARA :" & RS_RESU4!CARA)
                Print #1, StrCara
                strSIDE = RS_RESU4!CARA
            End If
            
            While Not RS_RESU4.EOF
            
                strSIDE = RS_RESU4!CARA
                strCatID = Alineacion("I", 8, Len(RS_RESU4!INVTIDSKU), RS_RESU4!INVTIDSKU)
                strCatDes = Alineacion("I", 20, Len(RS_RESU4!DESCRINVENTORY), RS_RESU4!DESCRINVENTORY)
                strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU4!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU4!TOTALPEN, intDeciResult))
                Print #1, strCatID & " " & strCatDes & "" & strCatTotal
            
                dblTotal = dblTotal + RS_RESU4!TOTALPEN
            
                RS_RESU4.MoveNext
            
                If Not RS_RESU4.EOF Then
                    If RS_RESU4!CARA <> strSIDE Then
                        StrCara = Alineacion("I", 8, Len("CARA :" & RS_RESU4!CARA), "CARA :" & RS_RESU4!CARA)
                        Print #1, StrCara
                    End If
                End If
            Wend
            RS_RESU4.MoveFirst
            
            strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
            Print #1, strTotalResumen
     End If
End If

Close #1
Shell "notepad.exe Cierre.txt", vbMaximizedFocus

GVerCierreXVendedor = True

End Function

Public Function GImprimeCierreXVendedor(intCierre As Integer, intNegocio As Integer, strCdVendedor As String, strSimbMonBas As String, strSimbMonExt As String, intAnchoDeTicket As Integer, intDecResultado As Integer, RS_CABECERA As ADODB.Recordset, RS_RESU1 As ADODB.Recordset, _
                           RS_RESU2 As ADODB.Recordset, Optional RS_RESU3 As ADODB.Recordset, Optional RS_RESU4 As ADODB.Recordset, Optional strTurno As String) As Boolean


Dim IntAnchoTicket As Integer
Dim intDeciResult As Integer
Dim strSimbMdaBase As String
Dim strSimbMdaExt As String
Dim strCodVendedor As String

IntAnchoTicket = intAnchoDeTicket
intDeciResult = intDecResultado
strSimbMdaBase = strSimbMonBas
strSimbMdaExt = strSimbMonExt
strCodVendedor = strCdVendedor

'********************************

GImprimeCierreXVendedor = False
Printer.Print ""
Printer.Print ""
Printer.Print ""

Dim strTitulo As String
Dim strLinea As String

strLinea = Alineacion("C", IntAnchoTicket, IntAnchoTicket, "---------------------------------------")


'*************** CABECERA DEL CIERRE X ********************************
    If Not IsNull(RS_CABECERA!HEAD1) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD1), RS_CABECERA!HEAD1)
        Printer.Print strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD2) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD2), RS_CABECERA!HEAD2)
        Printer.Print strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD3) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD3), RS_CABECERA!HEAD3)
        Printer.Print strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD4) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD4), RS_CABECERA!HEAD4)
        Printer.Print strTitulo
    End If

    If Not IsNull(RS_CABECERA!HEAD5) Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD5), RS_CABECERA!HEAD5)
        Printer.Print strTitulo
    End If

'    If Not IsNull(RS_CABECERA!HEAD6) Then
'        strTitulo = Alineacion("C", IntAnchoTicket, Len(RS_CABECERA!HEAD6), RS_CABECERA!HEAD6)
'        Printer.Print strTitulo
'    End If

    Printer.Print strLinea
    If intCierre = 0 Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len("VENTAS X VENDEDOR"), "VENTAS X VENDEDOR")
    Else
        strTitulo = Alineacion("C", IntAnchoTicket, Len("CIERRE (Z)"), "CIERRE (Z)")
    End If
    
    Printer.Print strTitulo
    
    'If intNegocio = 1 And intCierre = 0 Then
        strTitulo = Alineacion("C", IntAnchoTicket, Len("(Vendedor : " & strCodVendedor & ")"), "(Vendedor : " & strCodVendedor & ")")
        Printer.Print strTitulo
    'End If

    Printer.Print strLinea

    'Dim strMaquinaReg As String
    'strMaquinaReg = Alineacion("I", IntAnchoTicket - 10, Len("Maq.Regist.No: " & RS_CABECERA!SERIALNUMBER), "Maq.Regist.No: " & RS_CABECERA!SERIALNUMBER)
    'Printer.Print strMaquinaReg
    
    Dim strFecha As String
    strFecha = Alineacion("I", IntAnchoTicket - 10, Len("Fecha        : " & Format(Date & " " & Time, "dd/MM/yyyy hh:mm:ss")), "Fecha        : ") & Format(Date & " " & Time, "dd/MM/yyyy hh:mm:ss")
    Printer.Print strFecha

    Dim strTipoCambio As String
    strTipoCambio = Alineacion("I", IntAnchoTicket - 10, Len("Tipo de Cambio: " & GFormatodeNumero(CStr(IIf(IsNull(RS_CABECERA!MONTOTIPOCAMBIO), 0, RS_CABECERA!MONTOTIPOCAMBIO)), intDeciResult)), "Tipo de Cambio: " & GFormatodeNumero(CStr(IIf(IsNull(RS_CABECERA!MONTOTIPOCAMBIO), 0, RS_CABECERA!MONTOTIPOCAMBIO)), intDeciResult))
    Printer.Print strTipoCambio
    
    'Dim strNroTransacciones As String
    'strNroTransacciones = Alineacion("I", IntAnchoTicket - 10, Len("Nro. Transac. : " & RS_CABECERA!NROTRANSAC), "Nro. Transac. : " & RS_CABECERA!NROTRANSAC)
    'Printer.Print strNroTransacciones
    
    'Dim strTicketBolIni As String
    'strTicketBolIni = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Boleta Ini. : "), "Num. Ticket Boleta Ini. : ") & FormatoTicket(RS_CABECERA!TICKECTBOLEINI)
    'Printer.Print strTicketBolIni
    
    'Dim strTicketBolFin As String
    'strTicketBolFin = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Boleta Fin. : "), "Num. Ticket Boleta Fin. : ") & FormatoTicket(RS_CABECERA!TICKECTBOLEFIN)
    'Printer.Print strTicketBolFin

    'Dim strTicketFacIni As String
    'strTicketFacIni = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Factura Ini.: "), "Num. Ticket Factura Ini.: ") & FormatoTicket(IIf(IsNull(RS_CABECERA!TICKECTFACTINI), 0, RS_CABECERA!TICKECTFACTINI))
    'Printer.Print strTicketFacIni
    
    'Dim strTicketFacFin As String
    'strTicketFacFin = Alineacion("I", IntAnchoTicket - 12, Len("Num. Ticket Factura Ini.: "), "Num. Ticket Factura Fin.: ") & FormatoTicket(IIf(IsNull(RS_CABECERA!TICKECTFACTFIN), 0, RS_CABECERA!TICKECTFACTFIN))
    'Printer.Print strTicketFacFin

    'Dim strValorVenta As String
    'strValorVenta = "Valor Venta            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!VALORVENTASOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!VALORVENTASOLES, intDeciResult))
    'Printer.Print strValorVenta

    'Dim strNoAfecto As String
    'strNoAfecto = "No Afecto              " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!NOAFECTOSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!NOAFECTOSOLES, intDeciResult))
    'Printer.Print strNoAfecto

    'Dim strIGV As String
    'strIGV = "I.G.V                  " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!IGVSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!IGVSOLES, intDeciResult))
    'Printer.Print strIGV

    'Dim strVentaTotal As String
    'strVentaTotal = "Venta Total            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALSOLES, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALSOLES, intDeciResult))
    'Printer.Print strVentaTotal
    
    'Dim strNroTicketAnul As String
    'strNroTicketAnul = Alineacion("I", IntAnchoTicket - 10, Len("Num. Ticket Anulados : " & IntNroTicketAnul), "Num. Ticket Anulados : " & Str(RS_CABECERA!TICKESTANUL))
    'Printer.Print strNroTicketAnul
    
    'Dim strTotalTicketAnul As String
    'strTotalTicketAnul = "Total Ticket Anulados  " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!MONTOTICKESTANULSOL, intDeciResult)), GFormatodeNumero(RS_CABECERA!MONTOTICKESTANULSOL, intDeciResult))
    'Printer.Print strTotalTicketAnul

    ' EL TURNO SOLO SE IMPRIME EN EKL CIERRE X
    If intCierre = 0 And intNegocio = 0 Then
        Dim strTurnoCierre As String
        strTurnoCierre = Alineacion("I", IntAnchoTicket - 10, Len("Turno : " & strTurno), "Turno : " & strTurno)
        Printer.Print strTurnoCierre
    End If
    If intCierre = 1 Then
        Dim strGranTotal As String
        strGranTotal = "Gran Total             " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTZETA, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTZETA, intDeciResult))
        Printer.Print strGranTotal
    
        Dim strNroZeta As String
        strNroZeta = Alineacion("I", IntAnchoTicket - 10, Len("Numero de Zeta       : " & DblGranTotal), "Numero de Zeta       : " & Str(RS_CABECERA!NBRZETA))
        Printer.Print strNroZeta
    End If

'Printer.Print ""
'Printer.Print ""

'*************** PARTE DE RESUMEN DE VENTAS ***********************

'Dim strTotalBol As String
'Dim strTotalFac As String
'Dim strTotalGen As String

'strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN DE VENTA"), "RESUMEN DE VENTA")
'Printer.Print strTitulo

'Printer.Print strLinea


'strTotalBol = "Total Ticket Boleta    " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALTICKETBOLETASOL, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALTICKETBOLETASOL, intDeciResult))
'Printer.Print strTotalBol

        
'strTotalFac = "Total Ticket Factura   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTICKETFACTURASOL), 0, RS_CABECERA!TOTALTICKETFACTURASOL), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTICKETFACTURASOL), 0, RS_CABECERA!TOTALTICKETFACTURASOL), intDeciResult))
'Printer.Print strTotalFac
        
'strTotalGen = "Total General          " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALBOLFACTBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALBOLFACTBASE, intDeciResult))
'Printer.Print strTotalGen
        
'Printer.Print ""
'Printer.Print ""

'*************** PARTE DE RESUMEN POR TIPOS DE PAGO ***********************

'Dim strPagEfectivo As String
'Dim strPagTarjetas As String
'Dim strPagVales As String

'strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR TIPOS DE PAGOS"), "RESUMEN POR TIPOS DE PAGOS")
'Printer.Print strTitulo
'Printer.Print strLinea

'If intNegocio = 0 Then
'    strPagEfectivo = "EFECTIVO               " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult))
'    Printer.Print strPagEfectivo
        
'    strPagTarjetas = "TARJETA                " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult))
'    Printer.Print strPagTarjetas
    
'    strPagVales = "VALE                   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult))
'    Printer.Print strPagVales
'Else
'    strPagEfectivo = "EFECTIVO               " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOBASE, intDeciResult))
'    Printer.Print strPagEfectivo
    
'    strPagEfectivo = "     VUELTO            " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALVUELTOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALVUELTOBASE, intDeciResult))
'    Printer.Print strPagEfectivo
        
'    strPagEfectivo = "     NETO              " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALNETOBASE, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALNETOBASE, intDeciResult))
'    Printer.Print strPagEfectivo
                
'    strPagEfectivo = "                       " & strSimbMdaExt & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALEFECTIVOEXT, intDeciResult))
'    Printer.Print strPagEfectivo
    
'    strPagEfectivo = "     VUELTO            " & strSimbMdaExt & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALVUELTOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALVUELTOEXT, intDeciResult))
'    Printer.Print strPagEfectivo
        
'    strPagEfectivo = "     NETO              " & strSimbMdaExt & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(RS_CABECERA!TOTALNETOEXT, intDeciResult)), GFormatodeNumero(RS_CABECERA!TOTALNETOEXT, intDeciResult))
'    Printer.Print strPagEfectivo
                                
'    strPagTarjetas = "TARJETA                " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETABASE), 0, RS_CABECERA!TOTALTARJETABASE), intDeciResult))
'    Printer.Print strPagTarjetas

'    strPagTarjetas = "                       " & strSimbMdaExt & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETAEXT), 0, RS_CABECERA!TOTALTARJETAEXT), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALTARJETAEXT), 0, RS_CABECERA!TOTALTARJETAEXT), intDeciResult))
'    Printer.Print strPagTarjetas
    
'    strPagVales = "VALE                   " & strSimbMdaBase & ":" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOBASE), 0, RS_CABECERA!TOTALCREDITOBASE), intDeciResult))
'    Printer.Print strPagVales
    
'    strPagVales = "                       " & strSimbMdaExt & "  :" & Alineacion("D", IntAnchoTicket - 21 - 7, Len(GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOEXT), 0, RS_CABECERA!TOTALCREDITOEXT), intDeciResult)), GFormatodeNumero(IIf(IsNull(RS_CABECERA!TOTALCREDITOEXT), 0, RS_CABECERA!TOTALCREDITOEXT), intDeciResult))
'    Printer.Print strPagVales
    
'End If
        
'Printer.Print ""
'Printer.Print ""

' ESTAS VARIABLES SE UTILIZAN PARA LOS 4 RESUMENES
Dim strCatID As String
Dim strCatDes As String
Dim strCatTotal As String
Dim dblTotal As Double ' ACUMULADOR POR RESUMEN
Dim strTotalResumen As String

'*************** PARTE DE RESUMEN POR CATEGORIA ***********************

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR CATEGORIA"), "RESUMEN POR CATEGORIA")
Printer.Print strTitulo
Printer.Print strLinea
dblTotal = 0

While Not RS_RESU1.EOF
    strCatID = Alineacion("I", 8, Len(RS_RESU1!CLASSID), RS_RESU1!CLASSID)
    strCatDes = Alineacion("I", 20, Len(RS_RESU1!DESCR), RS_RESU1!DESCR)
    strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU1!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU1!TOTALPEN, intDeciResult))
    Printer.Print strCatID & " " & strCatDes & "" & strCatTotal
    
    dblTotal = dblTotal + RS_RESU1!TOTALPEN
    
    RS_RESU1.MoveNext
Wend
RS_RESU1.MoveFirst

strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
Printer.Print strTotalResumen

Printer.Print ""
Printer.Print ""

'*************** PARTE DE RESUMEN POR PRODUCTOS ***********************

strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR PRODUCTOS"), "RESUMEN POR PRODUCTOS")
Printer.Print strTitulo
Printer.Print strLinea
dblTotal = 0

While Not RS_RESU2.EOF
    strCatID = Alineacion("I", 8, Len(RS_RESU2!INVTIDSKU), RS_RESU2!INVTIDSKU)
    strCatDes = Alineacion("I", 20, Len(RS_RESU2!DESCRINVENTORY), RS_RESU2!DESCRINVENTORY)
    strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU2!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU2!TOTALPEN, intDeciResult))
    Printer.Print strCatID & " " & strCatDes & "" & strCatTotal
  
    dblTotal = dblTotal + RS_RESU2!TOTALPEN
    
    RS_RESU2.MoveNext
Wend
RS_RESU2.MoveFirst

strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
Printer.Print strTotalResumen

Printer.Print ""
Printer.Print ""

If intCierre = 1 Then

    '*************** PARTE DE RESUMEN POR VENDEDOR ***********************
    strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR VENDEDOR"), "RESUMEN POR VENDEDOR")
    Printer.Print strTitulo
    Printer.Print strLinea
    dblTotal = 0
    
    While Not RS_RESU3.EOF
        strCatID = Alineacion("I", 8, Len(RS_RESU3!SALESPERID), RS_RESU3!SALESPERID)
        strCatDes = Alineacion("I", 20, Len(RS_RESU3!salespername), RS_RESU3!salespername)
        strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU3!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU3!TOTALPEN, intDeciResult))
        Printer.Print strCatID & " " & strCatDes & "" & strCatTotal
        
        dblTotal = dblTotal + RS_RESU3!TOTALPEN
        
        RS_RESU3.MoveNext
    Wend
    RS_RESU3.MoveFirst
    
    strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
    Printer.Print strTotalResumen
    
    Printer.Print ""
    Printer.Print ""
    
End If
    
' LOS 2 SIGUIENTES RESUMENES SE IMPRIMEN SI NEGOCIO ES PLAYA
If intNegocio = 0 Then
    '*************** PARTE DE RESUMEN POR CARA *************************
    
   If GIntVentaAutoCombust = 1 Then
            strTitulo = Alineacion("C", IntAnchoTicket, Len("RESUMEN POR CARA"), "RESUMEN POR CARA")
            Printer.Print strTitulo
            Printer.Print strLinea
            dblTotal = 0
            
            Dim StrCara As String
            Dim strSIDE As String
            
            If Not RS_RESU4.EOF Then
                StrCara = Alineacion("I", 8, Len("CARA :" & RS_RESU4!CARA), "CARA :" & RS_RESU4!CARA)
                Printer.Print StrCara
                strSIDE = RS_RESU4!CARA
            End If
                
            While Not RS_RESU4.EOF
                
                strSIDE = RS_RESU4!CARA
                strCatID = Alineacion("I", 8, Len(RS_RESU4!INVTIDSKU), RS_RESU4!INVTIDSKU)
                strCatDes = Alineacion("I", 20, Len(RS_RESU4!DESCRINVENTORY), RS_RESU4!DESCRINVENTORY)
                strCatTotal = Alineacion("D", 10, Len(GFormatodeNumero(RS_RESU4!TOTALPEN, intDeciResult)), GFormatodeNumero(RS_RESU4!TOTALPEN, intDeciResult))
                Printer.Print strCatID & " " & strCatDes & "" & strCatTotal
              
                dblTotal = dblTotal + RS_RESU4!TOTALPEN
                
                RS_RESU4.MoveNext
                
                If Not RS_RESU4.EOF Then
                    If RS_RESU4!CARA <> strSIDE Then
                        StrCara = Alineacion("I", 8, Len("CARA :" & RS_RESU4!CARA), "CARA :" & RS_RESU4!CARA)
                        Printer.Print StrCara
                    End If
                End If
            Wend
            RS_RESU4.MoveFirst
            
            strTotalResumen = Alineacion("D", IntAnchoTicket - 1, Len("Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult)), "Total  " & strSimbMdaBase & " : " & GFormatodeNumero(dblTotal, intDeciResult))
            Printer.Print strTotalResumen
      End If
End If

' COMINEZA IMPRESION

Printer.EndDoc

GImprimeCierreXVendedor = True

End Function







