Conceito da rotina Controle de Reservas
A rotina Controle de Reservas está presente no módulo de Faturamento, localizada no Menu > Atualizações > Pedidos > Controle de Reservas.
Sua funcionalidade é garantir a reserva do produto para uma determinada venda.
Geralmente, este recurso é utilizado para garantir a disponibilidade de estoque de determinado item, antes da colocação dos pedidos de venda. Ao incluir uma reserva, a quantidade solicitada é empenhada nas tabelas de saldo de estoque, impedindo que o saldo seja consumido por outros processos que poderia dar baixa ou reservar quantidades no estoque (pedidos, reservas, produções, movimentos internos entre outros).
Importante: não é possível gerar reserva para Produto que não possui saldo em estoque.
1. Cadastro e campos da rotina
Antes de incluir o controle de reservas, é importante avaliar as seguintes configurações:
• Parâmetro MV_RESEST = indica se o estoque deve ser reservado para clientes que possuem bloqueio de credito (parâmetro opcional, apenas para realizar reserva nos casos em que há bloqueio de crédito);
Obs: Para Pedidos de Venda gerados como parâmetro ativo, ao ser realizada a Liberação do Pedido de Venda (MATA440) é criado um registro na tabela SC9 com BLCRED = 1, e o sistema gera uma Controle de Reserva na tabela SC0 para que o item fique reservado para o cliente mesmo ele estando com o crédito bloqueado.
Após a Liberação do Crédito cliente não possui mais o bloqueio e nesse momento o registro na tabela SC0 é deletado e a reserva fica somente na tabela SB2 campo B2_RESERVA e caso possua saldo de lote na tabela SB8 campo B8_EMPENHO.
Obs.: Quando o parâmetro MV_RESEST está ativo, para que a reserva de estoque seja estornada ao estornar a liberação do pedido, configure o parâmetro MV_DELRES como .T.
• Avaliar se o campo Num. Reserva (C6_RESERVA) não está disponível para preenchimento ou visualização.
Pode ser que o mesmo esteja desabilitado para uso no sistema. Neste caso, deve habilitá-lo manualmente(Abas: Uso e Módulos) utilizando a ferramenta “Configurador”.
1.1. Inclusão da reserva
Menu > Atualizações > Pedidos > Controle de Reservas.
Para efetuar a inclusão de uma reserva, vá na janela de manutenção de Controle de Reservas:
1° Passo: Selecione a opção “Incluir” e o sistema apresentará a janela de inclusão;
Campos Obrigatórios:
• C0_NUM – Número da reserva: Este campo controla a numeração de forma automática;
• C0_TIPO – Tipo da reserva: Este é um campo informativo que revela o tipo da reserva, podendo ser: LB = Liberação, VD = Vendedor, CL = Cliente, PD = Pedido, NF = Nota fiscal, LJ = Sigaloja;
• C0_DOCRES – Número que originou a reserva;
Exemplo: caso utilize o tipo da reserva como vendedor, deve mencionar qual vendedor realizou a reserva.
• C0_PRODUTO – Produto: Código do produto a ser reservado;
• C0_LOCAL – Armazém: Código do armazém em que será efetuada a reserva;
• C0_QUANT – Quantidade: Quantidade a ser reservada no momento da inclusão ou saldo remanescente.
Observação: Ao Pressionar a tecla F4 no campo C0_QUANT, o sistema mostra o saldo em estoque e se este produto já possui controle de reserva.
Demais campos:
• C0_LOTECTL – Lote: Caso o produto tenha controle de lote;
• C0_VALIDA – Validade: data de validade da reserva. Esse campo é utilizado na rotina de depuração de reservas, para identificar as reservas já vencidas. O preenchimento deve ser de acordo com o parâmetro MV_PZRESER mencionado abaixo;
• C0_SOLICIT – Usuário que solicitou a reserva (campo de preenchimento automático);
• C0_QTDORIG – Quantidade original da reserva. O sistema faz a comparação com os campos C9_QTDLIB (quantidade liberada) + C6_QTDRESE (quantidade reservada do pedido de vendas);
• C0_QTDELIM – Quantidade Eliminada. Indica qual o saldo da reserva eliminado pela opção "zera saldo remanescente";
• C0_QTDPED – Quantidade em Pedido. Quantidade de produto informada no pedido de venda.
2° Passo: Após a inclusão, o sistema deve reservar/empenhar o produto e sua quantidade no campo B2_RESERVA.
O campo B2_RESERVA pode ser preenchido automaticamente nos casos abaixo:
A) Quando a soma de quantidades em Pedidos de Venda já liberadas por estoque, que ainda não foram faturados;
Observação: os itens/ pedidos ainda não liberados por estoque acumulam no campo “Quantidade Pedido de Vendas” (B2_QPEDVEN) não geram reserva.
Os pedidos de venda ainda não faturados por completo, possuem o campo “Numero da Nota Fiscal” (C5_NOTA) em branco;
Itens já Liberadas por Estoque possuem o campo “Bloqueio de Estoque” (C9_BLEST) em branco.
B) Quando uma reserva é incluída diretamente pela rotina MATA430 na tabela SC0.
Reservas automáticas são criadas na SC0 quando o parâmetro MV_RESAUT está habilitado (Produtos com controle de Lote).
Se posteriormente desejar desfazer a reserva, (para que não acumule no B2_RESERVA) será necessário excluir a reserva existente na MATA430.
C) A reserva de estoque só será criada automaticamente para clientes com bloqueio de crédito, quando o parâmetro MV_RESEST for preenchido como T.
Observação: O saldo campo B8_EMPENHO (Saldos por Lote) será estornado somente quando o produto não possuir mais nenhuma reserva (SC0).
3° Passo: Para vincular a reserva a um pedido de venda, inclua o pedido através da rotina MATA410 e associe a reserva através do campo C6_RESERVA.
4° Passo: Podemos acompanhar toda reserva do produto através do seguinte relatório:
Situação Atual (MATR290), localizado no Módulo de Estoque: Atualizações > Relatório > Saldos > Situação Atual, avalie o saldo correspondente ao empenho realizado através do Controle de Reservas.
1.2. Depurar
Atualizações > Pedidos > Controle Reservas > Outras Ações > Depurar.
Essa opção tem a função de excluir as reservas com prazo de validade vencido. Apenas as reservas cujo saldo esteja igual à quantidade original, ou seja, não tenham sido utilizadas, poderão ser depuradas.
Caso a reserva esteja vencida, mas vinculada a um pedido de venda, não é possível depurar a reserva.
Observação: A depuração trabalha em conjunto com o parâmetro MV_PZRESER - Prazo padrão de validade das reservas (em dias), Utilizado no campo C0_VALIDA.
1.2.1. Depuração Automática
A depuração automática funciona com o parâmetro MV_RESERVA = T (Depura reserva automaticamente na entrada do módulo que utiliza o arquivo controle de reservas).
Quando a reserva passou da validade estipulada no MV_PZRESER e não está vinculada a nenhum pedido de venda, ao logar no Modulo Faturamento, o processo de depuração ocorrerá automaticamente, excluindo todos as reservas vencidas e atualizando o B2_RESERVA.
Para acompanhar a última atualização automática da reserva, consulte o parâmetro MV_ULRESER.
Parâmetros utilizados na opção depurar:
| Parâmetro | Função |
|---|
| MV_PZRESER | Prazo padrão de validade das reservas (em dias) – Utilizado no campo C0_VALIDA. (Preenchido a partir da Data Base (Campo C0_EMISSAO não editável) + [MV_PZRESER] = C0_VALIDA). |
| MV_RESERVA | Depura reserva automaticamente na entrada do modulo que utiliza o arquivo |
| MV_ULRESER | Data da última atualização automática de reservas |
| MV_DELRES | Este parâmetro permite que a reserva seja excluída de um Pedido de Venda automaticamente, ao estornar a liberação do Pedido.. T - Na exclusão do Pedido de Vendas o Sistema excluirá a reserva. Na alteração do pedido de Vendas o Sistema limpará o campo Num.Reserva e excluirá a reserva. F - Na exclusão do Pedido de Vendas o Sistema não excluirá a reserva, apenas alterará o status para não baixada. Na alteração do Pedido de Vendas o Sistema manterá a reserva no pedido. Observações: - Esse comportamento não se aplica quando o parâmetro MV_RESAUT estiver ativo.
- O estorno deverá ser feito através da rotina de Prep. Documento de Saída (MATA460A), através da opção "Estor. Docs.". (.T. - Exclui / .F. - Não exclui, apenas deixa a reserva como não baixada)
|
1.3. Zerar Saldo Remanescente
Atualizações > Pedidos > Controle Reservas > Alterar > Outras ações > Zerar Saldo Remanescente.
Essa opção é exibida na alteração do Controle de Reservas e permite estornar o saldo remanescente de reservas parcialmente utilizadas, que não podem ter o valor alterado pelo botão “alterar” convencional, e não podem mais ser depuradas.
Ao clicar no botão e confirmar, a quantidade remanescente é liberada nas tabelas de controles de saldo / reserva do sistema, e o saldo baixado é gravado no campo C0_QTDELIM.
Exemplo: Inclua um pedido de venda mencionando a quantidade 2, vinculando uma reserva com quantidade 3. Como será utilizado apenas 2 unidades, execute a função “Zera Saldo Remanescente” para que seja estornado a quantidade que não será utilizada.
A reserva fica com a legenda em azul e acrescenta a quantidade zerada no campo C0_QTDELIM (quantidade eliminada).
1.4. Eliminação de Resíduos
Atualizações > Pedidos > Controle Reservas > Outras Ações > Eliminar Resíduos
Esta opção é utilizada quando ocorre também a eliminação de resíduos no pedido de venda.
Quando o pedido de venda é faturado parcialmente a nota fiscal é emitida com referência à apenas alguns produtos ou quantidade parcial.
Exemplo: Inclua uma reserva com 3 produtos e vincule ao pedido, faturando apenas 2 produtos, ficando uma unidade do produto como resíduo.
Neste caso, elimine o resíduo do Pedido de Venda e da rotina Controle de Reservas.
A reserva ficará com a legenda em azul, descrita como eliminação de resíduos e será gravado no campo C0_QTDELIM a quantidade do resíduo eliminado.
2. Controle de Reserva Automática
Reserva automática é utilizada apenas quando tem rastreabilidade.
Para efetuar a inclusão de uma reserva automática, o produto deve ter rastreabilidade e o parâmetro MV_RESAUT precisa estar habilitado ( T ) .
Para inclusão, acesse a rotina Pedido de Venda:
• Selecione a opção “Incluir”;
• Preencha os dados conforme orientação do help do campo;
• Inclua o produto e informe o lote que deseja utilizar;
• Confira os dados e confirme.
Neste momento, após a inclusão com sucesso de um pedido de vendas, o sistema irá alimentar a tabela SC0.
Observações:
A. Caso precise aumentar a quantidade no Pedido de Venda, o sistema atualizará a tabela SC6 e não atualizará a tabela SC0.
B. O sistema permite reduzir a quantidade do Pedido de Venda, caso necessário, porém a quantidade reduzida será informada no campo C0_QUANT.
| Exemplo Inclusão: | Exemplo de alteração para diminuir 2 itens na quantidade do pedido de vendas: | Exemplo alteração para aumentar 2 itens na quantidade do pedido de vendas, mais que a quantidade reservada inicial: |
|---|
C6_NUM = 000001 C6_RPODUTO = 0000000001 C6_QTDVEN = 5 C6_RESERVA = 000002 C0_NUM = 000002 C0_DOCRES = 0000001 C0_PRODUTO = 0000000001 C0_QUANT = 0 C0_NUMLOTE = 000001 C0_LOTECTL = 0000000001 C0_QTDORIG = 5 C0_QTDPED = 5 | C6_NUM = 000001 C6_RPODUTO = 0000000001 C6_QTDVEN = 3 → Valor alterado pelo usuário C6_RESERVA = 000002 C0_NUM = 000002 C0_DOCRES = 0000001 C0_PRODUTO = 0000000001 C0_QUANT = 2 → Quantidade de itens restantes C0_NUMLOTE = 000001 C0_LOTECTL = 0000000001 C0_QTDORIG = 5 → Nunca altera C0_QTDPED = 3 → Subtraiu 2 itens | C6_NUM = 000001 C6_RPODUTO = 0000000001 C6_QTDVEN = 6 → Quantidade original 5 C6_RESERVA = 000002 C0_NUM = 000002 C0_DOCRES = 0000001 C0_PRODUTO = 0000000001 C0_QUANT = 0 C0_NUMLOTE = 000001 C0_LOTECTL = 0000000001 C0_QTDORIG = 5 → Nunca altera C0_QTDPED = 5 → Não altera |
Parâmetros utilizados na Reserva automática:
| Parâmetro | Função |
|---|
| MV_RESAUT | Indica se após a inclusão de um item de pedido de venda com lote (rastreabilidade), deve-se efetuar a automaticamente sua reserva de estoque. |
| MV_DELRES2 | Indica se as reservas incluídas por meio do parâmetro MV_RESAUT podem ser excluídas manualmente, após o estorno da liberação do pedido de venda. |
| MV_TIPRES | Indica se bloqueia a geração da reserva caso a quantidade em estoque não seja suficiente (.T.) ou gera a reserva com a quantidade disponível (.F.) |
3. Informações Técnicas:
3.1 Tabelas utilizada na rotina Controle de Reservas.
• SC0 - Reservas para Faturamento
• SB2 - Saldos Físico e Financeiro
• SB1 - Descrição Genérica do Produto
• SB8 - Saldo por lote
• SC6 - Itens pedido de venda.
• SBF - Saldos por Endereço
3.2 Principais pontos de entrada:
• M430LIOK : Faz a validação da linha, na rotina Controle de Reserva.
(https://tdn.totvs.com/pages/viewpage.action?pageId=61210674)
• M430TOK: Validação de inclusão ou alteração de reservas (https://tdn.totvs.com/pages/releaseview.action?pageId=6784512)
• MT430VLD: Validar tipo de reserva (https://tdn.totvs.com/display/public/PROT/MT430VLD+-+Validar+tipo+de+reserva)
• MA430BUT: Adicionar botões no controle de reservas
(https://tdn.totvs.com/pages/releaseview.action?pageId=6784282)
• M430DOK: Exclusão da linha do Controle de Reservas (https://tdn.totvs.com/pages/viewpage.action?pageId=65208919)
• MT430ELIM: Eliminação de resíduo da reserva
(https://tdn.totvs.com/pages/releaseview.action?pageId=6784584)
• M430FIL: Criação de filtro
(https://tdn.totvs.com/pages/releaseview.action?pageId=6784163)
3.3 Fontes envolvidos na rotina controle de reserva:
• MATA430 – Controle de reserva.
• FATXFUN – Fonte interno
3.4 Outros Parâmetros
| Parâmetro | Funcionalidade | Origem |
|---|
| MV_LJPVLIB | Forma de geração do Pedido de Venda. 1=Gera pedido Liberado; 2=Gera pedido não liberado. (Valor Default do parâmetro é "1". Quando o parâmetro estiver configurado como “2”, o Pedido de Venda não será gerado liberado e o registro de reserva da tabela SC0 não será excluído.) Módulo Venda Direta | Mais informações: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360045942353 |
3.5 Rotina Automática
A rotina está preparada para trabalhar por rotina automática/ExecAuto:
A chamada é realizada através da função A430Reserv() e passando os parâmetros conforme documentação TDN abaixo:
http://tdn.totvs.com/display/public/PROT/A430Reserv
É possível visualizar que a rotina possui o Cabeçalho e as linhas de Itens, porém possui apenas uma tabela (SC0). Caso necessite inserir campos de usuário, eles serão sempre inseridos nas linhas de itens, pois os campos de cabeçalho estão pré-definidos no código fonte. Caso necessite inserir campos de usuário no Cabeçalho da Reserva, será necessário utilizar um ponto de entrada, a rotina está em MVC possibilitando o uso dos pontos de entrada em MVC: https://tdn.totvs.com/x/cBtrD Caso necessite de auxílio na configuração dos pontos de entrada em MVC, entre em contato com a área de Suporte ADVPL da TOTVS. |