Está en la página 1de 74

IMPRESORA FISCAL ELEPOS

MANUAL DE USUARIO (DLL)


REVISIN A

ELEPOS
ELECTRNICA Y PUNTOS DE VENTA C.A.
Caracas-Venezuela
Mar2003

PRECAUCIN
RIESGO DE DESCARGA ELCTRICA
NO ABRIR
IMPORTANTE
PARA REDUCIR EL RIESGO DE DESCARGA ELCTRICA, NO SE DEBE
REMOVER LA TAPA SOBRE LA CUAL SE ENCUENTRA COLOCADA LA
IMPRESORA. LAS PARTES O PIEZAS EN EL INTERIOR SOLO
PUEDEN SER MANIPULADAS POR PERSONAL AUTORIZADO.

ADVERTENCIA Evite exponer la impresora fiscal a la lluvia o colocarla en


lugares susceptibles a humedad para evitar riesgos de incendio o
descarga elctrica

ADVERTENCIA
LA VIOLACIN DEL PRECINTO DE SEGURIDAD DE LA
IMPRESORA FISCAL POR PERSONAL NO AUTORIZADO
DAR LUGAR A SANCIONES Y MULTAS POR PARTE DEL
ORGANISMO DE HACIENDA.
CUALQUIER IRREGULARIDAD OBSERVADA EN ESTE
SENTIDO SER REPORTADA DE INMEDIATO A LA
AUTORIDAD RESPECTIVA YA QUE ESTO COMPROMETE
DE
MANERA
SIGNIFICATIVA
LA
INFORMACIN
ALMACENADA EN LA MEMORIA FISCAL.

Todos los derechos reservados. Este documento, en su totalidad o en partes, no puede ser
reproducido o transmitido de ninguna forma o por ningn medio ya sea electrnico,
mecnico, fotocopiado, grabado, etc., sin el consentimiento expreso y por escrito de
Elepos electrnica y puntos de venta.
Aunque se han tomado todas las precauciones en la elaboracin de este manual,
Minisistemas de Computacin no asume ninguna responsabilidad por errores u omisiones.
Tampoco asume ninguna responsabilidad por daos resultantes del mal uso de la
informacin contenida en este manual.
Minisistemas de Computacin no se responsabiliza con el comprador o terceros por daos,
prdidas, o gastos incurridos por el comprador o terceros como resultado de: accidente,
mal uso o abuso de este producto, o modificaciones, reparaciones o alteraciones
realizadas sin autorizacin.

IMPORTANTE: El contenido de este manual est sujeto a cambios sin previo aviso.
Copyright 2003 por Elepos electrnica y puntos de venta, c.a., Caracas, Venezuela.

Manual de Usuario

Elepos electrnica y puntos de venta


Caracas, Venezuela

NDICE
NDICE.............................................................................................................i
NDICE DE TABLAS ......................................................................................... iv
NDICE DE FIGURAS ....................................................................................... iv
INTRODUCCIN ..............................................................................................1
EL CONTROLADOR FISCAL ...............................................................................2
ESPECIFICACIONES GENERALES .......................................................................4
DESCRIPCIN GENERAL ................................................................................................. 4
ESPECIFICACIONES ELCTRICAS.................................................................................. 4
CONDICIONES AMBIENTALES ....................................................................................... 4
PANEL DE CONEXIN DE LOS CABLES ........................................................................ 4
CONFIGURACIN DEL PUERTO SERIAL....................................................................... 5
DEFINICIN DE ESTADOS ................................................................................6
Estado de Espera.......................................................................................................... 6
Inicio de Venta.............................................................................................................. 6
Venta .............................................................................................................................. 7
Subtotal.......................................................................................................................... 7
Pago ............................................................................................................................... 7
Fin Venta........................................................................................................................ 7
No Fiscal ........................................................................................................................ 7
Programacin ................................................................................................................ 7
Error ............................................................................................................................... 7
Inicio Devolucin .......................................................................................................... 8
Devolucin..................................................................................................................... 8
DEFINICIN DEL STATUS.................................................................................8
STATUS DE INICIALIZACIN (CK_STI)........................................................................ 9
Inicializacin.................................................................................................................. 9
Reloj Detenido .............................................................................................................. 9
Fecha Invlida............................................................................................................... 9
Lnea Header/Trailer Invlida..................................................................................... 9
Primera Inicializacin Realizada ................................................................................. 9
STATUS DE VENTA (CK_STV) ...................................................................................... 10
Comprobante Fiscal Abierto...................................................................................... 10
Comando de Venta Efectuado.................................................................................. 10
Subtotal Realizado...................................................................................................... 10
Anulacin de Pago...................................................................................................... 10
Comando de Pago Efectuado ................................................................................... 10
Comprobante No Fiscal Abierto................................................................................ 11
Periodo de Ventas Empezado................................................................................... 11
STATUS DE IMPUESTO (CK_IMP) ............................................................................... 11
Reporte X..................................................................................................................... 11
i

Anulacin de Artculo ................................................................................................. 11


Artculo Exento de Impuesto .................................................................................... 11
Reporte Z..................................................................................................................... 12
Tasa de Impuesto 3................................................................................................... 12
Tasa de Impuesto 2................................................................................................... 12
Tasa de Impuesto 1................................................................................................... 12
STATUS DE LA IMPRESORA (CK_PRT) ....................................................................... 12
Memoria ROM no Conectada.................................................................................... 12
Memoria ROM Completa ........................................................................................... 12
Impresora Fuera de Lnea......................................................................................... 13
Impresora en Estado Desconocido .......................................................................... 13
STATUS INTERNO (CK_INT) ........................................................................................ 13
Descuento sobre el Total .......................................................................................... 13
Descuento sobre un Artculo .................................................................................... 13
Reporte de Memoria .................................................................................................. 13
Primer Artculo Vendido............................................................................................. 14
Devolucin................................................................................................................... 14
Pago Parcial Realizado............................................................................................... 14
Pago Completo Realizado.......................................................................................... 14
STATUS DE INICIALIZACIN 2 (CK_SI2) .................................................................. 14
Impuesto Incluido ...................................................................................................... 14
Cerrando Ticket .......................................................................................................... 14
STATUS DE VALIDACIN (CK_VAL)............................................................................ 15
PROGRAMACIN............................................................................................ 16
FUNCIONES..................................................................................................................... 17
Versin del DLL........................................................................................................... 17
Abrir el Puerto Serial.................................................................................................. 17
Cerrar el Puerto Serial ............................................................................................... 18
Recepcin de Datos ................................................................................................... 18
Transmisin de Datos ................................................................................................ 19
Impresin .................................................................................................................... 19
Transferencia de Datos ............................................................................................. 20
Configuracin .............................................................................................................. 21
Conversin................................................................................................................... 22
COMANDOS DE PROGRAMACIN................................................................................ 24
Inicializacin de la Impresora Fiscal........................................................................ 24
Modificar la Fecha y Hora ......................................................................................... 25
Grabar el Descriptor del Organismo de Hacienda y el RIF .................................. 26
Grabar una Lnea de Header .................................................................................... 26
Grabar una Lnea de Trailer...................................................................................... 28
Grabar las Tasas de Impuesto ................................................................................. 29
Modificar la Moneda y el Nmero de Decimales .................................................. 29
Cambiar la Clave de Programacin.......................................................................... 30
Salir de Inicializacin ................................................................................................. 31
ii

COMANDOS DE VENTA.................................................................................................. 31
Abrir un Comprobante Fiscal .................................................................................... 32
Abrir comprobante fiscal y retornar el nmero del comprobante abierto ......... 32
Venta de Artculo........................................................................................................ 33
Anulacin de Artculo ................................................................................................. 34
Subtotal........................................................................................................................ 35
Pago ............................................................................................................................. 36
Anulacin de Pago...................................................................................................... 37
Cancelar un Comprobante Fiscal ............................................................................. 38
Cerrar un Comprobante Fiscal.................................................................................. 39
Devolucin de Artculo............................................................................................... 40
Anulacin de la Devolucin de un Artculo............................................................. 40
Descuento sobre Artculo .......................................................................................... 41
Anulacin de Descuento sobre Artculo .................................................................. 42
Descuento sobre Total............................................................................................... 43
Imprimir una Lnea no Fiscal .................................................................................... 44
Avance de Lnea ......................................................................................................... 44
Reset-Power-On ......................................................................................................... 44
Solicitar actualizacin del Status.............................................................................. 44
COMANDOS DE IMPRESIN DE REPORTES .............................................................. 45
Reporte Z..................................................................................................................... 45
Reporte X..................................................................................................................... 46
Reporte de Memoria por Rango de Reportes Z..................................................... 46
Reporte de Memoria por Rango de Fecha.............................................................. 47
Reporte Electrnico.................................................................................................... 48
COMANDOS NO FISCALES Y DE IMPRESIN ............................................................ 53
Abrir un Comprobante no Fiscal .............................................................................. 53
Cerrar un Comprobante no Fiscal ............................................................................ 54
Imprimir una Lnea no Fiscal .................................................................................... 54
Abrir la Gaveta ............................................................................................................ 55
Comunicacin con los Puertos Seriales 1 y 2......................................................... 56
Status de la Impresora Fiscal ................................................................................... 57
Versin de Firmware.................................................................................................. 58
COMANDOS DE IMPRESIN DE DOCUMENTOS ....................................................... 58
Seleccionar Estacin de Documentos...................................................................... 58
Enviar una Lnea a Estacin de Documentos......................................................... 59
IMPRESIN EN LA ESTACIN DE DOCUMENTOS .............................................. 61
APNDICE ..................................................................................................... 62
STATUS DE LA IMPRESORA FISCAL............................................................................ 62
TABLA DE VALIDACIN DE LOS COMANDOS POR ESTADOS................................. 64

iii

NDICE DE TABLAS
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla

1 Configuracin del puerto serial ............................................................................ 5


2 Estados de la Impresora Fiscal ............................................................................ 6
3 Status de Inicializacin.......................................................................................... 9
4 Status de Venta.................................................................................................... 10
5 Status de Impuesto ............................................................................................. 11
6 Status de la Impresora........................................................................................ 12
7 Status interno ....................................................................................................... 13
8 Status de Inicializacin 2 .................................................................................... 14
9 Status de Validacin ............................................................................................ 15
10 Status de la Impresora Fiscal........................................................................... 63
11 Tabla de Validacin de Comandos por Estados ............................................ 65
12 Definicin de los Estados.................................................................................. 66

NDICE DE FIGURAS
Figura 1 Parte posterior de la Impresora Fiscal .............................................................. 4

iv

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

INTRODUCCIN
El presente manual tiene como finalidad ofrecer al lector una referencia para
comenzar a usar la Impresora Fiscal, ya sea como programador o como usuario final.
Entre las cosas que el lector encontrar mas adelante se encuentra una descripcin
completa de la funcionalidad del controlador fiscal tanto a nivel operativo como tcnico.
Tambin se encontrarn todas las especificaciones necesarias para la configuracin
de la Impresora Fiscal y los diferentes comandos que hacen posible el funcionamiento de
la misma. Se tienen diversas posibilidades para programar dependiendo de la plataforma o
sistema operativo sobre el cual se encuentre la aplicacin de ventas. Las plataformas o
sistemas operativos soportados son WIN32, UNIX y prximamente LINUX, MS-DOS y
WIN16.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 1

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

EL CONTROLADOR FISCAL
El controlador fiscal es un dispositivo perifrico el cual tiene como finalidad la
emisin de comprobantes fiscales de ventas y el almacenamiento de los montos de las
mismas en una memoria fiscal.
La caracterstica ms resaltante que diferencia a la Impresora Fiscal de una
impresora de tickets comn es la comunicacin entre la computadora y la impresora. La
comunicacin con la Impresora Fiscal es mediante un set de comandos propios de Elepos
electrnica y puntos de venta, la Impresora Fiscal ejecutar o no la operacin
relacionada al comando segn las operaciones que se hayan realizado, en cambio a una
impresora comn se le debe mandar un comando de impresin con los caracteres que se
desean imprimir y lo realizar independientemente de las operaciones de venta o reporte
que se estn realizando y no permite almacenamiento de informacin en la memoria
fiscal.
Con la Impresora Fiscal se puede realizar venta de artculos o anulacin de los
mismos, descuento sobre artculos o sobre el total de la transaccin, notas de crdito,
reportes de ventas diarias o por periodos de tiempo, reportes fiscales, etc.
La Impresora Fiscal almacena la informacin de todas las transacciones efectuadas
en ella desde su instalacin. Permite llevar el registro de las ventas efectuadas en el
periodo de ventas en curso (reporte X), realiza el cierre de caja diario almacenando la
informacin en la memoria fiscal (reporte Z) y permite acceder a toda la informacin
almacenada en la memoria fiscal (reporte de memoria y reporte electrnico).
Todas las operaciones realizadas por la Impresora Fiscal se dividen o clasifican en
estados, logrando as mayores facilidades. Con esta modalidad los comandos a ejecutar
sern restringidos por el estado en que se encuentre la Impresora Fiscal.
La Impresora Fiscal comienza sus operaciones en un estado inicial (Estado de
Espera) en el que son vlidas todas las operaciones. Al encender la Impresora Fiscal se

imprimir un mensaje sealando que la Impresora Fiscal est operativa. Pero si al


encenderla se encuentra en un estado diferente al Estado de Espera, la Impresora Fiscal
efectuar los pasos necesarios para volver al Estado de Espera.

Si la Impresora Fiscal se encuentra en algunos de los estados de venta la


transaccin ser anulada, excepto si encuentra en el Estado de Fin de Venta donde el
comprobante ser finalizado. En cualquiera de los dos casos la Impresora Fiscal se coloca
en el Estado de Espera.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 2

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Si se encuentra un Comprobante no Fiscal abierto se cerrar volviendo al Estado de

Espera.

Si la bandera de reporte Z se encuentra activa, se imprimir el mensaje de


interrupcin de la energa y se volver a imprimir el reporte Z. Si est activa la bandera de
otro reporte, se procede a imprimir el mismo mensaje y se desactivan las banderas.
Si se encuentra en el Estado de Programacin volver al Estado de Espera. Pero si
se encuentra en el Estado de Error, se cancelar la operacin que estaba en curso (si
haba alguna) y se imprimir un mensaje de error con el status de la Impresora Fiscal. Se
mantendr en el mismo estado hasta que se solvente el problema.
El estado inicial de la Impresora Fiscal permite cualquier comando. Si se quiere
hacer un comprobante fiscal, se enva el comando de abrir ticket con lo cual se pasa a un
nuevo estado que permitir la venta de artculos, despus de enviar el comando de venta
se puede realizar el subtotal y la Impresora Fiscal pasa a un estado que slo permitir
comandos de pagos y de cierre del comprobante fiscal. Esta fue una descripcin a grandes
rasgos sobre los estados, hay mayor nmero de estados y tambin de posibles comandos
que sern explicados ms ampliamente en el prximo captulo.
Otra de las ventajas es la interaccin entre la Impresora Fiscal y la computadora.
Cada vez que se ejecuta un comando la Impresora Fiscal enva una seal booleana a la
computadora indicando si se ejecut satisfactoriamente el comando o si no se pudo
realizar.
La Impresora Fiscal ofrece al usuario informacin sobre el estado actual, los
posibles errores existentes y de las operaciones efectuadas, permitiendo al usuario tener
mayor control sobre la Impresora Fiscal y la pronta resolucin de los posibles problemas
como por ejemplo ausencia de papel. Esta informacin se obtiene solicitando el status de
la Impresora Fiscal.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 3

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

ESPECIFICACIONES GENERALES
DESCRIPCIN GENERAL

Velocidad de impresin de 300 cps


Compatible con sistemas Windows, UNIX y otros
Incluye manual del usuario y del programador
Puerto para manejar la gaveta
Puerto para manejar el visor
Interfaz serial RS-232

ESPECIFICACIONES ELCTRICAS
Voltaje de operacin

110 VAC

CONDICIONES AMBIENTALES
Temperatura
Humedad

0 50C
10 90%

PANEL DE CONEXIN DE LOS CABLES

Puertos
seriales
adicionales

Puerto
serial DB 9

Interruptor
de corriente

Conector de
alimentacin

Figura 1 Parte posterior de la Impresora Fiscal


En la parte posterior de la Impresora Fiscal se encuentra el interruptor de corriente
y los diferentes conectores.
Fecha de impresin 03/03/2006 09:32 AM

Pgina 4

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

La computadora debe ser conectada a la Impresora Fiscal a travs del puerto serial
DB9 mediante un cable serial.
Los otros dos puertos seriales se pueden utilizar para conectar visores u otros.
La Impresora Fiscal se conecta a la fuente de alimentacin AC a travs del
conector que se encuentra en la parte posterior de la Impresora.

CONFIGURACIN DEL PUERTO SERIAL


El puerto serial de comunicacin entre la Impresora Fiscal y la computadora se
debe ser configurado segn se muestra en la siguiente tabla:
Bits por segundo
Bits de datos
Paridad
Bits de parada
Control de flujo

9600
8
Ninguna
1
Xon/Xoff

Tabla 1 Configuracin del puerto serial

Fecha de impresin 03/03/2006 09:32 AM

Pgina 5

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

DEFINICIN DE ESTADOS
Como ya se ha mencionado las funcionalidades de la Impresora Fiscal estn
clasificadas por estados, cada una de las posibles operaciones a realizar son permitidas en
determinados estados. Estos estados sealan la etapa del proceso donde se encuentra la
Impresora Fiscal, ya sea realizando un comprobante fiscal o un reporte, etc.
El estado actual de la Impresora Fiscal se puede obtener al solicitar el Status,
siendo el octavo byte del mismo. El comando de solicitud de Status es vlido en cualquier
estado, inclusive en el estado de error.

La tabla 1 muestra los estados de la Impresora Fiscal y a continuacin se


presenta una breve descripcin de cada uno.
0
1
2
3
4
5
6
7
8
9
10

En Espera
Inicio Venta
Venta
Subtotal
Pago
Fin Venta
No Fiscal
Programacin
Error
Inicio Devolucin
Devolucin

Tabla 2 Estados de la Impresora Fiscal

Estado de Espera
Es el estado inicial de la Impresora Fiscal. En este estado la Impresora Fiscal se
encuentra lista que recibir los comandos de inicio de venta, de devolucin, de algn
reporte, de programacin (si se encuentra la inicio de un periodo de venta) o no fiscales.
Inicio de Venta
La Impresora Fiscal se coloca en este estado luego de abrir un Comprobante
Fiscal. Este estado permitir realizar ventas de artculos, anulaciones de los mismos,
descuentos sobre artculos vendidos o anular el Comprobante Fiscal.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 6

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Venta
El Estado de Venta permite realizar venta de artculos o anulacin de las mismas.
Permite pasar al Estado de subtotal o anular el comprobante y pasar al Estado de Espera.
Subtotal
La Impresora Fiscal pasa a este estado una vez realizado el subtotal y slo se
permitir realizar pagos.
Pago
Realizado algn pago la Impresora Fiscal se encuentra en el Estado de Pago en el
cual se permite realizar todos los pagos necesarios hasta completar el monto de la venta.
Tambin permite anular alguno de los pagos realizados.
Fin Venta
Este estado se activa cuando se est realizando el comando de cierre de
Comprobante Fiscal. Permite poder culminar el comprobante si ocurre interrupcin de la
energa antes de la finalizacin del comando antes mencionado.
No Fiscal
Al abrir un Comprobante no Fiscal la Impresora pasa al Estado No Fiscal, en el cual
permite imprimir lneas no fiscales y cerrar el Comprobante no Fiscal.
Programacin
Para accesar a este estado se debe estar al inicio de un periodo de ventas (el
ltimo comando realizado debe ser un reporte Z ya que el periodo de venta se inicia con
un reporte Z). Este estado permite realizar los comandos necesarios para programar la
Impresora Fiscal segn los requerimientos del usuario.
Error
La Impresora Fiscal pasa al Estado de Error cuando hay alguna condicin anormal
en la Impresora. Estas condiciones pueden ser memoria fiscal no conectada, fecha y hora
no vlidas o menor a la del ltimo reporte z efectuado. La Impresora saldr de este estado
cuando se resuelva la situacin de error y volver al estado en que se encontraba antes
del problema.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 7

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Inicio Devolucin
Al abrir un Comprobante Fiscal como Nota de Crdito la Impresora Fiscal pasa a
este estado en el cual permitir realizar devoluciones, anulaciones de las mismas o anular
el Comprobante Fiscal en curso.
Devolucin
El Estado de Devolucin permite realizar devoluciones o anulacin de las mismas
as como subtotalizar la transaccin.

DEFINICIN DEL STATUS


El status de la Impresora Fiscal indica las operaciones que se han realizado en la
misma, seala si se est efectuando un comprobante fiscal o un reporte o un
comprobante no fiscal, indica el estado en que se encuentra la Impresora y tambin los
posibles errores que puedan ocurrir.
El status consta de 8 bytes de informacin, cada bit representa una bandera que se
activa con 1 lgico y se desactiva con 0. Excepto el sptimo byte que representa es el
estado actual de la Impresora Fiscal.
Las banderas que representan operaciones relacionadas entre s son agrupadas en
el mismo byte. El status consta de los siguientes bytes: status de inicializacin, de venta,
de impuesto, de la impresora, internos, de inicializacin 2 y de validacin.
Los bytes del status se encuentran definidos en la memoria de trabajo con el fin de
recuperar el estado en el cual se encontraba el dispositivo antes de ocurrir algn tipo de
falla, por ejemplo interrupcin de la energa elctrica.
El bit cero de los bytes del status siempre tiene el valor 1, esto no se cumple para
el byte del Estado.
A continuacin se sealan cada una de las banderas pertenecientes a cada uno de
los bytes del status.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 8

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

STATUS DE INICIALIZACIN (CK_STI)


7
6
5
4
3
2
1
0

Inicializacin
Reservado
Reloj Detenido
Fecha Invlida
Lnea Header/Trailer invlida
Primera Inicializacin Realizada
-

Tabla 3 Status de Inicializacin

Inicializacin
- Fuera de Inicializacin = 0
- Dentro de Inicializacin = 1
Reloj Detenido
- Funcionamiento normal = 0
- Reloj detenido = 1
Fecha Invlida
- Fecha vlida = 0
- Fecha invlida = 1
Lnea Header/Trailer Invlida
- Lnea vlida = 0
- Lnea invlida = 1
Primera Inicializacin Realizada
- Sin realizar la primera inicializacin = 0
- Primera inicializacin realizada = 1

Fecha de impresin 03/03/2006 09:32 AM

Pgina 9

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

STATUS DE VENTA (CK_STV)


7
6
5
4
3
2
1
0

Comprobante Fiscal Abierto


Comando de Venta Efectuado
Subtotal Realizado
Anulacin de Pago
Comando de Pago Efectuado
Comprobante no Fiscal Abierto
Periodo de Ventas Empezado
Tabla 4 Status de Venta

Comprobante Fiscal Abierto


- No hay Comprobante Fiscal en curso = 0
- Comprobante Fiscal abierto = 1
Comando de Venta Efectuado
Indica si el comando de Venta o Anulacin de Venta se efectu.
- Artculo no vendido = 0
- Artculo vendido = 1
Subtotal Realizado
- Subtotal no realizado = 0
- Subtotal realizado = 1
Anulacin de Pago
- Otra operacin = 0
- Anulacin de pago = 1
Comando de Pago Efectuado
Indica si el comando de Pago o Anulacin de Pago se efectu.
- Pago no efectuado = 0
- Pago efectuado = 1
Fecha de impresin 03/03/2006 09:32 AM

Pgina 10

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Comprobante No Fiscal Abierto


- No hay Comprobante no Fiscal en curso = 0
- Comprobante no Fiscal abierto = 1
Periodo de Ventas Empezado
El periodo de ventas abarca desde la primera venta luego de un reporte Z hasta el
prximo reporte Z.
- Periodo nuevo = 0
- Periodo comenzado = 1

STATUS DE IMPUESTO (CK_IMP)


7
6
5
4
3
2
1
0

Reporte X
Anulacin de Artculo
Artculo Exento de Impuesto
Reporte Z
Tasa de Impuesto 3
Tasa de Impuesto 2
Tasa de Impuesto 1
Tabla 5 Status de Impuesto

Reporte X
- Otro reporte = 0
- Reporte X = 1
Anulacin de Artculo
- Otra operacin = 0
- Anulacin de artculo = 1
Artculo Exento de Impuesto
- Artculo no exento = 0
- Artculo exento = 1

Fecha de impresin 03/03/2006 09:32 AM

