Para crear un calendario en sql que muestre todos los dias entre dos fechas he creado la siguiente funcion: CREATE
FUNCTION [dbo].[CALENDARIO]
(
-- Add the parameters for the function here
@fIni smalldatetime
,@fFin smalldatetime
)
RETURNS
@MyCalendario TABLE (FECHA smalldatetime)
BEGIN
DECLARE @d tinyint
SET @d = 0
WHILE @fIni <= @fFin
BEGIN
INSERT INTO @MyCalendario VALUES (@fIni)
SET @fIni = DATEADD(d, 1, @fIni)
END
RETURN
END
GO
Para hacer uso de ella es de la siguiente manera:
SELECT *FROM[dbo].[CALENDARIO] ('01/01/13','31/12/13') CALENDARIO
jueves, 31 de octubre de 2013
jueves, 24 de octubre de 2013
Consumir Web Services de Navision desde Reporting Services parte 2
Puedes consultar las partes anteriores aquí:
parte 1
Lo siguiente que hay que hacer, es publicar el WEB service de Navision. Esto es muy sencillo realizarlo desde Navision y con unos sencillos pasos lo podemos completar.
Creamos primero nuestra CodeUnit llamada InterfaceWS:
Creamos dentro de la CodeUnit una funcion llamada ConsultaExterna donde le pasamos un código y un texto (Por ejemplo):
En la Tabla 2000000076 Web Service publicamos nuestra CodeUnit:
Quedando tal que así:
En el próximo post crearemos la dll con Visual Studio 2010 para consumir este web service.
parte 1
Lo siguiente que hay que hacer, es publicar el WEB service de Navision. Esto es muy sencillo realizarlo desde Navision y con unos sencillos pasos lo podemos completar.
Creamos primero nuestra CodeUnit llamada InterfaceWS:
Creamos dentro de la CodeUnit una funcion llamada ConsultaExterna donde le pasamos un código y un texto (Por ejemplo):
En la Tabla 2000000076 Web Service publicamos nuestra CodeUnit:
Quedando tal que así:
En el próximo post crearemos la dll con Visual Studio 2010 para consumir este web service.
miércoles, 16 de octubre de 2013
Consumir Web Services de Navision desde Reporting Services
Algunas
veces para realizar informes que muestren algún dato calculado de Navision, se
da la enorme complejidad de cómo sacar el dato. Te planteas la necesidad de
facilitar el trabajo a la hora de consultarlo. Mediante los WEB Services que
expone Navision y el CLR que se integra en SQL podemos realizar informes en reporting services que
consultan datos preparados por Navision.
La documentación
es abundante sobre este tema, pero aquí pretendemos aglutinarla toda para tener
un decálogo a seguir para crear-configurar y consumir los web services desde
SQL.
Lo
primero que hay que hacer es averiguar el FRAMEWORK que tenemos en nuestro
servidor de SQL.
Para
ello, ejecutamos la siguiente consulta:
--AVERIGUAR FRAMEWORK
select * from sys.dm_clr_properties
Una vez
tenemos la versión del FRAMEWORK, hay que habilitar el servidor para que use la
integración CLR. Por defecto, cuando se instala el SQL server, viene con esta
opción deshabilitada, por lo que es casi seguro que tendrás que habilitarla:
--HABILITAR LA INTEGRACION CLR
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled',
1;
GO
RECONFIGURE;
GO
Ahora
indicaremos al servidor que la
instancia de SQL Server confía en la base de datos y en su
contenido mediante TRUSTWORTHY
--PONER COMO QUE CONFIA
ALTER DATABASE miDataBase
SET TRUSTWORTHY
ON
Con esto hemos preparado la Base de Datos para que pueda trabajar con CLR . En próximos posts veremos como crear la dll, anexar el ensamblado a sql y utilizar nuestro ensamblado.
miércoles, 9 de octubre de 2013
Poner código HTML en una casilla de Reporting Services
Si queremos introducir por alguna necesidad código HTML en una casilla de valor de reporting services es muy sencillo y ampliamente documentado. Pero de manera tonta, no era capaz de seguir las instrucciones de la documentación para acceder al menú desde donde se puede.
Por eso, este post es una ayuda visual de como se hace por si alguien se ha sentido frustado intentando hacerlo cuando es muy sencillo.
Por eso, este post es una ayuda visual de como se hace por si alguien se ha sentido frustado intentando hacerlo cuando es muy sencillo.
Lo primero que hay que hacer es seleccionar la casilla:
Con la casilla seleccionada, seleccionar el texto que contiene (Esta es la parte clave que no conseguia hacer):
Con el texto seleccionado, boton de la derecha y seleccionamos Propiedades del marcador de posición:
En Tipo de Marcado seleccionamos la segunda opcion que es HTML: interpretar etiquetas HTML como estilos.
En Valor escribimos el código HTML. Por ejemplo, con el marcador <br> creamos un código que genera en una casilla una línea que pone PRIMERA LÍNEA y otra línea con SEGUNDA LINEA:
"PRIMERA LÍNEA"&"<br>"&"SEGUNDA LINEA"
miércoles, 2 de octubre de 2013
Mostrar en Reporting Services un parametro MultiValue
Se puede dar el caso que deseamos mostrar los valores seleccionados en un paramero de valor múltiple.Podríamos hacerlo con una tabla pero lo que vamos a ver en este post es como hacerlo en un cuadro de texto.
Pongamos que tenemos un DataSet con una lista de empresas y queremos mostrar la lista de las empresas seleccionadas en un cuadro de texto, una detras de otra separadas por un guión.
El DataSet lo llamamos ListaDeEmpresas.
El DataSet tiene un parámetro llamado NOMBRE con el nombre de la empresa.
El parámetro multi valor se llama EMPRESA.
En el cuadro de texto pondríamos lo siguiente:
=iif(Parameters!EMPRESA.Count = count(Fields!NOMBRE.Value, "LisaDeEmpresas"),"All",Join(Parameters!EMPRESA.Value,","))
Pongamos que tenemos un DataSet con una lista de empresas y queremos mostrar la lista de las empresas seleccionadas en un cuadro de texto, una detras de otra separadas por un guión.
El DataSet lo llamamos ListaDeEmpresas.
El DataSet tiene un parámetro llamado NOMBRE con el nombre de la empresa.
El parámetro multi valor se llama EMPRESA.
En el cuadro de texto pondríamos lo siguiente:
=iif(Parameters!EMPRESA.Count = count(Fields!NOMBRE.Value, "LisaDeEmpresas"),"All",Join(Parameters!EMPRESA.Value,","))
Suscribirse a:
Entradas (Atom)