# Importar execuções

> Traga para este arquivo um .glab gravado em outra instalação, como uma entrada independente e inteiramente rastreável: o que é validado, o que a cópia ganha e o que ela nunca ganha.

O controle **Importar** fica no cabeçalho da lista de execuções, ao lado de Atualizar, e aceita um
arquivo `.glab` gravado em outra instalação ([Exportar uma execução](histories-export#glab)). O
controle é desenhado apenas para um papel com a permissão **Exportar/importar históricos**; qualquer
outro papel vê o cabeçalho da lista sem ele. Ele exige uma estação que aceite escritas ("Runtime parado"), porque publica um arquivo de execução e uma linha de índice, e fica
cinza enquanto outro verbo da faixa está correndo ("O comando anterior ainda está rodando.").

## O que é validado {#what-is-validated}

O arquivo é transmitido para uma cópia temporária (os envios são limitados a 1 GB; o feed diz
"Importando · arquivo…") e validado ali primeiro. Uma recusa não cria entrada nenhuma:

| Recusa | Quando |
| --- | --- |
| O arquivo selecionado está vazio ou não pôde ser lido. | Um envio vazio ou ilegível. |
| O arquivo selecionado não é um arquivo de execução do Ganter Lab. | Um arquivo que não carrega histórico de esquema de arquivo de execução. |
| Este arquivo foi criado por uma versão mais nova ou incompatível do Ganter Lab e não pode ser importado. | Um arquivo de execução de um formato posterior ou incompatível. |
| O arquivo selecionado não é um arquivo de execução legível do Ganter Lab. | Não é um banco SQLite, ou está corrompido. |

## O recibo e a cópia publicada {#the-receipt-and-the-published-copy}

Um arquivo de uma linha de base mais antiga que ainda é suportada é atualizado apenas na cópia
temporária; o arquivo recebido nunca é tocado. A cópia então recebe carimbado em si mesma o seu
**recibo de importação**, o instante da importação e o nome do arquivo recebido, para que o registro
possa sempre declarar de onde a execução veio e um índice reconstruído restaure a marca de
importada; uma cópia reexportada de outra estação carregava o recibo daquela estação, e a
procedência desta cópia é a chegada dela aqui. A estação publica uma cópia local nova sob um nome
único (`Imported_<run name>_<id>.db`) e registra uma entrada nova e independente; o feed diz
"Importada · nome · de arquivo (tamanho)" e a lista abre nela.

## O que a cópia ganha e o que nunca ganha {#what-the-copy-gets-and-never-gets}

- A execução importada ganha uma identidade local novinha; o id original da execução fica dentro do
  arquivo como evidência, então duas instalações podem trocar execuções sem colisão.
- Ela nunca é ligada à configuração local, mesmo quando existe um procedimento de mesmo nome: ela
  não pertence a unidade nenhuma, o procedimento dela é nenhum, ela não pode ser retomada, nunca
  conta para a produtividade local, não configura etiqueta nenhuma para **Nova etiqueta**, e
  "(relatório do procedimento)" a renderiza com o padrão de todas as seções.
- O estado dela é o estado terminal congelado no arquivo: uma execução encerrada por um
  intertravamento é importada como Abortada, e um estado congelado que não é terminal é levado a
  Concluída. Um arquivo que nunca escreveu o seu snapshot (a estação de origem morreu no meio da
  execução) é importado como uma execução Com falha, nomeada a partir do arquivo, para que ela não
  se perca.
- Nada é sobrescrito nem mesclado: importar o mesmo arquivo duas vezes rende duas entradas
  independentes.
- O responsável viaja com a cópia como evidência congelada. Numa estação que compartilha a mesma
  lista de usuários, a identidade congelada continua apontando para o mesmo operador; em outra, ela
  nomeia a pessoa sem casar com usuário local nenhum.

## Usar a execução importada {#using-the-imported-run}

Uma vez importada, a execução pode ser navegada, comentada, anotada e reexportada como qualquer
outra, e os artefatos de etiqueta e os registros de relatório dela vêm junto: os bytes congelados de
um artefato podem ser reimpressos aqui, enquanto o PDF publicado de um registro não está nesta
estação, então ele só pode ser aberto ou reenviado quando a estação de origem guardou uma cópia
dentro da execução; fora isso, gere um PDF novo a partir do arquivo.

## Se a aplicação parar no meio da importação {#if-the-app-stops-mid-import}

Se a aplicação parar na janela estreita entre publicar o arquivo e registrá-lo, o arquivo não se
perde: **Reconstruir o índice do histórico de execuções**, em [Configurações](settings-backups),
varre de novo os arquivos de execução, que são a fonte da verdade, e devolve a entrada dele.
