public VistaFuncionWrapper(
     long vista, EnumFormatoGuardar formato, EnumTipoInforme tipo, String select)
     throws ExcepcionAplicacion {
   _id = vista;
   _nombre = Global.PREFIJO_STRING_ID_RECURSO + vista;
   _formato = formato != null ? formato : EnumFormatoGuardar.INFORME;
   _tipo = tipo != null ? tipo : EnumTipoInforme.DETALLE;
   if (_formato.equals(EnumFormatoGuardar.ARCHIVO) && _tipo.equals(EnumTipoInforme.GRAFICO)) {
     throw new ExcepcionAplicacion(Bitacora.getTextoMensaje(CBM.GRAFICO_NO_DISPONIBLE));
   }
   _select = StringUtils.trimToNull(select);
   if (_select == null) {
     throw new ExcepcionAplicacion(Bitacora.getTextoMensaje(CBM.ERROR_COMANDO_SELECT));
   }
   init();
 }
 public boolean generateJasperReport() throws ExcepcionAplicacion {
   check();
   File dir = Reporter.getUserDefinedReportsDir();
   if (dir == null) {
     throw new ExcepcionAplicacion(
         Bitacora.getTextoMensaje(CBM.RECURSO_NO_DISPONIBLE, EAC.REPORT_SOURCE_DIR));
   }
   String sep = System.getProperties().getProperty("file.separator");
   String informe = getReportSourceFileName();
   String tempname = "informe" + "-" + _tipo.name().toLowerCase() + "." + "jrxml" + "." + "vm";
   String filename = dir.getPath() + sep + informe + "." + "jrxml";
   Report report = new Report(this, _tipo);
   VelocityContext context = VelocityAid.newVelocityContext();
   context.put("report", report);
   context.put("eacode", EAB.ENTERPRISE_APPLICATION_CODE);
   return write(context, tempname, filename);
 }