Autor Tema: Epson Fiscal TM-U220  (Leído 27135 veces)

0 Usuarios y 1 Visitante están viendo este tema.

pedroesca

  • Megabyte
  • ***
  • Mensajes: 206
  • Reputación: +19/-0
  • "El conocimiento es libre"
    • Ver Perfil
Epson Fiscal TM-U220
« en: Septiembre 12, 2012, 05:18:24 pm »
Buenas y santas a todos! alguien podría orientarme respecto al código a utilizar para utilizar una impresora fiscal EPSON TM-U220 ??? respecto a los comandos para tickets, facturas, notas de débito, etc.
Desde ya muchas gracias.
"Si yo tengo una idea, tú otra, y la compartimos, ambos tendremos DOS ideas"

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 969
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Epson Fiscal TM-U220
« Respuesta #1 en: Septiembre 12, 2012, 05:56:04 pm »
Hola, los comandos son simples.

Lo primero que necesito saber es si estas en venezuela o en argentina?
Miguel Núñez.

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #2 en: Septiembre 12, 2012, 06:33:55 pm »
todas las impresoras vienen con su manual de referencia con los comandos para enviarle.

TM-U220
Technical Reference


tambien ya vienen los SDK con todo programado para usar hasta con telefonos moviles.

OPOS ADK

los comandos se llaman ESC/POS, busca en internet eso.
« última modificación: Septiembre 12, 2012, 06:46:13 pm por seba123neo »
Quien nunca ha cometido un error nunca ha probado algo nuevo - Albert Einstein

pedroesca

  • Megabyte
  • ***
  • Mensajes: 206
  • Reputación: +19/-0
  • "El conocimiento es libre"
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #3 en: Septiembre 12, 2012, 06:43:50 pm »
Muchas gracias @seba123neo, y estoy en Argentina @scaannn43.
"Si yo tengo una idea, tú otra, y la compartimos, ambos tendremos DOS ideas"

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 404
  • Reputación: +33/-2
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #4 en: Septiembre 13, 2012, 12:40:56 am »
Hoy estoy fundido y me voy a dormir ya, pero mañana te escribo. Hace poquito tuve que incorporar justamente una de esas (bah, en realidad, la TM-U220II) a un sistema que hice (también en Argentina).
Decime si tenés dudas en particular y, dentro de lo que sepa, te doy una mano.
Saludos.

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 404
  • Reputación: +33/-2
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #5 en: Septiembre 13, 2012, 04:58:11 pm »
Hay dos OCX que la gente de Epson te da gratuitamente para trabajar con el equipo. Uno de ellos es de más bajo nivel y más completo que el otro. Yo tengo el más básico, pero sirve para todo lo que se necesita hacer con este controlador fiscal.
También te dan un archivo donde figuran las instrucciones que se deben emplear para cada función y están bien detalladas, incluso con la respuesta que entrega el controlador. Y te dan un ejemplo de código en VB6.
Una cosa importante: no sé si ya adquirieron el equipo, pero si no lo hicieron, que lo pidan expresa y claramente en modo entrenamiento. Esto te da 30 días para hacer cualquier tipo de pruebas. Luego de eso el proveedor del controlador limpia la memoria y lo pone en modo fiscalizado (creo que se llama así). Te aclaro esto, porque a mi cliente le dieron el equipo en modo fiscalizado, con lo cual cualquier prueba que yo hiciera tendría impacto en la memoria fiscal y en los libros contables, con lo cual pude hacer muy pocas y con precios ridículos ($0,02, por ejemplo, lo cual no te permite hacer cálculos de IVA, etc.).
No sé qué más decirte. Si tenés dudas puntuales decime y a lo mejor puedo ayudarte.
Saludos.