Pgina 11

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Reporte Z
- Otro reporte = 0
- Reporte Z = 1
Tasa de Impuesto 3
- Otro impuesto = 0
- Impuesto 3 = 1
Tasa de Impuesto 2
- Otro impuesto = 0
- Impuesto 2 = 1
Tasa de Impuesto 1
- Otro impuesto = 0
- Impuesto 1 = 1

STATUS DE LA IMPRESORA (CK_PRT)


7
6
5
4
3
2
1
0

Memoria ROM no Conectada


Memoria ROM Completa
Reservado
Impresora fuera de lnea
Impresora en Estado Desconocido
Tabla 6 Status de la Impresora

Memoria ROM no Conectada


- Memoria ROM conectada = 0
- Memoria ROM no conectada = 1
Memoria ROM Completa
- Espacio en la Memoria ROM = 0
- Memoria ROM sin capacidad = 1

Fecha de impresin 03/03/2006 09:32 AM

Pgina 12

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Impresora Fuera de Lnea

Puede deberse a que la impresora est apagada, la tapa est levantada o


que la impresora carezca de papel.
- Status recibido = 0
- Status no recibido = 1

Impresora en Estado Desconocido


Se activa cuando se recibe en el status de la impresora un valor diferente a los
conocidos.
- Estado conocido = 0
- Estado desconocido = 1

STATUS INTERNO (CK_INT)


7
6
5
4
3
2
1
0

Descuento sobre el Total


Descuento sobre un Artculo
Reporte de Memoria
Primer Artculo Vendido
Devolucin
Pago Parcial Realizado
Pago Completo Realizado
Tabla 7 Status interno

Descuento sobre el Total


- Otra operacin = 0
- Descuento sobre el total = 1
Descuento sobre un Artculo
- Otra operacin = 0
- Descuento sobre un artculo = 1
Reporte de Memoria
- En otra operacin = 0
- Realizando un Reporte de memoria = 1

Fecha de impresin 03/03/2006 09:32 AM

Pgina 13

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Primer Artculo Vendido


Indica si se ha vendido el primer artculo de una transaccin.
- Primer artculo sin vender = 0
- Primer artculo vendido = 1
Devolucin
- Devolucin no efectuada = 0
- Devolucin efectuada = 1
Pago Parcial Realizado
- No realizado un pago parcial = 0
- Realizado un pago parcial = 1
Pago Completo Realizado
- Pago completo no realizado = 0
- Pago completo realizado = 1

STATUS DE INICIALIZACIN 2 (CK_SI2)


7
6
5
4
3
2
1
0

Impuesto Incluido
Cerrando Ticket
Reservado
Reservado
Reservado
Reservado
Reservado
-

Tabla 8 Status de Inicializacin 2

Impuesto Incluido
Indica el mtodo de impuesto implementado en la impresora fiscal.
- Excluido = 0
- Incluido = 1
Cerrando Ticket
Indica que se est ejecutando el comando de cierre de ticket.
Fecha de impresin 03/03/2006 09:32 AM

Pgina 14

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

- En otra operacin = 0
- Cerrando ticket = 1

STATUS DE VALIDACIN (CK_VAL)


7
6
5
4
3
2
1
0

Reservado
Reservado
Reservado
Tabla 9 Status de Validacin

Fecha de impresin 03/03/2006 09:32 AM

Pgina 15

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

PROGRAMACIN
La Impresora Fiscal trabaja por medio de un set de comandos, cada uno de ellos
representa operaciones especficas en la Impresora Fiscal.
Los comandos son enviados a la Impresora Fiscal desde una computadora o host.
La comunicacin entre la Impresora Fiscal y la computadora se realiza serialmente.
La interfaz de manejo de los comandos se realiza a travs de una aplicacin (dll)
desarrollada en Visual C++ v 6.00. Est aplicacin consta de unas funciones bsicas que,
segn el cdigo del comando y los parmetros, permitirn realizar todas las operaciones
de la Impresora Fiscal.
Una vez que la Impresora Fiscal ha procesado el comando y efectuado las
operaciones correspondientes al mismo enva a la computadora una respuesta indicando si
ya se realiz satisfactoriamente o no.
Entre los posibles comandos de la Impresora Fiscal se encuentran los comandos de
programacin, los cuales estn relacionados con la configuracin interna de la Impresora
Fiscal, propia para cada usuario. Tambin estn los comandos de venta que son todos los
relacionados con un comprobante fiscal, ya sea normal, factura o nota de crdito. Luego,
los comandos de impresin de reporte permiten almacenar la informacin en la memoria
fiscal como tambin tener acceso a la informacin almacenada. Los comandos no fiscales
o de impresin permiten realizar comprobante no fiscales as como tambin solicitar el
Status de Impresora y obtener informacin sobre el modelo de la Impresora Fiscal.
En las siguientes pginas se desglosarn cada uno de los comandos, distribuidos
en grupo de comandos. En cada comando se especificar la estructura del comando y los
parmetros que involucra, as como las operaciones que requiere y las que realizar.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 16

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

FUNCIONES
A continuacin se presentan las funciones bsicas con las que se formarn los
comandos y las que permitirn la comunicacin con el puerto serial.
Versin del DLL
void msc_version (char * Parm1)

Descripcin

Devuelve la versin del DLL. Por ejemplo 1.01

Parmetros

Parm1

Cadena de caracteres pasada por referencia en la que se


devuelve la versin del DLL

Retorno de la funcin
No aplica.

Ejemplo

char ls_version[5]
msc_version (&ls_versin[0])

Abrir el Puerto Serial


__Int16 msc_openport (char * parm1)

Descripcin

Con esta funcin se abre el puerto serial de la computadora para habilitar la


comunicacin con la Impresora Fiscal y retorna un nmero que identifica al puerto.

Parmetros

parm1

Cadena de caracteres que contiene la identificacin del puerto


serial.

Retorno de la funcin

Retorna un entero de 16 bit, cuyo valor ser:


0 (Cero) indicando que hubo un error.
Mayor a 0 (Cero) indicando que fue exitoso y ese valor identifica al puerto.

Ejemplo

__int16 device;

Fecha de impresin 03/03/2006 09:32 AM

Pgina 17

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

device = msc_openport (COM1);


Cerrar el Puerto Serial
void msc_closeport (__int16 device)

Descripcin

Esta funcin permite cerrar el puerto serial deshabilitando as la comunicacin


entre la Impresora Fiscal y la computadora.

Parmetros

device

Entero de 16 bits que contiene el valor retornado por la


funcin msc_openport.

Retorno de la funcin

Esta funcin no devuelve ningn valor.

Ejemplo

msc_closeport(device);

Recepcin de Datos
__Int16 msc_read_serial (__int16 device, __int16 num_bytes, char *rx_buffer);

Descripcin

Recibe un nmero de caracteres (num_bytes) del puerto serial de la computadora,


identificado en device, y los coloca en rx_buffer.

Parmetros

device
num_bytes
rx_buffer

Valor retornado por msc_openport (entero de 16 bits).


Cantidad de bytes a leer (entero de 16 bits).
Cadena de caracteres por referencia donde se colocar la
cadena leda.

Retorno de la funcin

Retorna un entero de 16 bits con el nmero de bytes ledos efectivamente.


Si retorna 0 (Cero): Indica que hubo un error.
Si retorna diferente a 0 (Cero): Indica que fue exitoso y ese valor es el
nmero de bytes ledos.

Ejemplo

Para leer 1 byte:

Fecha de impresin 03/03/2006 09:32 AM

Pgina 18

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

__int16 retorno;
retorno = msc_read_serial (device, 1, &rx_buffer[0]);
Transmisin de Datos
__Int16 msc_write_serial (__int16 device, __int16 num_bytes, char *tx_buffer);

Descripcin

Con esta funcin se enva num_bytes caracteres de tx_buffer a travs del puerto
serial identificado en device.

Parmetros

Device
Num_bytes
tx_buffer

Valor retornado por msc_openport (entero de 16 bits).


Cantidad de bytes a leer (entero de 16 bits).
Cadena de caracteres que contiene los datos a enviar.

Ejemplo

Para leer 1 byte :


__int16 retorno;
retorno = msc_write_serial (device, 1, tx_buffer)

Retorno de la funcin

Esta funcin retorna un entero de 16 bits con el nmero de bytes enviados


efectivamente
Si retorna 0 (Cero): Indica que hubo un error.
Si retorna diferente a 0 (Cero): Indica que fue exitoso y ese valor es el
nmero de bytes enviados.
Impresin
__int16 msc_imprime (__int16 id_comando, char * parm1, char * parm2, char *
parm3, char * parm4, char * parm5,__int16 device, __int16 max_intentos, __int16 check,
char * status );

Descripcin

Permite enviar comandos de impresin a la Impresora Fiscal. Dependiendo del


valor de los parmetros enviados se ejecutan diferentes comandos con esta funcin.

Parmetros

id_comando

Argumento que identifica el comando que se desea ejecutar.


En la seccin del manual identificada como Set de Comandos

Fecha de impresin 03/03/2006 09:32 AM

Pgina 19

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

de Impresin se detallan todos los comandos posibles y los


parm1 al parm5

device
max_intentos
check
status

parmetros que reciben (entero de 16 bits).


Argumentos necesarios para ejecutar el comando identificado
en id_comando, pueden pasarse por referencia o no (cadena
de caracteres).
Los parmetros no requeridos pueden ser nulos ().
Identificador del dispositivo o puerto serial, es decir, el valor
que retorna la funcin msc_openport (entero de 16 bits).
Nmero mximo de reintentos al enviar un comando (entero
de 16 bits).
Reservado. Valor por defecto = 1
Cadena de caracteres pasada por referencia en el que se
almacenar el status de la impresora fiscal en caso de haber
un error. El status de la impresora est documentado en el
captulo Definicin del Status. En caso de no haber error,
este parmetro contiene el string 00000000. Si la impresora
no respondi, el status contendr el string 22222222.
Ambos casos son imposibles en un status vlido.

Ejemplo

Los ejemplos de este commando se encuentran en la seccin Set de Comandos


de Impresin de ste manual.

Retorno de la funcin

La funcin retorna un entero de 16 bits:


1 = Ejecucin satisfactoria
0 = Error

Transferencia de Datos
__int16 msc_dataio (__int16 id_comando, char * parm1, char * parm2, char * parm3,
char * parm4, char * parm5, __int16 device,__int16 max_intentos,__int16 check, char *
respuesta );

Descripcin

Permite enviar comandos de transferencia de datos a la Impresora Fiscal.


Dependiendo de los parmetros se ejecuta un comando diferente.

Parmetros

id_comando

Argumento que identifica el comando fiscal que se desea


ejecutar (entero de 16 bits). En la seccin del manual
identificada como Set de Comandos de Transferencia de

Fecha de impresin 03/03/2006 09:32 AM

Pgina 20

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

parm1 al parm5

device
max_intentos

check
status

Datos se detallan todos los comandos posibles y los


parmetros que reciben.
Argumentos necesarios para ejecutar el comando identificado
en id_comando, pueden pasarse por referencia o no (cadena
de caracteres).
Los parmetros no requeridos pueden ser nulos ().
Identificador del dispositivo o puerto serial, es decir, el valor
que retorna la funcin msc_openport (entero de 16 bits).
Nmero mximo de reintentos al enviar un comando.
Nmero mximo de reintentos al enviar un comando. En
ocasiones el mecanismo de impresin puede estar ocupado
aunque no se est imprimiendo nada en ese momento. Otras
veces ocurre que el controlador fiscal est ocupado con algn
procedimiento interno. En esas ocasiones, el controlador
fiscal rechazar cualquier comando. Esto ocurre en intervalos
muy cortos de tiempo (milisegundos), pero puede coincidir
con el instante en que se desea ejecutar un comando y es
por eso que el DLL reintenta los comandos hasta
max_intentos veces (entero de 16 bits).
Reservado. Este parmetro es ignorado.
Cadena de caracteres pasada por referencia en el que se
almacenar el status de la impresora fiscal en caso de haber
un error. El status de la impresora est documentado en el
captulo Definicin del Status. En caso de no haber error,
este parmetro contiene el string 00000000. Si la impresora
no respondi, el status contendr el string 22222222.
Ambos casos son imposibles en un status vlido.

Ejemplo

Los ejemplos de este commando se encuentran en la seccin Set de Comandos


de Transferencia de Datos de ste manual.

Retorno de la funcin

La funcin retorna un entero de 16 bits


1 = Ejecucin satisfactoria.
0 = Error.

Configuracin
__int16 msc_setup (__int16 id_comando, char * parm1, char * parm2, char * parm3,
char * parm4, char * parm5, __int16 device,__int16 max_intentos,__int16 check, char *
status )

