Esta documentación está en fase de desarrollo y puede contener errores.

Funciones de datos y listados

Cargar informes y secciones desde DinaScript, filtrarlos y ordenarlos, recorrer sus filas y volcar los valores en celdas HTML con formato.

Funciones del espacio F. para trabajar con listados de datos: cargar un informe o una sección con filtros, orden y paginación, recorrer sus filas una a una y escribir los valores como celdas de tabla HTML. Las convenciones comunes (tipos de datos, valores sí/no, contextos) están en el índice de funciones.

Todas las funciones de esta página ejecutan en formularios, en scripts independientes y vía API; no están disponibles en fórmulas de algoritmo. Salvo que se indique otra cosa, el primer parámetro es el GUID del informe o de la sección que alimenta el listado.

Cargar un listado

Carga datos desde un informe o una sección, con paginación, filtros y orden. Es la vía para recorrer registros existentes en lugar de construir una tabla a mano.

FunciónParámetrosDevuelveQué hace
DataListLoad(listado, página, resultadosPorPágina)EnteroCarga el listado: qué página y cuántos resultados por página.
DataListLoadAddFilter(listado, campo, operador, valor)Filtra por un campo del informe. Operadores: =, <>, >, <, >=, <=. Con * sobre un campo de fecha, el valor es un intervalo.
DataListLoadAddFilterAlternative(listado)Añade un criterio de filtrado alternativo al listado.
DataListLoadSetOrder(listado, campo, descendente)Ordena por un campo. El tercer parámetro activa el orden descendente.
DataListLoadSelectedItems(listado)EnteroCarga los elementos seleccionados del listado.
DataListApplyDynamicAgruptaion(listado)Aplica la agrupación dinámica al listado.

El filtro se aplica sobre los campos del informe con los operadores de comparación. Para acumular o resumir lo que cargas (un total, una cuenta), recórrelo y combínalo con un algoritmo.

Recorrer las filas

ProcessDataList_Ini abre el único bucle de datos de DinaScript: todo lo que escribas entre ProcessDataList_Ini y ProcessDataList_End se ejecuta una vez por cada fila del listado cargado. Dentro del bloque, las funciones de posición te dicen en qué fila estás.

FunciónParámetrosDevuelveQué hace
ProcessDataList_Ini(keyword)Inicia el recorrido del listado, fila a fila.
ProcessDataList_End()Cierra el recorrido.
DataListCurrentRowPosition(listado)EnteroPosición de la fila actual en el listado.
DataListCurrentRowRelativePosition(listado)EnteroPosición relativa de la fila actual.
DataListIsFirstRow(listado)Entero (1/0)La fila actual es la primera.
DataListIsLastRow(listado)Entero (1/0)La fila actual es la última.
@ Carga la primera página del informe de ventas: 200 filas por página
F.DataListLoad(v.informeVentas, 1, 200)
F.DataListLoadAddFilter(v.informeVentas, "estado", "=", "pendiente")
F.DataListLoadSetOrder(v.informeVentas, "fecha", true)

num filas = 0

F.ProcessDataList_Ini("ventas")
@ Este bloque se ejecuta una vez por cada fila del listado
v.filas = v.filas + 1
¿F.DataListIsLastRow(v.informeVentas) = 1 ? v.estado = "Recorrido completo"
F.ProcessDataList_End()

Información del listado

Tras cargar, consulta el tamaño y la posición del listado para paginar o decidir si sigues cargando páginas.

FunciónParámetrosDevuelveQué hace
DataListCountResults(listado)EnteroTotal de resultados.
DataListCountPages(listado)EnteroTotal de páginas.
DataListCountFilled(listado)EnteroNúmero de filas rellenadas.
DataListCurrentPage(listado)EnteroPágina actual.
DataListResultsPerPage(listado)EnteroResultados por página configurados.

Escribir celdas de tabla HTML

Vuelcan un valor como celda de una tabla HTML, cada una con su formato. WriteTD no escapa el HTML: úsala solo con contenido que controlas; para texto libre, WriteTDText.

FunciónParámetrosDevuelveQué hace
WriteTD(texto)Escribe el texto en la celda sin escapar HTML.
WriteTDText(texto)Texto plano: conserva saltos de línea y no interpreta HTML.
WriteTDMoney(importe, decimales)Importe con formato de moneda.
WriteTDNum(valor, decimales)Número con formato y los decimales indicados.
WriteTDPercentage(valor, decimales)Porcentaje formateado.

Localizar registros por ID

Convierten un ID legible en el GUID interno del registro o del archivo, para usarlo después como relación.

FunciónParámetrosDevuelveQué hace
GetRowById(sección, id)Relación (GUID)GUID del registro de esa sección con ese ID.
GetFileById(id)Relación (GUID)GUID del archivo con ese ID.

Índice de funcionesInformesAlgoritmos

On this page