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.