Fecha de impresin 03/03/2006 09:32 AM

Pgina 21

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Descripcin

Permite enviar comandos de configuracin a la Impresora Fiscal. Dependiendo de


los parmetros se ejecuta un comando diferente sobre la Impresora Fiscal.

Parmetros

id_comando
parm1 al parm5

device
max_intentos

check
status

Argumento que identifica el comando fiscal que se desea


ejecutar (entero de 16 bits).
Argumentos necesarios para ejecutar el comando identificado
en id_comando, pueden pasarse por referencia o no (cadena
de caracteres).
Los parmetros no requeridos pueden ser nulos ()
Identificador del puerto serial. Valor retornado por la funcin
msc_openport (entero de 16 bits).
Nmero mximo de reintentos al enviar un comando. En
ocasiones el mecanismo de impresin puede estar ocupado
aunque no se est imprimiendo nada en ese momento. Otras
veces ocurre que el controlador fiscal est ocupado con algn
procedimiento interno. En esas ocasiones, el controlador
fiscal rechazar cualquier comando. Esto ocurre en intervalos
muy cortos de tiempo (milisegundos), pero puede coincidir
con el instante en que se desea ejecutar un comando y es
por eso que el DLL reintenta los comandos hasta
max_intentos veces (entero de 16 bits).
Reservado. Este parmetro es ignorado
Cadena de caracteres pasada por referencia en el que se
almacenar el status de la impresora fiscal en caso de haber
un error. El status de la impresora est documentado en el
captulo Definicin del Status. En caso de no haber error,
este parmetro contiene el string 00000000. Si la impresora
no respondi, el status contendr el string 22222222.
Ambos casos son imposibles en un status vlido.

Retorno de la funcin

Retorna un valor booleano


1 = Ejecucin satisfactoria.
0 = Error.

Conversin
void BitToByte (char * parm1, char * parm2)

Descripcin

Fecha de impresin 03/03/2006 09:32 AM

Pgina 22

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Convierte el string parm1 de n bytes de longitud en otro parm2 de n x 8 bytes de


longitud, donde cada byte del destino equivale a 1 bit del orgen. Si el bit n del origen est
encendido (1), el byte n del destino contendr el carcter 1 (0x31h). Si el bit n del origen
est apagado(0), el byte n del destino contendr el carcter 0 (0x30h).

Parmetros

parm1
parm2

Ejemplo

Origen (cadena de caracteres).


Destino (cadena de caracteres pasada por referencia).

char ls_origen[2];
//Se debe declarar un carcter ms para el terminador
nulo
char ls_destino[9]; //Se debe declarar un carcter ms para el terminador
nulo
ls_origen [0] = 0x01010101b //Dgito binario correspondiente al nmero
85 decimal
BitToByte (ls_origen, &ls_destino[0]);
Luego de ejecutar la funcin, ls_destino contendr la cadena:
ls_destino = 01010101

Retorno de la funcin
No aplica.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 23

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

COMANDOS DE PROGRAMACIN
Para tener acceso a los comandos de programacin la Impresora Fiscal debe estar
en Estado de Programacin. A este estado se accede con el comando "Inicializacin de la
Impresora Fiscal" validado con una clave.
Adicionalmente, para entrar en Estado de Programacin la Impresora Fiscal debe
estar al inicio de un periodo de ventas, es decir, despus de un cierre de caja (reporte Z).
Con los comandos de Programacin pueden realizarse modificaciones de fecha,
hora, tasas de impuesto, etc.
Mientras se est en el Estado de Programacin no se puede realizar ninguna
operacin relacionada con otro grupo de comandos que no sean los comandos de
programacin. Con el comando "Salir de Inicializacin" se vuelve al Estado de Espera.
Para realizar estos comandos se utiliza la funcin de Configuracin y de

Transferencia de datos.

Inicializacin de la Impresora Fiscal

Descripcin

Este comando concede validez a los dems comandos de programacin, los cuales
pueden modificar los parmetros de la Impresora Fiscal.
El comando se valida con una clave de 8 caracteres.

Parmetros

id_comando
parm1

1
String de 8 caracteres con la clave.

Ejemplo

__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_setup (1, 00000000, , , , , device, 1, 1, &status[0]);

Pasos

1. Chequea si la impresora se encuentra en Estado de Espera, de no ser


afirmativo enva error.
2. Chequea si se est al inicio de un periodo de ventas, si se ha comenzado un
periodo de ventas enva error.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 24

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

3. Chequea que el nmero de Comprobantes no Fiscales sea cero, sino enva


error.
4. Chequea la clave enviada en el comando.
a. Si es correcta la Impresora Fiscal pasa al Estado de Programacin.
b. Si no es correcta enva una seal de error.

Banderas

Chequea la bandera
Modifica la bandera
Estado permitido
Estado actual

Periodo de Ventas Empezado (desactivado)


Inicializacin
Espera
Programacin

Modificar la Fecha y Hora

Descripcin

Con este comando se modifica la fecha y la hora del dispositivo fiscal. Slo permite
adelantar la fecha y la hora respecto a la del ltimo reporte Z realizado.
En la estructura del comando no se debe colocar ningn separador en la fecha ni
en la hora. La hora se coloca en modo de 24 horas.
Este comando es permitido en Estado de Programacin y en Estado de Error ( slo
si hubo algn problema con el reloj de la Impresora Fiscal).

Parmetros

id_comando
parm1

Ejemplo

3
String de 12 caracteres
DDMMAAAAHHMM

con

el

siguiente

formato

Para cambiar la fecha y la hora a: 6 de Julio del 2000 a las 3:45pm se debe enviar
la siguiente trama:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_dataio (3, 060720001545 , , , , , device, 1, 1,
&status[0]);

Pasos

1. Chequea si el estado actual es Programacin o Error.


2. Chequea si la fecha y hora es mayor o igual a la del ltimo reporte Z, sino
enva error (fecha no vlida).
3. Cambia la fecha y la hora por la especificada en el comando.

Banderas

Modifica la bandera

Fecha invlida

Fecha de impresin 03/03/2006 09:32 AM

Pgina 25

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Estado permitido

Programacin
Error
Programacin
Edo. donde se encontraba antes del error

Estado actual

Grabar el Descriptor del Organismo de Hacienda y el RIF

Descripcin

Con este comando se graba en la memoria de trabajo el Descriptor del Organismo


de Hacienda (DOH) y el nmero de RIF. Si el nmero de caracteres del DOH o del RIF no
llega a 10 o a 15 respectivamente, deben ser completados con espacios en blanco (0x20).

Parmetros

id_comando
parm1
parm2

8
DOH. Cadena de caracteres. 10 caracteres en formato ASCII.
RIF. Cadena de caracteres. 15 caracteres en formato ASCII
alineados a la izquierda.

Ejemplo

Si se desea grabar el DOH = SENIAT y el RIF = J-0000000000, se debe enviar el


siguiente comando:

SENIAT
RIF. J0000000000
__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno =msc_setup (8, SENIAT , J-0000000000 , , , , device, 1, 1,
&status[0]);

Pasos

1. Guarda el DOH y el RIF en las direcciones ya preestablecidas de la memoria de


trabajo.

Banderas

Estado permitido
Estado actual

Programacin
Programacin

Grabar una Lnea de Header

Fecha de impresin 03/03/2006 09:32 AM

Pgina 26

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Descripcin

Graba una lnea de Header en la memoria de la impresora. Pueden grabarse hasta


6 lneas de header. Dichas lneas aparecern en los tickets justo despus del RIF. Al final
de la ltima lnea que se desee grabar, se deben colocar 3 caracteres punto y coma ( ; )
para indicar el fin. Segn requerimiento del SENIAT en Venezuela, en el header se debe
colocar la direccin fiscal del establecimiento. Cualquier otra informacin que se desee
colocar debe estar despus de la direccin fiscal.

Parmetros

id_comando 2
parm1
parm2

Nmero de lnea a grabar en formato ASCII.


Cadena de caracteres. 40 caracteres en formato ASCII.

Ejemplo

Si se desea que en el ticket aparezca el siguiente encabezado, se deben enviar los


siguientes comandos

SENIAT
RIF. J0000000000
ABC c.a.

2 lneas de Header

Edificio ABC, Av. 1, Caracas


Lnea de header 1:
__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_setup (2, 1,
ABC c.a.
, , , , device ,
1, 1, &status[0]);
Lnea de header 2:
retorno = msc_setup (2, 2 ,
device , 1, 1, &status[0]);

Pasos

Edificio ABC, Av. 1, Caracas

;;; , , , ,

1. Chequea si se trata de un nmero de lnea vlido.


2. Si es as, almacena el texto en la lnea correspondiente.
3. Si no enva un mensaje de error.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Lnea Header/Trailer Invlida


Programacin
Programacin

Fecha de impresin 03/03/2006 09:32 AM

Pgina 27

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Grabar una Lnea de Trailer

Descripcin

Graba una lnea de Trailer en la memoria de la impresora. Pueden grabarse hasta 6


lneas de trailer. Dichas lneas aparecern en los tickets justo despus de los pagos y
antes de la palabra Total. Al final de la ltima lnea que se desee grabar, se deben colocar
3 caracteres punto y coma ( ; ) para indicar el fin.

Parmetros

id_comando
parm1
Parm2

3
Nmero de lnea a grabar. Formato ASCII.
Cadena de caracteres. 40 caracteres en formato ASCII.

Ejemplo

Si se desea que en el ticket aparezca el siguiente trailer, se deben enviar los


siguientes comandos:

Efectivo

900,00

Gracias por su compra

2 lneas de Trailer

Vuelva pronto!
TOTAL

Bs. 900,00

Lnea de trailer 1:
__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_setup (3, 1,
Gracias por su compra
, , , ,
device, 1, 1, &status[0]);
Lnea de trailer 2:
retorno = msc_setup (3, 2,
device, 1, 1, &status[0]);

Pasos

Vuelva pronto!

;;;, , , ,

1. Chequea si se trata de una lnea de Trailer vlida.


2. Si es as, almacena el texto en la lnea correspondiente.
3. Si no enva un mensaje de error.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Lnea Header/Trailer Invlida


Programacin
Programacin

Fecha de impresin 03/03/2006 09:32 AM

Pgina 28

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Grabar las Tasas de Impuesto

Descripcin

Permite guardar hasta 3 tasas de impuesto diferentes. Las tasas siempre deben
tener dos decimales (aunque el valor de la tasa sea cero) sin importar el nmero de
decimales con que est trabajando la impresora fiscal.
Siempre se deben enviar las tres tasas de impuesto en el comando, sin ninguna
separacin entre ellas.

Parmetros

id_comando 4
parm1
parm2
parm3

Tasa de impuesto 1. Cuatro caracteres en formato ASCII.


Tasa de impuesto 2. Cuatro caracteres en formato ASCII.
Tasa de impuesto 3. Cuatro caracteres en formato ASCII.

Ejemplo

Para colocar las tasas 14,50%, 8,00% y 0,00% se debe enviar el siguiente
comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_setup (4, 1450, 0800, 0000, , , device, 1, 1, &status[0]);

Pasos

1. Modifica las tasas de Impuesto.

Banderas

Estado permitido
Estado actual

Programacin
Programacin

Modificar la Moneda y el Nmero de Decimales

Descripcin

Este comando permite cambiar la mscara decimal y el descriptor de la moneda.


Los campos del descriptor y de la abreviacin deben completarse con espacios en blanco
(0x20) si no alcanzan los 10 o 3 caracteres respectivamente.

Parmetros

id_comando 5
parm1
parm2

Nmero de decimales. 1 caracter en formato ASCII.


Descriptor de la moneda. 10 caracteres en formato ASCII.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 29

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

parm3

Abreviacin de la moneda. 3 caracteres en formato ASCII.

Ejemplo

Para establecer el uso de 2 decimales, la moneda en Bolvares y la abreviacin en

Bs..
__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_setup (5, 2,Bolvares , Bs., , , device, 1, 1, &status[0]);

Pasos

1. Modifica el nmero de decimales y el descriptor de la moneda.

Banderas

Estado permitido
Estado actual

Programacin
Programacin

Cambiar la Clave de Programacin

Descripcin

Modifica la clave mediante la cual se accede al modo de Programacin de la


Impresora Fiscal. La clave tiene 8 caracteres.

Parmetros

id_comando
parm1

6
Nueva clave. 8 caracteres en formato ASCII.

Ejemplo

