# A lista de execuções

> A lista Runs e os seus filtros, a anatomia da linha, a paginação e a atualização, o controle de importação, e a exclusão de uma execução ou de um lote inteiro.

A metade esquerda do navegador é encabeçada por **Execuções**, com dois controles no seu cabeçalho:
**Importar** (um arquivo `.glab` gravado em outro lugar, [Importar execuções](histories-import)) e
**Atualizar**. Sob ele ficam a faixa de filtros, a barra de lote quando execuções estão marcadas,
uma página de 50 execuções, da partida mais recente para a mais antiga, e o paginador
("1–50 de 3214"), desenhado só enquanto ao menos uma execução casa. Não existe outra ordenação.
Selecionar uma linha abre a execução à direita e marca a linha.

Atualizar recarrega a página e relê as escolhas de Unidade e de Responsável, então uma unidade
configurada ou um usuário criado depois que o painel abriu passa a ser filtrável sem sair do
navegador. A lista não se atualiza sozinha: uma execução gravada enquanto você lê outra aparece na
próxima atualização, mudança de filtro ou troca de página.

## A linha {#the-row}

| Elemento | Significado |
| --- | --- |
| Nome da execução | O nome sob o qual a execução foi gravada: "Procedimento · Unidade" para a execução de um procedimento, "Snapshot · Datalog" ou "Evaluate · Avaliação" para um comando único. |
| Distintivo de automação | A execução foi admitida pela interface de automação da unidade, não por uma pessoa. |
| Distintivo de importada | A execução chegou como um arquivo `.glab` vindo de outra instalação. |
| Ponto verde | A execução está Em execução. |
| Distintivo OK, NOK ou Indeterminada | O veredito. Uma execução sem nenhum não carrega veredito, ou não terminou. |
| Sublinha | O estado do ciclo de vida, depois **Intertravamento** quando o sinal externo de parada da unidade encerrou a execução, depois quem a iniciou, depois o instante de partida no formato da estação. Uma coluna estreita corta o nome do responsável; a linha inteira fica na dica da linha. |
| Caixa de seleção | Marca a execução para exclusão em lote ("Selecionar para exclusão"). Só é desenhada para um papel que tenha Gerenciar os históricos. Fica cinza numa execução que não terminou ("Uma execução que não terminou não pode ser excluída.") e numa estação somente para leitura. |

## Filtros {#filters}

Todo filtro é uma coluna do índice de execuções, a caixa de busca inclusive: o índice guarda os
valores dos metadados de cada execução ao lado do nome dela. Então a faixa se resolve como uma
consulta indexada só: nenhum arquivo de execução é aberto para decidir um casamento, e um arquivo
de anos nunca é carregado inteiro. Mudar um filtro volta para a primeira página.

| Filtro | Escolhas | Notas |
| --- | --- | --- |
| Filtrar as execuções por nome ou valor dos metadados | Texto livre | Um trecho do nome da execução ou de qualquer valor de metadado com que ela foi iniciada (um número de série, um lote), sem diferenciar maiúsculas, aplicado enquanto você digita. |
| Veredito | Todos os vereditos, OK, NOK, Indeterminada, Sem veredito | **Sem veredito** lista as execuções que não carregam nenhum, tenham terminado ou não. |
| Estado | Todos os estados, Executando, Pausada, Concluída, Abortada, Falhou | **Executando** também lista uma execução que ainda está escrevendo o seu arquivo (Salvando), a qual, do seu ponto de vista, não parou de gravar. |
| Unidade | Todas as unidades e, em seguida, uma entrada por unidade como "Modelo · Unidade" | Onde a execução aconteceu, na ordem dos modelos e depois na das unidades. Uma execução importada não pertence a unidade nenhuma e só aparece em Todas as unidades. |
| Responsável | Todos os responsáveis, Estação, Automação, Agente e, em seguida, todo usuário local pelo nome | Quem iniciou a execução. Uma pessoa é casada pela identidade congelada na execução, não pelo nome: um operador renomeado mantém as suas execuções, e um operador excluído continua nas escolhas enquanto as execuções dele ainda o nomeiam. |
| De / Até | Dias do calendário | A partida mais antiga e a mais recente a listar. Os dois são dias locais da estação; o dia de Até entra inteiro. |

