Controle de Reservas MATA430 (Tabela SC0)
Produto: | Microsiga Protheus® |
Versões: | SIGAFAT - Faturamento |
Ocorrência: | Utilização da Rotina Controle de Reservas (MATA430) |
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
Não é possível gerar reserva para Produto que não possui saldo em estoque.
|
É 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
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.. 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)
|
|
|
|
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).
|
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.
|
|
Como usar o 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.
|
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. Visualizavel 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. Visualizavel 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_PRODUTO = 0000000001 C6_QTDVEN = 5 C6_RESERVA = 000002
C0_NUM = 000002 C0_DOCRES = 0000002 C0_PRODUTO = 0000000001 C0_QUANT = 0 C0_NUMLOTE = 000001 C0_LOTECTL = 0000000001 C0_QTDORIG = 5 C0_QTDPED = 5
| C6_NUM = 000002 C6_RPODUTO = 0000000001 C6_QTDVEN = 3 → Valor alterado pelo usuário C6_RESERVA = 000002
C0_NUM = 000002 C0_DOCRES = 0000002 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 = 000002 C6_RPODUTO = 0000000001 C6_QTDVEN = 6 → Quantidade original 5 C6_RESERVA = 000002
C0_NUM = 000002 C0_DOCRES = 0000002 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.) |
Após gerar a NF, a quantidade da reserva é subtraída dos campos C0_QUANT e B2_RESERVA .
|
|
Caminho, Campos e Tabelas
Ambiente Faturamento (SIGAFAT) [05] → Menu → Atualizações → Pedidos → Controle de Reservas [MATA430]
|
Grava a filial posicionada que você está inserido ao cadastrar a condição de pagamento.
|
|
Campos da SEC (Usados apenas se E4_TIPO = B)
Grava a filial posicionada que você está inserido ao cadastrar a condição de pagamento.
|
|
Tabelas do Controle de Reservas (no Faturamento - SIGAFAT):
Principais tabelas envolvidas diretamente em movimentações em detrimento do Controle de Reserva:
|
|
Perguntas mais usuais (F.A.Q.)
HELPS
Parâmetros
| 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.) |
| 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)
|
| 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
|
Pontos de Entrada
ExecAuto()
ExecAuto() da Rotina Controle de Reserva (MATA430)
Sugestões
Gostaria de sugerir uma implementação diferente ou uma melhoria nessa documentação? Abra um ticket para nós, a Equipe 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
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.
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 SubLote.
Motivo: O sistema, ao reservar o saldo para atender o item, pode utilizar mais de um lote, sublote e/ou endereço.