Ejemplo n.º 1
0
 public void docActionStatusChanged(DocActionStatusEvent event) {
   // Evento: Impresión fiscal de documento.
   if (event.getDocActionStatus() == DocActionStatusEvent.ST_FISCAL_PRINT_DOCUMENT) {
     PO document = (PO) event.getSource();
     // Se obtiene el nombre del tipo de documento.
     Integer docTypeID = (Integer) document.get_Value("C_DocTypeTarget_ID");
     String docTypeName = "";
     if (docTypeID != null && docTypeID > 0) {
       MDocType docType = MDocType.get(Env.getCtx(), docTypeID);
       docTypeName = " - " + docType.getPrintName();
     }
     // Se crea la ventana que muestra el estado de la impresora fiscal.
     final AInfoFiscalPrinter infoFiscalPrinter =
         new AInfoFiscalPrinter(
             null,
             m_pi.getWindowNo(),
             Msg.parseTranslation(Env.getCtx(), "@PrintingFiscalDocument@" + docTypeName));
     FiscalDocumentPrint fdp = (FiscalDocumentPrint) event.getParameter(0);
     // Se setea  la ventana de información tanto como listener de estado de la
     // impresora como el estado de la impresión del documento.
     fdp.addDocumentPrintListener(infoFiscalPrinter);
     fdp.setPrinterEventListener(infoFiscalPrinter);
     // Se efectúa la referencia cruzada entre el Impresor y la
     // ventana de información.
     infoFiscalPrinter.setFiscalDocumentPrint(fdp);
     // Se muestra la ventana en el thread de Swing.
     SwingUtilities.invokeLater(
         new Runnable() {
           public void run() {
             infoFiscalPrinter.setVisible(true);
           }
         });
   }
 }