Á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