Identificacion: dwordPrinterStatus
Tipo: Variable
Declaración: Public dwordPrinterStatus As Long
Despues de la ejecución de cada comando, el status de la impresora queda almacenado en
esta variable. Puede consultarse directamente, o a través de la función BitPrinter,
descrita más abajo.
Identificacion: dwordStatusFiscal
Tipo: Variable
Declaración: Public dwordStatusFiscal As Long
Despues de la ejecución de cada comando, el status del controlador fiscal queda
almacenado en esta variable. Puede consultarse directamente, o a través de la función BitFiscal,
descrita más abajo.
Identificacion: nEnvironmentError
Tipo: Variable
Declaración: Public nEnvironmentError As Integer
Almacena el resultado de la última función ejecutada. Las funciones devuelven CERO
cuando todo fue bien, o un entero diferente de cero si hubo algún problema. Incluso las
funciones que devuelven valores no enteros (del tipo de GetDateTime, que devuelve una
fecha, o SerialImpresora, que devuelve una cadena) condicionan esta variable. La función
EnvironmentError(), efinida en esta interfaz, devuelve una cadena con la descripción del
tipo de error.
Sus valores son los siguientes:
-1: Error en Dispositivo. Normalmente se produce cuando se detecta que el
puerto de comunicación con el printer no ha sido abierto.
0: OK. El último comando se ejecutó correctamente
1: Agotado el tiempo de espera. La impresora no devolvió los resultados
del último comando ejecutado. Es uno de los peores resultados posibles, ya que no indica
si el útimo comando se ejecutó o no, sólo que no se sabe. Una manera de solucionar este
tipo de error es recompilar la interfaz aumentando el valor de la constante
"TimeOut"
2: Mensaje Inválido: La respuesta devuelta por la impresora no se adapta
a las especificaciones del protocolo. Probablemente se deba a un error de comunicacion.
3: BCC inválido. La suma de comprobación del mensaje de respuesta
devuelto por el printer no es correcta. Probablemente se deba a una falla de comunicacion.
4: Error de Secuencia: Inmediatamente despues de la ejecución de cada
comando, la interfaz verifica su resultado. Esta condición se produce cuando el
identificador de la secuencia el comando devuelto por la impresora es diferente del
identificador de numero de secuencia del comando emitido. Ignoro bajo cuales condiciones
podría producirse.
5: Error definido en la impresora: Esta condición indica que el comando
no pudo ejecutarse por alguna razón. Para determinar esta razón, puede examinar las
variables dwordPrinterStatus o dwordStatusFiscal, bien directamente,
bien a través de las funciones BitPrinter o BitFiscal.
Identificacion: PrinterType
Tipo: Propiedad (sólo lectura)
Declaración: Public Property Get PrinterType() As String
Si todo va bien, cada vez más personas querrá usar nuestros programas, y la variedad de
impresoras fiscales con las cuales habrá que lidiar será mayor. Esta propiedad permite a
los scripts o programas conocer el tipo de impresora al cual corresponde la interfaz en
uso.
Identificacion: Settings
Tipo: Propiedad (lectura/escritura)
Declaración: Public Property Let/Get Settings([sNewSettings])
La interfaz utiliza un control MSComm para comunicarse con la impresora. La propiedad
Settings corresponde a la propiedad Settings de dicho control.
Identificacion: CommPort
Tipo: Propiedad (lectura/escritura)
Declaración: Public Property Let/Get CommPort([nPort])
Representa a la propiedad CommPort del control MSComm subyacente. Corresponde al número
del puerto serial al cual está conectada la impresora fiscal (¡asco!)
Identificacion: PortOpen
Tipo: Propiedad
Declaración: Public Property Let/Get PortOpen([bIsOpen])
Corresponde a la propiedad PortOpen del control MsComm. Si se le asigna True, el puerto se
abrirá; si se le asigna False se cerrará. Asignar True a un puerto abierto, o False a un
puerto cerrado, causará un error.
Identificacion: EnvironmentError
Tipo: Funcion
Declaración: Public Function EnvironmentError() As String
Vea arriba la descripción de la variable nEnvironmentError. Esta función
devuelve una cadena con una descripción de la condición almacenada en dicha variable.
Identificacion: Response
Tipo: Funcion
Declaración: Public Function Response(index) As Variant
Si se examina el Protocolo de Comunicación de la TMU, se verá que cada comando devuelve
un bloque de respuestas, que puede variar según el comando ejecutado. Mediante la
función Response(n) se puede acceder al n-ésimo campo del bloque de respuestas. La base
es CERO, y Response(0) devuelve el número del último comando ejecutado. Response(1) y
Response(2) devuelven una cadena con la representación hexadecimal de los estados del
Impresor y del Controlador Fiscal, respectivamente, despues del último comando. A partir
de Response(3) comienzan los valores "útiles" devueltos por la impresora. Si
Response(n) == -1 es probable que haya empleado un índice inválido.
Identificacion: BitPrinter
Tipo: Funcion
Declaración: Public Function BitPrinter(nBit) As Long
Devuelve el valor del nBit-esimo bit de la palabra de estado del printer, despues del
último comando ejecutado. nBit debe estar entre cero y quince. Un valor de -1 indica que
el argumento nBit está fuera del rango permitido.
Identificacion: BitFiscal
Tipo: Funcion
Declaración: Public Function BitFiscal(nBit) As Long
Devuelve el valor del nBit-esimo bit de la palabra de estado del controlador fiscal,
despues del último comando ejecutado. nBit debe estar entre cero y quince. Un valor de -1
indica que el argumento nBit está fuera del rango permitido.
Identificacion: RealizarCierre
Tipo: Funcion
Declaración: Public Function RealizarCierre(ByVal nTipo As nTipoCierreFiscal,
Optional ByVal Imprimir As Boolean = True) As Integer
Ejecuta un cierre en el controlador fiscal. nTipo puede ser CERO (Cierre X, o
cambio de turno) o UNO (1) (Cierre Z o cierre diario).
Si se trata de un cierre X, se puede indicar al controlador si se desea o no imprimir un
resumen del turno, mediante el argumento Imprimir.
Identificacion: ReporteMemoriaPorFecha
Tipo: Funcion
Declaración: Public Function ReporteMemoriaPorFecha(dtInicial, dtFinal, Optional
ByVal sTipoReporte As String = "R") As Integer
Genera un reporte de la memoria fiscal dentro del rango de fechas especificado. Para más
detalles, refiérase al manual de protocolo de la Impresora.
Identificacion: ReporteMemoriaPorNumero
Tipo: Funcion
Declaración: Public Function ReporteMemoriaPorNumero(lngInicial, lngFinal,
Optional ByVal sTipoReporte As String = "") As Integer
Genera un reporte de la memoria fiscal para los cierres Z comprendidos entre los dos
números especificados. Para más detalles, refiérase al manual de protocolo de la
Impresora.
Identificacion: IniciarFactura
Tipo: Funcion
Declaración: Public Function IniciarFactura( Optional ByVal sNombreCliente As
String = "", Optional ByVal sRIFCliente As String = "") As Integer
Imprime el encabezado de un documento fiscal (Venta). Registra la operación en la memoria
fiscal y consume un número de comprobante.
Identificacion: PasarLineaExtra
Tipo: Funcion
Declaración: Public Function PasarLineaExtra(sTexto) As Integer
Agrega una línea de descripción adicional a la última linea de detalle del comprobante
fiscal en proceso. Se permite un másximo de tres líneas adicionales por cada línea de
detalle fiscal.
Identificacion: IniciarDevolucion
Tipo: Funcion
Declaración: Public Function IniciarDevolucion( Optional ByVal sNombreCliente As
String = "", Optional ByVal sRIFCliente As String = "", Optional ByVal
NumeroComprobante As Long = 0, Optional ByVal sSerialEquipo As String = "",
Optional ByVal dtFechaComprobante As Date = 0, Optional ByVal dtHoraComprobante As Date =
0) As Integer
Imprime el encabezado de un documento fiscal (Devolución). Registra la operación en la
memoria fiscal, y consume un número de comprobante.
NOTA: Supongo que funcionará, pero no he podido probabrla porque aun no
dispongo de una impresora "fiscalizada" (¡asco!)
Identificacion: PasarLineaFactura
Tipo: Funcion
Declaración: Public Function PasarLineaFactura(istrDescripcion, ivmPrecioNeto,
idblCantidad, ivmPorcentajeImpuesto) As Integer
Agrega una línea al comprobante fiscal (¡asco!) abierto mediante IniciarFactura.
ivmPrecioNeto representa el precio de venta UNITARIO del producto, sin incluir el
impuesto. ivmPorcentajeImpuesto en realidad no es el porcentaje (sí, le puse el nombre
incorrecto) sino el factor de impuesto, es decir, si el impuesto es del 14.5% (¡asco!)
entonces ivmPorcentajeImpuesto deberá ser 0.145.
Identificacion: PasarLineaDevolucion
Tipo: Funcion
Declaración: Public Function PasarLineaDevolucion(istrDescripcion, ivmPrecioNeto,
idblCantidad, ivmPorcentajeImpuesto) As Integer
Es lo mismo que PasarLineaFactura, pero en vez de sumar, resta.
Identificacion: RecibirPago
Tipo: Funcion
Declaración: Public Function RecibirPago(ivmMontoRecibido) As Integer
Informa al controlador fiscal el monto del pago recibido; al cerrar la factura, éste
incluirá el monto del pago recibido y el cambio a devolver.
Identificacion: RegistrarDescuento
Tipo: Funcion
Declaración: Public Function RegistrarDescuento(ivmValorDescuento) As Integer
No la probé, pero según el manual permite registrar un descuento global.
Identificacion: CancelarComprobante
Tipo: Funcion
Declaración: Public Function CancelarComprobante() As Integer
Cancela el comprobante fiscal en proceso. El número de comprobante queda consumido (se
consume con la apertura).
Identificacion: CerrarComprobante(Optional Tipo)
Tipo: Funcion
Declaración: Public Function CerrarComprobante() As Integer
Cierra el comprobante fiscal en curso y actualiza la memoria del controlador fiscal.
Si Tipo = "A" realiza un cierre parcial, mostrando los totales y
permitiendo la adición de lineas de texto. Si no se especifica, o si tipo =
"E" realiza un cierre definitivo.
Identificacion: Subtotal
Tipo: Funcion
Declaración: Public Function Subtotal() As Integer
La impresora devuelve una respuesta con los diferentes subtotales acumulados en la
transacción. Estos datos pueden ser accedidos mediante la función Response.
Consulte el manual de la impresora para más detalles.
Identificacion: AbrirDNF
Tipo: Funcion
Declaración: Public Function AbrirDNF() As Integer
Permite enviar texto no fiscal hacia la impresora. Al comienzo y cierre de los documentos
aparecen las palabras "DOCUMENTO NO FISCAL".
Identificacion: PasarLineaDNF
Tipo: Funcion
Declaración: Public Function PasarLineaDNF(istrTexto) As Integer
istrTexto es una cadena de hasta 40 caracteres (el resto será eliminado). Se imprimirá
si hay un documento no fiscal abierto.
Identificacion: CerrarDNF
Tipo: Funcion
Declaración: Public Function CerrarDNF() As Integer
Se cierra el documento no fiscal, y la impresora queda disponible para iniciar un nuevo
documento.
Identificacion: SerialImpresora
Tipo: Funcion
Declaración: Public Function SerialImpresora() As String
Devuelve una cadena correspondiente al serial de identificación de la impresora.
Identificacion: GetDateTime
Tipo: Funcion
Declaración: Public Function GetDateTime() As Date
Devuelve la fecha y hora actuales, según el printer.
Identificacion: SetDateTime
Tipo: Funcion
Declaración: Public Function SetDateTime(idtFechaActual) As Integer
idtFechaActual contiene la fecha y hora que se registrará en el controlador de la
impresora.
Identificacion: SetTextoFormato
Tipo: Funcion
Declaración: Public Function SetTextoFormato(bEncabezado, nLinea, sTextoLinea) As
Integer
Permite configurar las líneas e texto que aparecerán en el encabezado y pie de cada uno
de los documentos fiscales emitidos por la impresora. bEncabezado es una ariable de tipo
boolean, que indica si las líneas corresponden al Encabezado (True) o al Pie (False) del
documento. nLinea selecciona el número de la línea de encabezado/pie a la cual se asigna
el texto y sTextoLinea el el texto.
Identificacion: AbrirGavetaN
Tipo: Funcion
Declaración: Public Function AbrirGavetaN(nGaveta) As Integer
Abre la gaveta o cajón de dinero conectado al printer. nGaveta es el número del cajón a
abrir. Puede ser 1 o 2.
Identificacion: CortarPapel
Tipo: Funcion
Declaración: Public Function CortarPapel() As Integer
Activa el cortador de papel del printer.
Identificacion: PaperFeed
Tipo: Funcion
Declaración: Public Function PaperFeed() As Integer
Avanza una linea
Identificacion: ActivarSlip
Tipo: Funcion
Declaración: Public Function ActivarSlip() As Integer
Direcciona la salida hacia el impresor de slips (notas sueltas) del printer. Sólo
funciona en los modelos 95x.
Identificacion: DesactivarSlip
Tipo: Funcion
Declaración: Public Function DesactivarSlip() As Integer
Redirecciona la salida hacia los rollos de recibos.
Identificacion: LlenarCheque
Tipo: Funcion
Declaración: Public Function LlenarCheque(vmMontoCheque, strBeneficiario,
dtFechaEmision) As Integer
Llena un cheque con los datos de vmMontoCheque, strBeneficiario y dtFechaEmision. El
cheque debe insertarse HORIZONTALMENTE y con el area imprimible hacia arriba en la ranura
de slips de la impresora.
Identificacion: EndosarCheque
Tipo: Funcion
Declaración: Public Function EndosarCheque(strNombre, strCedula, strTelefono) As
Integer
Escribe en el reverso de un cheque los datos del cliente. El cheque debe insertarse
verticalmente y con la cara hacia abajo en la bandeja de slips de la impresora.