Para establecer la nueva clave en HOLAHOLA se debe enviar:


__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_setup (6, HOLAHOLA, , , , , device, 1, 1, &status[0]);

Pasos

1. Guarda la nueva clave en la memoria de trabajo.

Banderas

Estado permitido
Estado actual

Fecha de impresin 03/03/2006 09:32 AM

Programacin
Programacin

Pgina 30

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Salir de Inicializacin

Descripcin

Este comando permite salir del modo de Programacin. La Impresora Fiscal pasa al

Estado de Espera.
Parmetros

id_comando 7

Ejemplo

__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_setup (7, ,, , , , device, 1, 1, &status[0]);

Pasos

1. Desactiva bandera de Inicializacin.


2. Pasa al Estado de Espera.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Inicializacin (desactivada)
Programacin
Espera

COMANDOS DE VENTA
Los comandos de venta son los comandos referentes al Comprobante Fiscal, ya sea
normal, factura o nota de crdito. Se accede a estos comandos cuando se abre un
Comprobante Fiscal y slo se puede salir de los mismos cuando se anula el Comprobante
Fiscal o cuando este se cierra (verificando previamente que el vuelto de la transaccin sea
mayor o igual).
Luego de realizadas algunas ventas o devoluciones (segn si se abri un
comprobante normal o una nota de crdito) y ejecutado el comando de subtotal no se
puede realizar ninguna otra venta o devolucin. Despus de la realizacin de un pago slo
se puede realizar otro pago, anulacin de pago o cierre del Comprobante Fiscal.
La Impresora Fiscal permite imprimir cualquier palabra excluyendo la palabra
TOTAL (en minscula o en mayscula).
Estos comandos utilizan la funcin de Impresin.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 31

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Abrir un Comprobante Fiscal

Descripcin

Permite la apertura de un nuevo comprobante fiscal. Imprime el descriptor del


organismo de hacienda, el nmero de RIF y los Headers. No se puede permitir abrir un
nuevo comprobante fiscal estando uno abierto.

Parmetros

Id_comando 1
parm1

Ejemplo

Indica el tipo de comprobante fiscal, puede tomar los


siguientes valores
0
Comprobante fiscal
1
Factura
2
Nota de Crdito

Para abrir un comprobante fiscal se debe enviar la siguiente trama:


__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_imprime (1, 0, , , , , device, 1, 1, &status[0]);

Pasos

1. Verifica que se encuentre en Estado de Espera, en otro estado enva error.


2. Imprime el DOH, el RIF y los Headers, y activa la bandera de Comprobante
Fiscal Abierto.
3. Incrementa el contador de comprobantes fiscales diarios y de por vida.
4. Se coloca en Estado de Inicio de Venta o Inicio de Devolucin segn lo
especificado en el parmetro parm1.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Comprobante Fiscal Abierto (activa)


Espera
Inicio de Venta o
Inicio de Devolucin

Abrir comprobante fiscal y retornar el nmero del comprobante abierto

Descripcin:

Abre un comprobante fiscal. Se imprime el encabezado almacenado en la


Impresora Fiscal, y se incrementa el contador de comprobantes fiscales.

Parmetros:
Fecha de impresin 03/03/2006 09:32 AM

Pgina 32

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

parm1

parm1

Id_comando =
34
=
Indica el tipo de comprobante fiscal, puede tomar los
siguientes valores:
0
Comprobante fiscal
1
Factura
2
Nota de Crdito
=
Indica si se desea recibir el nmero de comprobante:
&
Si
0xFF No

Retorna:
En la variable pasada por referencia status se retornar la data que retorne la
impresora.
El formato ser el siguiente:
<STX>Nmero en formato ASCII<ETX><ACK>

Ejemplo:
//Para abrir un Comprobante fiscal y retornar el nmero
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime(1, 0 ,& , , , , device , 1, 1, &status[0]);
Si el comprobante recin abierto fuese el nmero 143, la variable status
contendra la siguiente cadena:
<STX>143<ETX><ACK>
O sea, 6 bytes incluyendo el ACK.
Venta de Artculo

Descripcin

Este comando permite realizar la venta de un artculo. Calcula el impuesto del


artculo y suma el precio y el impuesto asociado a los acumulados diarios.

Parmetros

id_comando 2
parm1

Descripcin del artculo. Longitud de 20 caracteres (de no


tener esta longitud, debe ser completada con espacios en
blanco)

Fecha de impresin 03/03/2006 09:32 AM

Pgina 33

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

parm2

parm3

Campo del precio del artculo con longitud de 10 caracteres.


El precio se debe enviar en formato ASCII (caracteres), sin
separador de decimales y con el nmero de decimales
correspondiente al modo de operacin seleccionado al
inicializar la impresora fiscal.
Impuesto. Longitud de 1 carcter
0= Exento
1= Impuesto 1
2= Impuesto 2
3= Impuesto 3

Ejemplo

Para vender un artculo (Artculo de prueba) con precio de Bs. 1500,00 y exento
de impuesto se debe enviar el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (2, Articulo de prueba , 150000, 0, , , device,
1, 1, &status[0]);

Pasos

1. Chequea que se encuentre en Estado de Inicio de Venta o en Estado de Venta,


en otro estado enva error.
2. Imprime la descripcin, el precio y el tipo de impuesto.
3. Calcula el impuesto (si se trabaja con impuesto incluido).
4. Suma a los acumulados.
5. Activa bandera de Comando Venta Efectuado y Primer Artculo Vendido.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Comando Venta Efectuado (activa)


Primer Artculo Vendido (activa)
Inicio de Venta
Venta
Venta

Anulacin de Artculo

Descripcin

Este comando permite realizar la anulacin de una venta realizada.


Calcula el impuesto del artculo y resta el precio y el impuesto asociado a los
acumulados diarios.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 34

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Parmetros

id_comando 3
parm1
parm2
parm3

Descripcin. Longitud de 20 caracteres


Precio con una longitud de 8 caracteres en formato ASCII.
Tipo de impuesto, con una longitud de 1 carcter.

Ejemplo

Para anular un artculo por un monto de Bs. 1000,00 asociados al impuesto 1 se


debe enviar el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (3, Artculo anulado , 100000, 1, , , device, 1,
1, &status[0]);

Pasos

1. Chequea que se encuentre en Estado de Inicio de Venta o en Estado de Venta,


en otro estado enva error.
2. Imprime la descripcin, el precio y el tipo de impuesto.
3. Calcula el impuesto (si se trabaja con impuesto incluido).
4. Chequea si se realiz la venta.
5. Resta a los acumulados.
6. Activa la bandera de Anulacin de Artculo.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Comando Venta Efectuado (activa)


Anulacin de Artculo (activa)
Inicio de Venta
Venta
Venta

Subtotal

Descripcin

Con este comando la Impresora Fiscal calcula el subtotal de las ventas realizadas
hasta el momento, para lo cual revisa si se ha efectuado alguna venta. Si la bandera de
Pago est activa no realiza esta operacin. Guarda los acumulados en la memoria de
trabajo. Imprime el subtotal tanto de venta como de impuesto y la suma de ambos.

Parmetros

id_comando 20

Ejemplo

__int16 retorno;

Fecha de impresin 03/03/2006 09:32 AM

Pgina 35

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_imprime (20, , , , , , device, 1, 1, &status[0]);

Pasos

1. Chequea si se encuentra en Estado de Venta, en otro estado no es vlido este


comando.
2. Suma los acumulados de ventas y de impuestos para obtener el total de la
venta.
3. Si el mtodo de impuesto es excluido, se calcula el impuesto del total de venta.
4. Guarda los acumulados en la memoria de trabajo.
5. Imprime el subtotal de venta y de impuesto y el total de la transaccin.
6. Activa la bandera de Subtotal y se coloca en el Estado Subtotal.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Subtotal (activa)
Venta
Subtotal

Pago

Descripcin

Al ejecutar este comando se imprime el tipo de pago a efectuar y el monto del


mismo y se resta al subtotal de la transaccin el monto del pago.
El monto del pago debe colocarse de la misma forma explicada para el precio del
artculo, igualmente la descripcin del pago debe ser de 20 caracteres.
Se activa la bandera de Comando Pago Efectuado y se coloca en Estado de Pago.

Parmetros

id_comando 22
parm1
parm2

Monto con una longitud de 8 caracteres


Descripcin con una longitud de 20 caracteres (forma de
pago)

Ejemplo

Para realizar un pago en efectivo por un monto de Bs. 1000,00, se debe enviar el
siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (22, 100000 ,Efectivo
, , , , device, 1,
1, &status[0]);

Fecha de impresin 03/03/2006 09:32 AM

Pgina 36

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Pasos

1. Chequea si se encuentra en Estado de Subtotal o en Estado de Pago, en otro


estado enva error.
2. Chequea si no se ha realizado un pago completo.
3. Imprime el tipo de pago y monto.
4. Activa la bandera de Comando Pago Efectuado.
5. Resta al subtotal el monto a pagar.
6. Activa la bandera de Pago Parcial Realizado o Pago Completo Realizado segn
sea el caso.

Banderas

Chequea la bandera
Modifica la bandera
Estado permitido
Estado actual

Pago Completo Realizado (desactivada)


Comando Pago Efectuado
Pago Parcial Realizado (activa)
Pago Completo Realizado (activa)
Subtotal
Pago
Pago

Anulacin de Pago

Descripcin

Este comando permite anular un pago efectuado. No se puede realizar despus de


efectuar un pago completo.

Parmetros

id_comando 23
parm1
parm2

Monto con una longitud de 8 caracteres


Descripcin con una longitud de 20 caracteres (forma de
pago)

Ejemplo

Para anular un pago en efectivo por un monto de Bs. 1000,00, se debe enviar el
siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (23, 100000, Efectivo
, , , , device, 1, 1,
&status[0]);

Pasos

1. Chequea si se encuentra en Estado de Subtotal o en Estado de Pago, en otro


estado enva error.
2. Chequea si no se ha realizado un pago completo.
Fecha de impresin 03/03/2006 09:32 AM

Pgina 37

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

3.
4.
5.
6.
7.

Imprime el tipo de pago y monto.


Activa la bandera de Comando Pago Efectuado.
Chequea si se realiz un pago parcial.
Suma el monto de la anulacin si la suma no es mayor al monto de la venta.
Activa la bandera de Anulacin de Pago (si al terminar el comando no ha
habido algn error la desactiva).

Banderas

Chequea la bandera
Modifica la bandera
Estado permitido
Estado actual

Pago Completo Realizado (desactivada)


Pago Parcial Realizado (activada)
Comando Pago Efectuado
Anulacin de Pago (activa)
Pago
Pago

Cancelar un Comprobante Fiscal

Descripcin

Este comando anula el comprobante fiscal en curso, limpia los totales de la


transaccin y reinicializa las banderas de venta. Slo se puede realizar antes de hacer
subtotal.

Parmetros

id_comando 9

Ejemplo

Para anular un comprobante fiscal se debe enviar la siguiente trama:


__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (9, , , , , , device, 1, 1, &status[0]);

Pasos

1. Chequea que se encuentre en Estado de Inicio de Venta o Venta, o en Inicio de


Devolucin o Devolucin.
2. Limpia los totales de la transaccin.
3. Reinicializa las banderas de venta.
4. Incrementa los contadores de Comprobante Fiscal Anulados (los contadores de
comprobantes fiscales diarios y de por vida se quedan incrementados).
5. Se coloca en Estado de Espera.

Banderas

Modifica la bandera

Comprobante Fiscal Abierto (desactiva)

Fecha de impresin 03/03/2006 09:32 AM

Pgina 38

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Estado permitido

Estado actual

Primer Artculo Vendido (desactiva)


Inicio de Venta
Venta
Inicio de Devolucin
Devolucin
Espera

Cerrar un Comprobante Fiscal

Descripcin

Con este comando se cierra el comprobante fiscal en curso si se ha realizado un


pago completo. Imprime el total de la transaccin y guarda el mismo en la memoria de
trabajo. Tambin imprime el logotipo fiscal y el serial de la Impresora Fiscal. Borra los
totales por transaccin.
Mientras se realiza el comando se encuentra en Estado de Fin de Venta, al finalizar
se coloca en el Estado de Espera.

Parmetros

id_comando 24

Ejemplo

Para cerrar un comprobante fiscal se debe enviar la siguiente trama:


__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (24, , , , , , device, 1, 1, &status[0]);

Pasos

1. Chequea que se encuentre en el Estado de Pago y se haya efectuado el pago


