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 1 Configuracin del puerto serial ............................................................................ 5 Tabla 2 Estados de la Impresora Fiscal ............................................................................ 6 Tabla 3 Status de Inicializacin.......................................................................................... 9 Tabla 4 Status de Venta .................................................................................................... 10 Tabla 5 Status de Impuesto ............................................................................................. 11 Tabla 6 Status de la Impresora........................................................................................ 12 Tabla 7 Status interno ....................................................................................................... 13 Tabla 8 Status de Inicializacin 2 .................................................................................... 14 Tabla 9 Status de Validacin ............................................................................................ 15 Tabla 10 Status de la Impresora Fiscal........................................................................... 63 Tabla 11 Tabla de Validacin de Comandos por Estados ............................................ 65 Tabla 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 0 50C Humedad 10 90%
PANEL DE CONEXIN DE LOS CABLES
O I
Interruptorde corriente
Puerto serial DB 9
Puertosserialesadicionales
Conector dealimentacin
Figura 1 Parte posterior de la Impresora Fiscal
Fecha de impresin 03/03/2006 09:32 AM Pgina 4
En la parte posterior de la Impresora Fiscal se encuentra el interruptor de corriente y los diferentes conectores.
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 9600 Bits de datos 8 Paridad Ninguna Bits de parada 1 Control de flujo 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 En Espera 1 Inicio Venta 2 Venta 3 Subtotal 4 Pago 5 Fin Venta 6 No Fiscal 7 Programacin 8 Error 9 Inicio Devolucin 10 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 Inicializacin 5 Reservado 4 Reloj Detenido 3 Fecha Invlida 2 Lnea Header/Trailer invlida 1 Primera Inicializacin Realizada 0 -
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 Comprobante Fiscal Abierto 6 Comando de Venta Efectuado 5 Subtotal Realizado 4 Anulacin de Pago 3 Comando de Pago Efectuado 2 Comprobante no Fiscal Abierto 1 Periodo de Ventas Empezado 0 -
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 Reporte X 6 Anulacin de Artculo 5 Artculo Exento de Impuesto 4 Reporte Z 3 Tasa de Impuesto 3 2 Tasa de Impuesto 2 1 Tasa de Impuesto 1 0 -
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 Memoria ROM no Conectada 6 Memoria ROM Completa 5 Reservado 4 Impresora fuera de lnea 3 - 2 Impresora en Estado Desconocido 1 - 0 -
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 Descuento sobre el Total 6 Descuento sobre un Artculo 5 Reporte de Memoria 4 Primer Artculo Vendido 3 Devolucin 2 Pago Parcial Realizado 1 Pago Completo Realizado 0 -
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 Impuesto Incluido 6 Cerrando Ticket 5 Reservado 4 Reservado 3 Reservado 2 Reservado 1 Reservado 0 -
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 Reservado 6 Reservado 5 Reservado 4 - 3 - 2 - 1 - 0 -
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 Valor retornado por msc_openport (entero de 16 bits). num_bytes Cantidad de bytes a leer (entero de 16 bits). rx_buffer 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 Valor retornado por msc_openport (entero de 16 bits). Num_bytes Cantidad de bytes a leer (entero de 16 bits). tx_buffer 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 parmetros que reciben (entero de 16 bits).
parm1 al parm5 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 (). device Identificador del dispositivo o puerto serial, es decir, el valor
que retorna la funcin msc_openport (entero de 16 bits). max_intentos Nmero mximo de reintentos al enviar un comando (entero
de 16 bits). check Reservado. Valor por defecto = 1 status 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
Datos se detallan todos los comandos posibles y los parmetros que reciben.
parm1 al parm5 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 (). device Identificador del dispositivo o puerto serial, es decir, el valor
que retorna la funcin msc_openport (entero de 16 bits). max_intentos 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).
check Reservado. Este parmetro es ignorado. status 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 Argumento que identifica el comando fiscal que se desea ejecutar (entero de 16 bits).
parm1 al parm5 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 () device Identificador del puerto serial. Valor retornado por la funcin
msc_openport (entero de 16 bits). max_intentos 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).
check Reservado. Este parmetro es ignorado status 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 Origen (cadena de caracteres). parm2 Destino (cadena de caracteres pasada por referencia).
Ejemplo
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 1 parm1 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 Periodo de Ventas Empezado (desactivado) Modifica la bandera Inicializacin Estado permitido Espera Estado actual 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 3 parm1 String de 12 caracteres con el siguiente formato
DDMMAAAAHHMM Ejemplo
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
Estado actual Programacin Edo. donde se encontraba antes del error
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 8 parm1 DOH. Cadena de caracteres. 10 caracteres en formato ASCII. parm2 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 Programacin Estado actual 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 Nmero de lnea a grabar en formato ASCII. parm2 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.
Edificio ABC, Av. 1, Caracas
2 lneas de Header 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 , Edificio ABC, Av. 1, Caracas ;;; , , , ,
device , 1, 1, &status[0]);
Pasos 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 Lnea Header/Trailer Invlida Estado permitido Programacin Estado actual 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 3 parm1 Nmero de lnea a grabar. Formato ASCII. Parm2 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:
Lnea de trailer 1:
Efectivo 900,00Gracias por su compra
Vuelva pronto! TOTAL Bs. 900,00
2 lneas de Trailer
__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, Vuelva pronto! ;;;, , , ,
device, 1, 1, &status[0]);
Pasos 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 Lnea Header/Trailer Invlida Estado permitido Programacin Estado actual 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 Tasa de impuesto 1. Cuatro caracteres en formato ASCII. parm2 Tasa de impuesto 2. Cuatro caracteres en formato ASCII. parm3 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 Programacin Estado actual 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 Nmero de decimales. 1 caracter en formato ASCII. parm2 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 Programacin Estado actual 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 6 parm1 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 Programacin Estado actual Programacin
Fecha de impresin 03/03/2006 09:32 AM 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 Inicializacin (desactivada) Estado permitido Programacin Estado actual 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 Indica el tipo de comprobante fiscal, puede tomar los
siguientes valores 0 Comprobante fiscal
1 Factura 2 Nota de Crdito
Ejemplo 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 Comprobante Fiscal Abierto (activa) Estado permitido Espera Estado actual 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
Id_comando = 34 parm1 = Indica el tipo de comprobante fiscal, puede tomar los
siguientes valores: 0 Comprobante fiscal 1 Factura 2 Nota de Crdito parm1 = 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: Nmero en formato ASCII
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: 143 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 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.
parm3 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 Comando Venta Efectuado (activa) Primer Artculo Vendido (activa) Estado permitido Inicio de Venta Venta Estado actual 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 Descripcin. Longitud de 20 caracteres parm2 Precio con una longitud de 8 caracteres en formato ASCII. parm3 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 Comando Venta Efectuado (activa) Anulacin de Artculo (activa)
Estado permitido Inicio de Venta Venta Estado actual 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 Subtotal (activa) Estado permitido Venta Estado actual 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 Monto con una longitud de 8 caracteres parm2 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 Pago Completo Realizado (desactivada) Modifica la bandera Comando Pago Efectuado
Pago Parcial Realizado (activa) Pago Completo Realizado (activa) Estado permitido Subtotal Pago Estado actual 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 Monto con una longitud de 8 caracteres parm2 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. Imprime el tipo de pago y monto. 4. Activa la bandera de Comando Pago Efectuado. 5. Chequea si se realiz un pago parcial. 6. Suma el monto de la anulacin si la suma no es mayor al monto de la venta. 7. Activa la bandera de Anulacin de Pago (si al terminar el comando no ha
habido algn error la desactiva). Banderas
Chequea la bandera Pago Completo Realizado (desactivada) Pago Parcial Realizado (activada)
Modifica la bandera Comando Pago Efectuado Anulacin de Pago (activa)
Estado permitido Pago Estado actual 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
Primer Artculo Vendido (desactiva) Estado permitido Inicio de Venta
Venta Inicio de Devolucin
Devolucin Estado actual 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 Pago Completo Realizado (activada) Modifica la bandera Comprobante Fiscal Abierto (desactiva) Primer Artculo Vendido (desactiva) Subtotal Realizado (desactiva) Pago Parcial Realizado (desactiva) Pago Completo Realizado (desactiva) Estado permitido Pago Estado actual 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 Descripcin. String de 20 caracteres parm2 Precio. String de 8 caracteres parm3 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 Devolucin Estado permitido Inicio de Devolucin
Devolucin Estado actual 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 Descripcin. String de 20 caracteres parm2 Precio. String de 8 caracteres parm3 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 Devolucin Estado permitido Devolucin Estado actual 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 Nulo parm2 Descripcin. String de 20 caracteres parm3 Monto. String de 10 caracteres parm4 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 Descuento sobre Artculo (activa) Estado permitido Venta Estado actual 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 Descripcin. String de 20 caracteres parm2 Monto. String de 10 caracteres parm3 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 Descuento sobre Artculo (activa) Estado permitido Venta Estado actual 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 8 parm1 Descripcin del descuento. String de 20 caracteres parm2 Monto a descontar de total exento. String de 12 caracteres. parm3 Monto a descontar de total impuesto 1. String de 12
caracteres. parm4 Monto a descontar de total impuesto 2. String de 12
caracteres. parm5 Monto a descontar de total impuesto 3. String de 12
caracteres. Ejemplo
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 Descuento sobre Total (activa) Estado permitido Venta Estado actual 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
Fecha de impresin 03/03/2006 09:32 AM Pgina 44
Ejemplo:
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 Reporte Z (activa) Estado permitido Todos menos Programacin y Error Estado actual 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 Reporte X (activa) Estado permitido Espera Estado actual 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 Nmero de Z inicial. 4 caracteres ASCII. parm2 Nmero de Z final. 4 caracteres ASCII.
Ejemplo 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. Chequea que se encuentre en Estado de Espera. 2. Imprime el contenido de la memoria fiscal a partir del rango de inicio. 3. Incrementa el contador de reporte de memoria. 4. Activa la bandera de Reporte de Memoria slo mientras se realiza el comando.
Banderas Chequea la bandera Reporte de Memoria Estado permitido Espera Estado actual 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 46 parm1 Fecha inicial. 8 caracteres ASCII con el formato DDMMAAAA. parm2 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. Chequea que se encuentre en Estado de Espera. 2. Imprime el contenido de la memoria fiscal a partir de la fecha de inicio. 3. Incrementa el contador de reportes de memoria. 4. Activa la bandera de Reporte de Memoria slo mientras se realiza el comando.
Banderas Chequea la bandera Reporte de Memoria Estado permitido Espera Estado actual 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 informa