Versões comparadas

Chave

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

Conteúdo

Índice
excludeConteúdo

1. Visão Visão Geral

O processo de Gerar NFCom - disponível no Módulo "TOTVS Gestão de Estoque, Compras e Faturamento" - transforma os movimentos criados nesse módulo em documentos fiscais eletrônicos (xmlsarquivos em formato XML) que serão enviado para a transmitidas à SEFAZ do Contribuinte posteriormente, em outra etapa do fluxo da NFCom (para visualizar o fluxo, acesse Nota Fiscal de Comunicação Eletrônica (NFCom) | 3.2 Processos).


...

2. Fluxo do Processo

Abaixo é detalhado o fluxo do processo de Gerar NFCom, ao clicar em algumas etapas o processo será detalhado.

draw.io Diagram
bordertruefalse
diagramNameFluxo Gerar NFCom
simpleViewerfalse
width
linksauto
tbstylehidden
diagramDisplayName
lboxtrue
diagramWidth1061
revision9

Column
width60%
Painel
borderColor#002233
borderWidth1
borderStyledashed
titleDetalhes



...

3. Configurações iniciais

Para acessar o menu Documentos Eletrônicos | Nota Fiscal de Comunicação Eletrônica (NFCom) e gerar a NFCom, é necessário realizar algumas configurações iniciais, conforme abaixo:

Deck of Cards
idConfig
Card
labelPermissões Usuários

Este modelo de documento possui uma permissão de acesso diferente dos demais documentos eletrônicos. Para dar permissão de acesso ao menu da NFCom a um usuário, siga os passos abaixo:

  • Acesse o perfil vinculado ao usuário desejado do módulo TOTVS Gestão de Estoque, Compras e Faturamento e edite o perfil;
  • Vá até a aba Acesso a Menus, siga o caminho [04] Vendas | [04.02] Documentos Eletrônicos, selecione [04.02.01.07] Nota Fiscal de Comunicação Eletrônica (NFCom) ,  [04.02.01.07.08] Gerar NFCom e logo após, clique em Permitir Acesso.
Expandir
titleSegurança - Acesso - Perfis

Image Added

Card
labelConfigurar Multiprocessamento

Este processo possui o conceito de multiprocessamento¹, ou seja, pode ser executado em vários pedaços para que o processamento de grandes volumes de dados seja mais rápido.
Suponhamos que a geração da NFCom será feita para 15.000 movimentos. O multiprocessamento irá dividir esses movimentos em vários processos separados e executar cada um desses processos com quantidades menores de notas. Isso resulta em um ganho de tempo e performance tanto na geração das notas quanto na utilização do sistema como um todo.

draw.io Diagram
borderfalse
diagramNameMultiprocessamento
simpleViewerfalse
width
linksauto
tbstylehidden

...

diagramDisplayName
lboxtrue
diagramWidth

...

571
revision2

...

¹ Este conceito é referido tecnicamente na Linha RM como fracionamento de jobs.

Para usar o multiprocessamento na geração da NFCom, é necessário cadastrá-lo em Ambiente | Segurança de Jobs Fracionáveis. No cadastro, informe o perfil do usuário correspondente ao módulo, a classe de job como "DocNFComGerarData", as frações máximas e mínimas de acordo com a quantidade de vezes que desejar dividir o multiprocessamento e marque se ele é agendável e/ou se está ativo.

Expandir
titleAmbiente - Processos - Segurança de Jobs Fracionáveis

Image Added

Formulário exemplificando os dados do fracionamento:

Expandir
titleFormulário do Fracionamento de Job

Image Added


...

4

...

. Execução do Processo

O processo Gerar NFCom pode ser Executado conforme abaixoComo exibido no tópico 1. Visão Geral, há três caminhos para execução do processo de Gerar NFCom. Todas seguem as mesmas regras para a geração do XML da NFCom, diferindo apenas na maneira como o usuário pode planejar e executar a emissão das notas. Abaixo, seguem as diferenças entre cada um dos processos, incluindo detalhes sobre seleção de registros, multiprocessamento (fracionamento de jobs) e agendamento para execução automática:

Deck of Cards
idExecução
Card
labelGerar NFCom (principal)