completo.
2. Imprime el total de la transaccin.
3. Guarda el total en la memoria de trabajo.
4. Limpia los totales y las banderas de venta.
5. Imprime el logotipo del DOH y el serial de la Impresora Fiscal.

Banderas

Chequea la bandera
Modifica la bandera

Estado permitido
Estado actual

Pago Completo Realizado (activada)


Comprobante Fiscal Abierto (desactiva)
Primer Artculo Vendido (desactiva)
Subtotal Realizado (desactiva)
Pago Parcial Realizado (desactiva)
Pago Completo Realizado (desactiva)
Pago
Espera

Fecha de impresin 03/03/2006 09:32 AM

Pgina 39

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Devolucin de Artculo

Descripcin

Para aceptar el comando de devolucin se debi abrir el comprobante fiscal en


modo de devolucin (ver Abrir Comprobante Fiscal).
Los parmetros de Descripcin, Precio e Impuesto cumplen con las mismas
especificaciones que para la venta de un artculo.

Parmetros

id_comando 4
parm1
parm2
parm3

Descripcin. String de 20 caracteres


Precio. String de 8 caracteres
Impuesto. String de 1 carcter

Ejemplo

Para devolver un artculo (Artculo de prueba) con precio de Bs. 1500,00 y exento
de impuesto se debe enviar el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (4, Articulo de prueba , 150000, 0, , , device,
1, 1 , &status[0]);

Pasos

1. Chequea que se encuentre en Estado de Inicio de Devolucin o Estado de

devolucin.

2. Realiza la devolucin.
3. Activa la bandera de Devolucin.
4. Se coloca en el Estado de Devolucin.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Devolucin
Inicio de Devolucin
Devolucin
Devolucin

Anulacin de la Devolucin de un Artculo

Descripcin

Fecha de impresin 03/03/2006 09:32 AM

Pgina 40

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Permite realizar anular la devolucin de un artculo. Los parmetros de Descripcin,


Precio e Impuesto cumplen con las mismas especificaciones que para la venta de un

artculo.

Parmetros

id_comando 5
parm1
parm2
parm3

Descripcin. String de 20 caracteres


Precio. String de 8 caracteres
Impuesto. String de 1 carcter

Ejemplo

Para anular la devolucin de un artculo (Artculo de prueba) con precio de Bs.


1500,00, exento de impuesto se debe enviar el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (5, Articulo de prueba , 150000, 0, , , device,
1, 1, &status[0]);

Pasos

1. Chequea que se encuentre en Estado de devolucin.


2. Chequea que se haya realizado una devolucin y realiza la anulacin.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Devolucin
Devolucin
Devolucin

Descuento sobre Artculo

Descripcin

Permite realizar descuento sobre un artculo ya vendido o anulacin de un


descuento ya realizado.
El parmetro de Descripcin debe tener 20 caracteres (se puede completar con
espacios en blanco). Los parmetros de Monto e Impuesto se comportan igual que en el
comando de venta.

Parmetros

id_comando 6
parm1
parm2
parm3
parm4

Nulo
Descripcin. String de 20 caracteres
Monto. String de 10 caracteres
Impuesto. String de 1 carcter

Fecha de impresin 03/03/2006 09:32 AM

Pgina 41

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Ejemplo

Para realizar un descuento asociado a un artculo exento por un monto de Bs.


1500,00 se debe enviar el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (6, , Descuento
, 150000, 0, , device, 1,
1, &status[0])

Pasos

1. Chequea que se encuentre en Estado de Venta o en Estado de Devolucin, en


otro estado enva error.
2. Chequea que se haya efectuado una venta mayor o igual al descuento.
3. Activa la bandera de Descuento sobre Artculo.
4. Realiza el descuento.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Descuento sobre Artculo (activa)


Venta
Venta

Anulacin de Descuento sobre Artculo

Descripcin

Permite realizar anular un descuento ya realizado.


El parmetro de Descripcin debe tener 20 caracteres (se puede completar con
espacios en blanco). Los parmetros de Monto e Impuesto se comportan igual que en el
comando de venta.

Parmetros

id_comando 7
parm1
parm2
parm3

Descripcin. String de 20 caracteres


Monto. String de 10 caracteres
Impuesto. String de 1 carcter

Ejemplo

Para realizar una anulacin de descuento asociado a un artculo exento por un


monto de Bs. 1500,00 se debe enviar el siguiente comando
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo

Fecha de impresin 03/03/2006 09:32 AM

Pgina 42

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

retorno = msc_imprime (7, Anulacin Descuento , 150000, 0, , , device,


1, 1, &status[0]);

Pasos

1. Chequea que se encuentre en Estado de Venta o en Estado de Devolucin, en


otro estado enva error.
2. Chequea que se haya efectuado un descuento.
3. Realiza la anulacin.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Descuento sobre Artculo (activa)


Venta
Venta

Descuento sobre Total

Descripcin

Permite realizar un descuento sobre el total de la transaccin. Despus de este


comando no se podr realizar otra venta o anulacin.
Los parmetros de Monto se comportan igual que en el comando de venta, y
contienen el monto del descuento de cada acumulado: exento, venta con impuesto 1,
venta con impuesto 2 y venta con impuesto 3. Si alguno de los montos es cero, de igual
manera se deben enviar los 12 caracteres con ceros.

Parmetros

id_comando
parm1
parm2
parm3

parm4
parm5

Ejemplo

8
Descripcin del descuento. String de 20 caracteres
Monto a descontar de total exento. String de 12 caracteres.
Monto a descontar de total impuesto 1. String de 12
caracteres.
Monto a descontar de total impuesto 2. String de 12
caracteres.
Monto a descontar de total impuesto 3. String de 12
caracteres.

Para realizar un descuento de Bs. 1000,00 asociados al impuesto 1 se debe enviar


el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (8, Descuento Total
, 0, 100000, 0, 0,
device, 1, 1, &status[0]);

Fecha de impresin 03/03/2006 09:32 AM

Pgina 43

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Pasos

1. Chequea que se encuentre en Estado de Venta, en otro estado enva error.


2. Chequea que se haya efectuado una venta mayor o igual al descuento.
3. Realiza el descuento resta a los acumulados.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Descuento sobre Total (activa)


Venta
Venta

Imprimir una Lnea no Fiscal


(Ver Comandos no Fiscales)
Avance de Lnea
(Ver Comandos no Fiscales)
Reset-Power-On

Descripcin:

Ejecuta el ciclo de encendido de la impresora. Es exactamente igual a apagarla y


prenderla utilizando el interruptor de corriente.

Parmetros:
id_comando

98

Ejemplo:

__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (99, , , , , , device , 1, 1, &status[0]);

Solicitar actualizacin del Status

Descripcin:

Actualiza el status interno de la impresora fiscal.

Parmetros:
id_comando

99

Ejemplo:
Fecha de impresin 03/03/2006 09:32 AM

Pgina 44

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (99, , , , , , device , 1, 1, &status[0]);

COMANDOS DE IMPRESIN DE REPORTES


Mediante estos comandos se lleva el control de las ventas efectuadas por la
Impresora Fiscal durante un periodo de tiempo. Los mismos permiten almacenar los
acumulados en la memoria fiscal as como imprimir reportes informativos de las ventas
realizadas.
Estos comandos utilizan la funcin de Impresin, excepto el comando de reportes
electrnicos que utiliza la funcin de Transferencia de Datos.
Reporte Z

Descripcin

El reporte Z es el reporte de cierre de ventas para una Impresora Fiscal con el cual
se guardan los acumulados diarios en la memoria fiscal y se inicia un nuevo periodo de
venta.
Este comando es vlido en cualquier estado de la Impresora Fiscal menos en el
Estado de Programacin. Si se est realizando una transaccin al momento de enviar este
comando primero se anular el comprobante y luego se realizar el reporte. Si ya se haba
realizado un subtotal la transaccin ser finalizada antes de realizar el reporte.
Si estaba en curso un comprobante no fiscal, el mismo ser cerrado y luego se
realizar el reporte Z.
Si por alguna razn se apaga la Impresora Fiscal durante la realizacin de este
reporte, al reiniciarla se vuelve a realizar el reporte.

Parmetros

id_comando 42

Ejemplo

__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_imprime (42, , , , , , device, 1, 1, &status[0]);

Pasos

1. Chequea que no se encuentre en Estado de Programacin.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 45

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

2. Chequea si se encuentra en alguno de los estados de venta, de ser as cierra la


transaccin en curso.
3. Chequea si se encuentra en Estado No Fiscal, de ser as cierra el comprobante.
4. Imprime el contenido de la memoria de trabajo que va a ser transferida a la
memoria fiscal.
5. Incrementa contador de reportes Z.
6. Transfiere los acumulados de la memoria de trabajo a la memoria fiscal.
7. Borra los acumulados de la memoria de trabajo.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Reporte Z (activa)
Todos menos Programacin y Error
Espera

Reporte X

Descripcin

Realiza un reporte informativo de las ventas realizadas desde el ltimo reporte Z


hasta el momento de su realizacin.

Parmetros

id_comando 40

Ejemplo

__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_imprime (40, , , , , , device, 1, 1, &status[0]);

Pasos

1. Chequea que se encuentre en Estado de Espera.


2. Imprime el contenido de la memoria de trabajo.
3. Incrementa contador de reportes X.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Reporte X (activa)
Espera
Espera

Reporte de Memoria por Rango de Reportes Z

Descripcin
Fecha de impresin 03/03/2006 09:32 AM

Pgina 46

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Permite obtener la informacin de los acumulados de venta correspondientes a un


periodo comprendido entre dos nmeros de reporte Z.

Parmetros

id_comando 44
parm1
parm2

Ejemplo

Nmero de Z inicial. 4 caracteres ASCII.


Nmero de Z final. 4 caracteres ASCII.

Para emitir un reporte desde la Z nmero 950 hasta la 1200 se debe enviar el
siguiente comando.
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (44, 0950, 1200, , , , device, 1, 1, &status[0]);

Pasos

1.
2.
3.
4.

Chequea que se encuentre en Estado de Espera.


Imprime el contenido de la memoria fiscal a partir del rango de inicio.
Incrementa el contador de reporte de memoria.
Activa la bandera de Reporte de Memoria slo mientras se realiza el comando.

Banderas

Chequea la bandera
Estado permitido
Estado actual

Reporte de Memoria
Espera
Espera

Reporte de Memoria por Rango de Fecha

Descripcin

Permite obtener la informacin de los acumulados de venta correspondientes a un


periodo comprendido entre dos fechas.

Parmetros

id_comando
parm1
parm2

46
Fecha inicial. 8 caracteres ASCII con el formato DDMMAAAA.
Fecha final. 8 caracteres ASCII con el formato DDMMAAAA.

Ejemplo

Para emitir un reporte desde el da 15-04-2000 hasta el 01-10-2000 se bebe enviar


el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
Fecha de impresin 03/03/2006 09:32 AM

Pgina 47

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

retorno = msc_imprime (46, 15042000, 01102000, , , , device, 1, 1,


&status[0]);

Pasos

1.
2.
3.
4.

Chequea que se encuentre en Estado de Espera.


Imprime el contenido de la memoria fiscal a partir de la fecha de inicio.
Incrementa el contador de reportes de memoria.
Activa la bandera de Reporte de Memoria slo mientras se realiza el comando.

Banderas

Chequea la bandera
Estado permitido
Estado actual

Reporte de Memoria
Espera
Espera

Reporte Electrnico

Descripcin

Este comando permite enviar a la aplicacin informacin de la Impresora Fiscal, de


los acumulados de la memoria fiscal y de los acumulados de la memoria de trabajo.
Utiliza la funcin de Transferencia de Datos.

Los tipos de reportes que se pueden escoger son:


reporte informativo
reporte de la memoria fiscal
reporte de la memoria de trabajo
reporte de los contadores de comprobantes fiscales
reporte de la memoria fiscal por fecha
reporte de la memoria fiscal por rangos de Z
El reporte informativo ofrece informacin sobre la configuracin de la
impresora y los datos fiscales.
El reporte de la memoria fiscal contiene los acumulados totales de la
memoria fiscal adems de informacin relacionada con el ltimo reporte Z (nmero
del reporte Z, fecha y hora del mismo, nmero de decimales, abreviatura de la
moneda). El reporte de la memoria de trabajo seala las ventas realizadas desde el
ltimo reporte Z hasta el momento de su ejecucin, similar al reporte X.
El reporte de contadores fiscales muestran el nmero del ltimo
comprobante fiscal efectuado y el nmero del ltimo comprobante fiscal anulado.
En los cuatro reportes sealados los montos de los acumulados, as como
las tasas de impuesto y los contadores de comprobantes, pueden tener diferentes
valores por lo que la cantidad de caracteres es variable. A fin de poder separar
estos montos se enviar un asterisco de por medio.
Fecha de impresin 03/03/2006 09:32 AM

