Fran Diaz

Reporting Services, Business Intelligence, tecnologías Microsoft y otros

Email Notifications

Recent Posts

Tags

News

Community

Comunidades

  • Foro MSDN Español: Colaborador
  • CartujaDotNet

Webs Amigas

Archives

July 2007 - Artículos

How To: Utilizar dll`s en nuestros informes.

Como agregar funcionalidad a nuestro informe desde una dll aparte es muy sencillo. Tan solo tenemos que seguir tres pasos, crear nuestra dll, insertarla en el servidor de informes y llamarla desde nuestro informe.

El como crear la dll me lo voy a saltar porque puede haber muchos tipos de clases y maneras de implementarlo. Tan solo decir que puedes estar escrita en cualquier lenguaje de .NET. Voy a dejar un trozito del ejemplo que yo realizé para que se comprenda luego mejor al llamarla.

namespace Informes_Funciones
{
     
public class Funciones
     

         
   public string FormateaFecha(string Fecha)
           
{
                 
return Fecha.Substring(6, 2) + "/" +
                   Fecha.Substring(
4, 2) + "/" + Fecha.Substring(0, 4);
            }
      }
}

A esta funcion se le pasa una fecha en string del tipo “20070710” y nos la devuelve formateada(o volteada, que es lo mismo en este caso).

Ahora compilamos la dll y la copiamos. Esta deberemos de copiarla en el servidor de informes y en visual studio si estamos probando los informes desde la vista previa de este. Para la aplicación final, tan solo tendremos que meterla en el servidor de informes ya que no le mostraremos el informe desde visual studio a nuestro cliente y si desde nuestra aplicación, desde el browser u otros.

Las rutas son las siguientes:

SQL Server 2005 y Visual Studio 2005:

Unidad:\Archivos de programa(o su equivalente en inglés)\ Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin

Unidad:\ Archivos de programa(o su equivalente en inglés)\ Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies

SQL Server 2000:

Unidad:\ Archivos de programa(o su equivalente en inglés)\Microsoft SQL Server\80\Tools\Report Designer

Unidad:\ Archivos de programa(o su equivalente en inglés)\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin

Ya tenemos nuestra dll en el servidor de informes (en Visual Studio si utilizamos su vista previa). Ahora tan solo tenemos que decirle al informe que tiene una dll que vamos a utilizar.

Dentro del diseñador del informe (no en vista previa, que sino no sale este menú), nos vamos al menú Informe, Propiedades de Informe y seleccionamos la pestaña Referencias. En esta pestaña tenemos dos opciones, hacer referenciar al ensamblado o acceder a través de una instancia.

¿Qué diferencia hay entre las dos?

Pues si hacemos una Referencia, el método al que llamemos de la dll introducida debe de ser estático (shared en vb.net y static en c#) tan solo tenemos que pulsar el boton que tiene dos puntos (..) y seleccionar nuestra dll del directorio del servidor(Unidad:\Archivos de programa(o su equivalente en inglés)\ Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin), agregarlo y aceptar.

Si por lo contrario decidimos que no, que no vamos a poner los métodos estáticos y vamos a instanciar, hacemos lo anterior y abajo en Clases ponemos el Namespace seguido de un punto y el nombre de la clase en Nombre de clase y un nombre al que llamaremos nosotros en Nombre de la Instancia.

¿Cómo llamamos a nuestra funcionalidad?

Pues de dos maneras también, depende de cómo lo agregamos y como hicimos nuestra dll.

  •  Por Referencia
    • Namespace.NombreClase.MiMetodo. Ejemplo: Informes_Funciones.Funciones.FormateaFecha(Fields!MiCampo.Value)
  • Por Clases
    • Code.NombreInstancia.Método Ejemplo: Code.NombreInstancia.FormateaFecha(Fields!MiCampo.Value)

No os preocupéis si os sale un rayita roja debajo del código al escribirlo en el diseñador, el informe no os generará error por eso y funcionará correctamente.

Espero que os sirva,

Un Saludo

Vivir en 2007 implica que...

Me manda una url a través de mensajería un compañero de oficina, en la que puedo ver esto: 

VIVIR EN EL 2007 IMPLICA QUE…

1. Accidentalmente tecleas tu password en el microondas.
2. No has jugado al ’solitario’ con cartas de verdad en muchos años.
3. Tienes una lista de 15 números telefónicos para localizar a tu familia ¡¡de sólo 3 miembros!!.
4. Le envías un e-mail a la persona que se sienta junto a ti.
5. La razón que tienes para no estar en contacto con tu familia es porque no tienen correo electrónico.
6. Te vas a casa después de un largo día de trabajo y cuando suena el timbre de tu teléfono fijo, te preguntas que te querrán vender, porque ninguno de tus amigos lo usa ya (eso si es que tienes teléfono fijo).
7. Cuando haces llamadas telefónicas desde tu casa, marcas el ‘0′ para que te dé línea.
8. Has estado sentado en el mismo escritorio cuatro años y has trabajado para 3 empresas distintas. O bien has estado en edificios de 4 compañías diferentes y tú siempre trabajabas para la misma.
10. Tu jefe no tiene la habilidad para hacer tu trabajo.
11. Cuando llegas a casa de alguien no le llamas al telefonillo, si no que le haces una llamada perdida para que baje.
12. No tienes suficientes enchufes en casa para todos tus aparatos electrónicos. Si pones a cargar el móvil tienes que quitar el cargador de pilas, el MP3 o el router.
13. Salir de tu casa sin móvil -el cual no has tenido los primeros20, 30 ó hasta 60 años de tu vida- te da pánico y regresas a por él.
14. Te levantas por la mañana y te conectas a Internet a leer elperiodico.es antes de tomar tu café.
15. Mnds msjs cm st.
16. Estás mirando alrededor para asegurarte de que nadie te ve que estas sonriendo enfrente de tu PC.
17. Estás leyendo esto y te estas riendo.
18. Peor que eso, ya sabes perfectamente a quién le vas a contar este post.
19. Estás tan distraído leyendo que no te fijaste que falta el número 9 en esta lista.
20. Y ahora acabas de mirar hacia arriba para ver que efectivamente no está el numero 9.
21. Y ahora te estás riendo de ti mismo, del careto que has puesto.

P.D.: Y no digas que no.

Y digo yo, ¿será cierto? , jejeje. Que lo disfrutéis.

 Noticia sacada de aquí

 Un Saludo

Posted: 10/7/2007 9:15 por Fran Díaz | con 2 comment(s) |
Archivado en: