Usuários SAC valdirdill 187 Posted August 23, 2020 Usuários SAC Report Share Posted August 23, 2020 Bom dia, Estou com uma situação em um MDFe e gostaria de sugestão de como poderia contornar o problema. No nosso sistema o MDFe está como autorizado. Mas no WS já está encerrado. Isso indica que o XML com o encerramento foi enviado, mas, por algum motivo, não houve a gravação do retorno do WS no BD do sistema. Quando isso ocorre, fazemos uma consulta (ACBrMDFe1.Consultar) e, se for retorno 132, é porque está encerrado; se for 101, é porque está cancelado,... Então, para atualizar o BD, executamos a seguinte rotina: if ACBrMDFe1.WebServices.Consulta.cstat = 101 then begin for I := 0 to ACBrMDFe1.WebServices.Consulta.procEventoMDFe.Count-1 do if ACBrMDFe1.WebServices.Consulta.procEventoMDFe.Items.RetEventoMDFe.InfEvento.tpEvento = teCancelamento then begin FDQueryMDFe.FieldByName('DATA_CANC').AsDateTime := ACBrMDFe1.WebServices.Consulta.procEventoMDFe.Items.RetEventoMDFe.retEvento.Items[0].RetInfEvento.dhRegEvento; FDQueryMDFe.FieldByName('PROT_CANC').AsString := ACBrMDFe1.WebServices.Consulta.procEventoMDFe.Items.RetEventoMDFe.retEvento.Items[0].RetInfEvento.nProt; FDQueryMDFe.FieldByName('SITUACAO').AsString := 'Cancelada'; break; //para sair do loop de eventos. end; end else if ACBrMDFe1.WebServices.Consulta.cstat = 132 then begin for I := 0 to ACBrMDFe1.WebServices.Consulta.procEventoMDFe.Count-1 do if ACBrMDFe1.WebServices.Consulta.procEventoMDFe.Items.RetEventoMDFe.InfEvento.tpEvento = teEncerramento then begin FDQueryMDFe.FieldByName('DATA_ENCERR').AsDateTime := ACBrMDFe1.WebServices.Consulta.procEventoMDFe.Items.RetEventoMDFe.retEvento.Items[0].RetInfEvento.dhRegEvento; FDQueryMDFe.FieldByName('PROT_ENCERR').AsString := ACBrMDFe1.WebServices.Consulta.procEventoMDFe.Items.RetEventoMDFe.retEvento.Items[0].RetInfEvento.nProt; FDQueryMDFe.FieldByName('SITUACAO').AsString := 'Encerrada'; break; //para sair do loop de eventos. end; end; Funciona beleza. Contudo, estamos com um MDFe atípico. Ele consta lá no WS como "Encerramento Fisco", ou seja, foi a SEFAZ q fez o encerramento. O problema é que ao executar a consulta acima, temos o retorno de 10 eventos, mas todos com o ACBrMDFe1.WebServices.Consulta.procEventoMDFe.Items.RetEventoMDFe.InfEvento.tpEvento = teNaoMapeado. Aí não dá para saber qual deles é o evento de encerramento para pegar o dhRegEvento e nProt. Alguma dica sobre essa situação? Obrigado! Valdir Dill Rio de Janeiro - RJ Link to post Share on other sites
Juliomar Marchetti 3,845 Posted August 24, 2020 Report Share Posted August 24, 2020 Boa noite tentou entrar em contato diretamente com eles ou consultou o MDF-e no site da sefaz para verificar? Juliomar Marchetti Ajude o Projeto ACBr crescer - Assine o SAC skype: juliomar telegram: juliomar http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Link to post Share on other sites
Usuários SAC valdirdill 187 Posted August 24, 2020 Author Usuários SAC Report Share Posted August 24, 2020 7 horas atrás, Juliomar Marchetti disse: Boa noite tentou entrar em contato diretamente com eles ou consultou o MDF-e no site da sefaz para verificar? Bom dia, Consultei o documento diretamente no portal da SEFAZ (vide anexo). 1 Valdir Dill Rio de Janeiro - RJ Link to post Share on other sites
Italo Giurizzato Junior 9,879 Posted August 24, 2020 Report Share Posted August 24, 2020 Bom dia Valdir, Favor anexar o XML de retorno da consulta. Se o valor de tpEvento é teNaoMapeado isso significa que o código do evento de Encerrando Fisco é diferente do Encerramento realizado pelo emitente. Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP Link to post Share on other sites
Usuários SAC valdirdill 187 Posted August 24, 2020 Author Usuários SAC Report Share Posted August 24, 2020 21 minutos atrás, Italo Jurisato Junior disse: Bom dia Valdir, Favor anexar o XML de retorno da consulta. Se o valor de tpEvento é teNaoMapeado isso significa que o código do evento de Encerrando Fisco é diferente do Encerramento realizado pelo emitente. Arquivos em anexo. Obrigado. 26200610241975000165580010000020501305985767-mdfe.xml 26200610241975000165580010000020501305985767-MDFeDFe.xml 26200610241975000165580010000020501305985767-ped-sit.xml 26200610241975000165580010000020501305985767-ped-sit-soap.xml 26200610241975000165580010000020501305985767-sit.xml 26200610241975000165580010000020501305985767-sit-soap.xml Valdir Dill Rio de Janeiro - RJ Link to post Share on other sites
Solution Italo Giurizzato Junior 9,879 Posted August 24, 2020 Solution Report Share Posted August 24, 2020 Bom dia Valdir, No XML de retorno consta os eventos: 310112 = Encerramento Fisco (que não constava na lista de eventos) e o 510620 = Registro de Passagem Automático. Fiz uma alteração em duas units para que esses dois eventos sejam identificados. O de encerramento recém incluído tem o enumerador: teEncerramentoFisco e o outro teRegistroPassagemBRId. Favor atualizar os fontes e faça novos testes. 1 Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP Link to post Share on other sites
Usuários SAC valdirdill 187 Posted August 24, 2020 Author Usuários SAC Report Share Posted August 24, 2020 18 minutos atrás, Italo Jurisato Junior disse: Bom dia Valdir, No XML de retorno consta os eventos: 310112 = Encerramento Fisco (que não constava na lista de eventos) e o 510620 = Registro de Passagem Automático. Fiz uma alteração em duas units para que esses dois eventos sejam identificados. O de encerramento recém incluído tem o enumerador: teEncerramentoFisco e o outro teRegistroPassagemBRId. Favor atualizar os fontes e faça novos testes. Testado e aprovado! Show de bola! Obrigado. 3 Valdir Dill Rio de Janeiro - RJ Link to post Share on other sites
Italo Giurizzato Junior 9,879 Posted August 24, 2020 Report Share Posted August 24, 2020 Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. 1 Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP Link to post Share on other sites
Recommended Posts