Árvore de páginas

Versões comparadas

Chave

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

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

Produto:

Microsiga Protheus

Ocorrência:

Procedimentos para ajustar o saída e

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

Versões:V11 e V12

Ambiente:

SIGAFAT - Faturamento

CONTROLE DE NUMERAÇÃO AUTOMÁTICA PARA DOCUMENTO DE SAÍDA

Verifique o parâmetro MV_TPNRNFS: Indica de que forma será controlada a numeração dos documentos de

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

As opções disponíveis


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

  • MV_TPNRNFS = 1
.
  • : Controle de numeração
pelo SX5 - Tabelas Genéricas.2. Controle de numeração pelo SXE / SXF (Hardlock ou Disco System). IMPORTANTE: No PROTHEUS 12
  • via Tabela Genérica SX5 - Tabela 01
    Essa opção é a mais antiga do Protheus. Caso possua grande volume de Faturamento, recomenda-se incrementar a utilização da opção 3 - SD9 (Detalhes abaixo) para evitar lock de registro por concorrência.
  • MV_TPNRNFS = 2 : 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

Hardlock (Utilizando esta opção é necessário validar as orientações
  • MV_TPNRNFS = 3

.
  • : Controle de numeração

dos documentos de entrada e saída por SD9 / Cadastro manual via rotina de atualização de documentos (MATA012).Observaçã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

sequencia

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.

Para controle por SX5 - Tabelas Genéricas - Verifique na

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
Cód. da Ultima NOTA
  • número da última Nota gerada (nota "000009" por exemplo)
.
-
  • Acesse o Configurador
-
  • > Tabelas Genéricas
- Vá até
  • Localize a X5_TABELA = 01 e na X5_CHAVE
>
  • localize a SERIE utilizada para gerar a
nota
  • Nota (nesse exemplo, Serie 1): X5_TABELA = 01 e X5_CHAVE 1
-
  • Nessa mesma linha, no campo X5_DESCRI preencher
=
  • com um
numero
  • número maior que
o valor da
  • a última nota gerada
("000009")
  • . 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

Obs: SX5 exclusivo ou compartilhado.

Se SF2 e SD2 são exclusivas, ou seja, cada Filial tem seu próprio controle de Notas de saída; então, o controle de numeração da nota de saída também deve ser exclusivo, assim SX5 também deve ser exclusiva!

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 (Utilizando SX5 compartilhado, cada filial deverá possuir um mv_numiten).

2. Para controle por SXE / SXF (Hardlock ou Disco System)

IMPORTANTE: No PROTHEUS 12 o controle deve ser somente via Hardlock. Utilizando esta opção é necessário validar as orientações

: Controle de Numeração de Tabelas (ALIAS) no Protheus

- Verifique

)

Ajustes:

  • Verifique qual a maior numeração já gerada na Tabela SF2 - Exemplo: 000009
- Acesse
  • Acesse a rotina APCFG110 - Manutenção SXE/SXF
- Na
-
  • 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,
delete.

Inclua novos registros para validar a atribuição correta do número.

3. Para controle por SD9

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

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.

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)

Seguem principais validações:

 - O MV_TPNRNFS deve estar com conteúdo = 3

 -


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

  • 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
Obs
  • 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
replica
  • passa a replicar o conteúdo para a SX5 que passa a sugerir a numeração alinhado à sequencia.
  • Parâmetro MV_FATGCGC -
Quando
  • Quando possui duas ou mais filiais com mesmo CNPJ:
 
  • -
Utilizar
  •  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
; ou,

  • Obs: Para esta opção ocorre também a atualização da Tabela AD0 de forma a indicar a Filial respectiva à numeração.
Para este
  • Neste caso,
avaliar
  • avaliar se foi criada a tabela AD0 em sua SX2 conforme as características registradas no Boletim Técnico da funcionalidade
(abaixo)
  • .
 
  • -
Utilizar
  •  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).

 

 - Validar se foram criados corretamente:
  • Para V11 , conforme Boletim Técnico, é necessário executar o compatibilizador UPDFAT39 para correta criação dos campos da SD9
