URGENTE: Exportar a HTML con Crystal Reports

erDani
10 de Febrero del 2004
hola a todos. a ver si me podeis ayudar.

al intentar exportar a HTML desde ASP un informe hecho con crystal reports falla, algunas veces, dando el siguiente error: "fallo al exportar el informe" mientras que otras veces lo exporta directamente sin ningun fallo. esto lo hace aleatoriamente y sin causa alguna (cuando quiere, vamos....)
la version de crystal que utilizo es la 8.5 y para las paginas ASP empleo el IIS de windows 2000.

alguien sabe como solucionarlo????

gracias por adelantado


Os muestro el código que utilizo:

---------------------------------
Dim Ruta

Ruta = server.MapPath ("report1.rpt")
Session("sRepName")= Ruta

Set session("oApp") = server.CreateObject"CrystalRuntime.Application")

If IsObject(session("oRpt")) then
Set session("oRpt") = nothing
End if
Set session("oRpt") = session("oApp").OpenReport(Session("sRepName"), 1)

session("oRpt").MorePrintEngineErrorMessages = False
session("oRpt").EnableParameterPrompting = False
session("oRpt").DiscardSavedData

on error resume next

Set CrystalExportOptions = Session("oRpt").ExportOptions
CrystalExportOptions.FormatType = 32
CrystalExportOptions.DestinationType = 1
CrystalExportOptions.HtmlFileName "informe.htm"
Session("oRpt").export False
---------------------------------

a
10 de Febrero del 2004
fecha1=request.QueryString("fecha1") \'OBTENIENDO FECHA INICIAL
fecha2=request.QueryString("fecha2") \'OBTENIENDO FECHA FINAL
nomarch=request.QueryString("nomarch") \'OBTENIENDO NOMBRE DEL ARCHIVO
ext=request.QueryString("ext") \'OBTENIENDO EXTENCION DEL ARCHIVO
formu= request.QueryString("formu") \'OBTENIENDO CAMPO PARA EJECUTAR FORMULA
tp= request.QueryString("tp")
rot=request.QueryString("top")
dim anexo
anexo="_"& Mid(FormatNumber(Time, 5), 3, 5) \'GENERANDO NUMERO ALEATORIO
apodo=nomarch &anexo &"."&ext \'CONCATENADO NOMBRE DEL ARCHIVO DE SALIDA PARA VISTA AL CLIENTE
\'Response.Write apodo
select case ext \'VERIFICACION DEL FORMATO YA SEA EXCEL O HTML
case "htm" \'SI ES HTM ASIGNA 22
formato=22
case "xls" \'SI ES XLS ASIGNA 19
formato=19
end select

Set rpt =server.CreateObject("Crystal.CrystalReport") \'CREA OBJETO CRYSTAL REPORTS
\'rpt.ReportFileName = "C:\Inetpub\wwwroot\siia\auditoria_rpt_htm\"& nomarch &".rpt" \'OBTIENDO EL NOMBRE DEL ARCHIVO FUENTE
rpt.ReportFileName = session("dir_rpt")& nomarch &".rpt"
rpt.Destination = 2 \'GENERA UNA SALIDA DE TIPO ARCHIVO
rpt.Connect = "DRIVER={SQL SERVER};SERVER=NETFINITY;UID=SIIA;PWD=SIIA;DATABASE=SIIA_TW;TIMEOUT=500" \'CONECTATE A LA BD

if formu= empty then \'SI NO HAY FORMULA ES UN REPORTE ENTONCES ES UN REPORTE DE TIPO STORE
rpt.StoredProcParam(0)=fecha1 \'ASIGNA PARAMETROS AL REPORTE
rpt.StoredProcParam(1)=fecha2
if trim(tp)<>"" then
rpt.StoredProcParam(2)=cint(tp)
rpt.StoredProcParam(3)=cint(rot)
end if
else
formu="{" &formu & "}" \' SI HAY FORMULA
crea_formula_crys fecha1,fecha2,formu,formifin \'ARMA PARAMETROS DE COMPARACION EN FORMATO DE CRYSTAL REPORTS
rpt.SelectionFormula =formifin \' ASIGNA LA FORMULA
rpt.Formulas(0)="@1Titulo = \'Del "& Mid(fecha1, 4, 2) & "/" & Mid(fecha1, 1, 2) & "/" & Mid(fecha1, 7, 4) & " al " & Mid(fecha2, 4, 2) & "/" & Mid(fecha2, 1, 2) & "/" & Mid(fecha2, 7, 4) & "\'"
end if
rpt.PrintFileType= formato \'ASIGNA EL FORMATO EN QUE SEA CREADO EL REPORT (HTML Ú EXCEL) )
\'rpt.PrintFileName = "C:\Inetpub\wwwroot\siia\auditoria_rpt_htm\html\"&apodo \'GENERA LA TRAYECTORIA EN DONDE SE DEPOSITARA EL ARCHIVO GENERADO
rpt.PrintFileName = session("dir_rpt")&"html\"&apodo
rpt.Action = 1 \'IMPRIME EL ARCHIVO
rpt.Reset \'DESTRUYE REPORTE
set rpt=nothing \'DESTRUYE OBJ CRYSTAL


\'Request.Cookies ("dir_rpt")
traye=session("dir_fin_rpt")&apodo \' REDIRECCIONATE AL ARCHIVO DE SALIDA




Sub crea_formula_crys(fecha1, fecha2, campo, comparafin)
comparafin = campo & " >= DateTime(" & Mid(fecha1, 7, 4) & "," & Mid(fecha1, 1, 2) & "," & Mid(fecha1, 4, 2) & " ) "
comparafin = comparafin & " and " & campo & " <= DateTime(" & Mid(fecha2, 7, 4) & "," & Mid(fecha2, 1, 2) & "," & Mid(fecha2, 4, 2) & " ) "
End Sub

%>
<script language="vbscript">
location.href ="<%=traye%>"

</script>