4D Write Pro – Un asistente para crear tablas con datos

En las últimas versiones de 4D Write Pro, se han añadido muchas funcionalidades relacionadas con tablas. Puede crear fácilmente tablas basadas en los datos de la base de datos utilizando contextos, fuentes de datos y fórmulas.

Esto es tan fácil que muchos sólo quieren dejar que sus usuarios finales utilicen la función tal cual. Pero entendemos que esto a veces puede ser un reto para los usuarios que carecen de formación en el formateo de fuentes de datos o fórmulas para los diversos componentes de la tabla. Hemos desarrollado una solución que se incluye con 4D v20 R2: el nuevo asistente de tablas.

El asistente está disponible para los usuarios finales; pueden aprovechar las plantillas adaptadas a su uso y negocio ofrecidas por el desarrollador. La configuración de las plantillas incluye:

  • definir la dataclass y los atributos de la dataclass, (léase tablas y campos)
  • traducir la dataclass, los atributos de la dataclass y los nombres de fórmulas,
  • preparar fórmulas adaptadas al negocio,
  • diseñar estilos gráficos.

 

Continue leyendo para obtener más información y no olvide consultar el HDI y ver el vídeo adicional que le guiará a través de las distintas posibilidades.

HDI: Asistente de tablas

Interfaz del asistente de tablas WP

El usuario puede acceder al asistente a través del menú «Insertar tabla» de la barra de herramientas o de la barra lateral.

Create a new table menu

La interfaz es bastante sencilla y sorprendente. El usuario selecciona una plantilla o dataclass y un tema. Luego, selecciona los campos a mostrar como columnas. También puede ordenar las columnas. A continuación, puede definir el número de líneas de encabezado, líneas de resumen situadas arriba o debajo de los datos y líneas adicionales. Posteriormente, elige las fórmulas que se mostrarán en las líneas de resumen o adicionales. Por último, haga clic en el botón «Insertar» para añadir la tabla al documento WP.

blank

Una vez integrada la tabla en el documento, el usuario puede modificar o personalizar su estilo. Las herramientas de formato de la barra de herramientas y de la barra lateral siguen estando disponibles.

Aquí hay un vídeo para demostrar las posibilidades:

Puede descargar la base HDI y repetir el vídeo de ejemplo.

Cómo configurar

El asistente consta de 3 tipos de archivos de configuración.

Archivos plantilla

El archivo plantilla le permite definir lo siguiente:

  • la fórmula que devuelve una selección de entidades utilizada como fuente de datos de la tabla,
  • los atributos de la dataclass que pueden utilizarse como columnas de la tabla,
  • la fórmula para las líneas de resumen,
  • las fórmulas que pueden utilizarse en un menú contextual de una línea de resumen,
  • las fórmulas que pueden utilizarse en un menú contextual de una línea de arrastre,
  • y las fórmulas que pueden utilizarse en un menú contextual de línea adicional.

 

Los archivos de las plantillas deben almacenarse en la carpeta «Resources/4DWP_Wizard/Templates» dentro de su proyecto.

He aquí un breve ejemplo de cómo podría ser su archivo:

{
    "tableDataSource": "ds.People.all().orderBy(\"toCompany.name asc, continent asc, country asc, city asc\")",
    "columns": [{
            "check": true
            "header": "Firstname",
            "source": "This.item.firstname"
        }, {
            "check": true
            "header": "Lastname",
            "source": "This.item.lastname"
        }, {
            "check": true
            "cabecera": "Salary",
            "source": "String(This.item.salary;\"###,###.00\")"
        }
    ],
    "breaks": [{
            "label": "Company",
            "source": "This.item.toCompany.name"
        }
    ],
   "breakFormulas": [{
            "label": "Company",
            "source": "This.item.toCompany.name"
	}, {
            "label": "Sum of salaries",
            "source": "String(This.breakItems.sum(\"salary\"); \"###,###.00\")"
        }
    ],
    "bcorFormulas": [{
            "label": "Sum of salaries",
            "source": "String(This.tableData.sum(\"salary\"); \"###,###.00\")"
        }
    ],
    "extraFormulas": [{
            "label": "Sum of salaries",
            "source": "String(This.tableData.sum(\"salary\"); \"###,###.00\")"
        }
    ]
}

Consulte esta página de documentación detallada para obtener más información sobre el formato JSON y los nombres de los atributos.

Archivos de traducción

Los archivos de traducción se utilizan para traducir los nombres de plantillas, temas, tablas, campos y fórmulas, si es necesario. Debe añadirlos a la carpeta «Resources/4DWP_Wizard/Translations» de su proyecto.

Si el usuario selecciona una clase de datos en la interfaz. El archivo de traducción tiene una segunda función. Puede filtrar la dataclass y los atributos de la dataclass propuestos al usuario. Por ejemplo, para ocultar los ID de las tablas.

Nota: este comportamiento es similar a los comandos SET TABLE TITLES y SET FIELD TITLES para los que conocen el lenguaje clásico.

He aquí un ejemplo de archivo de traducción:

{
   "tables": [{
            "original": "People",
            "translation": "Personas"
        }
    ],
   "fields": [{
            "original": "lastname",
            "traducción": "Apellido"
        }, {
            "original": "firstname",
            "translation": "Nombre"
        }, {
            "original": "salary",
            "translation": "Salario"
        }, {
            "original": "company",
            "translation": "Empresa"
        }
    ],
   "formulas": [{
            "original": "Sum of salary",
            "translation": "Suma de salarios"
        }
    ]
}

En la documentación se enumeran y explican todos los atributos posibles.

Archivos de temas

El componente 4D Write Pro Interface ofrece por defecto una lista de temas. Sin embargo, puede crear su propio tema colocándolo en la carpeta «Resources/4DWP_Wizard/Themes» en su proyecto.

Los archivos de tema le permiten definir los atributos WP siguientes para un encabezado, datos, arrastre, resumen y líneas extra:

  • textAlign
  • backgroundColor
  • borderColor
  • borderStyle
  • borderWidth
  • font
  • color
  • fontFamily
  • fontSize
  • padding

 

Igualmente, tenemos un ejemplo del archivo de tema:

{
   "default": {
           "backgroundColor": "#F0F0F0",
           "borderColor": "#101010",
           "borderStyle": 1,
           "borderWidth": "0.5pt",
           "font": "Times New Roman",
           "color": "#101010",
           "fontFamily": "Times New Roman",
           "fontSize": "7pt",
           "padding": "2pt"
    },
    "table": {
           "backgroundColor": "#E1EAF3"
    },
    "header1": {
           "textAlign": 2
           "borderColor": "#41548F",
           "borderWidth": "1.5pt",
           "backgroundColor": "#979BA9",
           "color": "#F4F4FF",
           "font": "Times New Roman Bold"
    },
    "data": {
           "fontSize": "13pt",
           "textAlign": 0
    },
    "break1": {
           "textAlign": 2
           "fontSize": "15pt"
    }
}

En cuanto a los demás archivos, la sintaxis JSON está disponible en la documentación.

Siguiente…

El asistente de tablas WP es parte del componente 4D Write Pro Interface. El código fuente está disponible en Github si desea hacer adaptaciones.
No dude en compartir sus impresiones o comentarios en el foro.

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.