Controle de Reservas
Produto: | Protheus® |
Versões: | SIGAFAT - Faturamento |
Ocorrência: | Utilização da Rotina Controle de Reservas |
Ambiente: | Todos |
Índice
Conceito
Sua funcionalidade é garantir a reserva do produto para uma determinada venda, que terá obrigatoriamente tem de ser concluida posteriormente, fazendo-se necessário a reserva sem necessariamente liberar o pedido de 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).
Considerações
Importante
Não é possível gerar reserva para um produto que não possua saldo em estoque, no momento que é informada a quantidade reservada. A rotina sempre irá considerar a mesma quantidade do saldo que é demonstrado na consulta <F4> do campo de quantidade (C0_QUANT).
A rotina irá permitir que utilize o saldo disponível do mesmo produto várias vezes (ficando com o saldo disponível negativo), quando for utilizado a configuração dos parâmetros MV_TPSALDO = S e MV_SLDRESE = N. Nesta configuração o parâmetro MV_SLDRESE irá determinar se deverá ou não subtrair a quantidade reservada (B2_RESERVA) do saldo em estoque, lembrando também que as quantidades empenhadas (B2_QEMP) sempre serão subtraídas deste saldo, quando for utilizado o parâmetro MV_TPSALDO = S.
Para maiores detalhes sobre os parâmetros, acesse o link: Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - Utilização do parâmetro MV_TPSALDO
Tabelas (ALIAS) dos campos e criação de campos na rotina
É possível visualizar que a rotina Controle de Reservas (MATA430) 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.
Para inserir campos de usuário no cabeçalho da Reserva, será necessário utilizar um ponto de entrada, como a rotina está em MVC é possível o uso dos pontos de entrada em MVC: https://tdn.totvs.com/x/cBtrD
Caso necessite de auxílio na configuração dos ntos de entrada em MVC, entre em contato com a área de Suporte ADVPL da TOTVS.
Funcionalidades
Caminho: 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.
Parâmetros utilizados na opção depurar (Manual):
Parâmetro | Função |
---|---|
MV_PZRESER | Prazo padrão de validade das reservas (em dias), utilizado no campo C0_VALIDA |
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 (Automática):
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.. Parâmetro como ".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" (C6_RESERVA), excluirá a reserva e criará uma nova. Parâmetro como ".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:
|
Caminho: 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).
Caminho: Atualizações > Pedidos > Controle de 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.
Como usar o controle de reservas
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);
OBSERVE:
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 o campo "Bloq. Cred" (C9_BLCRED) preenchido, 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.
OBSERVE:
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.
Com o parâmetro "MV_DELRES = .T.", após a Liberação do Crédito cliente não possui mais o bloqueio (C9_BLCRED fica vazio) e nesse momento o registro na tabela SC0 é deletado e é criado uma nova reserva (o saldo fica na tabela SB2, no campo B2_RESERVA e caso possua saldo de lote na tabela SB8, no campo B8_EMPENHO).
Observações da Reserva nos Pedidos de Venda
- (Para produtos com endereço): Após o sistema gerar a reserva automática na inclusão do Pedido de Vendas, o endereço fica gravado somente na SC0, no campo C0_LOCALIZ (tabela do controle de reservas).
- A reserva fica amarrada ao Pedido pelos campos C0_DOCRES e C6_NUM e a confirmação que a quantidade está no Pedido está na quantidade do campo C0_QTDPED
- No SC6 vai ficar gravado o código da Reserva (C6_RESERVA que faz amarração com o C0_NUM) e não vai mais preencher os campos de Endereço, Lote e Sub-Lote na reserva pois o sistema, ao reservar o saldo para atender o item, pode utilizar mais de um lote, sub-lote e/ou endereço.
- Ao preparar o documento de saída, se o pedido de venda for totalmente consumido, o campo C6_RESERVA será limpo e o número da reserva será inserido no campo C9_RESERVA. Se o pedido de venda for parcialmente consumido, o número da reserva permanecerá no campo C6_RESERVA e também será inserido no campo C9_RESERVA, até que o pedido de venda seja totalmente consumido.
OBSERVE:
Exclusão de notas que consumiram uma reserva (Pedido de Vendas relacionado a reserva antes de faturar)
Na rotina Exclusão de Documentos de Saída (MATA521), ao acessar os parâmetros (F12), há o pergunte "Retornar Ped. Venda". Ao selecionar a opção "Carteira" (indicando que deve ser excluída a liberação da SC9), o sistema gera uma nova reserva (SC0) e relaciona automaticamente essa reserva ao Pedido de Venda (C6_RESERVA) de modo que retorne à condição anterior ao faturamento, ou seja, recria a reserva afim de manter o saldo destinado para esse pedido.
1° Passo: Selecione a opção “Incluir” e o sistema apresentará a janela de inclusão;
Preencher os campos obrigatórios vazios:
- 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 estágio do pedido de venda com a reserva, podendo ser: LB = Liberado, VD = Vendedor incluiu, CL = Cliente incluiu, PD = Pedido (vinculou a algum pedido de venda), NF = Nota fiscal, LJ = SIGALOJA (Equipe Protheus Automação Comercial);
- 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.
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.
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.
Reserva automática é utilizada apenas quando o produto tem rastreabilidade diferente de não controla (B1_RASTRO).
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 ) .
OBS: A reserva só é criada se houver lote preenchido e com a quantidade dentro do lote que comporte a quantidade do pedido de vendas.
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.
Visualizável no exemplo 1
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.
Visualizável no exemplo 2
(1) Exemplo: | (2) Mesmo exemplo porém há a alteração para diminuir 2 itens na quantidade do pedido de vendas | (3) Mesmo exemplo porém há alteração para aumentar 2 itens na quantidade do pedido de vendas, mais que a quantidade reservada inicial: |
---|---|---|
C6_NUM = 000002 C6_QTDVEN = 5
C0_QUANT = 0 |
C6_NUM = 000002 C6_QTDVEN = 3 → Valor alterado pelo usuário
C0_QUANT = 2 → Quantidade de itens restantes |
C6_NUM = 000002 C6_QTDVEN = 6 → Quantidade original 5
C0_QUANT = 0 |
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.) |
OBSERVE:
Após a emissão da nota fiscal, a quantidade da reserva é subtraída dos campos de reserva, como por exemplo o campo B2_RESERVA.
Caminho, Campos, Tabelas e Fontes
Ambiente Faturamento (SIGAFAT) [05] → Menu → Atualizações → Pedidos → Controle de Reservas [MATA430]
- C0_NUM – Número da reserva: Este campo controla a numeração de forma automática; (Obrigatório)
- 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 (Equipe Protheus Automação Comercial); (Obrigatório)
- C0_DOCRES – Número que originou a reserva; (Obrigatório)
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 (Obrigatório)
- C0_LOCAL – Armazém: Código do armazém em que será efetuada a reserva (Obrigatório)
- C0_QUANT – Quantidade: Quantidade a ser reservada no momento da inclusão ou saldo remanescente (Obrigatório)
- 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.
Tabelas do Controle de Reservas (no Faturamento - SIGAFAT):
SC0 - Reservas para Faturamento
Principais tabelas envolvidas diretamente em movimentações em detrimento do Controle de Reserva:
- SB1 - Descrição genérica do Produto
SB2 - Saldos Físico e Financeiro
SB8 - Saldo por lote
- SBF - Saldo por Endereço
SC6 - Itens do pedido de venda
MATA430 – Controle de reserva
FATXFUN – Fonte interno
Perguntas mais usuais (F.A.Q.)
HELPS
Parâmetros
MV_RESAUT (Interage com [inclusão, depuração])
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 (Interage com controle de reservas [exclusão])
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.
Parâmetro MV_DELRES2
MV_TIPRES (Interage com controle de reservas [inclusão])
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.)
MV_RESEST (Interage com controle de reservas [inclusão])
Cross Segmentos - TOTVS Backoffice (Linha Protheus) - Faturamento (SIGAFAT) - Utilização da Rotina Controle de Reservas (MATA430)
MV_PZRESER (Interage com controle de reservas [inclusão, depuração, eliminação de resíduos])
Prazo padrão de validade das reservas em dias (C0_VALIDA). (Preenchido a partir da Data Base (Campo C0_EMISSAO não editável) + [MV_PZRESER] = C0_VALIDA).
MV_RESERVA (Interage com depuração)
Depura reserva automaticamente na entrada do modulo que utiliza o arquivo
Ao tentar acessar os módulos de faturamento ou compras, o sistema exibe a uma janela com as mensagens: Depuração de Reservas / Depurando Reservas
MV_ULRESER (Interage com depuração)
Data da última depuração automática de reservas
Cross Segmentos - TOTVS Backoffice (Linha Protheus) - SIGAFAT (Faturamento) - Depuração automática do controle de reservas
MV_DELRES (Interage com controle de reservas [exclusão, amarração, inclusão de uma nova reserva no lugar])
Este parâmetro permite que a reserva seja excluída de um Pedido de Venda automaticamente, ao estornar a liberação do Pedido.
Parâmetro MV_DELRES
MV_LJPVLIB
Forma de geração do Pedido de Venda.
Para exemplos técnicos práticos de utilização, contate a equipe especialista do Protheus Automação Comercial (SIGALOJA).
Pontos de Entrada
- MT430ELIM - Eliminação de resíduo da reserva
- MT430ELV - Eliminação de resíduo da reserva
- MT430VLD - Validar tipo de reserva
- M430COR - Ponto de entrada para a atualização da Legenda no Browse, na rotina de Controle de Reservas.
- M430DOK - Exclusão da linha do Controle de Reservas
- M430FIL - Criação de filtro
- M430LEG - Permite a criação de nova(s) legenda(s) na rotina de Controle de Reservas.
- M430LIOK - Validação de Linha do Controle de Reservas
- M430TOK - Validação de inclusão ou alteração de reservas
- MA430BUT - Adicionar botões no controle de reservas
- MA430MNU
- MA430PEX
- MSC0430A
ExecAuto()
TDN: ExecAuto() da Rotina Controle de Reserva (MATA430)
Sugestões
Gostaria de sugerir uma implementação diferente de layout ou organização dessa documentação? Abra um ticket para nós indicando sua sugestão e o link da documentação, na Equipe Protheus Faturamento (SIGAFAT)!
Assuntos e materiais relacionados:
FAT0048_Reserva_de_Estoque_B2_RESERVA_posterior_à_liberação_do_Pedido
FAT0119_Controle_de_reservas_via_rotina_ automática
FAT0060_Reserva_de_produto_no_orçamento_do_Faturamento
FAT0266 Comportamento parâmetros MV_DELRES e MV_DELRES2
FAT0249 Help Uniqueline - Linha Duplicada no controle de Reservas