Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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

de

do Documento de

saída

Saída no Protheus

Versões


Neste documento você verá:

V11 e V12

Ambiente:

SIGAFAT - Faturamento

O Protheus possui três possíveis métodos de controlar a numeração automática Controle de numeração
(e Doc. de entrada com formulário próprio).

O método utilizado é definido através do parâmetro MV_TPNRNFS e as opções são:

MV_TPNRNFS = 1 :


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

Deck of Cards
effectDuration0.5
id1
effectTypefade
Card
defaulttrue
effectDuration0.5
idTPNRNFS
labelMV_TPNRNFS = 1 (controle pela tabela SX5)
  • 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
  • faturamento, recomenda-se
incrementar
  • a utilização da opção 3 - SD9 (Detalhes abaixo) para
evitar
  • otimizar o lock de registro por concorrência.


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

2 :

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

Controle de numeração via Tabelas SXE / SXF
As Tabelas SXE e SXF armazenam a próxima numeração disponível e a seguinte. Até a versão 11 do Protheus essas Tabelas eram físicas no diretório System do ambiente, porém, a partir da Versão 12, o controle deve ser somente via License Server (antigo Hardlock). Veja mais informações em: Controle de Numeração de Tabelas (ALIAS) no Protheus).MV_TPNRNFS = 3 : Controle de numeração com uso de SD9
Recomendado quando há grande volume de Faturamento

para evitar lock de registro por concorrência

; e para Organizações que possuem duas ou mais Filiais com mesmo CNPJ. Esta opção possui um controle individual de cada numeração, impedindo a reutilização e evitando lacunas.

Veja abaixo o detalhamento de cada opção e procedimentos de ajuste.

Observação sobre o Controle de numeração e seu processamento: A recuperação do número da Nota no processo de emissão é serializado devido à reserva da numeração e série. Gravar 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).

Já o processo de gravação de dados da nota, bem como geração de integrações Financeiro e Estoque, é multi-usuá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.

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

Essa opção é a mais antiga do Protheus. Caso possua grande volume de Faturamento, recomenda-se a utilização da opção 3 - SD9 (Detalhes abaixo) para evitar lock de registro por concorrência.

O controle via SX5 realiza lock (trava de segurança) na Tabela SX5 e no parâmetro MV_NUMITEN por isso é imprescindível que as premissas mencionadas abaixo estejam corretas em seu ambiente.

Premissas:

  • Se SF2 e SD2 forem exclusivas (ou seja, cada Filial tem seu próprio controle de Notas de Saída); então, o controle de numeração também deve ser exclusivo, assim a SX5 também deve ser exclusiva (ou seja, os registros da SX5 Tabela 00 e Tabela 01 , ambas com o campo de Filial preenchidos)
    Se for imprescindível utilizar a SX5 compartilhada, ao menos a TABELA 01 da SX5 deve ser exclusiva. Para isto é necessário utilizar o Ponto de Entrada: CHGX5FIL+-+Utiliza+Tabela+01+Exclusiva+em+um+SX5+Compartilhado
  • Cada Filial deverá possuir um MV_NUMITEN

Parâmetros envolvidos no lock de registro (consultados dentro da transação de Geração da Nota):

  • MV_GNRENF - Recomenda-se habilitar para que não seja gerada a tela de Guia de Recolhimento no momento do Faturamento
  • MV_FATTRAV - Recomenda-se utilizar opção 4

Ajustes:

  • Acesse a rotina MATA460A (Doc. De saída) e verifique o número da última Nota gerada (nota "000009" por exemplo)
  • 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".

MENSAGEM: A460FLOCK - Ocorreu algum problema na última geração de notas fiscais

Essa mensagem indica que a Numeração ficou "lockada" / reservada. Isso ocorre por que a trava de numeração não foi liberada. Geralmente o problema é ocasionado por:

