jueves, 2 de junio de 2016

Fórmula de porcentaje en tabla de referencias cruzadas de Cyrstal Reports

En múltiples ocasiones debemos crear en Crystal Reports una tabla de referencias cruzadas. En la mayoría de las veces mostraremos en dicha tabla varios valores por casilla. Hay veces que necesitaremos crear una fórmula basada en un cálculo entre datos de la casilla, por ejemplo el porcentaje que representa una comisión sobre el total de esa casilla.

Si optamos por crear una fórmula normal de Crystal Reports, observaremos que nos funciona casilla a casilla, pero en los resúmenes totales no, puesto que se sumará, y no hará el cálculo.

Para evitar esto, procederemos de la siguiente manera.

Pulsaremos con botón derecho, dentro de la tabla de referencias cruzadas, sobre el primer campo que actuará en nuestra fórmula. Seleccionaremos Resumen incrustado -> Insertar resumen incrustado.

Esto nos creará un nuevo valor en la tabla. Lo pulsamos con botón derecho y seleccionamos Resumen incrustado -> Editar fórmula de cálculo. Se nos abrirá un editor de fórmulas, y de ahí obtendremos los valores de la casilla deseados para crear nuestra fórmula de la siguiente forma:
Local Numbervar comision := GridValueAt (CurrentRowIndex, CurrentColumnIndex, 2);
Local Numbervar primaNeta := GridValueAt (CurrentRowIndex, CurrentColumnIndex, 1);

If primaNeta = 0 Then
  0
Else
  (comision*100)/primaNeta

Donde 2 y 1 son la posición del campo de la casilla a utilizar. Con esto, nuestra fórmula funcionará tanto en cada casilla como en los resúmenes totales.

Configurar conexiones remotas en SQL Server

Cuando se instala un servidor de SQL Server, en la mayoría de ocasiones deseamos hacer accesible ese servidor desde otros equipos de la red, es decir, no queremos que funcione sólo de manera local. Para conseguir esto hay que activar las conexiones remotas a SQL Server. Para hacer esto hemos de seguir los siguientes pasos (estos pasos se han seguido en la vesrsión 2012, pero es similiar en el resto de versiones):

1. Activar las conexiones remotas
   Abrir SQL Manangement Studio, y sobre la instancia instalada de SQL Server, dar con botón derecho-Propiedades, y dentro de la opción "Conexiones", comprobar que está marcado "Permitir conexiones remotas con este servidor".

2. Configurar las conexiones remotas
  Abrir el SQL Server Configuration Manager
  Dentro de SQL Server Network Configuration -> Protocols for <instanciaSQL>, comprobar que TCP/IP se encuentre en Enabled.
  Pulsar TCP/IP con botón derecho y dar a Propiedades. En la primera solapa, comprobar que "Listen All" esté en "Yes".
  En la segunda solapa, IP Addresses, bajar hasta donde pone IPAll, y en TCP Port indicar el puerto 1433. TPC Dynamic Ports se puede dejar vacío.
  Aplicar los cambios y reiniciar el servicio de SQL Server (Servicios-> SQL Server y SQL Browser).

2. Abrir el cortafuegos de Windows
   Si probamos a desactivarlo, comprobaremos como ya podemos conectar. Lo volvemos a activar y vamos a configurar las reglas de acceso a SQL Server.

3. Abrir el cortafuegos de Windows con seguridad avanzada.
   En el debemos crear 2 reglas de entrada: Una para el puerto TCP 1433, y otra para el puerto UDP 1434.

Con esto, SQL Server ya debe estar configurado para aceptar conexiones remotas.

Hay un video donde se explica muy bien aquí.

 

Copyright @ 2015 Tosblama