Pgina 48

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Los reportes electrnicos de la memoria por fecha y por rangos de Z tienen


la misma informacin que los reportes de memoria por periodos diarios y por
rango de reporte Z. Cada lnea est separada de la siguiente por <10><13>. La
identificacin de la lnea (ej. Total Venta Exento Bs.) tiene una longitud fija de 25
caracteres (incluyendo espacios en blanco), los otros 15 caracteres tienen el monto
de la alcuota completada con espacios en blanco.
El orden de la informacin de los reportes y la cantidad de bytes de cada uno se
sealan a continuacin:
Tipo de reporte
Informativo
Informativo

Memoria Fiscal

Campo
Descriptor del Organismo de Hacienda
Nmero de RIF
Tasa de impuesto 1
Tasa de impuesto 2
Tasa de impuesto 3
Nmero de decimales
Descriptor de la moneda
Abreviacin de la moneda
Mtodo de impuesto
Serial de la impresora fiscal
Fecha
Hora
Nmero del ltimo reporte Z
Fecha y hora del mismo
Total venta exenta
Total venta impuesto 1
Total venta impuesto 2
Total venta impuesto 3
Total impuesto 1
Total impuesto 2
Total impuesto 3
Total devoluciones
Total impuesto devoluciones
Nmero de Comprobantes fiscales diario
Nmero de Comprobantes fiscales vida
Fecha y hora ltimo Comprobante fiscal
Nmero Comprobantes no fiscales diario
Nmero Comprobantes no fiscales vida
Nmero Comp. fiscales anulados diarios
Nmero de Comp. fiscales anulados vida
Nmero de decimales
Abreviatura de la moneda
Serial de la impresora fiscal
Fecha

Fecha de impresin 03/03/2006 09:32 AM

Bytes
10
15
4*
4*
4*
1
10
3
1
10
8
4
4*
12
12*
12*
12*
12*
12*
12*
12*
12*
12*
6*
10*
12
6*
10*
6*
10*
1
3
10
8
Pgina 49

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Tipo de reporte

Campo

Bytes
Hora
4
Memoria de trabajo
Total venta exenta
12*
Total venta impuesto 1
12*
Total venta impuesto 2
12*
Total venta impuesto 3
12*
Total impuesto 1
12*
Total impuesto 2
12*
Total impuesto 3
12*
Total devoluciones
12*
Total impuesto devoluciones
12*
Total descuento
12*
Nmero de Comprobantes fiscales diario
6*
Nmero de Comprobantes fiscales vida
10*
Fecha y hora ltimo Comprobante fiscal
12
Nmero Comprobantes no fiscales diario
6*
Nmero Comprobantes no fiscales vida
10*
Nmero Comp. fiscales anulados diarios
6*
Nmero de Comp. fiscales anulados vida
10*
Serial de la impresora fiscal
10
Fecha
8
Hora
4
Si el mtodo de impuesto es excluido se recibir 0, si es incluido se recibir 1
* Se seala el nmero mximo de caracteres para este campo ya que es variable la
cantidad de dgitos. Los dgitos de este campo estn separados del prximo por un
asterisco (*)

Reporte de la memoria fiscal por fecha


<27>!<17>
SENIAT
<10><13>
RIF J-0108200100346
<10><13>
elepos
<10><13>
Impresora Fiscal MSC200AE
<10><13>
Caracas- Venezuela
<10><13>
REPORTE DE MEMORIA
<10><13>
POR PERIODOS DIARIOS
<10><13>
DEL 25/05/2001 AL 25/05/2001
<10><13>
No. 13
31/07/2001
16:25<10><13>
----------------------------------------<10><13>
25/05/2001
<10><13>
----------------------------------------<10><13>
Z No. 970
<10><13>
****** Acumulados de Venta Diaria ******<10><13>
Fecha de impresin 03/03/2006 09:32 AM

Pgina 50

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Total Venta Exento Bs.


15.538,20<10><13>
Total Venta Imp. 1 Bs.
26.416,96<10><13>
Total Venta Imp. 2 Bs.
0,00<10><13>
Total Venta Imp. 3 Bs.
0,00<10><13>
Total Imp. 1
Bs.
3.830,46<10><13>
Total Imp. 2
Bs.
0,00<10><13>
Total Imp. 3
Bs.
0,00<10><13>
Total Devol.
Bs.
14.086,00<10><13>
Total Imp. Devol. Bs.
1.267,01<10><13>
<10><13>
**** Estadisticas de Ventas Diarias ****<10><13>
Comp. Fiscales diarios
5<10><13>
Ultimo Comp. Fiscal
6<10><13>
Fecha Ultimo Comp. Fiscal
25/05/2001<10><13>
Hora Ultimo Comp. Fiscal
15:33<10><13>
Comp. No Fiscales diarios
1<10><13>
Ultimo Comp. No Fiscal
1<10><13>
Comp. Anulados diarios
0<10><13>
Total Comp. Anulados
1<10><13>
----------------------------------------<10><13>
*** Acumulados del Periodo Solicitado **<10><13>
Total Venta Exento Bs.
15.538,20<10><13>
Total Venta Imp. 1 Bs.
26.416,96<10><13>
Total Venta Imp. 2 Bs.
0,00<10><13>
Total Venta Imp. 3 Bs.
0,00<10><13>
Total Imp. 1
Bs.
3.830,46<10><13>
Total Imp. 2
Bs.
0,00<10><13>
Total Imp. 3
Bs.
0,00<10><13>
Total Devol.
Bs.
14.086,00<10><13>
Total Imp. Devol. Bs.
1.267,01<10><13>
FIN DEL REPORTE
<10><13>
APA5801902<13><29>VB0<6>
Reporte de la memoria fiscal por rango de Z
<27>!<17>
SENIAT
<10><13>
RIF J-0108200100346
<10><13>
elepos <10><13>
Impresora Fiscal MSC200AE
<10><13>
Caracas- Venezuela
<10><13>
REPORTE DE MEMORIA
<10><13>
Fecha de impresin 03/03/2006 09:32 AM

Pgina 51

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

POR NUMERO DE Z
<10><13>
DESDE LA Z No.970
<10><13>
A LA Z No.970
<10><13>
No. 14
31/07/2001
16:27<10><13>
----------------------------------------<10><13>
Z No. 970
<10><13>
****** Acumulados de Venta Diaria ******<10><13>
Total Venta Exento Bs.
15.538,20<10><13>
Total Venta Imp. 1 Bs.
26.416,96<10><13>
Total Venta Imp. 2 Bs.
0,00<10><13>
Total Venta Imp. 3 Bs.
0,00<10><13>
Total Imp. 1
Bs.
3.830,46<10><13>
Total Imp. 2
Bs.
0,00<10><13>
Total Imp. 3
Bs.
0,00<10><13>
Total Devol.
Bs.
14.086,00<10><13>
Total Imp. Devol. Bs.
1.267,01<10><13>
<10><13>
**** Estadisticas de Ventas Diarias ****<10><13>
Comp. Fiscales diarios
5<10><13>
Ultimo Comp. Fiscal
6<10><13>
Fecha Ultimo Comp. Fiscal
25/05/2001<10><13>
Hora Ultimo Comp. Fiscal
15:33<10><13>
Comp. No Fiscales diarios
1<10><13>
Ultimo Comp. No Fiscal
1<10><13>
Comp. Anulados diarios
0<10><13>
Total Comp. Anulados
1<10><13>
----------------------------------------<10><13>
*** Acumulados del Periodo Solicitado **<10><13>
Total Venta Exento Bs.
15.538,20<10><13>
Total Venta Imp. 1 Bs.
26.416,96<10><13>
Total Venta Imp. 2 Bs.
0,00<10><13>
Total Venta Imp. 3 Bs.
0,00<10><13>
Total Imp. 1
Bs.
3.830,46<10><13>
Total Imp. 2
Bs.
0,00<10><13>
Total Imp. 3
Bs.
0,00<10><13>
Total Devol.
Bs.
14.086,00<10><13>
Total Imp. Devol. Bs.
1.267,01<10><13>
FIN DEL REPORTE
<10><13>
APA5801902<13><29>VB0<6>
Parmetros
Fecha de impresin 03/03/2006 09:32 AM

Pgina 52

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

id_comando 1
parm1

Tipo de reporte.
0 = Reporte informativo
1 = Reporte de la memoria fiscal
2 = Reporte de la memoria de trabajo (perodo de
ventas actual)
3 = Reporte de contadores
4 = Dump Electrnico por rango de fecha
5 = Dump Electrnico por rango de Zeta

Ejemplo

Para solicitar un reporte informativo se debe enviar el siguiente comando


__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_dataio (1, 0 , , , , , device, 1, 1, status, &status[0]);

Banderas

Estado permitido
Estado actual

Todos
Edo. anterior al reporte

COMANDOS NO FISCALES Y DE IMPRESIN


Permiten abrir comprobantes no fiscales y realizar instrucciones bsicas de
impresin.
La mayora de estos comandos emplean la funcin de Impresin, algunos utilizan la
funcin de Transferencia de Datos.
Abrir un Comprobante no Fiscal

Descripcin

Permite abrir un comprobante no fiscal.

Parmetros

id_comando 30

Ejemplo

Para abrir un comprobante no fiscal se debe enviar la siguiente trama:


__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo

Fecha de impresin 03/03/2006 09:32 AM

Pgina 53

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

retorno = msc_imprime (30, , , , , , device, 1, 1, &status[0]);

Pasos

1.
2.
3.
4.

Chequea que se encuentre en Estado de Espera, en otro estado enva error.


Activa la bandera de Comprobante no Fiscal Abierto.
Imprime No Fiscal.
Incrementa el contador de Comprobantes no Fiscales.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Comprobante no Fiscal Abierto (activa)


Espera
No Fiscal

Cerrar un Comprobante no Fiscal

Descripcin

Permite cerrar un comprobante no fiscal.

Parmetros

id_comando 33

Ejemplo

Para cerrar un comprobante no fiscal se debe enviar la siguiente trama


__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (33, , , , , , device, 1, 1, &status[0]);

Pasos

1. Desactiva la bandera de Comprobante no Fiscal Abierto.


2. Se coloca en Estado de Espera.

Banderas

Modifica la bandera
Estado permitido
Estado actual

Comprobante no Fiscal Abierto (desactiva)


No Fiscal
Espera

Imprimir una Lnea no Fiscal

Fecha de impresin 03/03/2006 09:32 AM

Pgina 54

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Descripcin

Permite imprimir una lnea con los n caracteres enviados, donde n es el nmero
mximo de caracteres por lnea. No permite imprimir la palabra TOTAL.

Parmetros

id_comando 32
parm1

String de 40 caracteres.

Ejemplo

Para imprimir una lnea no fiscal se debe enviar la siguiente trama:


__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (32, LineaNoFiscalLineaNoFiscalLineaNoFiscalL, , ,
, , device, 1, 1, &status[0]);

Pasos

1. Chequea que no este la palabra TOTAL.


2. Imprime la lnea.

Banderas

Estado permitido

Estado actual

Inicio de Venta
Subtotal
No Fiscal
Inicio de Devolucin
Estado anterior

Venta
Pago
Devolucin

Abrir la Gaveta

Descripcin

Permite abrir la gaveta conectada a la Impresora Fiscal.

Parmetros

id_comando 25

Ejemplo

__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_imprime (25, , , , , , device, 1, 1, &status[0]);

Banderas

Estado permitido

Fecha de impresin 03/03/2006 09:32 AM

Todos
Pgina 55

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Estado actual

Estado anterior

Comunicacin con los Puertos Seriales 1 y 2

Descripcin

Enva los n bytes de datos al puerto seleccionado y espera por la cantidad de bytes
de respuesta definida en el parmetro.

Parmetros

id_comando
parm1

parm2
parm3*
parm4*
parm5

2
Nmero que identifica al puerto al que se desea enviar la
data. Los puertos disponibles son el 1 y el 2. Formato
ASCII.
Nmero de bytes que se estn enviando en parm3. 2
caracteres ASCII.
Nmero de bytes que se esperan de respuesta. 2 caracteres
ASCII.
Time out. Tiempo de espera por la respuesta. 2 caracteres
ASCII.
Cadena de caracteres binarios a enviar. Longitud mxima de
70 caracteres.

* En la versin 2.0 de la unidad fiscal la comunicacin bidireccional no est


habilitada, por lo tanto estos parmetros no se toman en cuenta. La cadena de caracteres
no puede contener el caracter ETX (03h).

Ejemplo

Si usted posee una impresora Versin 2.0:


Para enviar la cadena Hello World! a un visor externo conectado al puerto 1 se
debe enviar el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_dataio (2, 1, 12, 99, , Hello World!, device, 1, 1,
&status[0]);
Si usted posee una impresora Versin 2.1:
Para enviar la cadena Hello World! a un visor externo conectado al puerto 1, y
suponiendo que no se espera respuesta,se debe enviar el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo

Fecha de impresin 03/03/2006 09:32 AM

Pgina 56

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

retorno = msc_dataio (2, 1 , 12, 0, 0, Hello World!, device, 1, 1,


&status[0]);

Banderas

Estado permitido

Estado actual

Espera
Inicio Venta
Venta
Subtotal
Pago
No Fiscal
Devolucin
Inicio de Devolucin
Estado anterior

Status de la Impresora Fiscal

Descripcin

Este comando enva a la computadora el status de la Impresora Fiscal. Este status


permite conocer las operaciones que se han realizado dentro de la transaccin, el estado
actual y los posibles problemas que se pueden presentar.
El status consta de 8 bytes de informacin donde cada bit representa una bandera,
excepto el octavo byte que es el estado actual de la Impresora Fiscal.
Para mayor facilidad cada byte agrupa banderas de operaciones relacionadas entre
s, por lo que puede referirse a ellos con los siguientes nombres status de inicializacin,
de venta, de impuesto, de la impresora, internos, de inicializacin 2 y de validacin.
Tambin enva el estado actual de la impresora.
Ninguno de los bytes del status llegan a tener valor cero y se envan en el siguiente
orden
<STX> <CK_STI> <CK_STV> <CK_IMP> <CK_PRT> <CK_INT> <CK_SI2>
<CK_VAL> <Estado> <ETX>
El status est explicado ms ampliamente en el captulo Definicin del Status.

Parmetros

Id_comando 99

Ejemplo

__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_imprime (99, , , , , , device, 1, 1, &status[0]);

Banderas

Estado permitido
Estado actual

Todos
Estado anterior

Fecha de impresin 03/03/2006 09:32 AM

Pgina 57

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Versin de Firmware

Descripcin

Muestra la versin de Firmware instalada en la Impresora Fiscal.

Parmetros

id_comando 4

Ejemplo

__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_dataio (4, , , , , , device, 1, 1, &status[0]);

Pasos

1. Enva el nmero de la versin de Firmware.

Banderas

Estado permitido
Estado actual

Todos
Estado anterior

COMANDOS DE IMPRESIN DE DOCUMENTOS


Estos comandos permiten imprimir en cualquiera de las estaciones de documentos
con que cuenta la Impresora Fiscal.
Estos comandos utilizan la funcin Imprime.
Seleccionar Estacin de Documentos

Descripcin

Con este comando se puede seleccionar entre las diferentes estaciones de


impresin as como tambin escoger el tamao del papel y la direccin de impresin.
Si se selecciona Slip o Validation se puede escoger el tamao del papel y la
direccin de impresin dentro del documento.
El tamao del cheque es estndar, Ticket1 y Ticket2 pueden ser configurados
previamente.

Parmetros

id_comando 50
parm1

Estacin de impresin
0 = Rollo

Fecha de impresin 03/03/2006 09:32 AM

Pgina 58

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

parm2

parm3

Ejemplo

4 = Slip
8 = Validation
Tamao del papel
0 = Cheque
1 = Ticket 1
2 = Ticket 2
Direccin de impresin
0 = Izquierda a derecha
1 = Abajo hacia arriba
2 = Derecha a izquierda
3 = Arriba hacia abajo

Seleccionar la estacin de SLIP para imprimir un cheque de arriba hacia abajo


__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (50, 4, 0, 3, , , device, 1, 1, &status[0]);

Pasos

1. Verifica que la Impresora Fiscal se encuentre en Estado de Espera.


2. Configura la impresora segn la seleccin realizada en los parmetros del
comando.

Banderas

Estado permitido
Estado actual

Espera
Espera

Enviar una Lnea a Estacin de Documentos

Descripcin

Este comando permite enviar una lnea de impresin a la estacin de documentos.


La lnea puede tener un mximo de 64 caracteres y siempre debe incluir el comando de
impresin Carry return (0x0D).

Parmetros

id_comando 52
parm1

string. Lnea de impresin. Mximo 64 caracteres.

Ejemplo

__int16 retorno;
char status[9];

//Se debe reservar 1 carcter de ms para el


terminador nulo
retorno = msc_imprime (52, Linea de prueba, , , , , device, 1, 1,
&status[0]);
Fecha de impresin 03/03/2006 09:32 AM

Pgina 59

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Pasos

1. Verifica que la Impresora Fiscal se encuentre en el Estado de Espera


2. Almacena la lnea de impresin.

Banderas

Estado permitido
Estado actual

Espera
Espera

Fecha de impresin 03/03/2006 09:32 AM

Pgina 60

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

IMPRESIN EN LA ESTACIN DE DOCUMENTOS


Para la impresin de documentos se deben seguir los siguiente pasos.
1. Enviar a la Impresora Fiscal el comando Seleccionar Estacin de Documentos
a. Si con el comando se selecciona el Slip la impresora activar el
mecanismo de sujecin para esperar por la introduccin del formulario.
b. Si con el comando se selecciona Validacin la impresora supondr que
el formulario ya est colocado y cerrar el mecanismo de sujecin.
2. La impresora activar el mecanismo de sujecin para que sea posible insertar el
formulario. La luz indicadora de FORMS se encender de forma intermitente y
la luz indicadora de READY se encender de calor anaranjado.
3. Insertar el formulario en la parte frontal de la impresora y empujarlo hasta que
la luz de READY se encienda de color verde (si se quiere utilizar el Validacin se
debe introducir el formulario antes de enviar el comando).
Cuando la luz de READY cambio de anaranjado a verde indica que el formulario
se ha colocado correctamente. La impresora sujetar el formulario
automticamente.
Si en un minuto no se ha colocado el formulario la impresora volver a su
estado normal de operacin.
4. La impresora colocar el formulario en la primera lnea automticamente. Si el
formulario no fue correctamente insertado la impresora generar un error la
luz de READY se encender de color anaranjado y la de FORM de color verde
ambas intermitentemente, y el mecanismo de sujecin se abrir. Se debe quitar
el formulario, presionar el botn de RESUME y volver a realizar el proceso.
5. Una vez colocado correctamente el formulario se debe enviar cada lnea a
imprimir con el comando Enviar Lnea a Estacin de Documentos. Cuando se
hayan enviado todas las lneas se debe enviar el comando Seleccionar Estacin
de Documentos seleccionando el rollo.
6. La impresora imprime todas las lneas enviadas. Abre el mecanismo de sujecin
para que se pueda retirar el formulario y vuelve a su estado de operacin
normal.

Fecha de impresin 03/03/2006 09:32 AM

Pgina 61

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

APNDICE
STATUS DE LA IMPRESORA FISCAL
Status de Inicializacin CK_STI

Status de Ventas CK_STV

Status de Impuesto CK_IMP

Status de la impresora CK_PRT

7 -

7 Comprobante Fiscal Abierto

7 Reporte X

7 Memoria ROM no Conectada

6 Inicializacin

6 Comando Venta Efectuado

6 Anulacin de Artculo

6 Memoria ROM Completa

5 Reservado

5 Subtotal Realizado

5 Artculo Exento de Impuesto

5 Reservado

4 Reloj Detenido

4 Anulacin de Pago

4 Reporte Z

4 Impresora Fuera de Lnea

3 Fecha Invlida
2 Lnea Header/Trailer Invlida

3 Comando Pago Efectuado


2 Comprobante no Fiscal Abierto

3 Tasa de Impuesto 3
2 Tasa de Impuesto 2

3 2 Impresora en Edo. Desconocido

1 Primera Inicializacin Realizada

1 Periodo de Ventas Empezado

1 Tasa de Impuesto 1

1 -

0 -

0 -

0 -

0 -

Status Internos CK_INT

Status Inicializacin CK_SI2

Status de Validacin CK_VAL

7 Descuento sobre el Total

7 Impuesto Incluido

7 Reservado

6 Descuento sobre un Artculo

6 Cerrando Ticket

6 Reservado

5 Reporte de Memoria

5 Reservado

5 Reservado

4 Primer Artculo Vendido

4 Reservado

4 -

3 Devolucin

3 Reservado

3 -

2 Pago Parcial Realizado

2 Reservado

2 -

1 Pago Completo Realizado

1 Reservado

1 -

0 -

0 -

0 -

Fecha de impresin 03/03/2006 09:32 AM

Pgina 62

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Tabla 10 Status de la Impresora Fiscal

Fecha de impresin 03/03/2006 09:32 AM

Pgina 63

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

TABLA DE VALIDACIN DE LOS COMANDOS POR ESTADOS


Funcin

id_comando

Comandos

msc_setup
msc_dataio
msc_setup
msc_setup
msc_setup
msc_setup
msc_setup
msc_setup
msc_setup
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime

1
3
8
2
3
4
5
6
7
1
24
2
3
20
22
23
9
4
5
30
33
32
44
46

Inicializacin Impresora Fiscal


Modificar la Fecha y Hora
Grabar el DOH y el RIF
Grabar Lnea de Header
Grabar Lnea de Trailer
Grabar las Tasas Impuesto
Modificar la Moneda y Decimales
Cambiar la Clave de Programacin
Salir de Inicializacin
Abrir un Comprobante Fiscal
Cerrar un Comprobante Fiscal
Venta de Artculo
Anulacin de Artculo
Subtotal
Pago
Anulacin de Pago
Cancelar un Comprobante Fiscal
Devolucin
Anular una Devolucin
Abrir un Comprobante no Fiscal
Cerrar un Comprobante no Fiscal
Imprimir una Lnea no Fiscal
Reporte de Memoria por Rango
Reporte de Memoria por Fecha

Fecha de impresin 03/03/2006 09:32 AM

10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0

9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0

8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

7
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Estado Actual
6
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0

3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0

2
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0

1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0

0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1

Pgina 64

Edo Sig
7
7
7
7
7
7
7
7
0
1
5
2
2
3
4
4
0
10
10
6
0
EA
0
0

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

Funcin

id_comando

Comandos

msc_imprime
msc_dataio
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_dataio
msc_imprime
msc_imprime
msc_imprime
msc_dataio
msc_version

40
1
42
6
7
8
25
2
99
50
52
4
-

Reporte X
Reportes Electrnicos
Reporte Z
Descuento sobre Artculo
Anulacin Descuento Artculo
Descuento sobre Total
Abrir Gaveta
Seleccionar Perifrico
Status
Seleccionar Estacin de Impresin
Enviar Lnea Estacin Documentos
Versin de Firmware
Versin de la Aplicacin

10
0
1
1
1
1
1
1
1
1
0
0
1
1

9
0
1
1
0
0
0
1
1
1
0
0
1
1

8
0
1
0
0
0
0
1
0
1
0
0
1
1

7
0
1
0
0
0
0
1
0
1
0
0
1
1

Estado Actual
6
5
4
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1

3
0
1
1
0
0
0
1
1
1
0
0
1
1

2
0
1
1
1
1
1
1
1
1
0
0
1
1

1
0
1
1
0
0
0
1
1
1
0
0
1
1

0
1
1
1
0
0
0
1
1
1
1
1
1
1

EA Estado Anterior

Tabla 11 Tabla de Validacin de Comandos por Estados


Definicin de Estados
0 En Espera
1 Inicio Venta
2 Venta
3 Subtotal
4 Pago
5 Fin Venta
6 No Fiscal
7 Programacin
8 Error
9 Inicio Devolucin
Fecha de impresin 03/03/2006 09:32 AM

Pgina 65

Edo Sig
0
EA
0
2
2
2
EA
EA
EA
EA
EA
EA
EA

MANUAL DLL USUARIO IMPRESORA FISCAL V1.3.doc

10

Devolucin

Tabla 12 Definicin de los Estados

Fecha de impresin 03/03/2006 09:32 AM

Pgina 66

También podría gustarte