REPORTE CRYSTAL REPORT EN PLEX

Obsydian, Cool:Plex, Advantage Plex, AllFusion Plex...

Moderadores: Jorge Ubeda, pacopicon

REPORTE CRYSTAL REPORT EN PLEX

Notapor DONJOHN » Mié Jul 25, 2007 6:47 pm

Hola :), quien podría ayudarme con el manejo del crystal report en Plex?
cuáles son los pasos a seguir?. Estoy utilizando la versión 5.00 del plex y ya tengo un reporte desarrollado con crystal report 11, el cual tiene como parámetros de input: compañía, año, mes

Por favor si alguien que conozca del tema pueda enviarme a mi correo un ejemplo, mi email es johnsany10@gmail.com.

De antemano les agradezco por la atención prestada.

Muchas Gracias
John
DONJOHN
 
Mensajes: 3
Registrado: Mié Abr 18, 2007 7:38 pm
Ubicación: Lima-Perú

Crystal Reports en Plex

Notapor pactorre » Jue Ago 09, 2007 10:36 am

El primer paso sería crear un sourcecode, pasándole al mismo los parámetros asociados con la conexión (si la quieres hacer variable) como: Servidor, base de datos, usuario, password, etc. En caso de que estos datos fueran fijos puedes definirlos dentro del propio sourcecode.

A continuación necesitarás definir la ruta y nombre del fichero CR. Al igual que antes puedes pasarlo como parámetro o utilizarlo de forma constante.

Por último, tendrás que pasar un parámetro donde definas los parámetros. Puedes utilizar varios parámetros, cada uno con un valor de los que quieres pasar a fichero CR y o bien pasas directamente como parámetro al sourcecode una cadena, con todos los parámetros agrupados y luego se los vas pasando a la api de CR.

A continuación te pongo un ejemplo simplificado de source code para imprimir un reports en CR, con pequeñas modificaciones te serviría también para lanzar una exportación:

Dim strReport, strReportName
Dim strPath
Dim strParameter
Dim strPrinter
Dim strDriver
Dim strPort
Dim strResult
Dim strConnectionProperties
Dim intCopias
Dim intOrient
'1 -> Horizontal
'2 -> Verticual
'Objetos
Dim AppCrystal
Dim crReport
Dim strParamValues
Dim objParams
Dim objParam
Dim strParam
'Para el control de Errores
Dim ErrorMsg


strParameter = Trim(&(3:))
strPrinter = Trim(&(4:))
strDriver = Trim(&(5:))
strPort = Trim(&(6:))
strConnectionProperties = Trim(&(7:))



if IsEmpty( &(8:)) Then
intCopias = 1
else
intCopias = &(8:)
end if

if IsEmpty(&(9:)) Then
intOrient = 1
else
intOrient = &(9:)
end if


strReport = strPath & "\"
strReport = strReport & strReportName

'Este es el formato para Crystal Reports 9
Set AppCrystal = CreateObject("CrystalRunTime.Application")


'Abro el informe
Set crReport = AppCrystal.OpenReport(strReport)

'Para cada objeto de tabla en el informe actualizamos sus propiedades

For Each objDBTable In crReport.Database.Tables


Set objCPProperties = objDBTable.ConnectionProperties

'Borro las propiedades actuales
objCPProperties.DeleteAll

'Se le introducen las propiedades de conexión basadas en la cadena pasada como parámetro
strProperties = Split(CStr(strConnectionProperties), ";")

'Divido los parámetros de conexión pasados en un array de la forma
'[1] Param1=Value1 [2] Param1=Value2 ....[n] ParamX = ValueZ

Dim nSepara, strNombre, strValor
Dim strProperty

For Each strProperty In strProperties

'Debo obtener para cada parámetro su nombre y valor
nSepara = InStr(strProperty, "=")
strNombre = Left(strProperty, nSepara - 1)
strValor = Mid(strProperty, nSepara + 1)

objCPProperties.Add Trim(strNombre), Trim(strValor)


If Err.Number <> 0 Then
strResult = "N"
ErrorMsg = "Error Number: " + Err.Number + " Description: " + Err.Description + " Source: " + Err.Source
msgbox("Error Number2: " + Err.Number + " Description: " + Err.Description + " Source: " + Err.Source)
Err.Clear
' ***********MODO PRUEBA
&(10:) = strResult
&(11:) = ErrorMsg
'Exit Sub
End If


Next

objDBTable.Location = objDBTable.Name

If Err.Number <> 0 Then
'Se ha producido un error durante la inicialización de los valores de conexión

End If

Next


'Meto todos los parámetros en un array
strParamValues = Split(CStr(strParameter), ",")

'Divido los parámetros pasados en un array de la forma
'[1] Param1=Value1 [2] Param1=Value2 ....[n] ParamX = ValueZ

'Obtengo el parámetro adecuado que debo actualizar en el
'informe
Set objParams = crReport.ParameterFields

'Evito que pida los parámetros
crReport.EnableParameterPrompting = False

For Each strParam In strParamValues

'Debo obtener para cada parámetro su nombre y valor
nSepara = InStr(strParam, "=")
strNombre = Left(strParam, nSepara - 1)
strValor = Mid(strParam, nSepara + 1)

Set objParam = objParams.GetItemByName(strNombre)

objParam.AddCurrentValue (Trim(strValor))


If Err.Number <> 0 Then
'Se ha producido un error durante la inicialización de los valores de conexión

End If
Next

'********************************************************

'Formato selección impresora:
crReport.SelectPrinter strDriver, strPrinter, strPort

'Formato comando impresión:
' PrintOut([promptUser], [numberOfCopy], [collated], [startPageN], [stopPageN])
'crReport.PrintOut False, CInt(intCopias), False, 1, 5000

crReport.PaperOrientation = intOrient

crReport.PrintOut False, CInt(intCopias), False


Set crReport = Nothing
Set AppCrystal = Nothing

'Controlo si ha habido errores
If Err.Number <> 0 Then
'Se ha producido un error durante la inicialización de los valores de conexión

End If
pactorre
 
Mensajes: 6
Registrado: Lun Oct 03, 2005 12:21 pm


Volver a Plex

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados

cron