Manual de Integracion Con JAVA

download Manual de Integracion Con JAVA

of 24

description

Manual de Integracion Con JAVA

Transcript of Manual de Integracion Con JAVA

  • 5/28/2018 Manual de Integracion Con JAVA

    1/24

    INTEGRACIN EN JAVA

    INDICE

    1.- Instalacin de los paquetes de la API de Comunicaciones de Java en la JVMInstalada en Windows.1

    2.- Instalacin de los paquetes de la API de Comunicaciones de Java en la JVMInstalada en Linux.

    2

    3.- Librera de clase TfhkaJava.jar 4

    4.- Mtodos bsicos de la Clase Tfhka 5

    4.1- BOOLEAN OpenFpctrl (String IpPortName) 54.2- VOID CloseFpctrl ( ) 64.3- BOOLEAN CheckFprinter ( ) 64.4- BOOLEAN ReadFpStatus ( ) 64.5- BOOLEAN SendCmd (String cmd) 74.6- INT SendCmdFile (String file) 74.7- BOOLEAN UploadReportCmd (String cmd, String file) 7

    4.8- BOOLEAN UploadStatusCmd (String cmd, String file) 8

    5.- Atributos y mtodos pblicos orientados a objetos de la clase Tfhka. 8

    5.1- Atributos de objetos. 85.2- Mtodos de objetos. 11

    6.- Anexos 14

    Anexo 1: Informacin del Status de la Impresora Fiscal 14

    Anexo 2: Comandos Para Leer el Estado de la Impresora 16Anexo 3: Aplicacin Demo en Java para Impresoras Fiscales 21FacturadorJava bajo Windows

    Anexo 4: Aplicacin Demo en Java para Impresoras Fiscales 22DemoTfhkaJava bajo Windows

    Anexo 5: Aplicacin Demo en Java para Impresoras Fiscales 23DemoJavaTfhka bajo Linux

  • 5/28/2018 Manual de Integracion Con JAVA

    2/24

    INTEGRACIN EN JAVA

    1.- INSTALACION DE LOS PAQUETES DE LA API DE COMUNICACIONES DEJAVA EN LA JVM INSTALADA EN WINDOWS.

    La plataforma de desarrollo java tiene un conjunto de archivos requeridospara establecer comunicacin con el puerto serial de la PC. Estos archivos estnagrupados en una carpeta comprimida que se denomina RXTXCommApi, endonde se encuentran clasificados los archivos necesarios para que una aplicacin

    java pueda escribir y leer en el puerto serial.

    El RXTXCommApi de java es una librera propia de la JRE y de la JDK queesta disponible para descargarla desde Sun Microsystems, las cuales tienendefinidas para un sistema operativo determinado, es decir; el RXTXCommApi deWindows es solo para aplicaciones desarrolladas en ambiente java bajo

    Windows, ya que la JVM se instala en la PC de diversas forma dependiendo delsistema operativo y el RXTXCommApi de Windows trae un archivo .dll. Si setrabaja en otro sistema operativo como MAC, LINUX, SOLARIS; se debedescargar el RXTXCommApi respectivo para cada uno de ellos.

    En el RXTXCommApi para Windows hay dos carpetas que contienenarchivos. El nombre de la carpeta indica en donde se deben pegar los mismoshacia la jre jdk/jre de la JVM instalada en este sistema operativo.

    Lo primero que se debe hacer antes de copiar los archivos, es verificar si elWindows tiene el Java instalado en C:/Archivo de Programas. De no tenerla se

    debe instalar descargar la versin ms reciente de JDK JRE en su PC.

    Una vez determinada la JVM de su PC debe hacer lo siguiente:

    1- Copiar los archivos rxtxSerial.dll y rxtxParallel.dll en la siguiente ruta desu JVM: C:/Archivo de Programas/Java/jdk/jre/bin. Si su JVM es solo

    jre, se copia el archivo en: C:/Archivo de Programas/Java/jre/bin.

    2- Copiar el archivo RXTXcomm.jar en la siguiente ruta de su PC:

    C:/Archivo de Programas/Java/jdk/jre/lib/ext. Si su JVM es solo jre, secopia el archivo en: C:/Archivo de Programas/Java/jre/lib/ext.

    Ahora su equipo tiene la JVM configurada para escribir y leer en el puertoserial.

    1

  • 5/28/2018 Manual de Integracion Con JAVA

    3/24

    INTEGRACIN EN JAVA

    2.- INSTALACION DE LOS PAQUETES DE LA API DE COMUNICACIONES DEJAVA EN LA JVM INSTALADA EN LINUX.

    En el RXTXCommApi para Linux hay tres carpetas que contienen losarchivos de manera distribuida. Estos archivos son: RXTXcomm.jar,librxtxParallel.so y librxtxSerial.so.

    Lo primero que se debe hacer antes de copiar los archivos, es verificar si sudistribucin de Linux tiene el Java instalado en la ruta: /usr/lib/. De no tenerla sedebe instalar descargar la versin ms reciente de JDK JRE para sudistribucin.

    Una vez determinada la JVM de su PC debe hacer lo siguiente:

    1- Copiar los archivos librxtxParallel.so y librxtxSerial.so en la siguiente rutade su JVM:

    % setenv LD_LIBRARY_PATH `pwd`:$LD_LIBRARY_PATH$ export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH

    Si tienes privilegios en tu mquina o inicias como super usuario root:

    Copiar librxtxSerial.so y librxtxParallel.so en: /usr/lib//jre/lib/i386Copiar librxtxSerial.so y librxtxParallel.so en: /usr/lib//jre/lib/i386/client2- Copiar el archivo RXTXcomm.jar en la siguiente ruta de su PC:

    Si est utilizando JDK (no JRE) RXTXcomm.jar Aadir a su CLASSPATH.

    Ejemplo: Si usted no tiene un CLASSPATH establecido actualmente,

    Setenv% CLASSPATH pwd` / RXTXcomm.jar

    , si usted tiene algo en su CLASSPATH ya,

    Setenv% CLASSPATH pwd` /RXTXcomm.jar: $ CLASSPATH

    Si tienes privilegios en tu mquina o inicias como super usuario root:

    Copiar RXTXcomm.jar en /usr/lib/jvm//jre/lib/ext

    Lo ltimo que se debe realizar es la configuracin del juego de caracteresde Linux. Por defecto la codificacin del juego de caracteres en LINUX viene enUTF-8, lo que genera inconveniente para el envo de ASCII extendidos al puertoserial, ya que los rechaza y no los procesa estando armada la trama de caracterescorrectamente. Para ello se debe cambiar la configuracin de los caracteres aISO-8859-15 mediante la edicin de estos archivos de la siguiente manera:

  • 5/28/2018 Manual de Integracion Con JAVA

    4/24

    INTEGRACIN EN JAVA

    1. Cambiar el RC_LANG del archivo /etc/sysconfig/language.

    vi /etc/sysconfig/language

    RC_LANG="de_DE@euro"

    2. Cambiar el CONSOLE_ENCODING del archivo /etc/sysconfig/console

    vi /etc/sysconfig/console

    CONSOLE_ENCODING="ISO-8859-15"

    3. Agregar ests tres lneas de cdigos en el archivo /etc/bash.bashrc

    vi /etc/bash.bashrc.local

    export LANG=de_DE@euroexport LC_MESSAGES=POSIXexport LC_CTYPE=de_DE@euro

    4. Reinicie el sistema para que los cambios de la codificacin de los caracteres tenganefecto.

    NOTA 1: Se debe tratar de no poner en los ficheros fuente (*.java) caracteres extendidos, ya que al cambiar laconfiguracin los cambia por otros caracteres. Ejm. Nombre y valores asignados de variables que contengan caracterescomo ,,,,,,,,,,,,, etc..

    NOTA 2: Tambin puede cambiar la codificacin de caracteres en las propiedades del entorno de desarrollo Java queemplee. Ejm, En Eclipse es en men Windows-> Preferences -> General -> Contens Types -> Text -> JavaSourse

    Ahora su equipo tiene la JVM configurada para escribir y leer en el puertoserial.

    3

  • 5/28/2018 Manual de Integracion Con JAVA

    5/24

    INTEGRACIN EN JAVA

    3.- LIBRERA DE CLASE TfhkaJava.jar

    La librera de clase TfhkaJava.jar es un archivo comprimido paraimplementarlo en un ambiente de desarrollo java, el cual contiene una clasellamada tfhka.[pais].Tfhka.class que permite manipular el puerto serial para elenvo y recepcin de tramas ASCII, con el fin de hacer la integracin de lasImpresoras Fiscales de desarrolladas en la compaa The Factory HKA C.A. conaplicaciones desarrolladas en java. Este archivo es multiplataforma, se puedeemplear en Linux, Solaris, Windows y otros sistemas operativos que soporte java,siempre y cuando tengan implementado el CommApi correspondiente a su tipo enla JVM.

    El objetivo del archivo .jar Tfhkajava es reducir el protocolo decomunicacin de tramas ASCII a la impresora fiscal en proyectos desarrollado en

    java, ya que hasta ahora se los programas facturadotes desarrollado en diversasplataforma emplean el protocolo directo de comunicacin.

    Importacin y declaracin de la clase Tfhka

    Para hacer uso de esta librera en su proyecto, ya sea de entorno Eclipse,NetBeans otro desarrollador Java debe importarla de su ubicacin. De igualmanera se debe importar el archivo RXTXcomm.jar de su JVM (jre/lib jdk/jre/lib) en caso que no aparezca la referencia por defecto en librares.

    Una vez agregada las libreras TfhkaJava.jar y RXTXcomm.jar a suProyecto Java, se debe hace la importacin respectiva de la clase del archivo jarimportado Tfhka en la(s) clase(s) que lo requieran de su proyecto. Esto se hacede esta manera en el encabezado de la clase solicitante:

    importtfhka.*; //Para las Clases comunes PrinterException y PrinterStatusimporttfhka.ve.*; //Para trabajar con Venezuela

    Hecho esto se puede empezar ha trabajar con la clase de Tfhka, con susatributos y mtodos pblicos.

    4

  • 5/28/2018 Manual de Integracion Con JAVA

    6/24

    INTEGRACIN EN JAVA

    1-) Declaracin de un objeto tipo Tfhka.

    Tfhka Ejemplos:

    private Tfhka Mi_Enlace;

    public Tfhka Mi_Ruta;

    2-) Inicializacin del objeto Tfhka.

    La clase Tfhka tiene un solo constructor que recibe como parmetro unString cadena de carcter con el nombre del puerto serial terminar serial.

    = new Tfhka()

    Ejemplos:

    En Windows:

    Mi_Enlace = new Tfhka ( COM1);

    En Linux:Mi_Ruta = new Tfhka ( /dev/ttyS0);

    Si el parmetro nombre de puerto est correctamente escrito, al efectuaresta inicializacin se define el Terminarde la clase String nombre de puerto, seabre si no est en uso y se define el estado del mismo por medio de la variableglobal booleana IndPuerto, donde se pone entrue si el puerto esta abierto y enfalse si el puerto est cerrado o no se pudo abrir.

    4.- MTODOS DE LA CLASE Tfhka

    4.1- BOOLEAN OpenFpctrl (String lpPortName)

    Parmetro: Puerto COM (Ej. COM1 o COM2) Terminar "../term/ ("/dev/term/b)Mtodo: Apertura del Puerto Serial COM Terminar "../term/.Retorno: Puerto Abierto =true Falla de Apertura = false. 5

  • 5/28/2018 Manual de Integracion Con JAVA

    7/24

    INTEGRACIN EN JAVA

    Este mtodo se ejecuta inicialmente en el constructor nico de la clase. Sepuede volver ha ejecutar si se requiere.

    Ejemplo:// Cambio de puerto serial a COM4

    booleanport_status = Mi_Enlace.OpenFpctrl (COM4);

    4.2- VOID CloseFpctrl ( )

    Es el mtodo de la clase que cierra el puerto serial establecido de la misma.Pone a la variable booleana IndPuerto = false.

    Se ejecuta de esta manera: Mi_Enlace.CloseFpctrl ( );

    4.3- BOOLEAN CheckFprinter ( )

    Mtodo: Verifica si la impresora est Conectada.Retorno: Impresora Conectada =true Impresora Desconectada = false.

    Se ejecuta de esta manera: Mi_Enlace.CheckFprinter ( );

    4.4.- BOOLEAN ReadFpStatus ( )

    Mtodo: Lectura Referente a la Informacin del Status & Error de la Impresora FiscalRetorno: Stand-by=true Error = false.

    Se ejecuta de esta manera: Mi_Enlace.ReadFpStatus ( );

    Al llamar a este mtodo se establece el valor de la variable String Estado.(Ver Anexo 1)

    Ejemplo:

    El estado de la impresora en modo de espera y sin error sera as:

    Mi_Enlace.Estado = Status: 04 Error: 00;

    64.5- BOOLEAN SendCmd (String cmd)

  • 5/28/2018 Manual de Integracion Con JAVA

    8/24

    INTEGRACIN EN JAVA

    Parmetro: Comando cmd: Trama de caracteres ASCII. Ejm: p-1200Mtodo: Enva una Lnea de Comando a la Impresora Fiscal.

    Retorno: Comando Enviado =true Comando Invalido = false.Ejemplo: Para hacer un reporte Z, se ejecuta de esta manera:

    Mi_Enlace.SendCmd (I0Z);

    Al ejecutar este mtodo se establece el estado del envo por medio delString Estado.

    Mi_Enlace.Estado = Status: 00 Error: 00;

    4.6- INT SendCmdFile (String file)

    Parmetro: Ruta Archivo: Ubicacin del Archivo.txt Archivo.dat.Mtodo: Enva Comandos a la Impresora Fiscal ledo de un archivo de texto plano.Retorno: Nmero de comandos vlidos.

    Ejemplo:

    Mi_Enlace.SendCmdFile (C:\MisFiles\Factura1.txt );

    Al ejecutar este mtodo se realiza envo por medio de los comandos ledoslnea por lnea del archivo Factura1.txt.

    4.7- BOOLEAN UploadReportCmd (String cmd, String file)

    Parmetros:Comando cmd: Comando de Reporte a cargar. Ejm: U0XRuta Archivo: Archivo.txt .dat en donde se copiara la informacin del reporte.

    Mtodo: Enva los datos de un Reporte al PC y lo escribe en un archivo de texto plano.Retorno: Stanby = true Error = false.

    Ejemplo:

    Mi_Enlace.UploadReportCmd ( U0Z , C:\MisFiles\ReporteZ.txt);

    Al ejecutar este mtodo se ccopia en el archivo ReporteZ.txt lainformacin cargada de un Reporte Z. (Ver Anexo 2)

    7

  • 5/28/2018 Manual de Integracion Con JAVA

    9/24

    INTEGRACIN EN JAVA

    4.8- BOOLEAN UploadStatusCmd (String cmd, String file)

    Parmetros:

    Comando cmd: Estado a subir. Ejm: S1Ruta Archivo: Archivo.txt .dat en donde se copiara la trama que se subir.Mtodo: Enva una trama de informacin al PC del estado ledo de la impresora y loescribe en un archivo de texto plano.Retorno: Stanby = true Error = false.

    Ejemplo:

    Mi_Enlace.UploadReportCmd ( S2 , C:\MisFiles\Status1.txt);

    Al ejecutar este mtodo se lee de la impresora fiscal el estado S2 y sesube al PC para copiar la trama de informacin respectiva en el archivoStatus1.txt. (Ver Anexo 2)

    5-. Atributos y mtodos pblicos or ientados a objetos de la clase Tfhka.

    5.1- Atributos de objetos:

    - StatusErrorPrinter tipo PrinterStatus : Representa una estructura queestablece y retorna los parmetros de Status y Error de la impresora fiscal cunadose ejecuta el mtodo correspondiente. Sus elementos son los siguientes:

    intprinterStatusCode: Valor entero del Status.intprinterErrorCode: Valor entero del Error.StringprinterStatusdescripcion: Descripcin del Status.StringprinterErrorDescripcion: Descripcin del Error.booleanErrorValidity: Indica si Error de la impresora es valido.

    - ReportePC tipo ReportData: Representa una estructura que contienetodos los datos de los reportes X y Z cuando se envan al PC con los mtodoscorrespondientes. Sus elementos son los siguientes:

    int getNumberOfLastZReport(): Nmero del ultimo reporte Z.DategetZReportDate(): Fecha del ltimo reporte Z.intgetNumberOfLastInvoice(): Nmero de la ltima factura.DategetLastInvoiceDate(): Fecha y hora de la ltima factura.doublegetFreeSalesTax(): Monto Exento.doublegetTotalVenta(): Monto Total Neto de la Venta.doublegeneralRate1Tax: Monto del IVA General tasa 1.doublereducedRate2Tax: Monto del IVA Reducido tasa 2.doubleadditionalRate3Tax: Monto del IVA Adicional tasa 3. 8

  • 5/28/2018 Manual de Integracion Con JAVA

    10/24

    INTEGRACIN EN JAVA

    doublegetTotalVentaDevolution(): Monto Total Neto en Devolucin.doublegetTotalVentaDebitNote(): Monto Total Neto en Nota Dbito.int getNumberOfLastCreditNote(): Nmero de ltima Nota de Crdito.

    int getOfLastDebitNote():Nmero de ltima Nota de Dbito.int getNumberOfLastDNF(): Nmerodel timo Documento No Fiscal.

    - S1Estado tipo S1PrinterData: Representa la estructura de datos delestado S1 que se establece cuando se sube al PC con su mtodocorrespondiente. Sus elementos son los siguientes:

    intgetCashierNumber(): Nmero de cajero asignado.doublegetTotalDailySales(): Monto total de ventas diaria.intgetLastInvoiceNumber(): Nmero de la ltima factura emitida.int getQuantityOfInvoicesToday(): Cantidad de facturas en el da.

    intgetLastNCNumber(): Nmero de la ltima Nota de Crdito.Int getQuantityOfNCsToday(): Cantidad de Notas Crditos en el da.intgetLastNDNumber(): Nmero de la ltima Nota de Dbito.Int getQuantityOfNDsToday(): Cantidad de Notas Dbitos en el da.int getNumberNonFiscalDocuments(): Nmero del ltimo DNF.intgetQuantityNonFiscalDocuments(): Cantidad de DNF.intgetDailyClosureCounter(): Contador de Ciere Diario.intgetAuditReportsCounter(): Contador de reporte de auditora.StringgetRUC(): RUC de fiscalizacin de la impresora fiscal.StringgetDV(): DV de Fiscalizacin.StringgetRegisteredMachineNumber(): Serial de la impresora fiscal.

    DategetCurrentPrinterDateTime(): Fecha y hora de la impresora.- S2Estado tipo S2PrinterData: Representa la estructura de datos del

    estado S2 que se establece cuando se sube al PC con su mtodocorrespondiente. Sus elementos son los siguientes:

    doublesubTotalBases: Monto sub-total de las Bases Imponibles.double sudTotalTax: Monto sub-total de IVA.StringdataDummy: Data de relleno.double amountPayable: Monto por pagar.intnumberPaymentsMade: Cantiidad de pagos realizados.

    intcondition: Condicin de transaccin.

    - S3Estado tipo S3PrinterData: Representa la estructura de datos delestado S3 que se establece cuando se sube al PC con su mtodocorrespondiente. Sus elementos son los siguientes:

    inttypeTax1: Tipo de tasa 1 (Modo Incluido = 1, Modo Excluido = 2).doubletax1: Valor de la tasa 1 en porcentaje (%). 9

  • 5/28/2018 Manual de Integracion Con JAVA

    11/24

    INTEGRACIN EN JAVA

    inttypeTax2: Tipo de tasa 2 (Modo Incluido = 1, Modo Excluido = 2).doubletax2: Valor de la tasa 2 en porcentaje (%).inttypeTax3: Tipo de tasa 3 (Modo Incluido = 1, Modo Excluido = 2).

    doubletax3: Valor de la tasa 3 en porcentaje (%).int[ ] systemFlags0to19: Lista de valores de los flags del 1 al 19.

    - S4Estado tipo S4PrinterData: Representa la estructura de datos delestado S4 que se establece cuando se sube al PC con su mtodocorrespondiente. Sus elementos son los siguientes:

    double[] listCumulaMountsMeansPayments: Lista de los montosacumulados de los 16 medios de pagos de la impresora fiscal.

    - S5Estado tipo S5PrinterData: Representa la estructura de datos delestado S5 que se establece cuando se sube al PC con su mtodocorrespondiente. Sus elementos son los siguientes:

    StringRUC: RUC de fiscalizacin de la impresora.StringDV: DV de fiscalizacin de la impresora.String registeredMachineNumber: Serial de la impresora fiscal.intnumberMemoryAudit: Nmero de memoria de auditoria.doublecapacityTotalMemoryAudit: Capacidad de la memoria de

    auditoria en MB.doubledisponyCapacityMemoryAudit: Disponibilidad de la memoria

    de auditora en MB.intnumberDocumentRegisters: Cantidad de documentos registradosen la memoria de auditora.

    - S6Estadotipo S6PrinterData: Representa la estructura de datos del estadoS6 que se establece cuando se sube al PC con su mtodo correspondiente.Sus elementos son los siguientes:

    StringgetBit_Facturacion():Indica la presencia de papel en laestacin de facturacin.

    StringgetBit_Slip():Indica la presencia de papel en la estacin de

    Slip/Chequera.StringgetBit_Validacion():Indica la presencia de papel en la estacinde Validacin.

    - S7Estado tipo S7PrinterData: Representa la estructura de datos delestado S7 que se establece cuando se sube al PC con su mtodocorrespondiente. Sus elementos son los siguientes:

    StringgetMICR():Lectura del MICR del cheque. 10

  • 5/28/2018 Manual de Integracion Con JAVA

    12/24

    INTEGRACIN EN JAVA

    - ReporteArrayPCtipo ReportData[ ]: Representa una lista de objetos tipoReportData que se carga cuando se hace lectura de memoria fiscal con losmtodos correspondientes, con una dimensin de un mximo de 2000 elementos

    posibles.

    - PrinterExeption: Representa un tipo de excepcin que arrojan algunosmtodos de creacin de objetos de las estructuras anteriormente definidascuando ocurre un error en la transaccin con la impresora fiscal. Est compuestopor los siguientes elementos:

    PrinterStatusStatusError: Objeto que contiene informacin delStatus y el Error al momento de generarsela excepcin.

    getMensage(): Contiene la descripcin de la excepcin arrojada.

    5.2- Mtodos de Objetos:

    5.2.1- PrinterStatus getPrinterStatus().

    Mtodo: Establece los datos del objeto StatusErrorPrinter de la clase pormedio de un llamado interno al mtodo ReadFpStatus ( ).Retorno: Un objeto de tipo PrinterStatus en la variable globalStatusErrorPrinter de la clase Tfhka.java con los valores correspondiente a

    la repuesta generada.5.2.2- ReportData getXReport()throwsPrinterExeption.

    Mtodo: Sube al PC un reporte X por medio del comando U0Xestableciendo sus valores de data en el objeto ReportePC de la claseTfhka.java.Retorno: Un objeto de tipo ReportData en la variable global ReportePCcon toda la informacin para la carga de un reporte X actual.Excepcin: Arroja la excepcin PrinterExeption.

    5.2.3- ReportDatagetZReport()

    throwsPrinterExeption.Mtodo: Sube al PC un reporte Z por medio del comando U0Zestableciendo sus valores de data en el objeto ReportePC de la claseTfhka.java.Retorno: Un objeto de tipo ReportData en la variable global ReportePCcon toda la informacin del ltimo reporte Z emitido.Excepcin: Arroja la excepcin PrinterExeption.

    11

  • 5/28/2018 Manual de Integracion Con JAVA

    13/24

    INTEGRACIN EN JAVA

    5.2.4- ReportData[ ] getZReport( intStarReportNumber, intEndReportNumber )throwsPrinterExeption

    Parmetros: - StarReportNumber: Nmero de reporte Z inicial.- EndReportNumber: Nmero de reporte Z final.

    Mtodo: Realiza una lectura de memoria fiscal por rango de nmeros yasigna los valores de Z(s) en el objeto ReporteArrayPC.Retorno: Una lista de objetos ReportData en la variable ReporteArrayPCcon la informacin de los reportes Z comprendidos en el intervalo solicitado.Excepcin: Arroja la excepcin PrinterExeption.

    5.2.5- ReportData[ ] getZReport (Date StarDate, Date EndDate) throws

    PrinterExeptionParmetros:

    - StarDate: Fecha inicial.- EndDate: Fecha final.

    Mtodo: Realiza una lectura de memoria fiscal por rango de fechas yasigna los valores de Z(s) en el objeto ReporteArrayPC.Retorno: Una lista de objetos ReportData en la variable ReporteArrayPCcon la informacin de los reportes Z comprendidos en el intervalo solicitado.Excepcin: Arroja la excepcin PrinterExeption.

    5.2.6- printZReport(DateStarDate, DateEndDate)throwsPrinterExeption

    Parmetros:- StarReportNumber: Nmero de reporte Z inicial.- EndReportNumber: Nmero de reporte Z final.

    Mtodo: Imprime una lectura de memoria fiscal por rango de nmeros.Excepcin: Arroja la excepcin PrinterExeption.

    5.2.7-printZReport (

    intStarReportNumber, intEndReportNumber)

    throwsPrinterExeption.

    Parmetros:- StarDate: Fecha inicial.- EndDate: Fecha final.

    Mtodo: Imprime una lectura de memoria fiscal por rango de fechas.Excepcin: Arroja la excepcin PrinterExeption.

    12

  • 5/28/2018 Manual de Integracion Con JAVA

    14/24

    INTEGRACIN EN JAVA

    5.2.8- printXReport()throwsPrinterExeption.

    Mtodo: Imprime un reporte X.

    Excepcin: Arroja la excepcin PrinterExeption.5.2.9- printZReport()throwsPrinterExeption.

    Mtodo: Imprime un reporte Z.Excepcin: Arroja la excepcin PrinterExeption.

    5.2.10- S1PrinterData getS1PrinterData()throwsPrinterExeption

    Mtodo: Sube el estado S1 de la Impresora fiscal al PC y estableces los

    valores respectivos de la data en el objeto S1Estadode la clase Tfhka.java.Retorno: Un objeto de tipoS1PrinterData en la variable global S1Estado.Excepcin: Arroja la excepcin PrinterExeption.

    5.2.11- S2PrinterData getS2PrinterData()throwsPrinterExeption

    Mtodo: Sube el estado S2 de la Impresora fiscal al PC y estableces losvalores respectivos de la data en el objeto S2Estadode la clase Tfhka.java.Retorno: Un objeto de tipoS2PrinterData en la variable global S2Estado.Excepcin: Arroja la excepcin PrinterExeption.

    5.2.12- S3PrinterData getS3PrinterData()throwsPrinterExeptionMtodo: Sube el estado S3 de la Impresora fiscal al PC y estableces losvalores respectivos de la data en el objeto S3Estadode la clase Tfhka.java.Retorno: Un objeto de tipoS3PrinterData en la variable global S3Estado.Excepcin: Arroja la excepcin PrinterExeption.

    5.2.13- S4PrinterData getS4PrinterData()throwsPrinterExeption

    Mtodo: Sube el estado S4 de la Impresora fiscal al PC y estableces losvalores respectivos de la data en el objeto S4Estadode la clase Tfhka.java.Retorno: Un objeto de tipoS4PrinterData en la variable global S4Estado.Excepcin: Arroja la excepcin PrinterExeption.

    5.2.14- S5PrinterData getS5PrinterData()throwsPrinterExeption

    Mtodo: Sube el estado S5 de la Impresora fiscal al PC y estableces losvalores respectivos de la data en el objeto S5Estadode la clase Tfhka.java.Retorno: Un objeto de tipoS5PrinterData en la variable global S5Estado.Excepcin: Arroja la excepcin PrinterExeption. 13

  • 5/28/2018 Manual de Integracion Con JAVA

    15/24

    INTEGRACIN EN JAVA

    6.- ANEXOS

    Anexo 1

    Informacin del Status de la Impresora Fiscal

    14

  • 5/28/2018 Manual de Integracion Con JAVA

    16/24

    INTEGRACIN EN JAVA

    Informacin del Error de la Impresora Fiscal

    15

  • 5/28/2018 Manual de Integracion Con JAVA

    17/24

    INTEGRACIN EN JAVA

    Anexo 2.

    Comandos Para Leer el Estado de la Impresora

    Lectura del Estado 1 (S1)

    Este comando permite leer desde el host (PC) el estado de la impresorafiscal, referente a parmetros de la impresora como serial, RIF y datos de factura.Es posible ejecutar este comando en cualquier condicin.

    Detalle de Data de los 88 bytes de Respuesta de la impresora:

    Lectura del Estado 2 (S2)

    Este comando permite leer desde el host (PC) el estado de la factura encurso en transaccin. Si es ejecutado este comando sin una factura en curso, losvalores obtenidos sern cero.

    16

  • 5/28/2018 Manual de Integracion Con JAVA

    18/24

    INTEGRACIN EN JAVA

    Detalle de Data de los 69 bytes de Respuesta de la impresora:

    Lectura del Estado 3 (S3)

    Este comando permite leer desde el host (PC) el estado de la impresorafiscal, referentes a las tasas de impuesto y flags de estado. Es posible ejecutareste comando en cualquier condicin.

    Detalle de Data de los 57 bytes de Respuesta de la impresora:

    Lectura del Estado 4 (S4)

    Este comando permite leer desde el host (PC) el estado de la impresorafiscal, referentes a los Medios de Pago. Es posible ejecutar este comando encualquier condicin.

    17

  • 5/28/2018 Manual de Integracion Con JAVA

    19/24

    INTEGRACIN EN JAVA

    Detalle de Data de los 162 bytes de Respuesta de la impresora:

    Comandos Para Leer Reportes de la Impresora

    Lectura del Reporte X (U0X)

    Este comando permite leer desde el host (PC) el estado de la impresora

    fiscal, referente al reporte X. Es posible ejecutar este comando en cualquiercondicin.

    18

  • 5/28/2018 Manual de Integracion Con JAVA

    20/24

    INTEGRACIN EN JAVA

    Respuesta desde la impresora fiscal:

    Lectura del Reporte Z (U0Z)

    Este comando permite leer desde el host (PC) el estado de la impresorafiscal, referente al reporte Z. Es posible ejecutar este comando en cualquiercondicin.

    19

  • 5/28/2018 Manual de Integracion Con JAVA

    21/24

    INTEGRACIN EN JAVA

    Respuesta desde la impresora fiscal:

    20

  • 5/28/2018 Manual de Integracion Con JAVA

    22/24

    INTEGRACIN EN JAVA

    Anexo 3.

    Aplicacin Demo en Java bajo Windows para Impresoras Fiscales

    FacturadorJavaEsta aplicacin se ejecuta en Windows haciendo doble clip en el .jar ejecutable, siempre y

    cuando tengan la JVM instalada y su CommApi correspondiente configurado en la misma.

    Consiste en un sencillo facturador que maneja la librera TfhkaJavaPa.jar utilizandoalgunos de sus mtodos respectivos, como para abrir puerto serial, enviar comandos para venta ala impresora fiscal y cerrar puerto serial cuando finaliza la aplicacin.

    Los puertos seriales los asume de manera automtica dependiendo si la disponibilidad enel equipo donde se corra la aplicacin y tambin del sistema operativo.

    Las tasas de impuestos para el registro de un producto para la venta la toma de la unidad

    del precio del producto ha registrar, es decir, si se registra un precio de 1,05 Bs. le corresponde laTasa de Impuesto 1.

    Si un producto es unitario se pone su precio y se registra de inmediato, no es necesariomultiplicarlo por uno (1).

    Las operaciones que se pueden hacer en este Demo son: Registro de Producto para laVenta, Registro de Producto para la Devolucin, Correccin, Descuentos, Recargos y Totalizar.

    21

  • 5/28/2018 Manual de Integracion Con JAVA

    23/24

    INTEGRACIN EN JAVA

    Anexo 4.

    Aplicacin Demo en Java bajo Windows para Impresoras Fiscales

    DemoTfhkaJavaConsiste en una aplicacin demo completa que utiliza las funcionalidades

    ms comunes en la impresora fiscal y los mtodos de la clase Tfhka.java. Estadesarrollado en NetBeans 5.5 con la JVM JDK 1.6.

    22

  • 5/28/2018 Manual de Integracion Con JAVA

    24/24

    INTEGRACIN EN JAVA

    Anexo 5.

    Aplicacin Demo en Java bajo Linux para Impresoras Fiscales

    FacturadorJavaEsta aplicacin se ejecuta en Linux desde la consola en superusuario mediante la

    instruccin o lnea de comando siguiente:

    NombrePCLinux@root#:java jar /root /Desktop/DemoTFHKAJavaLinux.jar

    En este caso el archivo ejecutable de la aplicacin est en el escritorio del PC. Laaplicacin se ejecutar siempre y cuando tengan la JVM instalada y su CommApi correspondienteconfigurado en la misma.

    Consiste en un conjunto de botones que tienen las operaciones bsicas que se le enva ala impresora. Este demo tambin utiliza la librera estndar TfhkaJavaPa.jar.

    Al abrir la aplicacin se debe elegir el puerto serial y abrirlo, posteriormente se mostrar unmensaje del estatus de la operacin de apertura del mismo. Las operaciones de los demsbotones se podrn ejecutar solo si la apertura del puerto serial es positiva.

    23