Manualde Libreria Dinamica Dll v-max Version 1.3

74
IMPRESORA FISCAL ELEPOS MANUAL DE USUARIO (DLL) REVISIÓN “A” ELEPOS ELECTRÓNICA Y PUNTOS DE VENTA C.A. Caracas-Venezuela © Mar2003

description

Descripcion de la libreria dll para uso de las impresoras fiscales vmax

Transcript of Manualde Libreria Dinamica Dll v-max Version 1.3

  • 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