OCX Fiscal Epson
Visual Basic
23.742 visualizaciones desde el 16 de Febrero del 2016
Es toda las información que tengo de como manejar las Impresoras Fiscales Epson. Esta incluido el proyecto y el instalador de la OCX también incluí un texto explicativo con todas las funciones de la OCX y otro con explicativo de como enviar los valores (importes). Lo comparto por que toda esta info y códigos lo encontré muchos foros por partes separadas. Si Aun estemos en la era de las Facturas electrónicas muchos comercios utilizan Controladores Fiscales. Para probarlo les dejo también la dirección del emulador http://www.impresoras-fiscales.com.ar/emulador.htm si son tan obsesivos como yo lo van a poder implementar en su aplicación en un par de horas.
Les recomiendo que implementen un control de errores y estado de la Impresoras por que nadie quiere que a la mitad de un venta de les cierre el programa y también tenga en cuenta a la hora de enviar los importes que esta bien explicado en uno de los TXT. No soy de compartir código propio de mis aplicaciones solo que este sitio me ayudo tanto que creo con este humilde aporte puedo colaborar con muchos que también lo necesitan como yo lo necesite y me costo mucho recopilar.

Comentarios sobre la versión: 1.0 (60)
gracias por este excelente aporte.
Tengo un pequeño problema y es que al imprimir artículos con tildes o eñes no me aparecen correctamente, y no veo en el objeto manera alguna de configurar la codificación de caracteres. ¿Podrías darme alguna solución o idea?
Muchas gracias de antemano.
Un saludo.
printerfiscal1.sendticketitem("text2","text3","text4","2100","M","0","0","0")
el error me dice que no es un valor declarado y me marca sendticketitem, pero cuando uso:
printerfiscal1.sendnofiscaltext("text2","text3","text4","2100","M","0","0","0") imprime sin ningun problema, obviamente que abro el ticket de la forma que corresponde dependiendo del caso, osea, printerfiscal1.openticket("G) para el ticket fiscal y printerfiscal1.opennofiscal para el otro caso. en que le estoy errando? Alguien puede ayudarme?
printerfiscal1.sendnofiscaltext("text2","text3","text4","2100","M","0","0","0")
los textbox van sin comilas
Dim Descripcion as string
Dim Catidad as string
Dim Precio as string
Descripcion = left(text2,20)
El precio si es 1 tenes que enviar 100
La cantidad si es 1 tenes que enviar 1000
Para el precio y cantidad no te pongo el codigo por que no se si utilizas coma o punto para el valor decimal. Eso es programacion basica y creo que vas a tener problemas para resolverlo solo
Espero que te sirva la ayuda.
Yo estoy utilizando esta OCX con PowerBuilder desde hace varios años, y recientemente descubrí que al realizar los cierres Z, la información que me devuelve no incluye los valores de las Notas de Crédito emitidas durante el día.
Tenés alguna idea sobre el porqué? Lo has visto?
Muchísimas gracias de antemano!
Respecto a lo que me pedís, no he desarrollado nada para Hasar, pero con gusto te puedo ayudar en lo que esté a mi alcance. Sí tengo experiencia con temas de Facturación, Notas de Crédito, impuestos, y mucha en PowerBuilder. Saludos!
Cuando envió al TMU 200 fiscal impuestos internos en un TFA, me cancela.
Ahora en un TFB sale bien.
Tu tienes el mismo problema?
Este el código:
lbl_respuesta = w_ole.ole_ifepson.object.SendInvoiceItem( left(ls_descripcion,40),&
string( f_sin_coma(abs(ldec_bultos),5,3 ) ),&
string( f_sin_coma( ldec_precio,7,2 ) ),&
string( ls_iva ),&
ls_simbolo,&
"0",&
"0",&
"",&
"",&
"",&
"0",&
ls_imp_internos)
Muchas gracias!!!
No tiene nada que ver con la OCX que he publicado, quisiera ue alguno que lee este post pueda colaborar con nosotros y todo de los sitio para poder evolucionar ya que en poco tiempo las impresoras fiscales viejas ya no seran legalmente utilizarlas. Saludos
Muchas gracias por tus aportes!!
Saludos!
En el caso de un cierre x lo hace bien , pero si es un ticket, imprime el encabezado y despues da error...
Busque por todos lados y nada, alguna idea?
Te paso la funcion que usamos nosostros:
Function ImprimirTicketEpson(FormaPago As String, Recargo As Double, Optional Ltr As String) As Boolean
On Local Error GoTo Fallo1
Dim respuesta As Boolean
Dim Articulo As String
Dim Cantidad As String
Dim PrecioUnit As String
Dim Pago As String
Dim RecargoT As String
Dim IVA As String
If Val(FrmCobrar.TxtAbona) >= Val(Reemplazar(FrmCobrar.txttotal, ",", ".")) Then
Pago = Format(FrmCobrar.TxtAbona, "#0.#0")
Pago = Reemplazar(Pago, ",", "")
Else
Pago = Reemplazar(FrmCobrar.txttotal, ",", "")
End If
With MdiPrincipal
Procesar:
Dim Emisor As String
Dim Compra As String
Dim Letra As String
Dim Tipo As String
Dim rs As New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "SELECT * From Clientes where IdCliente='" & txtidcliente & "'", Cnx, 3, 1
Emisor = Left(Cargar_Config_STR("Config", "CatAfip"), 1)
Select Case Emisor
Case "R": Emisor = "I"
Case "M": Emisor = "M"
Case "E": Emisor = "E"
End Select
If txtidcliente = "1" Then Letra = "C": Compra = "F": GoTo SaltoCF
Compra = Left(rs("IVA"), 1)
Select Case Compra
Case "R": Letra = "A": Compra = "I"
Case "M": Letra = "B": Compra = "M"
Case "E": Letra = "B": Compra = "E"
Case "C": Letra = "C": Compra = "F"
End Select
SaltoCF:
'Tipo de Ticket segun CatAfip
If (Emisor = "M" Or Val(txtidcliente) = 1 Or Letra = "C") And Funcion = "V" Then 'CF
respuesta = .IF1.OpenTicket("C")
Else 'Ticket Factura A o B o Nota de Credito
If Funcion = "V" Then Tipo = "T"
If Funcion = "NC" Then Tipo = "M"
If Emisor = "M" Or Val(txtidcliente) = 1 Or Letra = "C" Then
respuesta = .IF1.OpenInvoice(Tipo, "C", Letra, "1", "P", "12", Emisor, Compra, "_", "_", "CUIT", "30614104712", "N", "_", "_", "_", Trim(txtNroNC) & "_", "_", "C")
Else
respuesta = .IF1.OpenInvoice(Tipo, "C", Letra, "1", "P", "12", Emisor, Compra, Left(rs("Nombre"), 40), Left(rs("Apellido"), 40), "CUIT", rs("CUIT"), "N", rs("Direccion") & " " & rs("Altura"), "CP: " & rs("CP"), rs("Provincia"), "0" & Trim(txtNroNC), "_", "C")
End If
Set rs = Nothing
End If
' Lista Art.
Dim Valor_sin_IVA As String
For i = 1 To DataGrid1.ApproxCount
Articulo = Left(DataGrid1.Columns(4).CellText(i), 20)
Cantidad = Val(Reemplazar(DataGrid1.Columns(5).CellText(i), ",", ".")) * 1000
PrecioUnit = Val(Reemplazar(DataGrid1.Columns(6).CellText(i), ",", ".")) * 100
IVA = Val(Reemplazar(IVADetalle(DataGrid1.Columns(2).CellText(i)), ",", ".")) * 100
If Letra = "A" Or Letra = "B" Or Funcion = "NC" Then 'Ticket Factura A o B
Valor_sin_IVA = Val(Reemplazar(DataGrid1.Columns(6).CellText(i), ",", ".")) / (Val(IVA) / 10000 + 1)
Valor_sin_IVA = Format(Valor_sin_IVA, "#0.#0") * 100
respuesta = .IF1.SendInvoiceItem(Articulo, Cantidad, Valor_sin_IVA, IVA, "M", "0", "0", "", "", "", "", "")
Else 'Ticket CF
respuesta = .IF1.SendTicketItem(Articulo, Cantidad, PrecioUnit, IVA, "M", "0", "0")
End If
Next
Dim LeyendaP As String
If FormaPago = "E" Then LeyendaP = "EFECTIVO"
If FormaPago = "T" Then LeyendaP = "TARJETA"
If FormaPago = "Ch" Then LeyendaP = "CHEQUE"
If Recargo <> 0 Then
Dim LetraPay As String
Dim LeyendaRD As String
If Recargo > 0 Then LetraPay = "R": LeyendaRD = "RECARGO"
If Recargo < 0 Then LetraPay = "D": Recargo = Recargo * (-1): LeyendaRD = "DESCUENTO"
RecargoT = Format(Recargo, "#0.#0")
RecargoT = Reemplazar(RecargoT, ",", "")
If Letra = "A" Or Letra = "B" Then 'Ticket Factura A o B
respuesta = .IF1.GetInvoiceSubtotal("P", "Sub-Total")
respuesta = .IF1.SendInvoicePayment(LeyendaRD & " POR " & LeyendaP, RecargoT, LetraPay)
Else ' Ticket CF
respuesta = .IF1.GetTicketSubtotal("P", "Sub-Total")
respuesta = .IF1.SendTicketPayment(LeyendaRD & " POR " & LeyendaP, RecargoT, LetraPay)
End If
End If
If Letra = "A" Or Letra = "B" Or Tipo = "M" Or Tipo = "N" Or Funcion = "NC" Then 'Ticket Factura A o B
respuesta = .IF1.SendInvoicePayment("PAGO CON " & LeyendaP, Pago, "T")
respuesta = .IF1.CloseInvoice(Tipo, Letra, "")
Else 'Ticket CF
respuesta = .IF1.SendTicketPayment("PAGO CON " & LeyendaP, Pago, "T")
respuesta = .IF1.CloseTicket
End If
ImprimirTicketEpson = True
End With
Exit Function
Fallo1:
If rs.State = adStateOpen Then rs.Close
If MsgBox("Error: " & Err.Description, vbRetryCancel, "IMPRESORA FISCAL") = vbRetry Then Resume Procesar
End Function
Desde ya muchas gracias
Buenas tardes. Vi tu comentario solictando ayuda para la impresion de Nota de debito con el OCX (hace varios alos)..
Tengo ahora ese problema, pudiste solucionarlo,?. si es asi, por favor pasame algun dato. gracias
Ahora te molesto para consultarte si no tenes OCX o algún ejemplo para trabajar en VB6 con el controlador fiscal EPSON TM_T900FA ??
Gracias
saloudoss
Ruben
Mi cliente vende cigarrillos
Saludos
Manual de Referencia en Español
Propiedades:
PortNumber:
Especifica el número de puerto a utilizar (Valor por defecto: 1).
BaudRate:
Especifica la velocidad de transferencia de datos (Valor por defecto: 9600).
MessagesOn:
Especefica el uso de mensajes por pantalla ante errores de comunicación.
True (default): Mensajes activados.
False: Mensajes desactivados.
Propiedades Sólo Lectura
FiscalStatus:
Estado del módulo fiscal (en hexadecimal).
PrinterStatus:
Estado del módulo impresor (en hexadecimal).
AnswerFiel_n:
Valor del campo número
n
(siendo n=3,...,20) para las respuestas a los comandos.
Métodos:
Todos los métodos devuelven:
True
: Ejecución
correcta
False
: Ejecución
incorrecta
(error de comunicación o error lógico del comando).
Function
CloseJournal
(CloseType As String, Optional Impresion As String) As Boolean
Realiza un cierre de Jornada o de Cajero (“Z” o “X”).
Recibe:
•
Tipo de cierre: Z o X.
•
Impresión (opcional): P=imprime el cierre X; N=no imprime el cierre X.
Function
FeedPaper
(Station As String, Lines As String) As Boolean
Avanza el papel de la estación de impresión seleccionada.
Recibe:
•
Estación: R=Receipt; J=Journal; A=Ambos; S=Hoja suelta.
•
Cantidad de líneas a avanzar.
Function
CutPaper
() As Boolean
Realiza el corte de papel.
Function
SetGetHeaderTrailer
(Action As String, Number As String, Optional Text As String) As Boolean
Establece u obtiene los datos fijos de encabezados y colas.
Recibe:
•
Accion: S=Establecer; G=Obtener.
•
Número de encabezado / cola.
•
Texto a establecer.
Function
SetGetDateTime
(Action As String, Optional DateYYMMDD As String, Optional TimeHHMMSS
As String) As Boolean
Establece u obtiene la fecha y hora de la impresora fiscal
Recibe:
•
Acción: S=Establecer; G=Obtener.
•
Fecha a establecer en formato AAMMDD.
•
Hora a establecer en formato HHMMSS.
Function
Status
(Optional StatusType As String) As Boolean
Realiza una consulta de estado.
Recibe:
•
Tipo de estado
(
opcional): N=Normal; P=Impresora; C=Contribuyente; A=Contadores.
Function
OpenCashDrawer
(Number As String) As Boolean
Realiza la apertura de los cajones de dinero.
Recibe:
•
Número de cajón de dinero.
Function
Audit
(AuditType As String, AuditMode As String, Optional Start As String, Optional Finish As
String) As Boolean
Realiza una auditoría.
Recibe:
•
Tipo de auditoría: F=Por Fecha; Z=Por cierres Z.
•
Modo de auditoría: T=Total general; D=Detallado.
•
Fecha o cierre de inicio (opcional) en formato AAMMDD. Valor por defecto 80/01/01, 0001.
•
Fecha o cierre final (opcional). Valor por defecto 79/12/31, 9999.
Function
OpenNoFiscal
() As Boolean
Realiza la apertura de un Documento No Fiscal
Function
SendNoFiscalText
(Text As String) As Boolean
Envía una línea de texto no fiscal.
Recibe:
•
Texto a envíar.
Function
CloseNoFiscal
() As Boolean
Realiza el cierre de un documento no fiscal.
Function
OpenTicket
(Optional StorageDataType As String) As Boolean
Realiza la apertura de un ticket fiscal.
Recibe:
•
Tipo de almacenamiento de los datos en la memoria: G=Completo; C=Normal
Function
SendTicketItem
(Description As String, Quantity As String, UnitPrice As String , IVA_Tax As
String, Qualifier As String, Bundle As String , PorcentualInternalTaxes As String, Optional
FixesInternalTaxes As String) As Boolean
Envía un Item en un ticket fiscal
Recibe:
•
Descripción del artículo.
•
Cantidad.
•
Precio unitario.
•
Tasa de IVA.
•
Calificador de item: M,m,R,r
•
Cantidad de cultos
•
Impuestos internos porcentuales
•
Impuestos Internos Fijos (opcional)
Function
SendExtraDescription
(Text As String) As Boolean
Envía una línea de descripción extra dentro de un ticket fiscal.
Recibe:
•
Texto a enviar.
Function
GetTicketSubtotal
(Impresion As String, Optional Text As String) As Boolean
Solicita un subtotal de un ticket fiscal.
Recibe:
•
Impresion: P=Imprime el subtotal; N=No imprime el subtotal.
•
Texto a imprimir (opcional).
Function
SendTicketPayment
(Text As String, Amount As String, PaymentType As String) As Boolean
Envía un pago en un ticket fiscal
Recibe:
•
Texto descriptivo del pago.
•
Monto a pagar.
•
Descripción del pago: T=Pago; t=Reversión del pago; D=Descuento; R=Recargo.
Function
CloseTicket
() As Boolean
Realiza el cierre de un ticket fiscal.
Function
OpenInvoice
(InvoiceType As String, PaperType As String, InvoiceLetter As String, Copies As
String , FormType As String, FontType As String, IVA_Seller As String, IVA_Buyer As String ,
BuyerName1 As String, BuyerName2 As String, BuyerDocumentType As String, BuyerDocumentNumber
As String, FixedAssest As String , BuyerAddress1 As String, BuyerAddress2 As String, BuyerAddress3
As String, Remit1 As String, Remit2 As String, StorageDataType As String) As Boolean
Realiza la apertura de un ticket-factura o una factura.
Recibe:
•
Tipo de documento fiscal (T=TiqueFactura o F=Factura)
•
Salida de impresora (C=continuo o S=Slip)
•
Letra del documento (A,B o C)
•
Cantidad de copias
•
Tipo de formulario (F,P o A)
•
Tipo de letra
•
Responsabilidad IVA Emisor (I,R,E,N o M)
•
Responsabilidad IVa Comprador(I,R,E,N,M o F)
•
Linea 1 Nombre del Comprador
•
Linea 2 Nombre del Comprador
•
Tipo Documento Comprador
•
Nro. Documento Comprador
•
Bien de Uso (B o N)
•
Linea 1 Domicilio Comprador
•
Linea 2 Domicilio Comprador
•
Linea 3 Domicilio Comprador
•
Linea 1 Remito
•
Linea 2 Remito
•
Tipo de tabla de item (C o G)
Function
SendInvoiceItem
(Description As String, Quantity As String, UnitPrice As String , IVA_Tax As
String, Qualifier As String, Bundle As String , PorcentualInternalTaxes As String, ExtraLine1 As String,
ExtraLine2 As String , ExtraLine3 As String, IncreaseTax As String, Optional FixesInternalTaxes As
String) As Boolean
Envía un Item en un ticket-factura o factura fiscal
Recibe:
•
Descripción del artículo.
•
Cantidad.
•
Precio unitario.
•
Tasa de IVA.
•
Calificador de item: M,m,R,r
•
Cantidad de cultos
•
Impuestos internos porcentuales
•
Linea de descripción extra 1
•
Linea de descripción extra 2
•
Linea de descripción extra 3
•
Tasa de acrecentamiento
•
Impuestos Internos Fijos
Function
CanDoLineItem
() As Boolean
Consulta si hay espacio para imprimir otro item o necesita solicitar un transporte
.
Function
GetInvoiceSubtotal
(Impresion As String, Optional Text As String) As Boolean
Solicita un subtotal de un ticket-factura o factura fiscal.
Recibe:
•
Impresion: P=Imprime el subtotal; N=No imprime el subtotal.
•
Texto a imprimir (opcional).
Function
SendInvoicePerception
(Description As String, Qualifier As String, Amount As String, Optional
Tax as string) As Boolean
Envía una percepción en un ticket-factura o factura fiscal.
Recibe:
•
Texto descriptivo de la percepción.
•
Calificador de la percepción: O=Percepcion sobre el IVA
•
Monto de la percepción.
•
Tasa de percepción (por compatibilidad el dato es opcional y solo se requiere para
Qualifier=”T”)
Function
SendInvoicePayment
(Text As String, Amount As String, PaymentType As String) As Boolean
Envía un pago en un ticket-factura o factura fiscal
Recibe:
•
Texto descriptivo del pago.
•
Monto a pagar.
•
Descripción del pago: T=Pago; t=Reversión del pago; D=Descuento; R=Recargo.
Function
CloseInvoice
(InvoiceType As String, InvoiceLetter As String, Text As String) As Boolean
Realiza el cierre de un ticket-factura o factura fiscal
Recibe:
•
Tipo de documento: T=Ticket-factura; F=Factura.
•
Letra del ticket-factura o factura.
•
Texto a imprimir en la descripcion del total.
Function
TransportClose
() As Boolean
Envia la orden de cerrar la hoja actual de la factura imprimiendo el transporte para continuar en
otra hoja.
Function
TransportOpen
() As Boolean
Envia la orden de abir la siguiente hoja de la factura actual imprimiendo el transporte para
continuar en esa hoja.
Function
DNFHCreditCard
(CardName As String, CardNumber As String, UserName As String,
ExpireDate As String, CompanyNumber As String , VoucherNumber As String, InternalNumber As String,
AutorizationCode As String, OperationType As String, Amount As String, QuotaAmount As String ,
CurrencyType As String, TerminalNumber As String, LotNumber As String, ETerminalNumber As String,
BranchNumber As String, OperatorNumber As String , FiscalDocumentNumber As String, SignPrint As
String, ExplanationPrint As String, PhonePrint As String) As Boolean
Realiza un Documento No Fiscal Homologado de Tarjeta de Crédito.
Recibe:
•
Nombre de la Tarejta de Crédito
•
Nro Tarjeta
•
Nombre usuario
•
Fecha vencimiento
•
Nro de Establecimiento
•
Nro Cupon
•
Nro interno del comprobante
•
Código de Autorizacion
•
Tipo de operación
•
Importe
•
Cantidad de cuotas
•
Moneda
•
Nro de terminal
•
Nro de lote
•
Nro de terminal electrónica
•
Nro de sucursal
•
Nro o nombre del operador
•
Nro del Documento Fiscal al que se hace referencia
•
Firma (P)
•
Aclaracion (P)
•
Telefono (P)
Function
DNFHDrugstore
(HealthCompanyName As String, CosecureLine1 As String, CosecureLine2 As
String, CosecureLine3 As String, MemberNumber As String , MemberName As String, ExpireDate As
String, AddressLine1 As String, AddressLine2 As String, CompanyNameOrNumber As String,
InternalNumber As String , DescriptionLine1 As String, DescriptionLine2 As String, AddressPrint As
String, DocumentNumberPrint As String, SignPrint As String , ExplanationPrint As String, PhonePrint As
String) as Boolean
Realiza un Documento No Fiscal Homologado de Farmacia.
Recibe:
•
Nombre de la Obra Social
•
Linea 1 Coseguro
•
Linea 2 Coseguro
•
Linea 3 Coseguro
•
Nro. de Afiliado
•
Nombre del Afiliado
•
Fecha de vencimiento
•
Linea 1 Domicilio Fiscal vendedor
•
Linea 2 Domicilio Fiscal vendedor
•
Numero o nombre del establecimiento
•
Numero interno del comprobante
•
Linea 1 Descripcion
•
Linea 2 Descripcion
•
Domicilio Imprime (P)
•
Nro Documento (P)
•
Firma (P)
•
Aclaracion (P)
•
Telefono (P)
Function
S
ysCommand
(
Dat1 As String, Dat2 As String, Dat3 As String, Optional Dat4 As String = "",
Optional Dat5 As String = "", Optional Dat6 As String = "", Optional Dat7 As String = "", Optional Dat8 As
String = "", Optional Dat9 As String = "", Optional Dat10 As String = "") As Boolean
Realiza la
ejecución de un comando de sistema
Recibe:
•
Depende de
l
c
o
mando que se ejecute
Function
SetPreference
(Dat1 As String, Dat2 As String, Dat3 As String, Dat4 As String, Dat5 As String,
Dat6 As String, Dat7 As String, Dat8 As String, Dat9 As String, Dat10 As String) As Boolean
Realiza la configuración de las preferencias del usuario
Recibe:
•
Depende de lo que se configure
Function
GetPreference
(Dat1 As String, Dat2 As String, Dat3 As String) As Boolean
Realiza una lectura de las preferencias del usuario
Recibe:
•
Depende de lo que se consulte
Function
SelectSlip
() As Boolean
Realiza la selección de la estación de hoja suelta para el proximo documento
Recibe:
•
Nada
Function
PrepareSlip
() As Boolean
Prepara la estación de trabajo de hoja suelta para que tome la hoja
Recibe:
•
Nada
Function
OpenSlipNoFiscal
() As Boolean
Realiza la apertura de un documento No Fiscal por estación SLIP
Recibe:
•
Nada
Function
SetPaperSize
(Rows As Integer, Columns As Integer) As Boolean
Realiza la configuración del tamaño del papel
Recibe:
•
Cantidad de filas
•
Cantidad de columnas
Function
SetMargin
(MarTop As String, MarLeft As String, MarBottom As String, MarRight As String) As
Boolean
Realiza la configuración de los márgenes de impresión
Recibe:
•
Margen Superior en filas
•
Margen Izquierdo en columnas
•
Margen Inferior en filas
•
Margen Derecho en columnas
Function
SetZone
(Zone As String, MarLeft As String, MarTop As String, MarRight As String, MarBottom
As String) As Boolean
Realiza la configuración de las zonas de impresión del formulario
Recibe:
•
Número de Zona
•
Columna Izquierda
•
Fila Superior
•
Columna Derecha
•
Fila Inferior
Dim respuesta As Boolean
respuesta = .IF1.OpenCashDrawer("1")
.IF1 es el objeto que tenemos el Formulario Principal y de ahi lo invocamos las veces que necesitamos.
Previo al comando OpenCashDrawer tenes que cargale la configuracion de conexion correspondiente, podes usar la misma que para en envio de comprobantes.
Espero que te sirva. Saludos
Dim rs As New ADODB.Recordset
De esta menera el programa sabe que tipo de Comprobante Emitir. No es muy elegante por que tiene 4 años este codigo de haberlo hecho hoy en dia seria mas optimizado. Pero funcion perfectamente.
Saludos
Else 'Ticket CF
Saludos
Es para una factura "A" a monotributista y el controlador es epson
intento encontrar algún middleware (driver, DLL, SCO, ...) o código fuente ejemplo, preferiblemente en VB6, que implemente los servicios de comunicación con la MP-4000 TH FI.
He leido que tambien existen emuladores, donde podria conseguirlos.
Saludos. [email protected]
Necesito ayuda acerca de que COMANDO utilizar en el impresor EPSON TM-T900FA - NUEVA GENERACION para poder escribir texto libre.
Necesito que en el ticket A para monotributistas abajo aparezca una leyenda con un escrito... que comando utilizo para escribir ese texto???
Si alguien me puede ayudar les agradezco!!!!
SALUDOS
Saludos