Versões comparadas

Chave

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

...

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 (arquivos em formato XML) que serão 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).

Este processo está disponível em três formas, permitindo diferentes configurações para o usuário:

  • Gerar NFCom: menu de Documentos Eletrônicos (TOTVS Gestão de Estoque, Compras e Faturamento | Vendas | Documentos Eletrônicos | Nota Fiscal de Comunicação Eletrônica (NFCom) | Processos).
  • Agendar geração NFCom: menu de Documentos Eletrônicos (TOTVS Gestão de Estoque, Compras e Faturamento | Vendas | Documentos Eletrônicos | Nota Fiscal de Comunicação Eletrônica (NFCom) | Processos).
  • Gerar Xml NFCom: diretamente no movimento (TOTVS Gestão de Estoque, Compras e Faturamento | Selecione o tipo de movimento desejado | Processos).

O XML gerado é o mesmo para todas as formas mencionadas acima, sendo que a diferença entre os processos está na forma de execução fornecida ao usuário. Essas diferenças são detalhadas posteriormente neste documento no tópico 4. Execução do Processo.

2. Fluxo do Processo


...

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
6
borderfalse
diagramNameFluxo Gerar NFCom
simpleViewerfalse
width
linksauto
tbstylehidden
diagramDisplayName
lboxtrue
diagramWidth8591061
revision9

Column
width60%
Painel
borderColor#002233
borderWidth1
borderStyledashed
titleDetalhes



...

3. Configurações iniciais

...

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) e, ,  [04.02.01.07.08] Gerar NFCom e logo após, clique em Permitir Acesso.
Expandir
titleSegurança - Acesso - Perfis

Image RemovedImage Added

Card
labelConfigurar Multiprocessamento

Este processo possui o conceito de multiprocessamento¹, ou seja, pode ser executado em vários pedaços para não sobrecarregar 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
top
bordertruefalse
diagramNameMultiprocessamento
simpleViewerfalse
width
linksauto
tbstylehidden
diagramDisplayName
lboxtrue
diagramWidth571
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

Formulário exemplificando os dados do fracionamento:

Expandir
titleFormulário do Fracionamento de Job

Card
idParametrizarMovimento
labelParametrizar movimento

Agora, é necessário parametrizar um movimento para gerar NFCom. Para isso, vá em Ambiente | Parâmetros | Gestão de Estoque, Compras e Faturamento | Selecione o movimento desejado | Etapa 67 - Fis - NF-e | NF-e Estadual | Envia Manualmente (trocar pelo parâmetro da NFCom quando for criado). 

Expandir
titleParâmetro de envio NFCom

Image Removed


...

4. Execução do Processo

Como exibido no tópico 1. Visão Geral, há três caminhos para execução do processo de Gerar NFCom. Todos os três caminhos irão fazer Todas seguem as mesmas regras para a geração do XML da nota da mesma forma, possuindo diferença apenas na forma que permite ao usuário planejar/executar a geração de suas 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 e respectivos , incluindo detalhes sobre seleção de registros, multiprocessamento (fracionamento de jobs) e agendamento para execução automática:

Deck of Cards
idExecuçã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

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 a não haja erros na validação do schema da nota não retorne erros, ou "Inconsistente", caso haja erro ocorra alguma falha na validação. [ajustar após implementação da validação de schema] 

Card
labelGerar NFCom (principal)

A execução deste processo ocorre através do menu Documentos Eletrônicos | Nota Fiscal de Comunicação Eletrônica (NFCom) | Processos | Gerar NFCom.

Expandir
titleGerar NFCom


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 é feita com base no parâmetro de envio selecionado no movimento (vide item 3. Configurações Iniciais > Parametrizar Movimentorealizada 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)" .

Informações
titleObservação
Card
labelGerar NFCom (a partir do Movimento)

A execução deste processo ocorre 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:

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 transmitidoTransmitido, caso não haja erros na validação de do schema, ou "Inconsistente", caso haja algum erro ocorra alguma falha na validação.

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.

Este processo permite Ele também realiza o reprocessamento de notas com erro ou inconsistentes, atualizando tanto o conteúdo da nota (xml) quanto seu novo status ao reprocessar.

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

Para acessar o agendamento da NFCom, vá em Documentos Eletrônicos | Nota Fiscal de Comunicação Eletrônica (NFCom) | Processos | Agendar Geração NFCom

Expandir
titleAgendar geração NFCom