pedroesca

  • Megabyte
  • ***
  • Mensajes: 206
  • Reputación: +19/-0
  • "El conocimiento es libre"
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #6 en: Septiembre 13, 2012, 10:16:00 pm »
Hola Jeronimo, gracias por responder, y si, la impresora está en modo entrenamiento; y tengo los ocx que provee Epson, pero lo que no tengo es algún ejemplo o modelo en vb6. De todas formas he logrado la impresión del "ticket", mas no así del "ticke-factura", ni mucho menos la nota de débito.
"Si yo tengo una idea, tú otra, y la compartimos, ambos tendremos DOS ideas"

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 404
  • Reputación: +33/-2
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #7 en: Septiembre 14, 2012, 01:25:11 am »
¿Cuál de los OCX estás usando? Si querés, te puedo mandar a tu mail el ejemplo que me mandaron, pero es para el OCX más básico. O tal vez pueda ponerlo acá, para compartirlo con todos quienes lo necesiten (no sé si eso infringe alguna norma del foro).
Asimismo, decime cómo enviás los datos del tique y te digo cómo debiera ser el del tique-factura.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1066
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Epson Fiscal TM-U220
« Respuesta #8 en: Septiembre 14, 2012, 10:12:04 am »
A mi me interesa ver el codigo, si pudieras compartir por favor.

Saludos
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 404
  • Reputación: +33/-2
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #9 en: Septiembre 14, 2012, 10:43:48 am »
¡Claro!
Este código es el que da Epson para mostrar el funcionamiento del controlador. Yo le hice algunos agregados para probar ciertas cosas.
Command1 es una array de botones con las distintas funciones inherentes a la emisión de comprobantes.
Command2 es una array de botones para efectuar cerres X y Z.
Command3 es un botón para establecer los parámetros de conexión.
Lo que sigue va en un form, con los botones y el OCX que corresponan:
Código: [Seleccionar]
' **************************************************************************
' Propiedad intelectual EPSON ARGENTINA S.A.
' Programador: Gomez Guillermo
' Este software se entrega con fines didácticos y sin garantia alguna.
' EPSON NO ASUME responsabilidad legal alguna. El programador usa esta información
' bajo su propio riesgo y responsabilidad.
' **************************************************************************
Dim Funciones() As String
Dim AyudaFunciones() As String
Dim Parametros() As String


Private Sub Command1_Click(Index As Integer)
' **************************************************************************
' Propiedad intelectual EPSON ARGENTINA S.A.
' Programador: Gomez Guillermo
' Este software se entrega con fines didácticos y sin garantia alguna.
' EPSON NO ASUME responsabilidad legal alguna. El programador usa esta información
' bajo su propio riesgo y responsabilidad.
' **************************************************************************
Dim respuesta As Boolean

Screen.MousePointer = 11

    Select Case Index
   
        Case 0
            'Tique
            respuesta = Me.IF1.OpenTicket("G")
            If respuesta Then respuesta = Me.IF1.SendTicketItem("ARTICULO 1", "1000", "10", "2100", "M", "0", "0")
            If respuesta Then respuesta = Me.IF1.SendTicketItem("ARTICULO 2", "1000", "20", "2100", "M", "0", "0")
            If respuesta Then respuesta = Me.IF1.SendTicketItem("ARTICULO 3", "1000", "30", "2100", "M", "0", "0")
            If respuesta Then respuesta = Me.IF1.GetTicketSubtotal("P", "LINDO SUB")
            If respuesta Then respuesta = Me.IF1.SendTicketPayment("PAGO1", "200", "T")
            If respuesta Then respuesta = Me.IF1.CloseTicket
           
       
        Case 1
            'Tique Factura
            respuesta = True
            respuesta = Me.IF1.OpenInvoice("T", "C", "A", "1", "P", "12", "I", "F", "PEPE", "LE BOU", "CUIT", "30614104712", "N", "LA", "PAMPA", "98", "REM 1", "REM 2", "G")
            If respuesta Then respuesta = Me.IF1.SendInvoiceItem("ARTICULO 1", "1000", "10", "2100", "M", "0", "0", "", "", "", "1050", "0")
            If respuesta Then respuesta = Me.IF1.SendInvoiceItem("ARTICULO 2", "1000", "20", "2100", "M", "0", "0", "", "", "", "1050", "0")
            If respuesta Then respuesta = Me.IF1.SendInvoiceItem("ARTICULO 3", "1000", "30", "2100", "M", "0", "0", "", "", "", "1050", "0")
            If respuesta Then respuesta = Me.IF1.SendInvoiceItem("ARTICULO 4", "1000", "40", "2100", "M", "0", "0", "", "", "", "1050", "0")
            If respuesta Then respuesta = Me.IF1.SendInvoiceItem("ARTICULO 5", "1000", "50", "2100", "M", "0", "0", "", "", "", "1050", "0")
            If respuesta Then respuesta = Me.IF1.GetInvoiceSubtotal("P")
            If respuesta Then respuesta = Me.IF1.SendInvoicePayment("PAGO1", "1", "T")
            If respuesta Then respuesta = Me.IF1.CloseInvoice("T", "A", "")
       
        Case 2
            'dnf
            respuesta = Me.IF1.OpenNoFiscal
            If respuesta Then respuesta = Me.IF1.SendNoFiscalText("á12345678à")
            If respuesta Then respuesta = Me.IF1.CloseNoFiscal
           
        Case 3
            'DNFH TC Y OS
            respuesta = Me.IF1.DNFHCreditCard("VISA", "12", "PEPE", "991231", "23", "46", "57", "89", "CONTA", "100", "2", "PESOS", "2", "4", "5", "7", "8", "44", "P", "P", "P")
            If respuesta Then respuesta = Me.IF1.DNFHDrugstore("MEDICUS", "CO 1", "CO 2", "CO 3", "123", "PEP", "991030", "ADRESS", "ADDRESS 2", "NADA", "12", "EXTRA 1", "EXTRA 2", "P", "P", "P", "P", "P")
           
        Case 4
            'Hora y Fecha
            respuesta = Me.IF1.SetGetDateTime("S", Format(Date, "YYMMDD"), Format(Time, "HHMMSS"))
            If respuesta Then respuesta = Me.IF1.SetGetDateTime("G")
            If respuesta Then MsgBox "La fecha y la hora actuales de la impresora son: " & Me.IF1.AnswerField_3
           
        Case 5
            'cajon
            respuesta = Me.IF1.OpenCashDrawer("1")
            If respuesta Then respuesta = Me.IF1.OpenCashDrawer("2")
           
        Case 6
            'header /trailer
            respuesta = Me.IF1.SetGetHeaderTrailer("S", "1", "PRUEBA HEADER")
            If respuesta Then respuesta = Me.IF1.SetGetHeaderTrailer("G", "1")
            If respuesta Then MsgBox "El header obtenido es : " & Me.IF1.AnswerField_4
           
        Case 7
            respuesta = Me.IF1.Status
       
        Case 8
            'dnf por Slip
            respuesta = Me.IF1.SelectSlip
            If respuesta Then respuesta = Me.IF1.SetPaperSize(50, 88)
            If respuesta Then MsgBox "Inserte una hoja en la entrada de Slip", vbInformation, "ATENCION"
            If respuesta Then respuesta = Me.IF1.PrepareSlip
            If respuesta Then MsgBox "Se imprimirá un documento no fiscal por slip", vbInformation, "ATENCION"
            If respuesta Then respuesta = Me.IF1.OpenSlipNoFiscal
            If respuesta Then respuesta = Me.IF1.SendNoFiscalText("       E J E M P L O")
            If respuesta Then respuesta = Me.IF1.SendNoFiscalText("S L I P   N O   F I S C A L")
            If respuesta Then respuesta = Me.IF1.SendNoFiscalText(" P O R   O C X F I S C A L")
            If respuesta Then respuesta = Me.IF1.CloseNoFiscal
       
        Case 9
            'Factura
            respuesta = Me.IF1.OpenInvoice("F", "C", "A", "1", "P", "12", "I", "I", "PEPE", "LE BOU", "CUIT", "30614104712", "N", "LA", "PAMPA", "98", "REM 1", "REM 2", "C")
            If respuesta Then respuesta = Me.IF1.SendInvoiceItem("ARTICULO 1", "1000", "100", "2100", "M", "0", "0", "EXTRA", "EXTRA", "EXTRA", "1050", "0")
            'If respuesta Then respuesta = Me.if1.GetInvoiceSubtotal("P", "LINDO SUB")
            If respuesta Then respuesta = Me.IF1.SendInvoicePayment("PAGO1", "200", "T")
            If respuesta Then respuesta = Me.IF1.CloseInvoice("F", "A", "HOLA")
        Case 10
'            respuesta = Me.IF1.OpenInvoice("F", "C", "A", "1", "P", "12", "I", "I", "PEPE", "LE BOU", "CUIT", "30614104712", "N", "LA", "PAMPA", "98", "REM 1", "REM 2", "C")
'            If respuesta Then respuesta = Me.IF1.SendInvoiceItem("ARTICULO 1", "1000", "100", "2100", "M", "0", "0", "EXTRA", "EXTRA", "EXTRA", "1050", "0")
'            'If respuesta Then respuesta = Me.if1.GetInvoiceSubtotal("P", "LINDO SUB")
'            If respuesta Then respuesta = Me.IF1.SendInvoicePayment("PAGO1", "200", "T")
'            If respuesta Then respuesta = Me.IF1.CloseInvoice("F", "A", "HOLA")
       
        Case 11 'setea diseño de factura
            respuesta = SeteoFactura(Me.IF1)
        Case 12 'Factura con transporte
            respuesta = Me.IF1.OpenInvoice("F", "C", "A", "1", "P", "12", "I", "I", "PEPE", "LE BOU", "CUIT", "30614104712", "N", "LA", "PAMPA", "98", "REM 1", "REM 2", "C")
            If respuesta Then respuesta = Me.IF1.SendInvoiceItem("ARTICULO 1", "1000", "100", "2100", "M", "0", "0", "EXTRA", "EXTRA", "EXTRA", "1050", "0")
            If respuesta Then respuesta = Me.IF1.SendInvoiceItem("ARTICULO 2", "1000", "1200", "2100", "M", "0", "0", "", "", "", "1050", "0")
            If respuesta Then respuesta = Me.IF1.TransportClose
            If respuesta Then MsgBox "Coloque la siguiente hoja"
            If respuesta Then respuesta = Me.IF1.TransportOpen
            If respuesta Then respuesta = Me.IF1.SendInvoiceItem("ARTICULO 3", "1000", "1000", "2100", "M", "0", "0", "", "", "", "1050", "0")
            'If respuesta Then respuesta = Me.if1.GetInvoiceSubtotal("P", "LINDO SUB")
            If respuesta Then respuesta = Me.IF1.SendInvoicePayment("PAGO1", "3000", "T")
            If respuesta Then respuesta = Me.IF1.CloseInvoice("F", "A", "HOLA")

    End Select

Screen.MousePointer = 1

    'Las dos líneas que siguen creo que las agregué yo.
    MsgBox "respuesta = " & respuesta & Chr$(13) & "FiscalStatus = " & Me.IF1.FiscalStatus & Chr$(13) & "PrinterStatus = " & Me.IF1.PrinterStatus
    MsgBox "AnswerField_3: " & Me.IF1.AnswerField_3 & vbCrLf & "AnswerField_4: " & Me.IF1.AnswerField_4 & vbCrLf & "AnswerField_5: " & Me.IF1.AnswerField_5 & vbCrLf & "AnswerField_6: " & Me.IF1.AnswerField_6 & vbCrLf & "AnswerField_7: " & Me.IF1.AnswerField_7 & vbCrLf & "AnswerField_8: " & Me.IF1.AnswerField_8 & vbCrLf & "AnswerField_9: " & Me.IF1.AnswerField_9 & vbCrLf & "AnswerField_10: " & Me.IF1.AnswerField_10 & vbCrLf & "AnswerField_11: " & Me.IF1.AnswerField_11 & vbCrLf & "AnswerField_12: " & Me.IF1.AnswerField_12 & vbCrLf & "AnswerField_13: " & Me.IF1.AnswerField_13 & vbCrLf & "AnswerField_14: " & Me.IF1.AnswerField_14 & vbCrLf & "AnswerField_15: " & Me.IF1.AnswerField_15 & vbCrLf & "AnswerField_16: " & Me.IF1.AnswerField_16 & vbCrLf & "AnswerField_17: " & Me.IF1.AnswerField_17 & vbCrLf & "AnswerField_18: " & Me.IF1.AnswerField_18

End Sub

