Guía 41 – Imprimir etiquetas de Productos

Generar PDF’s en PHPRunner, en la últimas versiones, es bastante sencillo, pero poder hacer ajustes de la generación de esos documentos PDF’s es muy complejo o imposible, con la solución estándar de PHPRunner.

Para la últimas versiones de PHPRunner, que la recomendación es utilizar la versión de PHP 8.X, os he comentado que he utilizado la solución de PhpJasperXml 2.0.1, obteniendo unos resultados muy, muy buenos.

Para que dispongáis de un ejemplo sencillo de utilización de PhpJasperXml 2.0.1, he creado esta guía para que podáis evaluar lo simple que es integrarlo en PHPRunner.

Objetivo

Generar etiquetas para imprimir en impresora Zebra (impresoras de etiquetas), seleccionando registros de un listado. Con pequeñas variaciones se puede utilizar en impresoras láser estándar con hojas de etiquetas (que yo entiendo es la mejor solución para muchos casos)

Solución Técnica

Como he indicado, el ejemplo contempla la utilización del la librería de PhpJasperXML 2.0.1, que es una eficiente solución para hacer informes PDF’s de cualquier tipo, que previamente se hayan diseñado con Jasper Studio.

La funcionalidad es muy sencilla, de la lista de productos, se seleccionan los registros de los que deseamos generar las etiquetas y pulsamos el botón naranja de impresión . Si te interesa este tema sigue leyendo el siguiente artículo de este enlace.

Guía 40 – Instalar desarrollo PHPRunner en múltiples instancias con personalización

Muchas de las consultas  que he tenido era a consecuencia de cómo desarrollar un aplicativo en PHPRunner e instalar el mismo para varias Oficinas o Empresas.
Ante estas situaciones, normalmente te preguntas:

  • ¿Se utiliza una única instancia de base de datos para todas las empresas?
  • ¿Cómo se personaliza la aplicación para que disponga de identificación (logo, nombre de la compañía, etc.) para cada empresa?.

Hay muchas más preguntas, pero estas suelen ser las «grandes» y difíciles de contestar.

Normalmente indico que si son datos de una única empresa, pero el análisis de los mismos es por departamento, almacén o cosa similar, se utilice una única base de datos y en todas las tablas se indique el departamento, almacén, etc., para gestionar autorizaciones de acuerdo a esa división de la información.
Tengo un ejemplo que utiliza este sistema,  es la aplicación de Múltiples Workflows, donde la clave de selección es el «Id» del proceso de gestión.

Ahora bien, si la misma aplicación es para empresas no relacionadas y nunca se va a analizar la información uniendo los datos de estas, lo más interesante es que sean distintas instancias de base de datos y también de aplicaciones (de cara a la personalización de cada empresa). Y en este caso, ¿ Cómo gestionamos el proyecto en PHPRunner?

  • ¿Tenemos versiones del proyecto distintos para cada una de las instancias?
    Esto significa que la evolución del producto va a ser diferente y por lo tanto las gestiones de cambios y evolución va a ser mucho más complejas.
  • ¿Tenemos una única versión del proyecto para todas las instancias/empresas?
    Esto significa generar versiones diferenciadas de aplicación con personalizaciones de cada una de las instancias/empresas. ¿Cómo se podría gestionar esto?

Objetivo

Diseñar una alternativa para disponer de un único proyecto de PHPRunner e instalar el mismo para varias empresas, personalizando la instancia de acuerdo a las características de la empresa a la que va a ofrecer servicio.

Si estas interesado en este tema sigue leyendo el artículo de este enlace.

Guía 39 – Lista de datos dependiente del dato del registro maestro

Seguramente, este tema ha sido tratado en algún otro artículo del foro de Xlinesoft, pero me lo consulto un desarrollador que llevaba muchos días intentando buscar la solución por el foro y no lo había conseguido.

No me resulta fácil describir la funcionalidad, lo voy a intentar, y más adelante, pongo unas imágenes y amplio descripción para explicarlo.

Objetivo

En una página de ADD y/o EDIT, en donde estamos tratando a la vez la información del registro maestro y de detalles, resulta que hay una lista de valores en detalles, que es dependiente de un valor del registro maestro y ambos se pueden actualizar en cualquier momento. ¿Cómo solucionar esta dependencia?

DEMO: https://fhumanes.com/trade

Si estas interesado en este tema y deseas disponer del fuente del ejemplo, sigue leyendo la información en este artículo.

Guía 38 – Cambio de ubicación del panel de búsquedas

Bien porque en otros software el panel de campos de búsquedas está encima de las columnas del grid de registros o simplemente, porque queremos facilitar al usuario la disponibilidad de búsqueda por valores de campos de la tabla, se mostrará el panel de búsquedas con otras características no configurables directamente a través del IDE de PHPRunner.

Para mostraros el funcionamiento he tomado el ejemplo de confección de factura que podréis descargar si queréis hacer la misma prueba.

Si estás interesado en saber cómo se hace, accede al artículo donde lo explico.

Guía 37 – En exportación de datos, eliminar columnas sin contenido

Entre las muchas consultas de soporte que tengo y que intento buscar solución, me llegó esta de querer eliminar las columnas en la exportación, de aquellos campos que entre los registros seleccionados no haya ninguna información, es decir, que todos sus valores sean nulos.

La necesidad le surgió porque en el diseño de su modelo de datos se definen muchos campos y hay ocasiones donde muchos de ellos están vacíos.

Objetivo

En la exportación de los datos de una entidad, eliminarla información de los campos si todos los valores, de esos campos en los registros seleccionados tienen el valor nulo.

DEMO: https://fhumanes.com/export

Para obtener la documentación y los fuentes, accede al artículo a través de este enlace.