> For the complete documentation index, see [llms.txt](https://docs.wave.pt/mobile-logistic-manual/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/mobile-logistic-manual/aplicacao-android/app/funcionalidades/expedicao.md).

# Expedição

<details>

<summary>Cabeçalhos</summary>

Neste ecrã são apresentados os documentos configurados no BackOffice para o processo de expedição. Os documentos são listados com as seguintes informações visíveis: **nome da entidade**, **tipo de documento**, **data do documento**, **número da entidade** e **número do documento**.

Ao pressionar o ícone "**+**", localizado à esquerda de cada documento, são revelados o nome completo da entidade e as observações associadas, permitindo ao utilizador aceder rapidamente a detalhes relevantes.

{% hint style="info" %}
Se um documento tiver observações, será exibido um ícone de informação amarelo ao lado do nome da entidade.
{% endhint %}

Na parte superior da lista existe uma barra de pesquisa com um campo de texto e um ícone de lupa à direita. Dentro do campo de texto, encontra-se um ícone de seta para baixo ("v"), que permite selecionar o critério de pesquisa: **nome do cliente**, **número do cliente** ou **número do documento e pesquisa personalizada**. Após definir o critério e introduzir o valor pretendido, basta pressionar a lupa para efetuar a pesquisa.

{% hint style="info" %}
O campo da base de dados utilizado para definir o campo do ERP utilizado na **pesquisa personalizada** é o campo **"txtlivre5"** da **view "V\_WSML\_CABDOCSAIDA"**
{% endhint %}

Ao realizar um ***swipe*****&#x20;da direita para a esquerda** num documento da lista, ou ao pressionar o ícone **">"** localizado no lado direito do documento, são apresentados dois botões de ação: **"**[**Pré-Visual**](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/pre-visual.md)**"** e **"**[**Entrar**](#linhas)**"**.

* **Pré-Visual**: Redireciona o utilizador para o [ecrã de pré-visualização](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/pre-visual.md), onde é possível consultar as linhas do documento sem iniciar o seu processamento.
* **Entrar**: Redireciona diretamente para o [ecrã das linhas do documento](#linhas), permitindo iniciar o tratamento do documento.

No canto superior direito do ecrã é exibido o número total de documentos disponíveis. Já no canto inferior esquerdo, encontra-se um ícone de **"X"** que permite regressar ao ecrã anterior.

**Filtro por tipo de documento**

Por baixo da barra de pesquisa existe uma *select box* para filtrar os tipos de documentos, que **só está disponível se existir mais do que 1 tipo de documento** na lista.

**Filtro por vendedor**

Se o parâmetro `filtrarVendedorExp` estiver ativo, é apresentado um campo **"Selecionar Vendedor"** que permite mostrar apenas os documentos de um determinado vendedor. Para limpar o filtro, basta pressionar o ícone de **"X"** no campo.

**Informação adicional no documento**

Além dos dados já indicados, cada documento pode apresentar:

* A **série** do documento, ao lado da data;
* O valor do campo **personalizado** (`txtlivre5`), precedido do texto definido no parâmetro `labelTxtLivre5CabExp`. Esta etiqueta é também utilizada como nome do critério de **pesquisa personalizada**.

{% hint style="info" %}
O critério de pesquisa que vem selecionado por defeito pode ser definido no parâmetro `filtroInicialExp`, com um dos valores: `nomecliente`, `codigocliente`, `numerodocumento` ou `personalizado`.
{% endhint %}

#### Bloqueio de documentos <a href="#bloqueio-de-documentos" id="bloqueio-de-documentos"></a>

Ao pressionar **"Entrar"** num documento, este fica **bloqueado** para o utilizador atual, impedindo que outro utilizador esteja a tratar o mesmo documento em simultâneo. Caso o documento já esteja a ser tratado por outro utilizador, será apresentada uma mensagem informativa.

O documento é desbloqueado automaticamente quando é guardado ou quando o utilizador sai do documento. Se a aplicação for fechada a meio do processo, os documentos desse utilizador são desbloqueados no próximo login.

#### Expedições Agrupadas <a href="#expedicoes-agrupadas" id="expedicoes-agrupadas"></a>

Esta funcionalidade permite tratar **vários documentos do mesmo cliente** de uma só vez, gerando as linhas de todos eles num único ecrã.

Quando o parâmetro `permiteExpedicoesAgrupadas` está ativo, surge à direita da lupa um **ícone de lista**. Ao pressioná-lo, o modo de agrupamento é ativado (o ícone fica verde) e cada documento passa a ter uma *checkbox* à esquerda.

* Ao selecionar o primeiro documento, a lista é **filtrada automaticamente** para mostrar apenas documentos do **mesmo cliente** e do **mesmo tipo de documento**;
* Acima da lista é apresentado o número de **documentos selecionados**, uma *checkbox* para **selecionar todos** e o botão **"Entrar"**;
* Ao pressionar **"Entrar"**, todos os documentos selecionados são bloqueados e o utilizador é redirecionado para o ecrã de linhas, onde as linhas são apresentadas **agrupadas por documento**.

{% hint style="info" %}
Se algum dos documentos selecionados estiver bloqueado por outro utilizador, é apresentada uma mensagem e apenas os restantes documentos são abertos.
{% endhint %}

{% hint style="info" %}
Se o parâmetro `agrupaexp` estiver ativo, ao guardar é criado apenas **1 documento de destino** com as linhas de todos os documentos de origem.
{% endhint %}

Por fim, no canto inferior direito, existe um contador decrescente que, ao atingir zero, atualiza automaticamente a lista de documentos, garantindo que a informação apresentada esteja sempre atualizada.

<figure><img src="https://3977339374-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuj6LpeZslGqhZFWJGXM1%2Fuploads%2F0KFBXMEz3kZj6AmdNKfC%2Fimage.png?alt=media&amp;token=4302bb31-f237-4192-b41a-067d292ddd08" alt="" width="360"><figcaption><p>Expedição - Cabeçalhos</p></figcaption></figure>

</details>

<details>

<summary>Linhas</summary>

Ao pressionar a opção **"Entrar"** num documento, o utilizador é redirecionado para o ecrã de Linhas do Documento, onde poderá iniciar o tratamento das respetivas linhas.

Caso o documento contenha uma **observação**, será apresentada automaticamente uma *popup* com o conteúdo da mesma, permitindo ao utilizador tomar conhecimento de informações adicionais relevantes.

Se, no BackOffice, existirem múltiplas configurações com o **mesmo documento de origem**, mas com **diferentes documentos de destino**, será apresentada uma lista com essas opções. O utilizador deverá então **selecionar o documento de destino** que pretende utilizar antes de prosseguir.

### Listagem de linhas

Após esta seleção, as linhas do documento são carregadas e apresentadas em formato de lista. Para cada linha são exibidos os seguintes dados:

* **Nome do artigo**
* **Referência**
* **Quantidade pedida**
* **Quantidade satisfeita**

{% hint style="info" %}
Se o artigo utilizar grelhas, também será mostrada a cor e tamanho do artigo pedido.
{% endhint %}

À esquerda de cada linha existe um ícone **“+”** que, quando pressionado, revela o **nome completo do artigo**, útil para casos em que o nome não esteja totalmente visível.

Se um artigo tiver **quantidade reservada para clientes**, será apresentado um **ícone informativo** no canto inferior esquerdo da linha, alertando o utilizador para essa situação específica.

### **Cabeçalho**

Na parte superior da lista de linhas, encontra-se um input que permite efetuar a **leitura manual de códigos de barras**, útil em situações em que o **scanner do PDA não esteja a funcionar corretamente**.

Ao pressionar o botão com o **ícone de código de barras**, o utilizador ativa o campo de texto onde poderá introduzir o código de barras manualmente. Após introduzir o código, deve pressionar o botão **✓.**

A **checkbox "Qtd."** define o comportamento da leitura:

* Quando **marcada**, após a leitura (manual ou por scanner), o utilizador será redirecionado para um[ ecrã onde deve indicar a quantidade](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/quantidades.md) que pretende ler.
* Quando **desmarcada**, a leitura do código contabiliza automaticamente **1 unidade**, sem necessidade de confirmar quantidades adicionais.

<div><figure><img src="https://3977339374-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuj6LpeZslGqhZFWJGXM1%2Fuploads%2FcrSRBxF4ryjxS9LBJY2T%2Fimage.png?alt=media&amp;token=a3621885-747b-4165-bb3c-91a28069194a" alt=""><figcaption><p>Linhas Expedição 1</p></figcaption></figure> <figure><img src="https://3977339374-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuj6LpeZslGqhZFWJGXM1%2Fuploads%2FlJoq9xYRYS1WaX7nXngl%2Fimage.png?alt=media&amp;token=c1874a80-6627-4691-a756-1e0f5df9448a" alt=""><figcaption><p>Linhas Expedição 2</p></figcaption></figure></div>

### **Barra Superior e Menu Lateral**

No topo do ecrã encontra-se uma barra de navegação que contém:

* Um **ícone de menu** (representado por três barras horizontais);
* **O tipo de documento**;
* O **número do documento**;
* O **nome da entidade associada**.

Ao pressionar o **ícone de menu**, é aberta uma ***sidebar*** que apresenta três opções:

* **Consulta de Linhas**\
  Redireciona para o [ecrã de consulta de linhas](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/consulta-de-linhas.md), onde o utilizador pode verificar todas as linhas que já foram lidas até ao momento.
* **Observações**\
  Redireciona para o [ecrã de observações](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/observacoes.md), permitindo visualizar, editar ou adicionar observações ao documento atual.
* **Impressão**\
  Redireciona para o [ecrã de impressão](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/impressao.md), onde é possível imprimir uma **etiqueta de cabeçalho** com os principais dados do documento.

<div><figure><img src="https://3977339374-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuj6LpeZslGqhZFWJGXM1%2Fuploads%2F4drhS7dckim2Ks9M5mGg%2Fimage.png?alt=media&amp;token=51f6fda5-b8b0-4078-9fff-3abc02edffb2" alt=""><figcaption><p>Linhas Expedição 3</p></figcaption></figure> <figure><img src="https://3977339374-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuj6LpeZslGqhZFWJGXM1%2Fuploads%2FmkiE6SJ85dcPibzGt2nK%2Fimage.png?alt=media&amp;token=f74cb8d5-0422-4006-8573-69f40de7e9a6" alt=""><figcaption><p>Linhas Expedição 4</p></figcaption></figure></div>

### Ações por Swipe numa Linha do Documento

Ao efetuar um *swipe* da **direita para a esquerda** sobre uma linha do documento, são apresentados diversos botões que permitem ao utilizador aceder a funcionalidades adicionais relacionadas com o artigo em questão:

* **Ler**\
  Permite efetuar a leitura manual do artigo, sem necessidade de utilizar o leitor de código de barras.
* **Ícone de código de barras**\
  Redireciona para o [ecrã de **atribuição de códigos de barras**](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/atribuir-codigo-de-barras.md), onde é possível associar um código de barras ao artigo selecionado.
* **Ícone de documento**\
  Redireciona para o [ecrã de **reservas de stock**](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/reservas-de-stock.md), permitindo consultar em que documentos o artigo se encontra atualmente reservado para clientes.
* **Ícone de impressora**\
  Redireciona para o [ecrã de **impressão de etiquetas**](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/impressao.md), onde é possível gerar e imprimir etiquetas com informações detalhadas sobre o artigo.
* **Ficha do Artigo**\
  Redireciona para o [ecrã de **ficha do artigo**](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/ficha-do-artigo.md), onde são apresentadas informações detalhadas sobre o artigo, como nome completo, referência, código de barras, entre outros dados relevantes.

### Artigos com Lote

Ao ler um artigo que possui lote, o utilizador é automaticamente redirecionado para o [**ecrã de lotes**](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/lotes.md). Neste ecrã, deverá selecionar o lote específico do artigo que pretende utilizar.

### Barra inferior

Inicialmente, a barra inferior apresenta apenas um ícone de **X**, que permite ao utilizador regressar ao ecrã anterior.

Após a leitura de um artigo, a barra inferior passa a mostrar adicionalmente a informação relativa à última linha lida, incluindo:

* **Nome do artigo** lido;
* **Quantidade** lida.

No lado direito da barra surge também um ícone de **✓**, permitindo **guardar o documento**.

**Informação adicional nas linhas**

Consoante os parâmetros gerais, cada linha pode também apresentar:

* O **stock** do artigo, se o parâmetro `MostraStockLinha` estiver ativo;
* O **fator de conversão** do artigo, se o parâmetro `showConversionFactorInLines` estiver ativo;
* O valor do campo `txtlivre5` da linha, com o texto definido no parâmetro `labelTxtLivre5LinhasExp`.

**Leitura de artigos com várias linhas**

Se o artigo lido existir em **mais do que uma linha pendente** do documento, é apresentada uma *popup* com as **linhas correspondentes**, para que o utilizador escolha a linha que pretende satisfazer.

**Botão "Ler"**

Se o parâmetro `readbuttonreadonly` estiver ativo, o botão **"Ler"** (no *swipe* da linha) só fica disponível depois de o artigo ter sido lido **pelo menos uma vez** com o leitor. Desta forma, garante-se que o operador picou fisicamente o artigo antes de alterar manualmente as quantidades.

**Adicionar linhas soltas**

Quando o parâmetro `PermiteAddLinhasSoltasExp` está ativo, surge na barra superior um **ícone de adicionar linha**. Ao ativá-lo, é possível ler artigos que **não existem no documento de origem**, que serão adicionados como novas linhas (sem quantidade pedida).

{% hint style="info" %}
Se o parâmetro `ReativarAddLinhasSoltasExp` estiver ativo, a opção é desativada automaticamente após adicionar uma linha solta, obrigando o utilizador a voltar a ativá-la para adicionar outra.
{% endhint %}

**Opções adicionais do menu lateral**

Além de **Consulta de Linhas**, **Observações** e **Impressão**, a *sidebar* pode apresentar:

* **Data do documento de destino:** permite alterar a data com que será criado o documento de destino (por defeito, a data atual);
* **Configurar Localizações:** apenas visível se o parâmetro `appUsaLocalizacoes` estiver ativo;
* **Potência RFID:** apenas visível se o leitor RFID estiver ativo.

**Controlo de quantidades e de stock**

Ao ler um artigo, a aplicação valida:

* Se a quantidade lida é **superior à quantidade pendente** da linha, conforme o parâmetro `permiteSatisfLinhasQtdSuperioresExp` (não permite / avisa sempre / avisa uma vez);
* No caso de artigos de **peso variável**, se a quantidade está dentro do **desvio aceite** (parâmetro `desvioAceite`);
* Se existe **stock suficiente** no armazém, quando o documento está configurado no BackOffice para controlar stock;
* A regra **FEFO** nos artigos com lote.

### Guardar documento

Ao guardar o documento, caso ainda existam linhas com quantidades insuficientes ou quantidades lidas em excesso, é apresentado o [ecrã de Linhas por Satisfazer](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/linhas-por-satisfazer.md), onde o utilizador pode rever essas linhas antes de confirmar.

Se não existirem estas incongruências, será exibida uma confirmação para guardar o documento. Após a confirmação:

1. Se existirem [Campos Livres](/mobile-logistic-manual/aplicacao-android/app/funcionalidades/campos-livres.md) configurados, a aplicação pergunta se pretende preenchê-los. Se algum campo for **obrigatório**, o ecrã de Campos Livres é aberto diretamente.
2. É criado o documento de destino e apresentada uma mensagem com o **tipo e número do documento criado**.
3. O comportamento sobre o **fecho do documento de origem** depende do parâmetro `ctrlfechaDocExp`:
   * **1** — Pergunta ao utilizador se pretende fechar o documento de origem;
   * **2** — Fecha o documento de origem sem perguntar;
   * **3** — Não fecha nem pergunta.
4. Se o documento estiver configurado no BackOffice para **imprimir etiqueta no final**, a aplicação pergunta se pretende **imprimir o cabeçalho do documento criado**.

{% hint style="info" %}
Caso todas as linhas estejam totalmente satisfeitas, a pergunta sobre o fecho do documento de origem não é mostrada e o documento é fechado automaticamente.
{% endhint %}

</details>