Private Sub Command2_Click(Index As Integer)
' **************************************************************************
' Propiedad intelectual EPSON ARGENTINA S.A.
' Programador: Gomez Guillermo
' Este software se entrega con fines didácticos y sin garantia alguna.
' EPSON NO ASUME responsabilidad legal alguna. El programador usa esta información
' bajo su propio riesgo y responsabilidad.
' **************************************************************************

Select Case Index

    Case 0
        respuesta = Me.IF1.CloseJournal("X", "P")
       
    Case 1
        respuesta = Me.IF1.CloseJournal("Z")
       
       
End Select
    MsgBox respuesta & Chr$(13) & Me.IF1.FiscalStatus & Chr$(13) & Me.IF1.PrinterStatus
   
End Sub


Private Sub Command3_Click()
    If Combo1.ListIndex > 0 Then
        IF1.PortNumber = Combo1.ListIndex
    End If
    If Combo2.ListIndex > 0 Then
        IF1.BaudRate = Combo2.Text
    End If
   
End Sub

Private Sub Form_Load()
' **************************************************************************
' Propiedad intelectual EPSON ARGENTINA S.A.
' Programador: Gomez Guillermo
' Este software se entrega con fines didácticos y sin garantia alguna.
' EPSON NO ASUME responsabilidad legal alguna. El programador usa esta información
' bajo su propio riesgo y responsabilidad.
' **************************************************************************
Dim i As Integer
Dim Nombre As String
Dim Ayuda As String

ReDim Funciones(1)
ReDim AyudaFunciones(1)

    Combo1.Clear
    Combo1.AddItem "Puerto"
    Combo1.AddItem "COM 1"
    Combo1.AddItem "COM 2"
    Combo1.AddItem "COM 3"
    Combo1.AddItem "COM 4"
    Combo1.AddItem "COM 5"
    Combo1.ListIndex = 0

    Combo2.Clear
    Combo2.AddItem "Velocidad"
    Combo2.AddItem "9600"
    Combo2.AddItem "19200"
    Combo2.AddItem "38400"
    Combo2.ListIndex = 0
   
End Sub

Function AddParam(NewParam As String, Optional Reset = False) As Integer
' **************************************************************************
' Propiedad intelectual EPSON ARGENTINA S.A.
' Programador: Gomez Guillermo
' Este software se entrega con fines didácticos y sin garantia alguna.
' EPSON NO ASUME responsabilidad legal alguna. El programador usa esta información
' bajo su propio riesgo y responsabilidad.
' **************************************************************************

'Agrega un parametro a la lista
Dim i As Integer
If Reset Then
    i = 0
    ReDim Parametros(i)
    Parametros(i) = NewParam
Else
    i = UBound(Parametros) + 1
   
    ReDim Preserve Parametros(i)
    Parametros(i) = NewParam
End If



End Function


Espero que les sirva.
Cualquier duda, me chiflan.
Saludos.

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 404
  • Reputación: +33/-2
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #10 en: Septiembre 14, 2012, 10:48:02 am »
Me olvidé de algo.
Lo que sigue va en un módulo:
Código: [Seleccionar]
Option Explicit

Function SeteoFactura(PrinterOCX As PrinterFiscal) As Boolean
' **************************************************************************
' Propiedad intelectual EPSON ARGENTINA S.A.
' Programador: Gomez Guillermo
' Este software se entrega con fines didácticos y sin garantia alguna.
' EPSON NO ASUME responsabilidad legal alguna. El programador usa esta información
' bajo su propio riesgo y responsabilidad.
' **************************************************************************

'Ejemplo de seteo de Zona, Headers y Trailers para una factura
'TAMAÑO  : Form.continuo 12'' x 10''
'IMPRESOR: LX-300 Fiscal, FX-880 Fiscal

'PrinterOCX : es el objeto PrinterFiscal (OCX) a travez del cual
'             se accede a la impresora fiscal

Dim Continuar As Boolean

'** DEFINICION GENERAL DEL FORMULARIO

    '** Configura el tamaño de la hoja, calculando las líneas para 1/6 de pulgada y
    '** las columnas en 12 caracteres por pulgada
    Continuar = PrinterOCX.SetPaperSize(90, 72)

    '** Esta instruccion configura la estacion para la emision Facturas A por Main Sheet
    '** no se debe eliminar
    If Continuar Then
        Continuar = PrinterOCX.SetPreference("P", "D", "M", "F", "A", "N")
    End If
    '** Esta instruccion configura la estacion para la emision de documento no fiscal
    '** no debe eliminarse, si es necesario se puede modificar
    If Continuar Then
        Continuar = PrinterOCX.SetPreference("P", "P", "R", "S", "U", "90", "72")
    End If
'** DEFINICION DE ZONAS
    '
    '** ZONA(010) Letra Comprobante
    If Continuar Then
        Continuar = PrinterOCX.SetZone(10, 43, 4, 44, 4)
    End If
    '** ZONA(022) Logo
    If Continuar Then
        Continuar = PrinterOCX.SetZone(22, 1, 4, 40, 4)
    End If
    '** ZONA(024) Fantasía y Razon social
    If Continuar Then
        Continuar = PrinterOCX.SetZone(24, 1, 5, 40, 7)
    End If
    '** ZONA(026) Datos Vendedor
    If Continuar Then
        Continuar = PrinterOCX.SetZone(26, 1, 9, 40, 14)
    End If
    '** ZONA(034) Nro Factura y fecha
    If Continuar Then
        Continuar = PrinterOCX.SetZone(34, 49, 5, 87, 7)
    End If
    '** ZONA(036) Cuit e impuestos
    If Continuar Then
        Continuar = PrinterOCX.SetZone(36, 45, 9, 87, 14)
    End If
    '** ZONA(042) Datos del comprador
    If Continuar Then
        Continuar = PrinterOCX.SetZone(42, 1, 16, 40, 20)
    End If
    '** ZONA(044) IVA Comprador
    If Continuar Then
        Continuar = PrinterOCX.SetZone(44, 1, 21, 40, 22)
    End If
    '** ZONA(052) CUIT Comprador
    If Continuar Then
        Continuar = PrinterOCX.SetZone(52, 45, 16, 87, 20)
    End If
    '** ZONA(054) Nro remitos
    If Continuar Then
        Continuar = PrinterOCX.SetZone(54, 45, 21, 87, 22)
    End If
    '** ZONA(060) Zona de detalle de venta
    If Continuar Then
        Continuar = PrinterOCX.SetZone(60, 1, 23, 87, 42)
    End If
    '** ZONA(061) Cantidad Item
    If Continuar Then
        Continuar = PrinterOCX.SetZone(61, 1, 23, 12, 42)
    End If
    '** ZONA(062) Descripción Item
    If Continuar Then
        Continuar = PrinterOCX.SetZone(62, 14, 23, 34, 42)
    End If
    '** ZONA(063) Precio Unitario Item
    If Continuar Then
        Continuar = PrinterOCX.SetZone(63, 36, 23, 48, 42)
    End If
    '** ZONA(064) Tasa de IVA Item
    If Continuar Then
        Continuar = PrinterOCX.SetZone(64, 50, 23, 59, 42)
    End If
    '** ZONA(065) Tasa Ajuste Variable Item
    If Continuar Then
        Continuar = PrinterOCX.SetZone(65, 61, 23, 70, 42)
    End If
    '** ZONA(066) Precio total Item
    If Continuar Then
        Continuar = PrinterOCX.SetZone(66, 72, 23, 87, 42)
    End If
    '** Esta instruccion configura el offset que se usará para imprimir los subtotales
    '** debe ser menor o igual a las filas de la zona 60, por omisión se toma
    '** las filas de la zona 60
    If Continuar Then
        Continuar = PrinterOCX.SetPreference("P", "C", "O", "901", "0", "20")
    End If
    '** ZONA(070) Mensajes de advertencia fiscal
    If Continuar Then
        Continuar = PrinterOCX.SetZone(70, 1, 23, 87, 42)
    End If
    '** ZONA(081) Descripción Percepcion de IVA RI
    If Continuar Then
        Continuar = PrinterOCX.SetZone(81, 33, 23, 41, 49)
    End If
    '** ZONA(082) Monto Percepcion de IVA RI
    If Continuar Then
        Continuar = PrinterOCX.SetZone(82, 43, 23, 54, 49)
    End If
    '** ZONA(083) Tasa de acrecentamiento RNI
    If Continuar Then
        Continuar = PrinterOCX.SetZone(83, 33, 23, 41, 49)
    End If
    '** ZONA(084) Monto de acrecentamiento RNI
    If Continuar Then
        Continuar = PrinterOCX.SetZone(84, 43, 23, 54, 49)
    End If
    '** ZONA(085) Descr.otras percep.
    If Continuar Then
        Continuar = PrinterOCX.SetZone(85, 56, 23, 62, 49)
    End If
    '** ZONA(086) Monto otras percep.
    If Continuar Then
        Continuar = PrinterOCX.SetZone(86, 64, 23, 75, 49)
    End If
    '** ZONA(090) Zona de subtotal y cierre
    If Continuar Then
        Continuar = PrinterOCX.SetZone(90, 1, 23, 87, 49)
    End If
    '** ZONA(091) Conceptos no gravados
    If Continuar Then
        Continuar = PrinterOCX.SetZone(91, 1, 23, 10, 49)
    End If
    '** ZONA(092) Tasa de IVA
    If Continuar Then
        Continuar = PrinterOCX.SetZone(92, 12, 23, 17, 49)
    End If
    '** ZONA(093) Monto de IVA
    If Continuar Then
        Continuar = PrinterOCX.SetZone(93, 19, 23, 31, 49)
    End If
    '** ZONA(094) Percepciones de IVA
    If Continuar Then
        Continuar = PrinterOCX.SetZone(94, 33, 23, 54, 49)
    End If
    '** ZONA(095) Otras percepciones
    If Continuar Then
        Continuar = PrinterOCX.SetZone(95, 56, 23, 75, 49)
    End If
    '** ZONA(097) Subtotal
    If Continuar Then
        Continuar = PrinterOCX.SetZone(97, 77, 23, 87, 49)
    End If
    '** ZONA(100) Zona de total documento
    If Continuar Then
        Continuar = PrinterOCX.SetZone(100, 1, 50, 87, 50)
    End If
    '** ZONA(101) Título de Total documento
    If Continuar Then
        Continuar = PrinterOCX.SetZone(101, 1, 50, 55, 50)
    End If
    '** ZONA(102) Monto de Total documento
    If Continuar Then
        Continuar = PrinterOCX.SetZone(102, 56, 50, 87, 50)
    End If
    '** ZONA(110) Zona de detalle de pagos
    If Continuar Then
        Continuar = PrinterOCX.SetZone(110, 1, 51, 87, 55)
    End If
    '** ZONA(111) Descripción de Pagos
    If Continuar Then
        Continuar = PrinterOCX.SetZone(111, 1, 51, 39, 55)
    End If
    '** ZONA(112) Monto de Pagos
    If Continuar Then
        Continuar = PrinterOCX.SetZone(112, 41, 51, 87, 55)
    End If
    '** ZONA(120) Leyendas de Pie de Factura
    If Continuar Then
        Continuar = PrinterOCX.SetZone(120, 1, 56, 87, 58)
    End If
    '** ZONA(142) Logo Fiscal
    If Continuar Then
        Continuar = PrinterOCX.SetZone(142, 1, 59, 40, 63)
    End If
    '** ZONA(144) Original / Copia
    If Continuar Then
        Continuar = PrinterOCX.SetZone(144, 45, 59, 87, 63)
    End If
