Árvore de páginas

01. DADOS GERAIS


Linha de Produto:Bematech Loja
Segmento:Varejo
Módulo:Bematech PDV
Função:BemaTaskManager
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DVARLIVEBT-3139


02. 
SITUAÇÃO/REQUISITO

Diariamente o Live irá identificar as vendas no modelo fiscal NFCe que estão sem XML. 

Para as vendas com XML ausentes, o Live irá enviar  ao PDV as seguintes informações:

  • Numero de PDV
  • Data venda
  • Série
  • Numero venda
  • Chave acesso 
  • Modelo Fiscal 
  • Tipo Reenvio 
    • Esse campo determinará qual o tipo de informação que o PDV deverá procurar para reenviar ao Live, exemplo: Venda, XML, Pagamento. 
    • Para a issue iremos tratar apenas o tipo de reenvio "XML"
  • Situação da consulta
    • Se está pendente, realizado com sucesso, etc... 

Para cada venda com XML ausente, o PDV deverá consultar o FM para obter a situação final e o xml da venda. 

A partir do retorno do FM o PDV deverá sincronizar o XML e a situação da venda com o Live. 

O PDV deverá ter um controle se a consulta no FM foi realizada ou está pendente,  caso o FM retorno o código 500 (falha de comunicação), o PDV deverá considerar a consulta como pendente. 

Em caso de falha ou venda ausente no FM , o PDV deverá sincronizar a ocorrência com o Live através da tabela LogOcorrencia por mensagem

03. SOLUÇÃO


Itens do Live (Server) envolvidos:

  • Tabela: OperacaoNFCEAusente, logOcorrencia
  • Procedure: usp_PLIVEIdentificarCupomSemXML
  • JOB: Identificar_Cupom_Sem_XML


Itens envolvidos no client:

  • Tarefas: 041 e 042
  • DBFs: reenvio.dbf e sincnfce.dbf
  • CFG: PracticoLive.cfg
  • Executáveis: exe

Execução:

  • No processo do JOB é executada a PROC usp_PLIVEIdentificarCupomSemXML, que realiza a verificação de quais notas estão com ausência de XML. As notas encontradas são gravadas na tabela OperacaoNFCEAusente.
  • No cliente, junto ao Taskmanager que é executado na máquina, é executado também a tarefa 041, que recupera os itens da OperacaoNFCEAusente e grava as informações no arquivo C:\SUPERDB\Reenvio.dbf e atualiza o arquivo C:\SUPERDB\PracticoLive.cfg com a data da execução.
  • Na abertura do PDV é realizado o processo de copiar o arquivo C:\SUPERDB\Reenvio.dbf para C:\PDVARQ\Reenvio.dbf.
  • Quando a tarefa 042 for executada ele irá verificar quais as notas presentes nesse arquivo (C:\PDVARQ\Reenvio.dbf) e consultar no Fiscal Manager (FM) esses documentos. Após a consulta ele irá gravar o arquivo retornado na C:\PDVARQ\SINCNFCE.dbf e também atualiza o arquivo C:\PDVARQ\Reenvio.dbf e C:\SUPERDB\Reenvio.dbf passando a data e hora da consulta realizada no FM.
    • Caso ocorra algum erro ao recuperar a Nota do FM ou no processo, será gerado um LOG e processado para o Live na tabela LogOcorrencia. Com o texto “Não foi possível reenviar o XML, série: <Série PDV> Nota: <Num. Nota>. Motivo: <Descrição do erro>” e a Data e Hora do arquivo Reenvio.dbf não será inserida.
  • Após esse processo, é necessário reabrir o PDV para que seja verificado quais notas estão pendentes na C:\PDVARQ\SINCNFCE.dbf (coluna enviarPNET = T) e seja gerada a mensagem no diretório C:\PDVARQ\QUEUEMANAGER\QUEUE, para que entre no fluxo normal de envio de mensagens para o Live (Execução da tarefa 008 do TaskManager, esse é o fluxo normal de envio de .MSG e não foi alterado).
  • Os XMLs ausentes do TOTVS PDV Móvel também serão armazenado no arquivo C:\Pdvarq\SincNFCe.dbf para sincronismo ao Live

Informações importantes:

  • A consulta do documento da nota é feita no Fiscal Manager. Caso por algum motivo, o banco do FM tenha sido apagado antes da recuperação de alguma XML ausente, não será possível recuperar o XML e o fluxo não irá ser efetivo para esse caso. Será gravado o log caso isso ocorra.
    • Esse tipo de processo não é recorrente, mas estamos levando em consideração essa informação para casos onde haja intervenção do suporte ao banco do FM ou em troca de máquina da loja. Onde, no segundo caso, provavelmente o banco do FM seja novo, então a consulta não irá retornar à informação necessária caso haja necessidade.
  • O processo da tarefa 042 (prepara as notas na SINCNFCE para serem geradas mensagens) só será realizada quando o arquivo Reenvio da C:\PDVARQ seja preenchido, ou seja, somente na abertura do PDV, onde ocorre a passagem da C:\SUPERDB para C:\PDVARQ.
  • Após a execução das tarefas 042, a mensagem da XML que será reenviada ao Practico Live será gerada em uma nova abertura do PDV. Assim podemos concluir que para o processo ser efetivo seria necessárias ao menos duas reaberturas de PDV.
  • Em situações de vendas em contingência, caso não ocorra nenhuma falha no processamento das XMLs geradas e as mesmas sejam processadas normalmente, não está sendo realizada a atualização da coluna do número de autorização da sefaz no Live. Com isso, a tela de exportação de XML do Live não irá exportar as mesmas, visto que é necessário o número de autorização da sefaz para a exportação do arquivo.
    • Caso seja uma venda com situação normal (Sem ser cancelada ou inutilizada) o processo está tentando forçar o processamento da XML com a autorização. Porém notas canceladas e inutilizadas não estão sendo contempladas.

Caso a XML que irá ser reprocessada tenha sido emitido em contingência, o FM só está retornando as informações quando o mesmo está online. Enquanto ele não está online é gerado o LOG de falha no sincronismo, até que consiga o retorno.

  • Sem rótulos