Funciones de documentos y gráficos
Construir tablas en memoria, escribir en la salida de documentos dinámicos, generar URLs firmadas de archivos y montar gráficos y mapas por código.
Funciones del espacio F. para componer la salida de un documento: tablas en memoria, escritura en el flujo de salida, URLs firmadas de archivos, gráficos y mapas. Se usan sobre todo en documentos dinámicos; ninguna vale en fórmulas de algoritmo, y las convenciones comunes están en el índice de funciones.
Tablas en memoria
Tablas que construyes a mano cuando el resultado no sale directo de una sección: creas la tabla, añades filas y rellenas celdas tipadas (el tipo condiciona cómo se formatea y exporta el valor). Funcionan en scripts independientes y en documentos dinámicos; para recorrer registros que ya existen usa datos y listados.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
DataTable_New | () | Entero | Crea una tabla en memoria y devuelve su identificador. |
DataTable_AddRow | (tabla) | Entero | Añade una fila y devuelve su índice. |
DataTable_SetValue | (tabla, columna, valor) | — | Escribe un valor en una celda. |
DataTable_SetValueText | (tabla, columna, valor) | — | Escribe texto escapando el HTML. |
DataTable_SetValueInt | (tabla, columna, valor) | — | Escribe un entero. |
DataTable_SetValueNum | (tabla, columna, valor) | — | Escribe un decimal. |
DataTable_SetValueMoney | (tabla, columna, valor) | — | Escribe un importe monetario. |
DataTable_SetValuePercentage | (tabla, columna, valor) | — | Escribe un porcentaje. |
DataTable_SetValueBool | (tabla, columna, valor) | — | Escribe un valor sí/no. |
DataTable_SetValueDate | (tabla, columna, valor) | — | Escribe una fecha y ajusta el formato de la columna. |
DataTable_SetValueDateTime | (tabla, columna, valor) | — | Escribe una fecha y hora. |
DataTable_SetValueTime | (tabla, columna, valor) | — | Escribe una hora. |
num tabla = F.DataTable_New()
F.DataTable_AddRow(tabla)
F.DataTable_SetValueText(tabla, "Cliente", "Talleres Ruiz")
F.DataTable_SetValueMoney(tabla, "Importe", 1250.50)
txt html = F.DataTable_Build(tabla, "HTML")Columnas de la tabla
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
DataTable_ColumnSetFormat | (tabla, columna, formato) | — | Asigna el formato de una columna. |
DataTable_ColumnSetRole | (tabla, columna, rol) | — | Asigna el rol de campo de una columna. |
DataTable_ColumnDelete | (tabla, columna) | — | Elimina una columna. |
DataTable_ColumnDeleteIfIsEmpty | (tabla, columna) | — | Elimina la columna solo si está vacía. |
Volcar la tabla
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
DataTable_Build | (tabla, formato) | Texto | Devuelve la tabla como texto: JSONARRAY, JSON, HTML, CSV o XML. |
DataTable_Export | (tabla, formato) | — | Genera un archivo, preguntando al usuario formato y destino. |
DataTable_Import | (tabla, silencioso) | — | Abre el importador de datos; detecta el informe por los ID de columna. |
Build funciona en scripts independientes y documentos dinámicos. Export e Import solo en el terminal, desde scripts de formulario o independientes.
Escribir en el documento de salida
En documentos dinámicos y funciones API el resultado se construye escribiendo en un flujo de salida. Estas funciones solo ejecutan ahí.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Write | (contenido) | — | Escribe contenido en bruto en la salida. |
WriteText | (texto) | — | Escribe texto plano: conserva saltos de línea y no interpreta HTML. |
WriteBool | (valor, textoSí, textoNo) | — | Escribe un sí/no con el texto que elijas para cada estado. |
WriteDate | (fecha, formato) | — | Escribe una fecha con el formato indicado. |
WriteDateTime | (valor, formato) | — | Escribe una fecha y hora con el formato indicado. |
WriteMoney | (importe, máximoDecimales) | — | Escribe un importe como moneda con N decimales. |
WriteNum | (valor, máximoDecimales) | — | Escribe un número con N decimales. |
WritePercentage | (valor, máximoDecimales) | — | Escribe un porcentaje con N decimales. |
RemoveLastWrite | () | — | Elimina el último elemento escrito en la salida. |
F.Write("<h2>Resumen del pedido</h2>")
F.WriteText(v.observaciones)
F.Write("<p>Total: ")
F.WriteMoney(v.total, 2)
F.Write("</p>")Plantillas y metadatos
Ejecutan en documentos dinámicos y funciones API (MetaData_Read también en scripts independientes).
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Include | (id) | — | Incluye y renderiza una plantilla de impresión HTML por su identificador. |
GetDynamicDocumentContent | (id) | — | Inserta el contenido de un documento dinámico por su identificador. |
DataListInfoToHTML | (informeOSeccionId, estilo) | Texto | Devuelve como HTML la información de un informe o una sección. |
RowToJson | (seccionId) | Texto | Serializa un registro a JSON, sin los textos primarios de datos estáticos. |
MetaData_Read | (clave) | Texto | Lee un parámetro de metadatos por su clave. |
MetaData_Set | (clave, valor) | — | Asigna el valor de un parámetro de metadatos. |
URLs firmadas de archivos
Para enseñar un archivo de Dinaup (una imagen, un PDF) a quien no tiene sesión: generan una URL temporal de acceso público. Solo en documentos dinámicos y funciones API.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
SignFileURL | (archivoId, tamaño, validezSegundos) | Texto | URL firmada del archivo, accesible sin sesión durante la validez indicada. |
SignFileURL_Advanced | (archivoId, tamaño, validezSegundos, nombre) | Texto | Igual, con nombre de archivo personalizado. |
El parámetro tamaño admite los valores 0, 32, 100, 300, 720 y 1080.
Cualquiera con la URL accede al archivo sin autenticarse mientras dure la validez. Ajusta los segundos al mínimo que necesites.
Gráficos
Montas el gráfico por código y lo vuelcas a HTML para incrustarlo en el documento. Cada serie y valor lleva dos colores: uno para el tema claro y otro para el oscuro. Los gráficos y los mapas funcionan en scripts de formulario, scripts independientes y documentos dinámicos.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Chart_New | (título) | Entero | Crea un gráfico y devuelve su identificador. |
Chart_AddSerie | (gráfico, etiqueta, colorClaro, colorOscuro) | — | Añade una serie de datos con sus colores. |
Chart_AddValue | (gráfico, etiqueta, valor, colorClaro, colorOscuro) | — | Añade un valor etiquetado con sus colores. |
Chart_ToHTML | (gráfico, tipo, ancho, alto) | Texto | Devuelve el gráfico como HTML con el tipo y tamaño indicados. |
num grafico = F.Chart_New("Ventas del trimestre")
F.Chart_AddValue(grafico, "Enero", 1200, "#2e86c1", "#5dade2")
F.Chart_AddValue(grafico, "Febrero", 1550, "#28b463", "#58d68d")
txt html = F.Chart_ToHTML(grafico, 1, 800, 400)
F.Write(html)Mapas
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Maps_New | (título) | Entero | Crea un mapa y devuelve su identificador. |
Maps_AddPoint | (mapa, título, icono, ubicación) | — | Añade un punto con etiqueta e icono en las coordenadas indicadas. |
Maps_AddClickablePoint | (mapa, título, icono, ubicación, secciónId, registroId) | — | Punto que al pulsarlo abre un registro de una sección. |
Maps_ToHTML | (mapa, coordenadasIniciales, zoomInicial) | — | Renderiza el mapa como HTML con el centro y zoom iniciales. |
→ Índice de funciones → Documentos dinámicos → Funciones de datos y listados
Funciones de controles y listas
Bloquear y obligar campos, avisar al usuario, ajustar desplegables y sumar columnas de la lista desde los scripts de formulario de DinaScript.
Funciones de sistema y seguridad
Registros creados y modificados desde scripts, llamadas HTTP, codificación, hashes, QR, TOTP, contraseñas y detección de cuentas contables.