@Override
  public void init(AppView app) throws BeanFactoryException {

    m_App = app;
    m_dlSystem = (DataLogicSystem) m_App.getBean("com.openbravo.pos.forms.DataLogicSystem");
    m_TTP = new TicketParser(m_App.getDeviceTicket(), m_dlSystem);

    m_jTicketTable.setDefaultRenderer(
        Object.class,
        new TableRendererBasic(new Formats[] {new FormatsPayment(), Formats.CURRENCY}));
    m_jTicketTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    m_jScrollTableTicket.getVerticalScrollBar().setPreferredSize(new Dimension(25, 25));
    m_jTicketTable.getTableHeader().setReorderingAllowed(false);
    m_jTicketTable.setRowHeight(25);
    m_jTicketTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    m_jsalestable.setDefaultRenderer(
        Object.class,
        new TableRendererBasic(
            new Formats[] {Formats.STRING, Formats.CURRENCY, Formats.CURRENCY, Formats.CURRENCY}));
    m_jsalestable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    m_jScrollSales.getVerticalScrollBar().setPreferredSize(new Dimension(25, 25));
    m_jsalestable.getTableHeader().setReorderingAllowed(false);
    m_jsalestable.setRowHeight(25);
    m_jsalestable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  }
 /** Creates new form JTicketsBag */
 public JTicketsBag(AppView oApp, TicketsEditor panelticket) {
   m_App = oApp;
   m_panelticket = panelticket;
   m_dlSales = (DataLogicSales) m_App.getBean("com.openbravo.pos.forms.DataLogicSales");
 }
  private void m_jCloseCashActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_m_jCloseCashActionPerformed
    // TODO add your handling code here:
    int res =
        JOptionPane.showConfirmDialog(
            this,
            AppLocal.getIntString("message.wannaclosecash"),
            AppLocal.getIntString("message.title"),
            JOptionPane.YES_NO_OPTION,
            JOptionPane.QUESTION_MESSAGE);
    if (res == JOptionPane.YES_OPTION) {

      Date dNow = new Date();

      try {
        // Cerramos la caja si esta pendiente de cerrar.
        if (m_App.getActiveCashDateEnd() == null) {
          new StaticSentence(
                  m_App.getSession(),
                  "UPDATE CLOSEDCASH SET DATEEND = ? WHERE HOST = ? AND MONEY = ?",
                  new SerializerWriteBasic(
                      new Datas[] {Datas.TIMESTAMP, Datas.STRING, Datas.STRING}))
              .exec(
                  new Object[] {dNow, m_App.getProperties().getHost(), m_App.getActiveCashIndex()});
        }
      } catch (BasicException e) {
        MessageInf msg =
            new MessageInf(
                MessageInf.SGN_NOTICE, AppLocal.getIntString("message.cannotclosecash"), e);
        msg.show(this);
      }

      try {
        // Creamos una nueva caja
        m_App.setActiveCash(
            UUID.randomUUID().toString(), m_App.getActiveCashSequence() + 1, dNow, null);

        // creamos la caja activa
        m_dlSystem.execInsertCash(
            new Object[] {
              m_App.getActiveCashIndex(),
              m_App.getProperties().getHost(),
              m_App.getActiveCashSequence(),
              m_App.getActiveCashDateStart(),
              m_App.getActiveCashDateEnd()
            });

        // ponemos la fecha de fin
        m_PaymentsToClose.setDateEnd(dNow);

        // print report
        printPayments("Printer.CloseCash");

        // Mostramos el mensaje
        JOptionPane.showMessageDialog(
            this,
            AppLocal.getIntString("message.closecashok"),
            AppLocal.getIntString("message.title"),
            JOptionPane.INFORMATION_MESSAGE);
      } catch (BasicException e) {
        MessageInf msg =
            new MessageInf(
                MessageInf.SGN_NOTICE, AppLocal.getIntString("message.cannotclosecash"), e);
        msg.show(this);
      }

      try {
        loadData();
      } catch (BasicException e) {
        MessageInf msg =
            new MessageInf(
                MessageInf.SGN_NOTICE, AppLocal.getIntString("label.noticketstoclose"), e);
        msg.show(this);
      }
    }
  } // GEN-LAST:event_m_jCloseCashActionPerformed