MATA271 - Bloqueio de produtos para inventário por data informada

Dúvida

Como bloquear produtos para poder inventariá-los sem que outro usuário faça movimentos nele simultaneamente?

Ambiente
Protheus  – Estoque – A partir da versão 11.80


Solução

Esta rotina permite bloquear e desbloquear, em uma data informada ou calculada, as movimentações de estoque dos produtos a serem inventariados. Com o objetivo de assegurar que, durante o processo de inventário, os produtos bloqueados não terão seus saldos alterados.


Conforme configuração dos parâmetros, o bloqueio de inventário pode ser efetuado de duas formas:

• por data informada = quando a data é informada manualmente;
• por data calculada = quando a data é calculada automaticamente, com base na data de início do inventário (B2_DINVENT), quando preenchida, ou database + período de inventário (B1_PERINV) informado no cadastro de Produtos.

Observe o campo "Data Bloq. de Inventário" (B2_DTINV) disponível na tabela de dados SB2 (Saldos
Físico e Financeiro), que será preenchido com a data do bloqueio.

A função que verifica o bloqueio chama-se BLQINVENT (ExpC1, ExpC2, ExpD1) e seu retorno será .T. ou .F., dependendo do bloqueio do produto (ExpC1), do local (ExpC2) e da data (ExpD1), em que:
• ExpD1 é a data opcional, se omitida será considerada a data-base do sistema. Esta função pode ser utilizada em User Function, validações, etc.

 

Observações importantes:

MV_BLQINVA quando habilitado, o sistema processa automaticamente o bloqueio de todos os produtos que estiverem configurados para bloqueio automático através do campo Blq. Invent. e estiverem em período de inventário.

MV_VLDTINV igual a 0 mantém o produto bloqueado até que seja efetuado o desbloqueio manual, mesmo que em datas posteriores a data informada.

MV_VLDTINV igual a 1, o bloqueio ocorre apenas na data informada no parâmetro, exemplo no print abaixo o produto fica bloqueado para movimentação na data de 18/12/2020 ou desbloqueado manualmente pela rotina.

 

mceclip0.png

 


Para melhor entendimento, segue o passo a passo de um bloqueio e desbloqueio da forma mais "convencional", que é o bloqueio por data informada:

 

Para efetuar o bloqueio de um produto por data informada:


    1. Acessar a rotina MATA271 e parametrizar Quanto ao Produto = Bloqueio;
    2. Escolher o(s) Armazém(ns) em que deseja inventariar;
    3. Escolher o(s) produto(s);
    4. As perguntas "Da Data" e "Até Data" devem ficar em branco;
    5. Data do inventário: selecionar 'Data Informada'
    6. Data informada: informar a data que deseja bloquear;
    7. Ao confirmar, o sistema apresentará a tela para selecionar os Armazéns que deseja bloquear, efetuar a seleção e clicar em OK;

 

Para efetuar o desbloqueio de um produto por data informada:


    1. Acessar a rotina MATA271 e parametrizar Quanto ao Produto = Desbloqueio;
    2. Escolher o(s) Armazém(ns) que deseja desbloquear;
    3. Escolher o(s) produto(s);
    4. As perguntas "Da Data" e "Até Data" devem ser preenchidas com o período que contemple a data do último inventário (B2_DINVENT);
    5. Data do inventário selecionar 'Data Informada'
    6. Data informada informar a data que deseja desbloquear;
    7. Ao confirmar, o sistema apresenta a tela para selecionar os Armazéns que deseja desbloquear, efetuar a seleção e clicar em OK;

Observação importante:

Caso tenha necessidade de efetuar um novo bloqueio após o processamento do inventário e o produto não seja exibido para bloqueio, revisar o campo B2_DINVENT qual a data que esta populado e nas perguntas "Da Data" e "Até Data" devem constar esse período para que o registro seja liberado para um novo bloqueio. Exemplo nos prints abaixo:

 

mceclip2.png

mceclip1.png

 


Atualizado em 29/08/2022
Este artigo foi útil?  
Agradecemos sua avaliação.