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 anularFactura() {
   try {
     System.out.println("Ingreso a anularFactura");
     selectedFactura.setEstado("A");
     facturaRegistration.update(selectedFactura);
     FacesUtil.infoMessage("Factura Anulada.", "Nº " + selectedFactura.getNumeroFactura());
     loadValuesDefault();
   } catch (Exception e) {
     System.out.println("Error en anularFactura : " + e.getStackTrace());
   }
 }
  public void armarUrl() {
    try {
      HttpServletRequest request =
          (HttpServletRequest) facesContext.getExternalContext().getRequest();
      String urlPath = request.getRequestURL().toString();
      urlPath =
          urlPath.substring(0, urlPath.length() - request.getRequestURI().length())
              + request.getContextPath()
              + "/";

      TamanoHoja tamanoHoja = tamanoHojaRepository.traerHojaActiva();
      String tamano = tamanoHoja.getTamano();
      String impresion = "" + selectedFactura.isImpresion();
      dosificacion = dosificacionRepository.findActivaBySucursal(selectedFactura.getSucursal());
      String leyenda1 = URLEncoder.encode(dosificacion.getLeyendaInferior1(), "ISO-8859-1");
      String leyenda2 = URLEncoder.encode(dosificacion.getLeyendaInferior2(), "ISO-8859-1");
      String leyendaInferior2 = URLEncoder.encode(dosificacion.getLeyendaInferior2(), "ISO-8859-1");

      url =
          urlPath
              + "ReportFactura?pIdFactura="
              + selectedFactura.getId()
              + "&pEmpresa="
              + URLEncoder.encode(empresaLogin.getRazonSocial(), "ISO-8859-1")
              + "&pCiudad="
              + URLEncoder.encode(empresaLogin.getCiudad(), "ISO-8859-1")
              + "&pPais=BOLIVIA&pIdEmpresa="
              + empresaLogin.getId()
              + "&pNit="
              + empresaLogin.getNIT()
              + "&pQr="
              + selectedFactura.getCodigoRespuestaRapida()
              + "&pLeyenda="
              + leyendaInferior2
              + "&pInpresion="
              + impresion
              + "&pTamano="
              + tamano
              + "&pLeyenda1="
              + leyenda1
              + "&pLeyenda2="
              + leyenda2;
      if (selectedFactura.isImpresion()) {
        selectedFactura.setImpresion(false);
        facturaRegistration.update(selectedFactura);
      }
      System.out.println("getURL() -> " + url);
    } catch (Exception e) {

    }
  }