TABLA DE CONTENIDOS
PASO PREVIOS A REVISAR
Existen tres artículos que explican el proceso de conversión de informes desde SAP Crystal Reports a DevExpress, los cuales se toman como referencia en el presente documento.
DevExpress Reports - Guía del diseñador de informes
DevExpress Reports - Conversión de informes desde Crystal Reports (.rpt)
DevExpress Reports - Posibles errores traducción .RPT a .REPX
Por tanto que el documento actual de factura ya está convertido a formato DevExpress.
ASPECTOS A TENER EN CUENTA DE UNA FACTURA
Una factura debe presentarse legalmente de la siguiente forma siendo los Aspectos legales del informe:
Enlace a la agencia tributaria: VERIFACTU AGENCIA TRIBUTARIA
- Si la factura no está actualizada el texto del informe será Proforma. Y cuando se actualice cambiará a Factura.
- Se ofrecen algunos ejemplos posibles de códigos «QR» en los distintos escenarios (posiciones) que se muestran desde la página 23 hasta la página 34 en el enlace a la agencia tributaria.
Las medidas del QR deben de ser entre 30mm y 40mm. - Dependiendo de que escenario (posición) tengamos en el QR tendremos que poner un texto o otro debajo del QR. Esto también se encuentra en las páginas: 23/34
- El texto literal de QR Tributario también se ve reflejado dependiendo del escenario (posición) en las páginas 23/34
AÑADIR QR EN DEVEXPRES
AÑADIR NUEVA CONSULTA
Desde el informe principal, el primer paso a realizar sería añadir la vista (VDLG_VeriFactu_Facturas_Cli) que contiene el campo con la dirección o link que va a mostrarse en formato QR.
Seleccionamos de la lista de campos, la conexión DataConnectionString de la consulta que contiene el parámetro de conexión. Puede ser DataConectionString o sqlDataSource1.
Y elegimos la opción que aparece mostrando el menú contextual: Gestionar las consultas....
Después añadimos una consulta con la vista, VDLG_VeriFactu_Facturas_Cli, que contiene el QR con los campos que necesitamos:
GENERAR CABECERAS CON EL CAMPO IDFACTURA
El segundo paso será generar dos cabeceras más provenientes del campo IdFactura. se explica a continuación:
Después de añadir dos cabeceras nuevas, tenemos que indicarle que van a tirar del campo de IdFactura de la tabla Facturas_Cli_Cab. (Siempre eligiendo el campo de la consulta que contenga el parámetro de conexión).
Pasos a reproducir: Seleccionamos el GroupHeader --> Entramos en los ajustes --> Grupos de campos (collection) -->Añadir --> Seleccionar el campo Facturas_cli_Cab_IdFactura
AÑADIR SUBINFORME
En el GroupHeader más arriba que tenemos en el informe que tira del campo IdFactura, añadimos una sección y generamos un subinforme dentro de la sección.
Para generar un subinforme, tenemos que elegir la herramienta de subinforme que aparece en la barra lateral de la izquierda.
Para entrar dentro del subinforme damos dos clics al botón izquierdo del ratón.
DENTRO DEL SUBINFORME
Dentro le indicamos de que tabla va a seleccionar los datos y añadimos un parámetro que en este caso es el parámetro de IdFactura en formato número (entero largo).
Una vez añadida la tabla y el parámetro. Guardar el subinforme con el mismo nombre que el informe principal + _ + El nombre que quieras.
Una vez guardado tanto en el subinforme como en el informe principal, cerramos el diseñador de informes y volvemos a abrirlo.
Cuando lo abras, comprueba que en el informe principal tiene el data member seleccionado. En el caso de que no, vuelve a seleccionar tu consulta principal.
VINCULAR CAMPO CON EL PARÁMETRO DEL SUBINFORME
Ahora le pasamos el campo de IdFactura del informe principal al subinforme siempre eligiendo el Data member que contiene el parámetro de conexión. Cuando reinicias la aplicación puede cambiar.
CONFIGURACIÓN DEL SUBINFORME
Añadimos el parámetro al filtro para que nos muestre el QR de cada IdFactura del informe principal.
[VDLG_VeriFactu_Facturas_Cli_ERP_IdFactura] = ?IdFactura
Para añadir el QR, añadimos una picture box que es una herramienta que se encuentra en la barra lateral izquierda.
Luego añadimos el campo QR en la expresión del Picture Box y cambiamos el formato de Visualización a Squeeze/ Comprimido. Recordar que el QR debe medir entre 30x30 y 40x40 milímetros y debe aparecer al principio de toda la factura ya que así lo indica la agencia tributaria.
VERIFACTU AGENCIA TRIBUTARIA
Hay que añadir una visibilidad al informe para que cuando el QR sea null no aparezca ningún texto.
Para eso seleccionamos el detalle y le damos a la F de fórmula. En el apartado de Visible, añadimos la fórmula:
not(IsNullOrEmpty([VDLG_VeriFactu_Facturas_Cli_QR]))
Y el resultado sería:
Revisar la configuración de envío de objetos electrónicos para que si se envía al cliente sea el mismo informe.
AÑADIR QR EN CRYSTAL REPORTS
GENERAR SUBINFORME EN LA CABECERA DEL INFORME.
Primero generamos un subinforme en una nueva cabecera arriba de todo nuestro contenido de la factura.
CAMPO A VINCULAR EL INFORME PRINCIPAL COMO EL SUBINFORME.
En el informe principal seleccionaremos cambiar vinculos del subinforme y vincularemos el campo IdFactura de la tabla (Facturas_Cli_Cab) del informe principal con el campo ERP_IdFactura de la tabla sería añadir la vista (VDLG_VeriFactu_Facturas_Cli) del subinforme.
DENTRO DEL SUBINFORME
Tendremos que arrastrar el campo de QR para que nos enseñe el QR.
AÑADIR EL TEXTO
Para añadir el texto largo o corto yo he utilizado una variable compartida en el subinforme que comprobaba si el QR se mostraba. En el caso de que se muestre devuelve un true y en el informe principal muestro el texto dependiendo del IdTipoCertificacion de la Empresa.
Campo invisible que ayuda a comprobar si se muestra el QR.
Campo calculado con el filtro de suprimir dependiendo de la variable compartida.
Entrar al filtro.
Filtro para suprimir.
Campo calculado en el informe principal que muestra el texto dependiendo de Empresa.IdTipoCertificacion
Con estas modificaciones en el informe ya tendríamos el QR añadido en nuestra Factura.
Resultado Final:
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo