> For the complete documentation index, see [llms.txt](https://docs.wave.pt/wave-trade-x/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wave.pt/wave-trade-x/app/instalacao.md).

# Instalação

Configuração da app para ser utilizada no dispositivo Android/iOS.

Durante a primeira utilização da app no dispositivo tablet e após dar as permissões necessárias será necessário configurar a aplicação de forma a ficar funcional.

Se pretender configurar a app manualmente, selecione a opção "Manual". Se pretender utilizar a demo selecione a opção "Demo" ou se pretender migrar a base de dados selecione a opção "Upgrade".

<figure><img src="https://2604970429-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlwGyVBVyBdZOzOkKRFs8%2Fuploads%2Fc4NesfUgQAd3AIQHQDww%2FMigracaomenu.png?alt=media&amp;token=4ac59a4b-d4ea-47c1-8f40-00a0b702e5bd" alt=""><figcaption></figcaption></figure>

### <mark style="color:$primary;">Upgrade da Versão Anterior</mark>

O **upgarde da versão anterior** <mark style="color:red;">(3)</mark> permite **migrar** os dados de uma instalação antiga da aplicação para a versão atual, sem perder os dados. A base de dados é transferida para a nova versão da aplicação e o terminal é reatribuido para o dispositivo atual.

É o procedimento indicado quando um vendedor passa da aplicação antiga para a nova, mantendo o mesmo terminal.

#### <mark style="color:$primary;">Bloqueio com a versão anterior instalada</mark>

No arranque, a aplicação verifica se alguma versão anterior continua instalada no dispositivo. Se encontrar, apresenta um aviso que bloqueia o acesso à aplicação enquanto a versão antiga não for desinstalada.&#x20;

O desbloqueio é permanente: uma vez introduzida a palavra-passe correta, a verificação deixa de ser feita nos arranques seguintes.

#### <mark style="color:$primary;">Como funciona</mark>

O Upgrade é iniciado no arranque da aplicação, antes de qualquer configuração, através da opção de upgrade. Existem duas formas de obter a base de dados da versão anterior:

| Método              | Quando Usar                                                                            |
| ------------------- | -------------------------------------------------------------------------------------- |
| QR Code             | A base de dados anterior tem cópia de segurança online. É transferida automaticamente. |
| Base de dados local | Já existe um ficheiro de base de dados no dispositivo. É selecionado manualmente.      |

Em ambos os casos, no final a base de dados anterior substitui a da nova aplicação e a aplicação é reiniciada para carregar os dados migrados.

<figure><img src="https://2604970429-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlwGyVBVyBdZOzOkKRFs8%2Fuploads%2FIpY7cMscqN2OdHSDtAQe%2Fimage.png?alt=media&amp;token=0cbea2dd-fd6c-4fa2-b105-b8245e56158c" alt=""><figcaption></figcaption></figure>

#### <mark style="color:$primary;">Upgrade por QR Code</mark>

O QR Code é gerado pelo portal, em terminal, selecionamos a opção **Enviar Configurações**, selecionamos o **utilizador** e o **email** **de destino** do qr code.

<figure><img src="https://2604970429-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlwGyVBVyBdZOzOkKRFs8%2Fuploads%2Fc6GibyAAc09y5O5ddyDG%2Fimage.png?alt=media&amp;token=3553e48c-fbe6-4caa-9216-2fab18948401" alt=""><figcaption></figcaption></figure>

Ainda no terminal, temos de configurar o **endereço local** ou **remoto** ou ambos na tab de **Comunicações**.

<figure><img src="https://2604970429-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlwGyVBVyBdZOzOkKRFs8%2Fuploads%2F5qDoi3HPTsM6I7FsrG2V%2Fimage.png?alt=media&amp;token=641069a4-6b05-48cb-a41f-4d5b1d0ae55f" alt=""><figcaption></figcaption></figure>

No final do envio das configurações o utilizador recebe um qr code por email que transporta cinco valores: utilizador, palavra-passe, terminal. endereço remoto e endereço local.

O seguinte processo decorre de em qutro passos:

1. **Leitura de QR** Code.
2. **Reatribuição do terminal** automática a este dispositivo.
3. **Transferência da cópia de segurança** da base de dados anterior, a partir do armazenamento online (Dropbox).
4. **Substituição da base de dados** local e reinício da aplicação.

A cópia de segurança é procurada pelo nome do utilizador e do terminal lidos no QR code, na área da empresa configurada na dropbox.

{% hint style="info" %}
Se não existir cópia de segurança online para o terminal indicado, a aplicação avisa que não encontrou a base de dados para a versão escolhida.
{% endhint %}

#### <mark style="color:$primary;">Upgrade por base de dados local</mark>

O utilizador seleciona no dispositivo o ficheiro de base de dados pretendido. O ficheiro tem de ter extensão `.sqlite`, qualquer outro formato é recusado.

Antes de substituir, são pedidas duas confirmações:

1. Confirmação de que pretende substituir a base de dados.
2. Confirmação escrita, o utilizador tem de escrever `Sim` para prosseguir.

Depois da substituição, a aplicação lê o terminal que vinha na base de dados importada, reatribui-o a este dispositivo e recarrega as configurações a partir do servidor. Os endereços de ligação são lidos da própria base de dados importada, não sendo necessário voltar a introduzi-los.

{% hint style="info" %}
A confirmação escrita existe porque a operação é irreversível. Escrever qualquer outra coisa cancela o processo sem alterações.
{% endhint %}

#### <mark style="color:$primary;">Reatribuição do terminal</mark>

A base de dados da versão anterior traz consigo o terminal,  mas esse terminal está associado ao **identificador do dispositivo da aplicação antiga**.

Por esse motivo, antes de concluir a configuração, a aplicação comunica ao servidor a mudança de dispositivo. Sem este passo, a configuração seria recusada com indicação de que o terminal já está atribuído a outro dispositivo.

### <mark style="color:$primary;">Instalação Manual</mark>

Se escolheu a opção "Manual" de seguida terá de clicar na ícone do canto inferior esquerdo.

Na nova página que ira aparecer, insira a Password \*\*\*\* e clique em entrar.

Na página de "Configuração inicial" terá de preencher o endereço do Webservice que criou anteriormente, sendo remote ou local, e associar o terminal pretendido, seguindo a ordem da imagem seguinte.

<figure><img src="https://2604970429-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlwGyVBVyBdZOzOkKRFs8%2Fuploads%2FbphmHIHfcPjE86uf5wP4%2FMaster_Empty.png?alt=media&amp;token=e0367bf0-9029-4550-9a5a-af0e6d9faf8f" alt=""><figcaption></figcaption></figure>

Após estas etapas o écran terá de ficar com o seguinte aspeto.

<figure><img src="https://2604970429-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlwGyVBVyBdZOzOkKRFs8%2Fuploads%2FLeIcAxKSrjLkjRYgR30A%2FMaster.jpg?alt=media&amp;token=846b3bc8-834f-476e-af63-a90b7ae3e2b5" alt=""><figcaption><p>Configuração inicial</p></figcaption></figure>

Se as configurações foram guardadas com sucesso, pode voltar à pagina de Login e preencher os dados de acesso com os dados de utilizador criados anteriormente no Portal.

Com o Login bem sucedido, e já dentro da aplicação, terá de fazer uma primeira Sincronização total.

Para tal, navegue para a tab "Sincronização", verifique se o switch Total/Parcial está em Total e clique em "Sincronizar".

<figure><img src="https://2604970429-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlwGyVBVyBdZOzOkKRFs8%2Fuploads%2FwnlRJcHGdP3sENp7dUbj%2FSync.jpg?alt=media&amp;token=c0bb0b8f-7e22-41be-a278-14eed899bb43" alt=""><figcaption><p>Sincronização</p></figcaption></figure>

Apos a sincronização ficar concluída verifique se todas as tabelas principais e tabelas auxiliares foram sincronizadas com sucesso, tendo o ✔️ no "Estado".

<figure><img src="https://2604970429-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlwGyVBVyBdZOzOkKRFs8%2Fuploads%2FiqD76g2qXzpmuAQ7lAnO%2FSync_Completed.jpg?alt=media&amp;token=324aa135-74da-4633-8be3-93598fad5bb0" alt=""><figcaption><p>Sincronização Tablas Principais</p></figcaption></figure>

<figure><img src="https://2604970429-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlwGyVBVyBdZOzOkKRFs8%2Fuploads%2FDGZr2nzPOdsaMLC0fOVk%2FSync_AuxTables.jpg?alt=media&amp;token=6298eec9-041a-438c-8dc3-e756edb967e7" alt=""><figcaption><p>Sincronização Tabelas Auxiliares</p></figcaption></figure>

Se não existir problemas com nenhuma tabela, passamos à sincronização de Imagens.

<figure><img src="https://2604970429-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlwGyVBVyBdZOzOkKRFs8%2Fuploads%2FhHtOLAgH1z0PBQVdUBrT%2FSync_images.jpg?alt=media&amp;token=091fd2be-e119-4a96-b8f2-aaee72c8a07d" alt=""><figcaption><p>Sincronização de Imagens</p></figcaption></figure>

Após sincronizar imagens, a aplicação está pronta a ser utilizada.
