# La lista de ensayos

> La lista Ensayos y sus filtros, la anatomía de una fila, la paginación y la actualización, el control de importación y la eliminación de un ensayo o de una tanda entera.

La mitad izquierda del navegador se encabeza **Ensayos**, con dos controles en su cabecera:
**Importar** (un archivo `.glab` grabado en otro sitio, [Importar ensayos](histories-import))
y **Actualizar**. Debajo, la tira de filtros, la barra de lote cuando hay ensayos marcados,
una página de 50 ensayos, del arranque más reciente al más antiguo, y el paginador
("1–50 de 3214"), que solo aparece mientras al menos un ensayo coincide. No hay ningún otro
orden. Al seleccionar una fila se abre el ensayo a la derecha y se marca la fila.

Actualizar recarga la página y vuelve a leer las opciones de Unidad y de Responsable, así
que una unidad configurada o un usuario creado desde que se abrió el panel pasa a ser
filtrable sin salir del navegador. La lista no se actualiza sola: un ensayo grabado
mientras se lee otro aparece en la siguiente actualización, cambio de filtro o paso de
página.

## La fila {#the-row}

| Elemento | Significado |
| --- | --- |
| Nombre del ensayo | El nombre con el que se grabó el ensayo: "Procedimiento · Unidad" para el ensayo de un procedimiento, "Instantánea · Datalog" o "Evaluar · Evaluación" para un comando suelto. |
| Insignia de automatización | El ensayo lo admitió la interfaz de automatización de la unidad, no una persona. |
| Insignia de importado | El ensayo llegó como archivo `.glab` desde otra instalación. |
| Punto verde | El ensayo está En marcha. |
| Insignia Conforme, No conforme o Indeterminado | El veredicto. Un ensayo que no lleva ninguna no tiene veredicto, o no ha terminado. |
| Línea inferior | El estado del ciclo de vida, después **Enclavamiento** cuando la señal de parada externa de la unidad terminó el ensayo, después quién lo arrancó y después el instante de arranque en el formato de la estación. Una columna estrecha recorta el nombre del responsable; la línea entera está en la información emergente de la fila. |
| Casilla | Marca el ensayo para la eliminación en lote ("Seleccionar para eliminar"). Solo se dibuja para un rol que tenga Gestionar los históricos. Atenuada para un ensayo que no ha terminado ("Un ensayo que no ha terminado no se puede eliminar.") y en una estación de solo lectura. |

## Filtros {#filters}

Todo filtro es una columna del índice de ensayos, la caja de búsqueda incluida: el índice guarda
los valores de los metadatos de cada ensayo junto a su nombre. Así que la tira se resuelve como
una sola consulta indexada: no se abre ningún archivo de ensayo para decidir una coincidencia, y
un archivo de años nunca se carga entero. Cambiar un filtro devuelve a la primera página.

| Filtro | Opciones | Notas |
| --- | --- | --- |
| Filtrar los ensayos por nombre o valor de los metadatos | Texto libre | Una parte del nombre del ensayo o de cualquier valor de metadatos con el que se arrancó (un número de serie, un lote), sin distinguir mayúsculas, aplicada mientras se escribe. |
| Veredicto | Todos los veredictos, Conforme, No conforme, Indeterminado, Sin veredicto | **Sin veredicto** lista los ensayos que no llevan ninguno, hayan terminado o no. |
| Estado | Todos los estados, En marcha, En pausa, Completado, Abortado, Fallido | **En marcha** lista también un ensayo que todavía está escribiendo su archivo (Guardando), que a efectos prácticos no ha dejado de grabar. |
| Unidad | Todas las unidades y después una entrada por unidad como "Modelo · Unidad" | Dónde ocurrió el ensayo, por orden de modelo y después de unidad. Un ensayo importado no pertenece a ninguna unidad y solo se lista bajo Todas las unidades. |
| Responsable | Todos los responsables, Estación, Automatización, Agente y después todos los usuarios locales por su nombre | Quién arrancó el ensayo. A una persona se la reconoce por la identidad congelada en el ensayo, no por el nombre: un operador renombrado conserva sus ensayos, y uno eliminado sigue entre las opciones mientras sus ensayos lo nombren. |
| Desde / Hasta | Días de calendario | El arranque más antiguo y el más reciente que se listan. Los dos son días locales de la estación; el día Hasta se incluye entero. |