Este processo é o mesmo do equivalente ao "Gerar NFCom (principal)", com a diferença de que permite realizar o agendamento dos jobs que irão executar o processo. O agendamento permite que várias execuções do processo sejam programadas futuramente de forma responsáveis pela execução. Dessa forma, é possível programar múltiplas execuções futuras de maneira automática, sem a necessidade posterior de intervenção manual para gerar a NFCom, além de também ser fracionável.
O processo de agendamento apenas irá aparecer na NFCom caso do usuário. O agendamento da NFCom estará disponível apenas se o ambiente utilizado esteja for em N camadas E e se o cadastro do fracionamento esteja estiver com a opção "Agendável" marcada. Caso o fracionamento não seja agendável, contrário, será exibida apenas uma tela de conclusão de processos será exibida. 
Este agendamento também não permite seleção manual dos movimentos a gerarem a NFCom, se baseando unicamente nos movimentos que já foram parametrizados para geração da NFCom

Assim como o processo principal, o agendamento considera todos os movimentos previamente parametrizados e que ainda não tenham notas geradas. Assim como processo principal, o agendamento da geração da NFCom não irá reprocessar   Além disso, ele não reprocessa notas com erro ou inconsistentesinconsistentes 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 utilizado visando desenvolvido para proporcionar mais agilidade, ganho de melhor performance e maior automação do no processo de geração da NFCom.

Como isto essa funcionalidade é uma novidade em comparação relação à maioria dos outros documentos eletrônicos da Linha RM, segue preparamos um pequeno FAQ esclarecendo para esclarecer possíveis dúvidas que possam surgir sobre este recurso:

  • O que acontece se eu não fizer o cadastro do multiprocessamento?
    • A geração da NFCom acontecerá será realizada em um único processo . Isso é pode ser desvantajoso pois o processo irá demorar mais para ser executado, especialmente com , 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 possui tem um limite de execução de 21.000 notas, e irá resultar em erro caso um processo só tente executar mais que essa quantidadeum 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, ele irá fazer a divisão dos processos assim que se clicar no processo de Gerar acontecerá automaticamente ao iniciar a geração da NFCom. Não é necessário informar definir nenhum parâmetro adicional e a divisão dos processos ocorre , pois o sistema realiza essa divisão de forma automática. É possível acompanhar o andamento de cada processo gerado O acompanhamento dos processos gerados pode ser feito em Ambiente | Gerenciamento de Jobs.

...

  • 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

      irá recalcular

      recalcula automaticamente a quantidade necessária de divisões

      necessárias para o seu volume de notas (quantidade total

      com base no volume total de notas. Esse cálculo segue a fórmula:

      Total de notas / limite de notas por processo

      ) e arredondará

      (21.000) → arredondado para cima.

      Por exemplo,

      caso sua quantidade de notas seja

      se houver 50.000

      e a quantidade máxima de divisões cadastradas no multiprocessamento seja 2,

      notas e o multiprocessamento estiver configurado para apenas 2 divisões, o cálculo será:

      50.000 / 21.000

      ~=

      2

      .

      ,4

      ,

      arredondando para cima

      , será igual a 3 frações.

      → 3 divisões.

      O cadastro original do multiprocessamento não será alterado,

      esta

      pois essa nova quantidade de divisões será

      utilizada

      ajustada internamente pelo sistema

      e será calculada automaticamente

      sempre que necessário.


...

6. Concorrência entre processos

Em ambientes N camadas, pode acontecer o cenário de ocorrer a situação em que dois ou mais usuários executarem executam o mesmo processo ao mesmo tempo. Isso criaria vários processos iguais, com mesmo identificadorsimultaneamente, o que resultaria na criação de processos idênticos.

No caso da geração da NFCom, se o cenário acima ocorrer, isso acontecer, ambos os processos fariam a mesma seleção de notas seria feita para os ambos os processos e as notas seriam geradas em duplicidade, já que os processos estariam fazendo a geração das mesmas notas e ao mesmo tempo!
Para impedir que isso aconteça, o sistema trata a concorrência internamente pela , 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.

Image Removed

Quando houver outro processo com mesmo identificador (ID Job), sistema (T, equivalente ao módulo TOTVS Gestão de Estoque, Compras e Faturamento), coligada e Sempre que for detectado execuções simultâneas do mesmo processo (classe do processo) para a mesma coligada e classe de parâmetros, será impedida a execução de outros processos com estes mesmos campos idênticos. 
Caso isso aconteça, será exibida a mensagem "Já existe outro job do mesmo tipo e mesmo ID em 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, ele incrementa o identificador do próximo processo e divide a seleção de notas entre eles sem que haja 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.

7. Layout do XML Gerado

Esse processo irá gerar o XML da NFCom conforme estrutura abaixo. Ao clicar em cada ponto da estrutura, pode-se verificar os detalhes e regras de geração de cada campo dentro dos grupos.

...