'** DEFINICION DE HEADERS y TRAILERS
    '
    '** HEADER/TRAILER (01) Nombre de Fantasía - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 1, Chr(127))
    End If
    '** HEADER/TRAILER (02) Nombre de Fantasía - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 2, Chr(127))
    End If
    '** HEADER/TRAILER (03) Nombre de Fantasía - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 3, Chr(127))
    End If
    '** HEADER/TRAILER (04) Nombre de Fantasía - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 4, Chr(127))
    End If
    '** HEADER/TRAILER (05) Nombre de Fantasía - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 5, Chr(127))
    End If
    '** HEADER/TRAILER (11) Leyenda de pie 11
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 11, "Gracias por su compra")
    End If
    '** HEADER/TRAILER (12) Leyenda de pie 12 - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 12, Chr(127))
    End If
    '** HEADER/TRAILER (13) Leyenda de pie 13 - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 13, Chr(127))
    End If
    '** HEADER/TRAILER (14) Leyenda de pie 14 - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 14, Chr(127))
    End If
    '** HEADER/TRAILER (50) Domicilio Comercial
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 50, "Dato fijo")
    End If
    '** HEADER/TRAILER (51) Domicilio Comercial
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 51, "Capital Federal")
    End If
    '** HEADER/TRAILER (52) Domicilio Comercial - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 52, Chr(127))
    End If
    '** HEADER/TRAILER (53) Domicilio Fiscal
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 53, "Belgrano 951")
    End If
    '** HEADER/TRAILER (54) Domicilio Fiscal
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 54, "Capital Federal")
    End If
    '** HEADER/TRAILER (55) Domicilio Fiscal - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 55, Chr(127))
    End If
    '** HEADER/TRAILER (57) Impuestos Vendedor
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 57, "Ingresos Brutos")
    End If
    '** HEADER/TRAILER (58) Impuestos Vendedor - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 58, Chr(127))
    End If
    '** HEADER/TRAILER (59) Impuestos Vendedor - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 59, Chr(127))
    End If
    '** HEADER/TRAILER (60) Impuestos Vendedor - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 60, Chr(127))
    End If
    '** HEADER/TRAILER (61) Impuestos Vendedor - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 61, Chr(127))
    End If
    '** HEADER/TRAILER (62) Fecha de inicio de actividades
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 62, "Inicio de actividades 01/01/2000")
    End If
    '** HEADER/TRAILER (63) Leyendas Comerciales - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 63, Chr(127))
    End If
    '** HEADER/TRAILER (64) Leyendas Comerciales - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 64, Chr(127))
    End If
    '** HEADER/TRAILER (65) Leyendas Comerciales - Vacio
    If Continuar Then
        Continuar = PrinterOCX.SetGetHeaderTrailer("S", 65, Chr(127))
    End If
   
