# OS 91886 - CORREÇÃO - ESTOQUE - ESTOQUE A ALTERAÇÃO

#### **Objetivo:**

- Esta solicitação tem por objetivo disponibilizar a correção da **Requisição de Material** para: 
    1. Exibir corretamente os **limites de estoque (mínimo/máximo)** do produto conforme cadastro.
    2. **Limpar a Localização** ao apagar o código do produto.
    3. Exibir a **mensagem informativa** quando, após a requisição, o **estoque final ≤ estoque mínimo** parametrizado.

#### **Situação reportada:**

- O **usuário reporta** que, ao realizar uma **requisição de material** no módulo **Controle de Estoque**, os **limites de estoque mínimo e máximo** do produto **não eram exibidos corretamente** na tela.  
    Durante o processo, observou-se também que o **campo de Localização permanecia preenchido** mesmo após o **código do produto ser apagado**, e que a **mensagem informativa** *“Produto atingiu a Quantidade Mínima em Estoque. Informe o setor de Compras!”* **não era exibida**, mesmo quando o estoque final atingia ou ficava abaixo do valor mínimo parametrizado.
    
    Esses comportamentos indicavam divergência nas **variáveis responsáveis por armazenar os valores de estoque**, impactando a exibição correta das informações na tela de requisição e a emissão da mensagem informativa.

#### **Premissas:**

- Necessário o ambiente estar atualizado com a versão do módulo **Estoque** de número **125341 Genexus 17** ou superior;
- Acesso ao módulo **Estoque** e ao **Corporativo &gt; Cadastro de Produto**.
- Ter ao menos **um produto** com **Estoque Mínimo** e **Estoque Máximo** parametrizados para o **almoxarifado** que será usado no teste (nas evidências, foi utilizado o produto **40170009** com min/max para o Almox. 10).
- Ter saldo que permita compor casos de fronteira: estoque atual **igual**, **maior** e **menor** que o mínimo após a requisição.

#### **Teste realizado após a atualização**

#### **Cenário 1: Exibição correta de limites ao informar o produto**

**Passos:**

- Acessar **Estoque &gt; Controle de Estoque &gt; Requisição de Material &gt; Requisição**.
    
    [![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/DF0Kkrr7eHLcTDE2-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/DF0Kkrr7eHLcTDE2-image.png)
    
    [![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/2q9ZVyVb7WkOYvhW-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/2q9ZVyVb7WkOYvhW-image.png)
- Informar **Almoxarifado** e **Produto**.
- Aguardar o carregamento do quadro **Saldo/Estoque**.

[![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/VkWSOQLYjnI5Cmua-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/VkWSOQLYjnI5Cmua-image.png)

<p class="callout info">**Resultados Esperados:**</p>

- Campos **Estoque Mínimo** e **Estoque Máximo** exibidos com os **mesmos valores** cadastrados no **Cadastro de Produto (guia Estoque)** para o **almoxarifado** informado.
- Demais campos derivados (ex.: **Localização**, **U.M.**) preenchidos conforme cadastro.


#### **Cenário 2: Conferência cruzada no Cadastro de Produto**

**Passos:**

- Acessar **Corporativo &gt; Produtos e Serviços &gt; Cadastro de Produto**.  
    [![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/xqvlzdBtArcQtWSy-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/xqvlzdBtArcQtWSy-image.png)
    
      
    [![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/tVY7DIKY3gnDMTLu-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/tVY7DIKY3gnDMTLu-image.png)
- Pesquisar o **mesmo produto** utilizado no Cenário 1.
- Abrir o produto, guia **Estoque** e localizar o **almoxarifado** utilizado.

[![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/UXj06iJq8SLennl2-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/UXj06iJq8SLennl2-image.png)

<p class="callout info">**Resultados Esperados:**</p>

- Valores de **Estoque Mínimo** e **Estoque Máximo** do cadastro **coincidem** com os exibidos na **Requisição de Material**.

#### **Cenário 3: Limpeza da Localização ao apagar o produto**

**Passos:**

- Na **Requisição de Material**, com o produto já informado, **apagar** o campo **Produto**.
- Sair do campo (tab ou clique fora).
- 

[![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/3FdEdaDeC80oUrB7-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/3FdEdaDeC80oUrB7-image.png)

<p class="callout info">**Resultados Esperados:**</p>

- Campo **Localização** é **limpo** imediatamente.
- Demais campos derivados do produto (incl. min/max) **não permanecem** preenchidos.

#### **Cenário 4: Mensagem quando estoque final **igual** ao mínimo**

**Passos:**

- Ajustar a **Quantidade a Movimentar** para que, após confirmar, o **Estoque Final = Estoque Mínimo**.
- Informar produto/almoxarifado.
- Preencher **Quantidade a Movimentar**.
- Clicar **Confirmar**

[![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/loyyisAIwEJarurp-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/loyyisAIwEJarurp-image.png)

[![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/XRRMl0raV8BexEnh-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/XRRMl0raV8BexEnh-image.png)

<p class="callout info">**Resultados Esperados:**</p>

- **Toast verde** “Requisição Efetuada com Sucesso!”.
- **Mensagem informativa** em azul: **“Produto atingiu a Quantidade Mínima em Estoque. Informe o setor de Compras!”**.
- Mensagem **não bloqueia** o fluxo.

#### **Cenário 5: Mensagem quando estoque final **menor** que o mínimo**

**Passos:**

- Ajustar a **Quantidade a Movimentar** para que, após confirmar, o **Estoque Final &lt; Estoque Mínimo**.  
    [![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/1dB6bO9M5hZgZyxO-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/1dB6bO9M5hZgZyxO-image.png)
- Informar produto/almoxarifado.
- Preencher **Quantidade a Movimentar**.
- Clicar **Confirmar** [![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/tosgtb0BRdk1zIGF-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/tosgtb0BRdk1zIGF-image.png)

<p class="callout info">**Resultados Esperados:**</p>

- **Toast de sucesso** da requisição.
- **Mensagem informativa** do atingimento do **mínimo** é exibida (mesma do Cenário 4).

#### **Cenário 6: **Não** exibir mensagem quando **não há mínimo** cadastrado**

**Passos:**

- Informar produto/almoxarifado.
- Clicar **Confirmar** [![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/W44xRRwMfSLfY4a6-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/W44xRRwMfSLfY4a6-image.png)

<p class="callout info">**Resultados Esperados:**</p>

- **Somente** o **toast de sucesso** da requisição.
- **Não** exibir a mensagem informativa do mínimo (condição não se aplica).

#### **Cenário 7: Atualização de limites ao **trocar o almoxarifado****

**Passos:**

- Na Requisição de Material, informar produto no **Almoxarifado A** e registrar os limites exibidos.
- **Alterar** para o **Almoxarifado B** (que possua limites diferentes).
- Clicar **Confirmar**

[![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/P6umCFCzqjDzv5cO-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/P6umCFCzqjDzv5cO-image.png)

[![image.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/scaled-1680-/m80FnN5rOVTj4iLl-image.png)](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-11/m80FnN5rOVTj4iLl-image.png)

<p class="callout info">**Resultados Esperados:**</p>

- Campos **Estoque Mínimo/Máximo** são **recarregados** conforme o **novo almoxarifado**, refletindo exatamente o cadastro do produto.

![4.png](https://wiki.sendsolutions.com.br/uploads/images/gallery/2025-03/scaled-1680-/eO9m8fVMKPpticCz-4.png)

<p class="callout danger">**ATENÇÃO: As informações neste documento são meramente ilustrativas e utilizadas apenas para fins de teste.**</p>