Grande concorrência de Faturamento > Para este caso recomenda-se a utilização da opção 3 - SD9 para evitar lock de registro por concorrência.
Processo customizado que aciona o Faturamento e não libera o lock > Para este caso é necessário reavaliar as personalizações e validar inclusive que não estejam sendo utilizadas funções internas, específicas do Padrão (consulte Suporte ADVPL do Protheus)
Configurações / definições incorretas do controle de Numeração no ambiente > Para este caso é necessário validar as configurações mencionadas acima para ajustar quaisquer inconsistências no ambiente. Verificar:
O parâmetro MV_NUMITEN está criado para cada Filial? O conteúdo registrado nos parâmetros é válido?
Tabela SX5 é localizada? Acesse o Configurador e seu Banco de Dados e valide se em ambas é localizada a tabela.
O modo de compartilhamento (Exclusiva / Compartilhada) está adequado? Caso seja exclusivo, confirme se os registros da SX5 Tabela 00 e Tabela 01 estão ambas com o campo de Filial preenchidos?
Caso a SX5 seja compartilhada, porém, com Faturamento exclusivo, está corretamente configurado o Ponto de Entrada CHGX5FIL (dúvidas, acione o Suporte ADVPL Protheus)?
Após essas validações, certifique-se de que não há nenhuma instância aberta no Configurador, posicionada na Tabela 01 da SX5 de Série/Numeração de Notas fiscais pois se estiver com instância aberta, a Tabela também ficará travada. Feche as instâncias para seguir com o Faturamento.
Procedimento para recriar a SX5 (Em casos de a SX5 estar corrompida):
Realizar um Backup da tabela SX5
Abir o backup para validar o arquivo, aplicar o utilitário PACK sobre ele (para excluir registros deletados), e salvar com outro nome para manter o backup original intacto
Aplicar um ZAP na tabela SX5 (truncate table) que irá deletar a tabela mantendo apenas a estrutura
Executar um APPEND na SX5 do backup no qual foi aplicado PACK
Importante : Todo procedimento deve ser realizado pela Equipe de TI da empresa, após devidos backups, para validação primeiramente em base teste e posterior réplica em Produção. Havendo dúvidas ou dificuldade em relação ao procedimento, acionar um consultor Totvs.

2. Controle de numeração via Tabelas SXE / SXF (MV_TPNRNFS = 2)

As Tabelas SXE e SXF armazenam a próxima numeração disponível e a seguinte.

Até a versão 11 do Protheus essas Tabelas eram físicas no diretório System do ambiente, porém, a partir da Versão 12, o controle deve ser somente via License Server (antigo Hardlock). Veja mais informações em: Controle de Numeração de Tabelas (ALIAS) no Protheus)

Ajustes:

.


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.

Card
defaulttrue
effectDuration0.5
id2
labelMV_TPNRNFS = 2 (controle pelo License Server)
  • MV_TPNRNFS = 2 : Controle via License Server (antigo SXE / SXF)
    Esta opção armazena a próxima numeração disponível e a seguinte. Até a versão 11 do Protheus era armazenado nas Tabelas físicas SXE e SXF no diretório System do ambiente, porém, a partir da Versão 12, o controle deve ser via License Server (antigo Hardlock). Veja mais informações sobre o License em: Controle de Numeração de Tabelas (ALIAS) no Protheus).


Controle de numeração via Tabelas SXE / SXF (MV_TPNRNFS = 2)

Esta opção armazena a próxima numeração disponível, e a seguinte, através do mecanismo do LS - License Server. Até a versão 11 do Protheus era armazenado nas Tabelas físicas SXE e SXF no diretório System do ambiente, porém, a partir da Versão 12, o controle deve ser somente via License Server (antigo Hardlock). Veja mais informações sobre o License em: https://tdn.totvs.com/x/RD1xEg.


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

  • Possuir LS - License Server instalado e atualizado para substituição das antigas SXE/SXF
  • Se houver necessidade de Séries exclusivas, adeque o ambiente de acordo com o item "Exclusividade de Séries" abordado acima.
    (Se não houver necessidade de Séries exclusivas, o sistema irá exibir todas as séries para todas as Filiais, porém, sugerir a numeração atualizada para a Filial que está acionando a Preparação da Nota.)


Ajuste para sugerir a sequência numérica correta:

  • Verifique o último/maior número de Nota gravada na SF2 (nota "000009" por exemplo) a partir da qual deseja dar sequência. Atente-se à numeração de acordo com a Filial F2_FILIAL
  • Acesse o Configurador (SIGACFG) do sistema, selecione as opções "Ambiente → Cadastros → Controle de Numeração" (APCFG110). Caso não localize a rotina em seu Menu, verifique como inserir em: Controle de Numeração de Tabelas (ALIAS) no Protheus)
  • Localize o registro que precisa ser ajustado.
    Note que são exibidos registros para NFF na coluna ALIAS para o caso de Documento de saída.
    O campo Chave armazena Série / Filial / Tabela (SF2)

    Image Added
  • Na seção inferior (antiga SXF) - Números em uso/ Números liberados: Exibe a última numeração sugerida
  • Na seção superior (antiga SXE) - Próximos números: Exibe a numeração seguinte (última sugerida + 1)

  • É importante esclarecer que no processo de Preparação da Nota, diferente de rotinas de cadastro (como por exemplo SA1 - Cadastro de Clientes), após finalizar a gravação, o sistema não abre automaticamente o próximo formulário sugerindo a numeração.
    Deste modo, geralmente não há registro na seção inferior de Próximos números, pois o próximo número acabou de ser gravado, e o usuário ainda não acionou novamente a preparação da Nota para atualizar a sugestão de numeração na rotina APCFG110.
  • Assim sendo, se não houver registro na seção inferior, apenas registre na seção superior (Próximos números) o próximo número que deseja utilizar ("000010" neste exemplo);

  • Mas, se o usuário tiver acionado novamente a preparação da Nota, chegando até a sugestão da numeração (porém não confirmou a gravação da Nota), então, neste momento em que houve a sugestão da numeração ocorre uma atualização na APCFG110, gravando na seção inferior este último número sugerido, e na seção superior o número seguinte (último sugerido + 1).
  • Assim sendo, se houver registro na seção inferior, (Números em uso/ Números liberados) registre nele a correta sugestão atual a qual deseja utilizar (número "000010" neste exemplo); e registre na seção superior (Próximos números) a numeração seguinte ("000011" neste exemplo)

Aviso
titleAtenção

Certifique-se de que, tanto na seção inferior quanto na superior, exista apenas uma linha (um registro) de sugestão da numeração para o ALIAS NFF por Série/Filial. Se houver registro duplicado, com ALIAS e Chave idênticos, reinicie o License Server e valide se foi ajustado de modo a possuir apenas uma linha (Dúvidas ou dificuldades nesse procedimento, acionar o Suporte Framework Protheus).

Card
defaulttrue
effectDuration0.5
id3
labelMV_TPNRNFS = 3 (controle pela tabela SD9)
  • MV_TPNRNFS = 3 : Controle com uso de SD9
    Recomendado quando há grande volume de Faturamento para otimizar o lock de registros por concorrência. Para Organizações que possuem duas ou mais Filiais com mesmo CNPJ, essa opção possui um controle individual de cada numeração, impedindo a reutilização e evitando saltos/lacunas.


Controle de numeração com uso de SD9 (MV_TPNRNFS = 3)


Recomendado quando há grande volume de Faturamento para otimizar o Lock de registro por concorrência. Para Organizações que possuem duas ou mais Filiais com mesmo CNPJ, essa opção possui um controle individual de cada numeração, impedindo a reutilização e evitando saltos/ lacunas.

O controle de numeração por SD9 foi desenvolvido baseado no modelo de Talão de Notas. São criados na SD9 um Lote de 5.000 numerações (ou "formulários" teoricamente) para serem utilizados/consumidos no faturamento.

Quando parâmetro MV_MUDANUM = .T. é disponibilizada a opção de alterar manualmente a numeração, bem como, utilizar numerações puladas no dia.

Obs.: O parâmetro MV_MUDANUM funciona para qualquer estado, não somente para Santa Catarina - SC.


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

(Consulte Boletim Técnico para implementação: FAT_BT_Controle de Numeracao SD9 de NFS por CNPJ_TPGNRW.pdf)


  • Se houver necessidade de Séries exclusivas, adeque o ambiente de acordo com o item "Exclusividade de Séries" abordado acima (Se não houver necessidade de Séries exclusivas, o sistema irá exibir todas as séries para todas as Filiais).
  • Se duas ou mais Filiais forem faturar utilizando o mesmo número de série, também recomendamos configurar a Exclusividade de Séries e criar um registro da série para cada Filial.

  • Ao implementar este controle, registrar na rotina MATA012 a próxima numeração (e respectiva série) pela qual deve iniciar o faturamento.
    • A Tabela de Series do Protheus é a SX5 - Tabela 01 desta forma, não deve indicar na SD9 uma série que ainda não existe / não foi criada na SX5 - 01.
    • Não é permitido inserir numeração/série já gravada na SF2.

    • É criado um registro na SD9 com esta numeração/serie, à qual será utilizada/consumida quando ocorrer o primeiro faturamento.
    • Quando ocorrer o segundo Faturamento o sistema não localizará numeração disponível para consumir e então é automaticamente gerado um lote de 5000 registros de numeração para a série em questão, as quais ficarão disponíveis para serem consumidas (isto ocorrerá sempre que terminarem as numerações disponíveis)

      Image Added

    • Ao emitir a primeira Nota pela SD9 o sistema irá sugerir a numeração antiga da SX5 pois a SD9 ainda não fora alimentada (mas grava corretamente a numeração indicada na MATA012).
    • Daí em diante, a SD9 passa a replicar o conteúdo para a SX5 de forma a sugerir a numeração alinhado à sequencia.


  • Parâmetro MV_FATGCGC utilizado apenas quando possui duas ou mais filiais com mesmo CNPJ:
    • Utilizar MV_FATGCGC = .F. para sugerir a numeração exclusiva por Filial (D9_FILIAL), e não por CNPJ. Ou seja, cada Filial possui sua própria sequencial individual, podendo ambas terem a mesma numeração (e neste caso repetir a numeração cada uma em sua sequencia e Filial).

    • Utilizar MV_FATGCGC = .T. para sugerir a próxima numeração pelo CNPJ. Ou seja: um mesmo sequencial utilizado por todas a Filiais
      Para esta opção ocorre o preenchimento dos campos D9_CNPJ e D9_FILORI
      Não ocorre mais atualização da Tabela AD0 que foi descontinuada em ambiente atualizado: https://tdn.totvs.com/x/BBDKEg

      Dica
      titleObservação

      Em caso de alterar o conteúdo deste parâmetro após já ter sido criado o Lote de numerações, é necessário executar a rotina de Ajuste de Numeração da tabela SD9: MATA470 mencionada abaixo para exclusão das numerações que ficarão em desuso.


  • Os CNPJs das Filiais devem necessariamente estar cadastrados corretamente no cadastro da empresa SM0 / Sigamat;

  • Para V11 , conforme Boletim Técnico, é necessário executar o compatibilizador UPDFAT39 para correta criação dos campos da SD9, índices e parâmetros;

  • Para qualquer eventualidade no controle das numerações onde alguma numeração não deva ser utilizada em um faturamento, deve ser feito o registo do evento via Controle de Geração de Documento (MATA012) através do preenchimento da Data e Hora, para que esta numeração não seja sugerida na geração do documento. (Por exemplo: numeração inutilizada.)


Ajuste para sugerir a numeração correta:

    • Realizar backup da SD9

    • Executar a rotina de Ajuste de Numeração da tabela SD9: MATA470, conforme boletim indicado no início.
      O ajuste de numeração, quando controlado pela SD9, é automático, portanto é necessário validar todos os itens de premissa abordados acima, considerados para este tratamento, para se certificar de que o ajuste realizado pelo próprio sistema será efetivo.

Acesse o vídeo how-to com a demonstração do uso de controle de numeração por SD9:

Conector de Widget
urlhttps://www.youtube.com/watch?v=3CUmcFtV2d4


