La importancia de los rectángulos en Microsoft RDLC

La importancia de los rectángulos en Microsoft RDLC

Aitana Soluciones ERP y CRMTutoriales Leave a Comment

Con cierta frecuencia nos encontramos en la necesidad de diseñar reports con footers complejos que constan de varios rectángulos, dependiendo de ciertas variables, como podría ser un boolean o un option.

En el presente caso dicha variable es ‘Preimpreso’ (boolean), que hace referencia a la utilización (‘TRUE’) o no (‘FALSE’), de papeles con logos y textos ya preimpresos en lugar de folios estándar por parte de la empresa cliente, concretamente se tratará el tema del texto del Registro Mercantil del footer únicamente.

Primer rectángulo – CONPREIMPRESO

A continuación, se muestra un captura de pantalla del layout. A priori, parece que el pie está compuesto de un simple rectángulo llamado ‘Conpreimpreso’ con varios textboxes y dos tablas. Posteriormente se mostrará como la realidad es bien distinta. Estos rectángulos, gracias a las propiedades de visibilidad, solo se mostraran si en la request page el usuario deja el boolean en ‘True’, lo que indicará que el papel que utilizará tiene ya preimpreso el texto del Registro Mercantil y por tanto a nivel de layout, estas líneas no deben aparecer.

La importancia de los rectángulos en Microsoft RDLC
CONPREIMPRESO – PRIMER RECTÁNGULO

 Segundo y tercer rectángulo – SINPREIMPRESO y ULTIMAPAGINA

Por el contrario, si el usuario final decide utilizar papel blanco, este rectángulo ya no sería óptimo, ya que faltaría el texto del Registro Mercantil. Por tanto, para solventar el problema se ha creado otro rectángulo con un tamaño idéntico, pero con la condición de visibilidad opuesta llamado ‘Sinpreimpreso’.

La importancia de los rectángulos en Microsoft RDLC
SINPREIMPRESO y ULTIMAPAGINA – Segundo y tercer rectángulo

A priori, el rectángulo azul ‘Ultimapagina’ parece innecesario, sin embargo y gracias a él, se pueden ocultar los cuadros de totales para que solo sean visibles en las últimas páginas de cada report, en este caso, en el de factura de venta. Si la factura tuviese varias páginas por la gran cantidad de líneas, solo aparecería en la última.

A continuación, se muestra cómo queda visualmente el report sin papel preimpreso. Por tanto, se representa el segundo rectángulo ‘Sinpreimpreso’. La flecha verde indica que le ocurriría al cuadro rojo si no existiese un último rectángulo que se mostrará posteriormente. Según la lógica del layout algo oculto no ocupa espacio y por tanto lo que está representado justo debajo ocupa dicho espacio.

Pie formato PDF

 

¿Cómo se resuelve este problema?

La importancia de los rectángulos en Microsoft RDLC
TAPARPRIMERASPAGS – Tercer rectángulo

 

En primer lugar, se debe crear otro rectángulo, en este caso llamado ‘Taparprimeraspags’ (viene con un fondo negro para que resalte, pero debe ser ‘White’ en la propiedad ‘BackgroundColor’), este tendrá la propiedad de visibilidad contraria a ‘Ultimapagina’, de este modo ocuparía el mismo espacio que lo que pretende tapar y los textboxes del cuadro rojo anteriormente mostrado en ‘Pie formato PDF’ no subirían como indica la flecha verde.

Se debe aclarar que no es necesario replicar exactamente el otro rectángulo al que tapa ya que en la mayoría textboxes se puede escribir en ‘expresion’““          “”. Sin embargo, es recomendable poner exactamente el contenido del textbox que tapa, con la ligera diferencia que se debe poner la letra a través de la propiedad ‘Color’ en ‘White’ para que no se imprima.

Esta recomendación viene justificada por el textbox que aparece en azul a propósito, concretamente, este corresponde al texto de la Ley Orgánica de Protección de Datos, si en la ‘expresion’ de este textbox se escribiese ““          “” solo se representaría una línea, sin embargo, observando la captura de pantalla del PDF este debería ocupar 6 líneas lo que desajustaría el pie nuevamente.

Si te ha gustado este artículo y necesitas más información, ¡no dudes en contactar con nosotros!

Consulta tus dudas sin compromiso
(o deja un comentario más abajo)


Deja un comentario