Árvore de páginas

Ajuste do Controle de Numeração Automática para Documento de Saída

Produto:

Microsiga Protheus

Ambiente: Faturamento (SIGAFAT)

Ocorrência:

Ajuste do Controle de Numeração automática do Documento de Saída no Protheus


Neste documento você verá:


Veja qual o conteúdo do seu parâmetro "MV_TPNRNFS" e siga o passo a passo abaixo correspondente para ajustar:

  • MV_TPNRNFS = 1 : Controle via Tabela Genérica SX5 - Tabela 01
    Essa opção é a mais antiga do Protheus. Ela se baseia unicamente na tabela de séries das notas (SX5). Caso possua grande volume de faturamento, recomenda-se a utilização da opção 3 - SD9 (Detalhes abaixo) para otimizar o lock de registro por concorrência.


Controle de numeração via Tabela Genérica SX5 - Tabela 01 de Séries (MV_TPNRNFS = 1)

Essa opção é a mais antiga do Protheus. Ela se baseia unicamente na SX5 - Tabela de séries do Protheus para incrementar a numeração.

O controle de numeração via SX5 realiza lock (trava de segurança) na Tabela SX5 de séries e no parâmetro MV_NUMITEN para reservar a numeração. Caso possua grande volume de Faturamento, recomenda-se a utilização da opção 3 - SD9 para evitar lock de registro por concorrência.


Premissas para correto funcionamento do controle de numeração:

  • Ao utilizar a SX5 para o controle de numeração, se houver necessidade de utilizar numeração exclusiva por Filial (cada Filial possui sua sequencia individual) é necessário trabalhar também com séries exclusivas. Adeque o ambiente de acordo com o item "Exclusividade de Séries" abordado acima.


Ajuste para sugerir a numeração correta:

  • Verifique o último/maior número de Nota gravada na SF2 (nota "000009" por exemplo) a partir do qual deseja dar sequência. Atente-se à numeração de acordo com a Filial F2_FILIAL
  • Acesse o Configurador > Tabelas Genéricas
  • Localize a X5_TABELA = 01 e na X5_CHAVE localize a SERIE utilizada para gerar a Nota (nesse exemplo, Serie 1): X5_TABELA = 01 e X5_CHAVE 1
  • Nessa mesma linha, no campo X5_DESCRI preencher com um número maior que a última nota gerada. Ex: X5_DESCRI "000010"
  • Assim o sistema irá recomeçar a numeração a partir da "000010".


Exclusividade de Séries por Filial

Independente se o controle de sequência automática da numeração é via SX5 , LS ou SD9, o controle de Séries do Protheus sempre será via SX5.

Se a SX5 e seus registros forem compartilhados, então as séries estarão disponíveis para todas as Filiais (Obs: no caso de controlar a sequencia de numeração também via SX5, a numeração será igualmente compartilhada - haverá uma mesma sequência de numeração, à qual será utilizada por todas as Filiais).


Se o Faturamento é exclusivo (ou seja, registros na SF2 possuam o campo de Filial preenchido) então, é natural que a organização opte por séries exclusivas. Ou seja, cada Filial possui sua série e, consequentemente, uma sequência de numeração individual.

Para trabalhar com séries exclusivas é necessário atentar-se às Premissas:

  • Cada Filial deverá possuir um MV_NUMITEN exclusivo.
  • Modo de Compartilhamento da Tabela 01 da SX5 (SX5 compartilhada com Tabela 01 exclusiva):
    Estando a SX5 compartilhada, utilizar o Ponto de Entrada CHGX5FIL para passar o código da Filial logada para a SX5 a fim de localizar o registro exclusivo da Tabela 01 (veja qui Exemplo de uso com o Ponto). Deste modo a Tabela 01 será tratada como "exclusiva" apesar de a SX5 ser compartilhada.

Obs. Na criação de novas Séries dentro do sistema verifique-se já utiliza o ponto de entrada CHGX5FIL, caso sim, é necessário também colocar essa nova série dentro do Ponto de Entrada e recopilar o ponto em seu repositório.