A execução deste processo ocorre através do menu MenuDocumentos Eletrônicos | Nota Fiscal de Comunicação Eletrônica (NF-e/NFC-eNFCom) | Processos | Enviar. Este processo pode ser executado de duas formas:

1- Selecionando registros com status Inconsistente ou Rejeitado ou Contingência

2- Não selecionando nenhum registro e preenchendo os campos na tela de execução

Gerar NFCom.

Expandir
titleGerar NFCom

Image Added


O processo identifica automaticamente quais movimentos de NFCom ainda não geraram o XML, não sendo necessário selecionar nenhum registro na tela. Esta seleção é realizada considerando a parametrização do tipo de Movimento (vide item Nota Fiscal de Comunicação Eletrônica (NFCom) | 2.Parâmetros). Mesmo que algum registro em específico seja selecionado, a geração não irá se aplicar apenas para ele, e sim para todos os movimentos no sistema que estejam parametrizados para geração da NFCom e ainda não tenham suas notas geradas.

Este processo principal não reprocessa notas já geradas ou com erro/inconsistência. Caso seja necessário reprocessar notas específicas, veja "Gerar NFCom (à partir do movimento)" ou volte acesse  Nota Fiscal de Comunicação Eletrônica (NFCom) | 3.2 Processos e verifique a etapa responsável pelo reprocessamento da NFCom.

As notas serão geradas com o status Não Transmitido, caso não haja erros na validação do schema, ou "Inconsistente", caso ocorra alguma falha na validação. Esta opção é interessante para o envio de vários documentos simultaneamente.
Image Removed

Card
labelGerar NFCom (a partir do Movimento)

A execução deste processo ocorre através da tela do Movimento | Processos | Enviar NF-e, sendo necessário selecionar os Movimento que serão enviados.diretamente no movimento. Para isto, acesse o movimento parametrizado para geração de NFCom e vá em Processos | Gerar Xml NFCom.

Expandir
titleGerar Xml NFCom

Exemplo acessando o processo através de um movimento de faturamento:

Image Added

Esta tela permite a seleção específica dos movimentos que irão gerar a NFCom na tela. Caso nenhum movimento seja selecionado, o processo será executado para todos os movimentos presentes na tela, semelhante à maioria dos processos da Linha RM.
Importante ressaltar que este processo possui limite de 500 registros. Ainda que a configuração de quantidade máxima de registros exibidos na tela seja alterada, não será possível executar o processo para mais de 500 registros. Para volumes de dados maiores, utilize o processo "Gerar NFCom (principal)" descrito na primeira aba deste tópico.

Este processo é semelhante ao de  "Gerar NFCom" que está no menu de "Nota Fiscal de Comunicação Eletrônica (NFCom)". Ele irá gerar as notas com  o status Não Transmitido, caso não haja erros na validação do schema, ou "Inconsistente", caso ocorra alguma falha na validação. Ele também realiza o reprocessamento de notas, atualizando tanto o conteúdo da nota (xml) quanto seu novo status ao reprocessar.Esta opção é interessante para o envio pontual de Movimentos específicos, para grandes volumes de notas utilize a opção Enviar (principal).
Image Removed

Card
labelGerar NFCom (automático por agendamento de job)

Esta opção trata uma automatização da opção Enviar (principal).

A execução deste processo ocorre através do menu Menu Para acessar o agendamento da NFCom, vá em Documentos Eletrônicos | Nota Fiscal de Comunicação Eletrônica (NF-e/NFC-eNFCom) | Processos | EnviarAgendar Geração NFCom

Na tela de execução do processo, deixe o campo "Data Final" em branco e Defina a recorrência de execução do Job de acordo com a necessidade operacional (diária, semanal, etc.).

Ao configurar esta recorrência a transmissão das notas fiscais será de forma contínua e sem necessidade de intervenção manual, conforme ilustrado abaixo:

Image Removed

4. Layout do xml Gerado

Esse processo irá gerar o xml da NFCom conforme estrutura abaixo, ao clicar em cada ponto da estrutura pode ser verificado os detalhes e regras de geração de cada campo.

...

Expandir
titleAgendar geração NFCom

Image Added

