Pesquisar na Comunidade
Showing results for tags 'obter retorno'.
Encontrado 1 registro
-
Como obter o evento de resposta ao pedido de prorrogação gerado pelo fisco?
um tópico no fórum postou Diego Foliene NF-e/NFC-e
O que é o evento de resposta ao pedido de prorrogação gerado pelo Fisco? A nota técnica 2015/001 estabelece o evento de pedido de prorrogação. Este evento visa atender Convênio AE-15/74, de forma a permitir que o contribuinte faça um pedido de prorrogação da suspensão do ICMS na remessa para industrialização após 180 dias. No entanto, diferente dos demais eventos, quando o contribuinte faz o envio de um evento de pedido de prorrogação, ele vai receber apenas a informação de que o pedido foi registrado. A confirmação se o pedido foi deferido ou não é devolvida em um novo evento gerado pelo próprio fisco. Como obter o evento de resposta gerado pelo fisco? Os eventos de resposta gerados pelo fisco podem ser: Evento Fisco Resposta ao Pedido de Prorrogação 1º prazo (tpEvento=411500, “EFPP1”). Evento Fisco Resposta ao Pedido de Prorrogação 2º prazo (tpEvento=411501, “EFPP2”). Evento Fisco Resposta ao Cancelamento de Prorrogação 1º prazo (tpEvento=411502, “EFCPP1”). Evento Fisco Resposta ao Cancelamento de Prorrogação 2º prazo (tpEvento=411503, “EFCPP2”). Todos estes eventos são devolvidos tanto para o emitente quanto para o destinatário da nota através da Distribuição DFe. Como leio a informação do evento na resposta da Distribuição DFe? Como o web service devolve múltiplos eventos, é necessário se atentar a informação tpEvento que é devolvida na resposta. Vejam rotina adaptada a partir da rotina já existente no programa exemplo: uses pcnRetDistDFeInt; implementation //... var LretDisDFeInt: TretDistDFeInt; i: Integer; begin ACBrNFe.DistribuicaoDFePorUltNSU(CodUFAutor, CNPJInteressado, UltNSU); LretDisDFeInt := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt; if LretDisDFeInt.cStat = 138 then //Localizou doumentos... begin for i := 0 to Pred(LretDisDFeInt.docZip.Count) do begin case LretDisDFeInt.docZip[i].schema of schresEvento: begin if LretDisDfeInt.docZip[i].resEvento.tpEvento in [teEventoFiscoPP1, teEventoFiscoPP2, teEventoFiscoCPP1, teEventoFiscoCPP2] then begin //Lê as informações do resumo do evento. LretDisDFeInt.docZip[i].resEvento.XXX end; end; schprocEventoNFe: begin if LretDisDfeInt.docZip[i].procEvento.tpEvento in [teEventoFiscoPP1, teEventoFiscoPP2, teEventoFiscoCPP1, teEventoFiscoCPP2] then begin //Lê as informações do evento. LretDisDFeInt.docZip[i].procEvento.XXX end; end; //... end; end; end; end; Para quem utiliza ACBrLib ou ACBrMonitor. A resposta devolvida possui na seção que é gerada para o evento o tipo de evento. Basta validar se o tipo de evento corresponde ao que é preciso. [ProEve001] NSU=000000000000308 chCTe=3511111111111111550010000570851000570854 cOrgao=35 CNPJCPF=99999999999999 id=ID11111111111111111111111111111111111111111 dhEvento=29/08/2017 16:17:41 nSeqEvento=1 tpAmb=1 ;Aqui vai vir 411500, 411501, 411502 ou 411503 tpEvento=411500 verEvento=1.00 desEvento=Cancelamento xJust= Dados Errados EmiCnpj= EmiIe= EmixNome= cteNProt= cteChvCte= cteDhemi=30/12/1899 cteModal=01 cteDhRebcto=30/12/1899 XML=<xml evento> [InfEve001] id=ID11111111111111111111111111111111111111111 verAplic=1.1.9 tpAmb=1 cOrgao=35 chCTe=3511111111111111550010000570851000570854 cStat= CnpjDest=99999999999999 cOrgaoAutor= ;Aqui vai vir 411500, 411501, 411502 ou 411503 tpEvento=411500 nSeqEvento=1 xEvento= xMotivo= dhRegEvento=29/08/2017 16:17:41 emailDest= nProt=1456446552542554255 XML=<xml evento> É Importante lembrar: Até o momento da criação deste tópico, somente os estados de São Paulo e Minas Gerais fazem uso do evento de pedido de prorrogação. A Distribuição DFe por Chave não devolve os eventos, somente o XML da nota. Leia mais sobre a versão mais recente da nota técnica 2015/001 publicada até o momento AQUI.