Si ningún ensayo coincide, la lista no dibuja filas ni paginador, solo una línea en su lugar.
Mientras haya algún filtro puesto, la caja de búsqueda incluida, la línea dice
"Ningún ensayo coincide con los filtros.", incluso en una estación que no ha grabado nada; sin
ningún filtro puesto, solo una estación sin ningún ensayo no encuentra nada, y la línea dice
"Todavía no hay ensayos registrados." Hasta que se lee la primera página del índice, la línea dice "Cargando los ensayos…"; si el índice no se puede leer, lo dice, con el motivo.

Los ensayos grabados por una versión cuyo índice no guardaba los valores de los metadatos los
reciben una vez, en segundo plano, a partir del primer arranque después de la actualización. La
estación lee un archivo de ensayo cada vez y espera mientras un ensayo está grabando o el runtime
está detenido, así que nada queda retenido. Mientras eso no termina, una búsqueda encuentra esos
ensayos solo por el nombre y lo dice bajo la caja: "La búsqueda aún no abarca los metadatos de los
ensayos más antiguos: todavía se están indexando y, hasta entonces, solo se encuentran por su
nombre." Un archivo de ensayo que no se puede leer se omite, y ese ensayo solo se encuentra por el
nombre hasta que
[Reconstruir el índice del histórico de ensayos](settings-backups#rebuild-run-history-index) lo
vuelva a leer.

## Paginación {#paging}

Página anterior y Página siguiente recorren la coincidencia de página en página; el
conjunto marcado y el ensayo abierto sobreviven a un paso de página. Eliminar la cola del
archivo mueve la posición a la última página que todavía existe.

## Eliminar ensayos {#deleting-runs}

Eliminar un ensayo exige **Gestionar los históricos**. Un rol sin ese permiso no recibe
casilla, ni barra de tanda, ni **Eliminar**: el gesto no se dibuja, en vez de aparecer
atenuado.

**Eliminar**, el verbo de peligro al final de la tira del registro, quita el ensayo abierto
y su archivo después de "¿Eliminar 'nombre'? Esto elimina el ensayo y su archivo. Los
documentos ya publicados para él se quedan en la carpeta de informes. Un ensayo que no ha
terminado no se puede eliminar." Está atenuado en una estación de solo lectura y para un ensayo En
marcha, En pausa o Guardando; el servicio rechaza con la misma regla un ensayo que todavía
posee sus bloqueos de origen. El resultado aterriza en el registro de acciones ("Eliminado
· nombre").

Para una tanda, marque ensayos en la lista: aparece una barra de lote con "N
seleccionados", **Página** (marca todos los ensayos eliminables de esta página),
**Limpiar** (desmarca todos los ensayos) y **Eliminar** (atenuado en una estación de solo
lectura y mientras corre una tanda). El conjunto marcado se guarda por la identidad de cada
ensayo y sobrevive a la paginación y a la actualización, así que una tanda filtrada por
fecha se puede armar página a página antes de que una sola confirmación ("¿Eliminar
permanentemente N ensayos registrados y sus archivos? Los documentos ya publicados para ellos
se quedan en la carpeta de informes. Esta acción no se puede deshacer.") la elimine. Cada ensayo se
elimina por su cuenta, la fila del índice y el archivo juntos, así que un ensayo que el
runtime todavía posee se rechaza individualmente y el registro informa "Eliminados X de Y
ensayos · Z rechazados: motivo" en vez de fallar la tanda entera. Eliminar un ensayo quita
también su aportación a la producción de la unidad. Además libera el nombre de archivo de
exportación del ensayo, salvo que un documento publicado para ese ensayo siga en la carpeta
de informes: los documentos se quedan ahí por diseño y llevan ese nombre, así que sigue
ocupado mientras ellos estén, y ningún ensayo posterior puede publicar encima de uno de
ellos.

## Qué no hace la lista {#what-the-list-does-not-do}

No ordena por nada que no sea el instante de arranque, no busca en los comentarios ni en los
valores grabados de un ensayo (solo en su nombre y en los valores de sus metadatos) y no abre dos
ensayos a la vez; una segunda pestaña del navegador es un segundo navegador con su propia
selección y sus propios filtros.
