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
| Aviso |
|---|
|
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 |
| Dica |
|---|
| title | Tabelas (ALIAS) dos campos e criação de campos na rotina |
|---|
|
KCS: Cross-TOTVS Backoffice Segmentos (Linha Protheus)-SIGAFAT - Inclusão de Campos no Cabeçalho da rotina Controle de Reservas (MATA430)
É 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
| Deck of Cards |
|---|
| startHidden | false |
|---|
| effectDuration | 0.5 |
|---|
| id | 1 |
|---|
| effectType | horizontal |
|---|
| loopCards | true |
|---|
|
| Card |
|---|
| default | true |
|---|
| id | Manual |
|---|
| label | Depuração |
|---|
| | Deck of Cards |
|---|
| startHidden | false |
|---|
| effectDuration | 0.5 |
|---|
| id | 2 |
|---|
| effectType | horizontal |
|---|
| loopCards | true |
|---|
| | Card |
|---|
| default | true |
|---|
| id | ManualAutomática |
|---|
| label | Manual |
|---|
| KCS: Cross Segmentos - TOTVS Backoffice (Linha Protheus) - SIGAFAT (Faturamento) - Depuração manual do controle de reservas
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 |
|
| Card |
|---|
| default | true |
|---|
| id | Manual |
|---|
| label | Automática |
|---|
| KCS: Cross Segmentos - TOTVS Backoffice (Linha Protheus) - SIGAFAT (Faturamento) - Depuração automática do controle de reservas
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: - 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)
|
|
|
|
| Card |
|---|
| default | true |
|---|
| id | Manual |
|---|
| label | Zerar Saldo Remanescente (Restante) |
|---|
| KCS: Cross Segmentos - TOTVS Backoffice (Linha Protheus) - SIGAFAT (Faturamento) - Zerar saldo remanescente do controle de reservas
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).
|
| Card |
|---|
| default | true |
|---|
| id | ManualEliminação de Resíduos |
|---|
| label | Eliminação de Resíduos |
|---|
| KCS: Cross Segmentos - TOTVS Backoffice (Linha Protheus) - SIGAFAT (Faturamento) - Eliminar resíduos do controle de reservas
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
| Deck of Cards |
|---|
| startHidden | false |
|---|
| effectDuration | 0.5 |
|---|
| id | Vincular RA / Desvincular RA |
|---|
| effectType | horizontal |
|---|
| loopCards | true |
|---|
|
| Card |
|---|
| default | true |
|---|
| id | Premissas |
|---|
| label | Premissas |
|---|
| 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);
| Dica |
|---|
|
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.
|
| Dica |
|---|
| 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). |
| Dica |
|---|
| title | 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.
|
| Dica |
|---|
| 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. |
|
| Card |
|---|
| default | true |
|---|
| id | Manual |
|---|
| label | Manualmente |
|---|
| 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.
|
| Card |
|---|
| default | true |
|---|
| id | Automaticamente |
|---|
| label | Automaticamente |
|---|
| 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_PRODUTO = 0000000001
C6_RESERVA = 000002 C6_QTDVEN = 5
C0_NUM = 000002 C0_DOCRES = 0000002 C0_PRODUTO = 0000000001 C0_NUMLOTE = 000001 C0_LOTECTL = 0000000001
C0_QUANT = 0 C0_QTDORIG = 5 C0_QTDPED = 5 | C6_NUM = 000002 C6_RPODUTO = 0000000001
C6_RESERVA = 000002 C6_QTDVEN = 3 → Valor alterado pelo usuário
C0_NUM = 000002 C0_DOCRES = 0000002 C0_PRODUTO = 0000000001 C0_NUMLOTE = 000001 C0_LOTECTL = 0000000001
C0_QUANT = 2 → Quantidade de itens restantes C0_QTDORIG = 5 → Nunca altera C0_QTDPED = 3 → Subtraiu 2 itens | C6_NUM = 000002 C6_RPODUTO = 0000000001
C6_RESERVA = 000002 C6_QTDVEN = 6 → Quantidade original 5
C0_NUM = 000002 C0_DOCRES = 0000002 C0_PRODUTO = 0000000001 C0_NUMLOTE = 000001 C0_LOTECTL = 0000000001
C0_QUANT = 0 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.) |
| Dica |
|---|
|
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
| Deck of Cards |
|---|
| startHidden | false |
|---|
| effectDuration | 0.5 |
|---|
| id | Vincular RA / Desvincular RA |
|---|
| effectType | horizontal |
|---|
| loopCards | true |
|---|
|
| Card |
|---|
| default | true |
|---|
| id | Caminho |
|---|
| label | Caminho |
|---|
| Ambiente Faturamento (SIGAFAT) [05] → Menu → Atualizações → Pedidos → Controle de Reservas [MATA430]
|
| Card |
|---|
| default | true |
|---|
| id | CamposCampos do Cabeçalho e Itens (SC0) |
|---|
| label | Campos do Cabeçalho e dos Itens (SC0) |
|---|
| - 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.
|
| Card |
|---|
| default | true |
|---|
| id | Tabelas |
|---|
| label | Tabelas |
|---|
| Tabelas do Controle de Reservas (no Faturamento - SIGAFAT):
Principais tabelas envolvidas diretamente em movimentações em detrimento do Controle de Reserva:
|
| Card |
|---|
| default | true |
|---|
| id | TabelasFontes |
|---|
| label | Fontes |
|---|
|
|
|
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
| Deck of Cards |
|---|
| startHidden | false |
|---|
| effectDuration | 0.5 |
|---|
| id | Vincular RA / Desvincular RA |
|---|
| effectType | horizontal |
|---|
| loopCards | true |
|---|
|
|
ExecAuto()
KCS: Cross Segmentos - TOTVS Backoffice (Linha Protheus) - Faturamento (SIGAFAT) - Utilização do Controle de Reservas via 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