Quando nenhuma execução casa, a lista não desenha linhas nem paginador, só uma frase no lugar
deles. Enquanto algum filtro estiver aplicado, a caixa de busca inclusive, a frase diz
"Nenhuma execução corresponde aos filtros.", mesmo numa estação que ainda não gravou nada; sem
nenhum filtro, só uma estação sem nenhuma execução não encontra nada, e a frase diz
"Nenhuma execução registrada ainda." Até a primeira página do índice ser lida, a frase diz "Carregando as execuções…"; quando o índice não pode ser lido, ela diz isso, com o motivo.

As execuções gravadas por uma versão cujo índice não guardava os valores dos metadados recebem
esses valores uma vez, em segundo plano, a partir da primeira abertura depois da atualização. A
estação lê um arquivo de execução por vez e espera enquanto uma execução está gravando ou o runtime
está parado, então nada fica retido. Enquanto isso não termina, uma busca encontra essas execuções
só pelo nome e diz isso sob a caixa: "A busca ainda não cobre os metadados das execuções mais
antigas: elas ainda estão sendo indexadas e, até lá, só são encontradas pelo nome." Um arquivo de
execução que não pode ser lido é pulado, e essa execução é encontrada só pelo nome até que
[Reconstruir o índice do histórico de execuções](settings-backups#rebuild-run-history-index) o leia
de novo.

## Paginação {#paging}

Página anterior e Próxima página caminham pelo casamento uma página por vez; o conjunto marcado e a
execução aberta sobrevivem a uma troca de página. Excluir a cauda do arquivo move a posição de volta
para a última página que ainda existe.

## Excluir execuções {#deleting-runs}

Excluir uma execução exige **Gerenciar os históricos**. O papel que não tem essa permissão
não recebe caixa de seleção, nem barra de lote, nem **Excluir**: o gesto não é desenhado, em
vez de aparecer esmaecido.

**Excluir**, o verbo de perigo no fim da faixa do registro, remove a execução aberta e o arquivo
dela depois de "Excluir 'nome'? Isso remove a execução e o arquivo dela. Os documentos já publicados
para ela continuam na pasta de relatórios. Uma execução que não terminou não pode ser excluída." Ele
fica cinza numa estação somente para leitura e numa execução que está Em execução, Pausada ou
Salvando; o serviço recusa pela mesma regra uma execução que ainda detém as suas travas de origem. O
desfecho cai no feed de ações ("Excluída · nome").

Para um lote, marque execuções na lista: aparece uma barra de lote com "N selecionadas", **Página**
(marca toda execução excluível desta página), **Limpar** (desmarca toda execução) e **Excluir**
(cinza numa estação somente para leitura e enquanto um lote corre). O conjunto marcado é guardado
pela identidade da execução e sobrevive à paginação e à atualização, então um lote filtrado por data
pode ser montado página a página antes de uma confirmação ("Excluir para sempre N execuções
registradas e os arquivos delas? Os documentos já publicados para elas continuam na pasta de
relatórios. Isso não pode ser desfeito.") apagá-lo. Cada execução é excluída por conta própria,
linha de índice e arquivo juntos, então uma execução que o runtime ainda detém é recusada
individualmente e o feed informa "Excluídas X de Y execuções · Z recusadas: motivo" em vez de o lote
inteiro falhar. Excluir uma execução também remove a contribuição dela para a produtividade da
unidade. Isso libera também o nome de arquivo de exportação da execução, a menos que um documento
publicado para ela ainda esteja na pasta de relatórios: os documentos ficam lá por decisão de
projeto e carregam aquele nome, então ele continua tomado enquanto eles existirem, e nenhuma
execução posterior pode publicar por cima de um deles.

## O que a lista não faz {#what-the-list-does-not-do}

Ela não ordena por nada além do instante de partida, não busca nos comentários nem nos valores
gravados de uma execução (só no nome e nos valores dos metadados) e não abre duas execuções ao
mesmo tempo; uma segunda aba do navegador é um segundo navegador, com a sua própria seleção e os
seus próprios filtros.