Observações:

    • Lacunas na SD9 podem ocorrer se habilitar o parâmetro MV_MUDANUM e indicar uma numeração fora da sequência (para uso correto da SD9 este deve estar habitualmente desabilitado) ou criar/ocupar manualmente uma numeração através da MATA012

    • Quando executada a rotina de Ajuste de Numeração MATA470 corre a exclusão (delete) dos registros na SD9 de numerações não ocupadas.
    • No primeiro faturamento ocorrerá a geração de um novo lote na SD9 partindo da numeração mais alta já utilizada/consumida na SD9
      Se não existir ainda nenhum registro na SD9 deve ser inserida uma numeração na MATA012 para a série em questão, a partir da qual será dada sequência;
      Se desejar partir de uma numeração maior, deve ser inserida uma numeração na MATA012 para a série em questão, e consumida/utilizada esta numeração através da opção alterar da MATA012, preenchendo data e hora de uso. Assim, no primeiro faturamento ocorrerá a geração do lote na SD9 partindo dessa numeração que é a mais alta já utilizada/consumida na SD9

    • Durante a captação de um número na SD9 para gerar a Nota
      Se for identificado que existem lacunas na SD9 (numeração criada não usada), o sistema passa a consumir esses números de forma a preencher a lacuna (Necessário utilizar MV_MUDANUM habilitado), desde que dentro de 1 dia.
      Se for identificado que já existe Documento com esse número gravado na SF2, o sistema preenche na SD9 que esse número já está Ocupado e tenta capturar o número seguinte.

    • Ao gerar uma Nota a numeração só é registrada como usada na SD9 se no momento do Faturamento estiver habilitado MV_TPNRNFS = 3. Do contrário, o número é registrado na SF2 mas não é consumido na SD9.


Reutilizar numeração:

Ao realizar a exclusão de um documento de saída o sistema limpa o registro da tabela SD9 permitindo reutilizar a numeração.