IMPORTANTE: Na V12 (LIB versão 20181015 ou superior) o sistema bloqueia alteração de modo de compartilhamento da Tabela após já possuir dados (detalhes em Compartilhamento de tabelas bloqueado em tabelas já alimentadas) não sendo assim uma opção alterar o compartilhamento da SX5. Neste caso recomendamos o uso do P.E conforme exemplo exposto.



Questões Gerais

  • Sobre exclusividade de série POR TIPO /ESPÉCIE DE DOC.: O tipo de Documento a ser gerado, NFE / NDFe / etc, não determina exclusividade de série. Ou seja, se a série está devidamente criada e disponível para a Filial (conforme seu compartilhamento/exclusividade) então, ela irá aparecer na preparação da Nota independente do Tipo de Documento / Espécie que deseja gerar. Caso seja imprescindível filtrar as séries a demonstrar, recomenda-se a avaliação de ponto de entrada na relação abaixo (ao final desta FAQ).


  • Sobre processamento serializado: A recuperação do número da Nota no processo de emissão é serializado devido à reserva da numeração e série.  Por isso que ter  mais de um usuário, gravando a numeração em paralelo, sem utilizar a reserva de numeração para a primeira instância que chamou a sequência, causaria conflitos (inclusive, chave duplicada e inconsistência de integridade de dados no banco). Por isto, ao abrir a janela de seleção de série / numeração o processo da segunda instância ficará pausado até que o primeiro libere a numeração (ou se encerre automaticamente após 20 segundos).
    o processo de gravação de dados da nota, bem como geração de integrações Financeiro e Estoque, é multiusuário. Ou seja, se logo que um primeiro processo chamar a numeração e liberar, e na mesma sequência o segundo processo chamar e liberar a numeração, ambos os processos estarão gravando simultaneamente os registros gerados pelo processamento.


  • Sobre Nota Fiscal de Saída Manual (Rotina MATA920): Para que o controle de numeração seja acionado na inclusão de Nota Manual, basta passar pelo campo "Nota Fiscal" (C920NOTA) do formulário deixando-o em branco. Neste momento é exibido um alerta mencionando que deixar o número do Documento em branco indica que após inserção dos dados, será solicitada uma série, e o número será sugerido pelo sistema (com base no controle de numeração) na hora da gravação. Obs: Este desenvolvimento está válido com MATA920 igual ou superior a 19/12/2017 (detalhes em Numeração Automática de Nota Fiscal Manual de Saída).


  • Sobre a gravação da numeração na tabela SD9 (Controle de Numeração Doc): Durante o processo de gravação do registro utilizado na tabela SD9, o registro que contém a numeração será controlado em transação e, para que não ocorra a possibilidade de dois registros utilizarem a mesma numeração, será gravado no campo D9_USUARIO a informação "Num.Ocupado". Em seguida, será feita uma varredura na tabela de SF2 (Notas Fiscais) para garantir que a numeração que está em processamento na transação existe no banco de dados. Caso exista, o campo D9_USUARIO manterá a informação "Num.Ocupado" para que impossibilite a utilização dessa numeração em Documentos futuros. Caso não exista, o campo D9_USUARIO será substituído novamente com o nome do usuário utilizado no momento da transação para a conclusão definitiva do processo e gravação do registro.




Helps





Parâmetros

  • MV_GNRENF - Recomenda-se utilizar com conteúdo .T. para que não seja gerada a tela de Guia de Recolhimento no momento do Faturamento. O ideal é realizar o processo de GNRE pelo módulo Fiscal.
  • MV_FATTRAV - Recomenda-se utilizar opção 4
  • O parâmetro MV_ESPECIE pode conter apenas séries já existentes na SX5 - Tabela 01


Pontos de Entrada


Pode lhe interessar:

Criação de série de NFs para utilizar no Documentos de Saída: https://tdn.totvs.com/x/WU1tDQ

Configuração de numeração de Notas Fiscais com mais de 6 dígitos: https://tdn.totvs.com/x/NIojDw