; os
  • , índices
;
  • e
os
  • parâmetros
registrados no boletim. Obs: Devem ter sido automaticamente criados ao executar o compatibilizador UPDFAT39 (o qual é imprescindível para implementar a funcionalidade, conforme orientações do boletim).OBSERVAÇÃO
  • .

 


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

Boletim Técnico:

View file
nameFAT_BT_Controle de Numeracao SD9 de NFS por CNPJ_TPGNRW.pdf
height400




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://tdn.totvs.com/pages/releaseview.action?pageId=6784228

SX5NOTA - Validação das séries que deseja considerar no momento da geração da NF: http://tdn.totvs.com/pages/releaseview.action?pageId=6784448

FTVDCHGX5FIL - Filial específica para busca da série da NF: http://tdn.totvs.com/pages/releaseview.action?pageId=6784604

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: http://tdn.totvs.com/pages/releaseview.action?pageId=6784193

M461SER - Série e Número Nota Fiscal Saída: http://tdn.totvs.com/pages/releaseview.action?pageId=46072846

M468ASER - Chamado durante o processamento da nota fiscal, para a obtenção da série da NF: http://tdn.totvs.com/pages/releaseview.action?pageId=6784231

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

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

(Detalhes em: FAT0002_Soluções possíveis para o Help A460FLOCK (MATA461))

O alerta "A460FLOCK - Ocorreu algum problema na última geração de notas fiscais" acontece em 3 situações:

1- Falta da tabela SX5

2- Falta do parâmetro mv_numiten

3- Arquivo SX5 corrompido

Sendo assim,

1- Acesse o Configurador e o Banco de Dados e valide se em ambas é localizada a tabela;

2- Verifique se o parâmetro MV_NUMITEN está criado e com conteúdo válido;

3- E para a última situação, será necessário realizar o procedimento abaixo:

A- Primeiramente validar que o controle de numeração é via SX5:

Verifique o parâmetro MV_TPNRNFS: Indica de que forma será controlada a numeração dos documentos de saída e entrada com formulário próprio.

As opções disponíveis são:

1. Controle de numeração pelo SX5 - Tabelas Genéricas.

2. Controle de numeração pelo SXE / SXF

3. Controle de numeração dos documentos de entrada e saída pelo SD9.

B- Realizar um Backup da tabela SX5

C- 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

D- Aplicar um ZAP na tabela SX5 (truncate table) que irá deletar a tabela mantendo apenas a estrutura

E- Executar um APPEND na SX5 do backup no qual foi aplicado PACK

Obs IMPORTANTE:

  • Atente-se se o SX5 é exclusivo ou compartilhado. Se SF2 e SD2 são exclusivas, ou seja, cada Filial tem seu próprio controle de Notas de saída; então, o controle de numeração da nota de saída também deve ser exclusivo. Neste caso, se o MV_TPNRNFS = 1 então o controle de numeração é via SX5, a qual também deve ser exclusiva. Se for imprescindível utilizar a SX5 compartilhada, deixando apenas a TABELA 01 exclusiva, é necessário utilizar Ponto de Entrada: CHGX5FIL - CHGX5FIL+-+Utiliza+Tabela+01+Exclusiva+em+um+SX5+Compartilhado (Utilizando SX5 compartilhado, cada filial deverá possuir um mv_numiten).
  • Outra situação que deve ser levada em consideração para  este tipo de problema, é se o configurador estiver aberto na tabela 01 de série notas fiscais e tentar faturar a nota, o sistema também exibe o mesmo help, sendo necessário, fechar o configurador durante o processo.

Importante : Todo procedimento deve ser primeiramente realizado em base teste. Somente realizar na base de produção após o processo ser validado pela equipe de TI da empresa juntamente com o usuário final. Havendo dúvidas ou dificuldade em relação ao procedimento, acionar um consultor Totvs.

Pode lhe interessar:




FAT0046 Controle de Numeração de Tabelas (ALIAS) no Protheus