Caso não queira reutilizar a numeração, após a exclusão do documento de saída é necessário acessar a rotina "Controle de Geração de Documentos" (MATA012) e informar o motivo do cancelamento e a data.



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

  • Verifique qual a maior numeração já gerada na Tabela SF2 - Exemplo: 000009
  • Acesse a rotina APCFG110 - Manutenção SXE/SXF (Caso não localize a rotina em seu Menu, verifique como inserir em Controle de Numeração de Tabelas (ALIAS) no Protheus)
  • Na tabela SXF - deixe o campo para o ALIAS SF2 com o próximo número a ser gerado - Exemplo: 000010
  • Na tabela SXE - deixe o campo para o ALIAS SF2 com SXF+1 - Exemplo: 000011
    Importante: Deixe apenas uma linha por Filial para o ALIAS SF2 tanto na SXF quanto na SXE. Se houver outras linhas, reinicie o License Server e valide se foi ajustado de modo a possuir apenas uma linha por Filial para o ALIAS SF2 tanto na SXF quanto na SXE.
    (Dúvidas ou dificuldades nesse procedimento, acionar o Suporte Framework Protheus)

    3. Controle de numeração com uso de SD9 (MV_TPNRNFS = 3)

    Recomendado quando há grande volume de Faturamento para evitar lock de registro por concorrência; e para Organizações que possuem duas ou mais Filiais com mesmo CNPJ. Esta opção possui um controle individual de cada numeração, impedindo a reutilização e evitando lacunas.

    O controle de numeração por SD9 foi desenvolvido baseado no modelo de Talão de Notas. Quando emite a primeira Nota, automaticamente é gerado na SD9 um Lote de 5.000 numerações (ou "formulários" teoricamente) para serem utilizados no faturamento.

    Atendendo à esta proposta, não é disponibilizada a opção de alterar manualmente a numeração, bem como, não reutiliza numerações já utilizadas. Uma vez tendo utilizado a numeração ("preenchido o formulário de nota") o registro é preenchido na SD9 e mesmo que a nota seja cancelada / excluída; é sugerida a numeração seguinte.

    Importante: O controle via SD9 não invalida a SX5, a qual continua sendo atualizada com as numerações para fornecer a próxima disponível. Neste modo, ocorre que além da SX5, há como complemento um acompanhamento de cada numeração utilizada através da Tabela SD9 (e AD0 caso MV_FATGCGC = .F. que indica numeração independente por Filial - D9_FILIAL)

    Premissas (Consulte Boletim Técnico para implementação: FAT_BT_Controle de Numeracao SD9 de NFS por CNPJ_TPGNRW.pdf)

    • Ao implementar este controle, registrar na rotina MATA012 a próxima numeração (e respectiva série) pela qual deve iniciar o faturamento.
      Obs1: A Tabela de Series do Protheus é a SX5 - Tabela 01 desta forma, não deve indicar na SD9 uma série que ainda não existe / não foi criada na SX5 - 01
      Obs2: Ao emitir a primeira Nota pela SD9 o sistema irá sugerir a numeração antiga da SX5 pois a SD9 ainda não fora alimentada. Daí em diante, a SD9 passa a replicar o conteúdo para a SX5 que passa a sugerir a numeração alinhado à sequencia.
    • Parâmetro MV_FATGCGC - Quando possui duas ou mais filiais com mesmo CNPJ:
      - Utilizar MV_FATGCGC = .T. para Controlar a numeração pelo CNPJ, e não por Filial (D9_FILIAL). Ou seja: apenas um sequencial para todas a Filiais e numerações diferentes
      Obs: Para esta opção ocorre também a atualização da Tabela AD0 de forma a indicar a Filial respectiva à numeração. Neste caso, avaliar se foi criada a tabela AD0 em sua SX2 conforme as características registradas no Boletim Técnico da funcionalidade.
      - Utilizar MV_FATGCGC = .F. para Controlar a numeração por Filial (D9_FILIAL), e não por CNPJ. Ou seja: sequenciais distintos, cada Filial possui sua própria sequencial, podendo cada qual ter a mesma numeração (e neste caso repetir a numeração cada qual em sua sequencia e Filial).
    • Para V11 , conforme Boletim Técnico, é necessário executar o compatibilizador UPDFAT39 para correta criação dos campos da SD9, índices e parâmetros.

     

     - Os CNPJs das filiais devem necessariamente estar cadastrados corretamente no cadastro da empresa SM0 / Sigamat.

    Tendo realizado as validações, item a item:

    - Realize backup de sua SD9, e:

    - Executar a rotina de Ajuste de Numeração da tabela SD9 (MATA470 - verifique orientações do Boletim) para corrigir o controle de numeração.

    O ajuste de numeração, quando controlado pela SD9, é automático e não manual. Para tanto, é necessário validar todos os pontos abaixo, considerados para este tratamento, realizado pelo próprio sistema.

    Pode lhe interessar: - Principais Pontos de Entrada que permitem tratar a Numeração do Documento de Saída:

    • M467FILT - Filtrar séries a serem mostradas (Não é válida para o módulo Loja):

    http
    pages/releaseview.action?pageId=6784228
    • x/5IRn
    • SX5NOTA - Validação das séries
    que deseja considerar no momento da geração da NF:
    • que deseja considerar no momento da geração da NF: https://tdn.totvs.com/x/wIVn
    • M460NUM - Seleção da série - Executado após a seleção da série para permitir a troca através de customização local: https
    http
    pages/releaseview.action?pageId=6784448
    • x/wYRn
    • M461SER - Série e Número Nota Fiscal Saída: https
    FTVDCHGX5FIL - Filial específica para busca da série da NF: http
    pages/releaseview.action?pageId=6784604M460NUM - Seleção da série - Executado após a seleção da série para permitir a troca através de customização local:
    • x/DgS-Ag
    • M468ASER - Chamado durante o processamento da nota fiscal, para a obtenção da série da NF: https
    http
    pages/releaseview.action?pageId=6784193
    • x/54Rn
    • MA461NNF - Visualização do número da nota gerada pelo SD9: https
    M461SER - Série e Número Nota Fiscal Saída: http
    pages/releaseview.action?pageId=46072846M468ASER - Chamado durante o processamento da nota fiscal, para a obtenção da série da NF:


    Pode lhe interessar:

    Criação de série de NFs para utilizar no Documentos de Saída: https

    http

    ://tdn.totvs.com/

    pages/releaseview.action?pageId=6784231MA461NNF - Visualização do número da nota gerada pelo SD9:

    x/WU1tDQ

    Configuração de numeração de Notas Fiscais com mais de 6 dígitos: https

    http

    ://tdn.totvs.com/

    pages/releaseview.action?pageId=6784608FAT0046 Controle de Numeração de Tabelas (ALIAS) no Protheus

    x/NIojDw