public void modificarFactura() {
    System.out.println("Ingreso a registrarFactura...");
    if (selectedSucursal.getId().intValue() == 0) {
      FacesUtil.infoMessage("VALIDACION", "Seleccione una sucursal");
      return;
    }
    if (verificarNitCi()) {
      selectedFactura.setNombreFactura(textoAutoCompleteCliente);
      selectedFactura.setNitCi(textoAutoCompleteNit);
      selectedFactura.setTotalFacturado(totalImporte);
      selectedFactura.setTotalPagar(totalImporte);
      selectedFactura.setTotalEfectivo(totalImporte);
      selectedFactura.setTotalLiteral(obtenerMontoLiteral(totalImporte));
      selectedFactura.setCliente(selectedCliente);
      selectedFactura.setSucursal(selectedSucursal);
      selectedFactura.setNombreFactura(selectedCliente.getNombre());
      selectedFactura.setImporteSubTotal(
          selectedFactura.getTotalFacturado()
              - selectedFactura.getImporteICE()
              - selectedFactura.getImporteExportaciones()
              - selectedFactura.getImporteVentasGrabadasTasaCero());
      selectedFactura.setImporteBaseDebitoFiscal(
          selectedFactura.getImporteSubTotal()
              - selectedFactura.getImporteDescuentosBonificaciones());
      selectedFactura.setImporteBaseDebitoFiscal(
          selectedFactura.getImporteBaseDebitoFiscal() * 0.13);
      selectedFactura.setMes(Time.obtenerFormatoMM(selectedFactura.getFechaFactura()));

      facturaRegistration.update(selectedFactura);
      FacesUtil.infoMessage("Factura Modificada", "Nº " + selectedFactura.getNumeroFactura());
      loadValuesDefault();
    }
  }
  public void actionModificarFactura() {
    modificacionFactura2 = true;
    crear = false;
    modificacionFactura = false;
    seleccionarFactura = false;
    //
    selectedSucursal = selectedFactura.getSucursal();
    textSucursal = selectedSucursal.getNombre();
    selectetDosificacion = obtenerDosificacion(selectedSucursal);
    totalImporte = selectedFactura.getTotalFacturado();

    selectedCliente = selectedFactura.getCliente();
    textoAutoCompleteCliente = selectedCliente.getNombre();
    textoAutoCompleteNit = selectedCliente.getNit();
  }
  public String armarCadenaQR(Factura factura) {
    String cadenaQR = "";
    try {
      cadenaQR = new String();

      // NIT emisor
      cadenaQR = cadenaQR.concat(empresaLogin.getNIT());
      cadenaQR = cadenaQR.concat("|");

      // Numero de Factura
      cadenaQR = cadenaQR.concat(factura.getNumeroFactura());
      cadenaQR = cadenaQR.concat("|");

      // Numero de Autorizacion
      cadenaQR = cadenaQR.concat(factura.getNumeroAutorizacion());
      cadenaQR = cadenaQR.concat("|");

      // Fecha de Emision
      cadenaQR = cadenaQR.concat(obtenerFechaEmision(factura.getFechaFactura()));
      cadenaQR = cadenaQR.concat("|");

      // Total Bs
      cadenaQR = cadenaQR.concat(String.valueOf(factura.getTotalFacturado()));
      cadenaQR = cadenaQR.concat("|");

      // Importe Base para el Credito Fiscal
      cadenaQR = cadenaQR.concat(String.valueOf(factura.getTotalFacturado()));
      cadenaQR = cadenaQR.concat("|");

      // Codigo de Control
      cadenaQR = cadenaQR.concat(factura.getCodigoControl());
      cadenaQR = cadenaQR.concat("|");

      // NIT / CI del Comprador
      cadenaQR = cadenaQR.concat(factura.getNitCi());
      cadenaQR = cadenaQR.concat("|");

      // Importe ICE/IEHD/TASAS [cuando corresponda]
      cadenaQR = cadenaQR.concat("0");
      cadenaQR = cadenaQR.concat("|");

      // Importe por ventas no Gravadas o Gravadas a Tasa Cero [cuando
      // corresponda]
      cadenaQR = cadenaQR.concat("0");
      cadenaQR = cadenaQR.concat("|");

      // Importe no Sujeto a Credito Fiscal [cuando corresponda]
      cadenaQR = cadenaQR.concat("0");
      cadenaQR = cadenaQR.concat("|");

      // Descuentos Bonificaciones y Rebajas Obtenidas [cuando
      // corresponda]
      cadenaQR = cadenaQR.concat("0");

      return cadenaQR;

    } catch (Exception e) {
      e.printStackTrace();
      System.out.println("Error en armarCadenaQR: " + e.getMessage());
      return cadenaQR;
    }
  }