Árvore de páginas

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


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

      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



      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)










      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).



      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

        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ÇÃO 1 (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).

        OBSERVAÇÃO 2: 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

        OBSERVAÇÃO 3: 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.


        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_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.)  

        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


          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