Colaboraciones en el Guille

Ejecutando componentes COM+ en Crystal Report .NET

 
Fecha: 13/Nov/2005 (06-11-05)
Autor: Lic. Giovanni Antonio Cuadra Reyes

AmericanCollege IT Manager

Email:   giovanni_cuadra@hotmail.com
               gcuadra@americancollege.edu.ni

         

 

 

!!!Tecnología de la Programación!!!

Managua, Nicaragua.

 


Introducción

Decidí escribir un artículo más acerca de Crystal Report .NET basándome en la poderosa herramienta que es y cuan útil podría ser si aprendemos a utilizar algunos secretos que nos beneficiarían en nuestras laboras diarias, como lo es el desarrollo de software.

Si la memoria no me falla, desde la versión 8.5 de Crystal Report, viene integrado algo que se llama UDF que en sus siglas en inglés significa (Funciones Definidas por el Usuario). Esta modalidad permite a los desarrolladores integrar componentes COM o a lo que se le llama en muchos casos Servidores de Automatización, los cuales son muy comunes como en lenguajes de Visual Basic 6.0. Dichos Servidores de Automatización pueden en la mayoría de los casos encapsular funciones reutilizables, reglas de negocios que muy seguro están vinculadas a algunas funciones especiales del sistema y porque no en los mismos reportes.

Recordemos que los Servidores de Automatización son librerías de enlace dinámico o lo que conocemos como DLL, también recordemos que estos son pequeños subprogramas ejecutables que exponen muchas funcionalidades a otros elementos que soportan COM. Crystal Report a través de sus versiones más actuales integra un DLL denominado U2LCOM.DLL siendo este el elemento clave para que el editor de formulas de dicha herramienta pueda detectar las funciones personalizadas en archivos de tipo DLL.

Este artículo esta basado en el uso Servidores de Automatización en Crystal Report .NET, más propiamente dichas dentro de las formulas de cada reporte  y como estos componentes pueden ser reutilizados en versiones más recientes de Crystal Report .NET, sin volver a reescribirlos.

Funciones definidas de usuario

El editor de formulas de Crystal Report .NET es una herramienta que permite un gran alcance, permitiendo lograr una gran variedad de tareas de una forma fácil y eficiente, tal como es el uso de las famosas UDF las cuales las hemos definidos como librerías de enlace dinámico. Como toda herramienta de desarrollo requiere de algunos requerimientos para que estas bibliotecas de enlace dinámico puedan ser utilizadas. A continuación muestro los requerimientos para que dichas librerías puedan ser detectadas dentro del editor de formula de Crystal Report .NET:

Pasos en la construcción del componente

Solo hay cuatro pasos importantes para el desarrollo del Servidor de Automatización dentro de cualquier lenguaje que soporte la misma tecnología. En el caso de este ejemplo se utiliza Visual Basic 6.0. A continuación menciono los pasos a seguir:

A continuación muestro una grafica que visualiza el editor de formulas de Crystal Report .NET mostrando la sección de funciones adicionales y el la cual se muestra nuestra función del componente.

La figura 1.0 muestra la función prediseñada en el editor de formulas.

Implementando una solución con Crystal Report .NET

A continuación muestro un ejemplo muy sencillo utilizando un reporte en Crystal Report .NET el cual utiliza una formula para ejecutar la función del Servidor de Automatización. Los siguientes requisitos serán necesarios:

Creando la formula dentro del reporte

Una vez creado el reporte, lo que se requiere es insertar una formula dentro del mismo para ejecutar la función de la librería o componente. No explico los pasos para crear el reporte ya que es algo muy intuitivo y fácil de hacer. El primer paso que se debe hacer para crear la formula es ejecutar la opción con el icono denominado explorador de campos, una vez hecho esto aparecerá la siguiente figura:

La figura 2.0 muestra el explorador de campos.

Una vez creado el nombre la formula que permitirá ejecutar la función aparecerá el editor de formulas el cual permite seleccionar entre funciones predefinidas por Crystal Report .NET y funciones prediseñadas mediante el uso de la técnica de Servidores de Automatización o componentes COM. A continuación muestro una captura dentro del editor de formulas, así como también la función que será ejecutada dentro de la misma. 

La figura 3.0 muestra la definición de la función.

El objetivo básico de esta función es el mostrar la fecha en formatos totalmente personalizados, los cuales son enviados en forma de parámetros al componente COM, el cual este procesa e interpreta y luego envía de regreso el resultado a Crystal Report .NET.

Esta es una forma muy fácil de reutilizar elementos o pedazos de subprogramas de otras tecnologías que de alguna forma nos permiten el no reescribirlos nuevamente con el propósito de readaptarlos en herramientas mucho mas sofisticadas y que al final nos simplifica mucho trabajo.

Para finalizar, a continuación muestro el reporte en tiempo de ejecución el cual muestra una fecha dada con un formato personalizados por el usuario.

Agradeciendo de ante mano a todas aquellas personas que me han escrito y que de alguna forma he tratado de ayudar en la medida de lo posible, a todas aquellas personas de los foros de Microsoft, del foro del Guille a las cuales hemos tratado en muchas ocasiones de responder lo más rápido posible a sus inquietudes.

Conclusiones

Sin duda alguna los sistema de información han dejado de ser simples herramientas operativas para convertirse en verdaderos aliados de las organizaciones en etapas de modernización. Sin embargo para aquellas organizaciones que compiten en un entorno donde la velocidad para adaptarse a los cambios se convierte en una ventaja competitiva será la clave fundamental para obtener el excito esperado en este mundo actual en aras de la globalización.

La tecnología de Software basado en componentes producirá en este nuevo siglo grandes logros a la Ingeniería de Software moderno. Proporcionando mecanismos de ensamblaje tan fáciles como las auto partes proporcionan a los automóviles del futuro.

Giovanni Cuadra.


Fichero con el código de ejemplo: gcuadraCRNETCOM.zip - (el tamaño) 9 KB


ir al índice principal del Guille