Este processo é equivalente ao "Gerar NFCom (principal)", com a diferença de que permite o agendamento dos jobs responsáveis pela execução. Dessa forma, é possível programar múltiplas execuções futuras de maneira automática, sem a necessidade de intervenção do usuário. O agendamento da NFCom estará disponível apenas se o ambiente utilizado for em N camadas e se o cadastro do fracionamento estiver com a opção "Agendável" marcada. Caso contrário, será exibida apenas uma tela de conclusão de processos.

Assim como o processo principal, o agendamento considera todos os movimentos previamente parametrizados e que ainda não tenham notas geradas.  Além disso, ele não reprocessa notas com erro ou inconsistentes e não permite a seleção pontual dos movimentos.

Informações
titleObservação

Diferente dos modelos de NF-e e NFS-e, o processo de Gerar NFCom não faz nenhuma comunicação com a SEFAZ. Ele apenas gera o XML da nota e valida seu schema, sendo necessário realizar a transmissão das notas posteriormente.


...

5. Multiprocessamento

O multiprocessamento é um recurso desenvolvido para proporcionar mais agilidade, melhor performance e maior automação no processo de geração da NFCom.

Como essa funcionalidade é uma novidade em relação à maioria dos outros documentos eletrônicos da Linha RM, preparamos um pequeno FAQ para esclarecer possíveis dúvidas:

  • O que acontece se eu não fizer o cadastro do multiprocessamento?
    • A geração da NFCom será realizada em um único processo. Isso pode ser desvantajoso, pois resultará em um tempo de execução maior, especialmente para grandes volumes de notas e poderá tornar a utilização do sistema mais lenta. Além disso, cada processo tem um limite de execução de 21.000 notas, e um volume maior do que esse resultará em erro.
  • Quando a divisão dos processos ocorre na geração da NFCom?
    • Se o multiprocessamento for cadastrado conforme explicado no tópico 3. Configurações Iniciais | Configurar Multiprocessamento, a divisão dos processos acontecerá automaticamente ao iniciar a geração da NFCom. Não é necessário definir nenhum parâmetro adicional, pois o sistema realiza essa divisão de forma automática. O acompanhamento dos processos gerados pode ser feito em Ambiente | Gerenciamento de Jobs.
  • Quantos registros por processo o multiprocessamento suporta?
    • São 21.000 registros/notas por processo. Caso o multiprocessamento esteja parametrizado para fazer 50 divisões, por exemplo, é possível fazer a geração de volumes de mais de 1.000.000 de notas.
  • O que acontece se a quantidade de divisões que informei no cadastro do multiprocessamento não for suficiente para gerar minhas notas?
    • O sistema recalcula automaticamente a quantidade necessária de divisões com base no volume total de notas. Esse cálculo segue a fórmula:

      Total de notas / limite de notas por processo (21.000) → arredondado para cima.

      Por exemplo, se houver 50.000 notas e o multiprocessamento estiver configurado para apenas 2 divisões, o cálculo será:

      50.000 / 21.000 ≈ 2,4 → arredondando para cima → 3 divisões.

      O cadastro original do multiprocessamento não será alterado, pois essa nova quantidade de divisões será ajustada internamente pelo sistema sempre que necessário.


...

6. Concorrência entre processos

Em ambientes N camadas, pode ocorrer a situação em que dois ou mais usuários executam o mesmo processo simultaneamente, o que resultaria na criação de processos idênticos.

No caso da geração da NFCom, se isso acontecer, ambos os processos fariam a mesma seleção de notas, gerando duplicidades, pois as mesmas notas seriam processadas em paralelo. Para evitar esse problema, o sistema gerencia a concorrência internamente por meio da identificação dos processos gerados.

Sempre que for detectado execuções simultâneas do mesmo processo (classe do processo) para a mesma coligada e classe de parâmetros, a execução será bloqueada. Nesses casos, o sistema exibirá a seguinte mensagem:

"Já existe uma execução desse processo em andamento".

Image Added

  • Mas então o multiprocessamento não vai dar concorrência?
    • Não, pois a cada processo que ele cria, recebe notas diferentes e não causa duplicidade.
  • E no caso de nomes diferentes do processo? Na imagem acima, há processos de nome "Gerar NFCom" e "Agendar geração NFCom"
    • Isso não é um problema, pois todas as três formas de geração da NFCom utilizam a mesma classe do processo (DocNFComGerarData), que é o que importa para localizar processos concorrentes.

...