SeteoFactura = Continuar

' **************************************************************************
' Este software se entrega con fines didácticos y sin garantia alguna.
' EPSON NO ASUME responsabilidad legal alguna. El programador usa esta información
' bajo su propio riesgo y responsabilidad.
' **************************************************************************

End Function

Saludos.

pedroesca

  • Megabyte
  • ***
  • Mensajes: 206
  • Reputación: +19/-0
  • "El conocimiento es libre"
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #11 en: Septiembre 14, 2012, 01:13:33 pm »
Gracias Jeronimo, pero esa impresión es para la EPSON LX-300F, la cual imprime en formularios contínuos. En cambio, el modelo de impresora al que me refiero, es la TM-U220, cual código es casi o totalmente diferente y utiliza otro OCX, por tratarse de una "ticketeadora". El problema que tengo es el la impresión de "tiquet-factura".
"Si yo tengo una idea, tú otra, y la compartimos, ambos tendremos DOS ideas"

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 404
  • Reputación: +33/-2
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #12 en: Septiembre 14, 2012, 01:21:59 pm »
Como te comenté en un post anterior, usé ese código con un controlador fiscal Epson TM-U220II. Funciona, por más que ahí diga que es para otra impresora. Lo que puede puede pasar es que tengas el OCX que es de más bajo nivel y por eso no funcione. El que va con este código es el IFEpson.OCX. Si es este el que tenés, no te dejes guiar por lo que dice el código en cuanto a las impresoras soportadas; probalo y después decime cómo te fue.
Saludos.

pedroesca

  • Megabyte
  • ***
  • Mensajes: 206
  • Reputación: +19/-0
  • "El conocimiento es libre"
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #13 en: Septiembre 14, 2012, 01:48:55 pm »
Mmmmmmmmmm, voy a probarlo urgente y te comento como me fue, la verdad jamás se me había ocurrido, pero probemos..... Te comento luego los resultados. Gracias Jeronimo.
"Si yo tengo una idea, tú otra, y la compartimos, ambos tendremos DOS ideas"

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 404
  • Reputación: +33/-2
    • Ver Perfil
Re:Epson Fiscal TM-U220
« Respuesta #14 en: Septiembre 14, 2012, 03:03:25 pm »
Quedate tranquilo que seguro funciona (siempre que tengas el mismo OCX).
Contame las novedades.