marcioe Posted August 12, 2019 Report Share Posted August 12, 2019 Olá amigos, tem alguma forma de baixar NF-e do site da receita, feita com o fivewin obrigado Quote Link to comment Share on other sites More sharing options...
Wellington Vieira Posted August 12, 2019 Report Share Posted August 12, 2019 Bom dia Na Classe do José Quintas em : https://github.com/JoseQuintas/sefazclass Tem a opção de download da NF-e. Ainda não testei, mas me disseram que funciona perfeitamente bem. Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted August 12, 2019 Report Share Posted August 12, 2019 Usando ACBrMonitor, consigo após fazer manifestação de ciência. FUNCTION Entrada_Aux_DFe( cChave ) // --> Retorna o arquivo XML LOCAL cChave_CNPJ, cChave_AnoMes, cArqXML, cPathDown, cSta DEFAULT cChave := SPACE(44) IF EMPTY(cChave) IF ! MsgGet("Chave de acesso", "Chave de Acesso", @cChave) RETURN NIL ENDIF ENDIF IF EMPTY(cChave) RETURN NIL ENDIF cArqXML := cChave + '-nfe.xml' cChave_CNPJ := SUBSTR(cChave,07,14) cChave_AnoMes := '20'+SUBSTR(cChave,03,04) nPMensal := VAL(GetPvProfString( "Arquivos", "PastaMensal", 0, cACBrFld+"\"+cACBrIni)) cPathDown := ALLTRIM(GetPvProfString( "Geral", "PathSalvar", "", cACBrFld+"\"+cACBrIni))+"\"+IIF(nPMensal = 1, LEFT(DTOS(DATE()),6)+"\", "\") IF File( cPathDown+cArqXML ) IF ! MsgNoYes("O download desta NF-e já foi feito. Gostaria te fazer o download novamente?","XML já baixado") RETURN "" ENDIF FERASE(cPathDown+cArqXML) ENDIF cSta := DFe_BaixaXML( cChave ) IF cSta == "Inoperante" ; RETURN "" ; ENDIF IF File( cPathDown+cArqXML ) // BAIXOU RETURN cPathDown+cArqXML ELSE // NAO BAIXOU // MANIFESTA COMO CONFIRMACAO DA OPERACAO IF (cSta <> "Indisponível" .AND. cSta <> "Manifestado") // Só manifestar se ainda não manifestado. IF ! DFe_Manifestar(cChave, 2) // 1 Ciencia 2 Confirmação 3 Desconhecimento 4 Operacao nao realizada RETURN "" ELSE SysRefresh() ; MsgInfo("Manifestação de 'Confirmação' efetuada. O download do XML pode demorar até 5 minutos para ser liberado. Enquanto isso você pode tomar um cafezinho, ou ficar tentando novo download a cada 30 segundos.", "Manifestação pendente efetuada") RETURN "" ENDIF ENDIF ENDIF IF ! File( cPathDown+cArqXML ) SysRefresh() ; MsgAlert("Download não efetuado. Aguarde 30 segundos ou mais e tente novamente. Se o erro persistir por mais de 5 minutos, solicite que seu fornecedor lhe envie o XML."+CRLF+CRLF+"Status do XML: "+cSta, "Download não efetuado") ENDIF RETURN "" STATIC FUNCTION DFe_BaixaXML( cChave ) LOCAl cRet, lRet, cSta cRtr := ACBR_NFE_Modelo( "55" ) cRet := ACBR_NFE_DoanloadNFe(c_EUF, R_CnpjLienar(STRTRAN(nCgc,"CNPJ: ","")), cChave) cSta := "Desconhecido" IF ("Erro Interno" $ cRet) .OR. ("Erro HTTP" $ cRet) ; cSta := "Inoperante" ; ENDIF // Falha de comunicação com o WebService IF ("CStat=137" $ cRet) ; cSta := "Indisponível" ; ENDIF // Documento manifestado mais ainda não disponível para download IF ("CStat=573" $ cRet) ; cSta := "Manifestado" ; ENDIF // Já manifestado. Duplicidade de evento lRet := ("CStat=138" $ cRet) // tem NFe pra chave em questao IF lRet ; lRet := ("tpAmb=1" $ cRet) ; ENDIF // Emitida em Ambiente de Autorizacao IF lRet ; lRet := ("tpNF=1" $ cRet) ; ENDIF // Tipo da Nota de Saida do Emitente IF lRet ; lRet := ("cSitNFe=1" $ cRet) ; ENDIF // Situação AUTORIZADA IF lRet ; cSta := "Autorizado" ; ENDIF RETURN cSta STATIC FUNCTION DFe_Manifestar(cChave, nTpMan) // 1 Ciencia 2 Confirmação 3 Desconhecimento 4 Operacao nao realizada LOCAL cEvt := '', lOk := .F. IF nTpMan >= 1 .AND. nTpMan <= 4 cEvt += '[EVENTO]' + CRLF cEvt += 'idLote=1' + CRLF cEvt += '[EVENTO001]' + CRLF cEvt += 'chNFe=' + cChave + CRLF cEvt += 'cOrgao=91' + CRLF cEvt += 'CNPJ=' + R_CnpjLienar(STRTRAN(nCgc,"CNPJ: ","")) + CRLF cEvt += 'dhEvento=' + DTOC(date())+' '+Time()+ CRLF cEvt += 'tpEvento=' + IIF( nTpMan == 1, '210210', IIF( nTpMan == 2, '210200', IIF( nTpMan == 3, '210220', '210240')))+CRLF cEvt += 'nSeqEvento=1' + CRLF cEvt += 'versaoEvento=1.00' + CRLF cEvt += 'descEvento=' + IIF( nTpMan == 1, 'Ciencia da Operacao', ; IIF( nTpMan == 2, 'Confirmacao da Operacao', ; IIF( nTpMan == 3, 'Desconhecimento da Operacao', 'Operacao nao realizada')))+CRLF ENDIF IF !EMPTY(cEvt) cRet := ACBR_NFE_EnviaEvento(cEvt) lOk := ("CStat=135" $ cRet) ENDIF RETURN lOk Quote Link to comment Share on other sites More sharing options...
oribeiro Posted September 4, 2019 Report Share Posted September 4, 2019 Ariston, Estou precisando dessa rotina para Manifestar e fazer o Donwload do XML dos fornecedores. Você pode me ajudar? Compilei o seu exemplo acima mas faltam quatro funções: R_CNPJLIENAR() ACBR_NFE_MODELO() ACBR_NFE_DOWNLOADNFE() ACBR_NFE_ENVIAEVENTO() Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted September 28, 2019 Report Share Posted September 28, 2019 Muito tempo depois... Desculpa pela demora. Me mande um e-mail que eu re respondo com os prgs anexos, contendo as funções necessárias. ariston.ap@hotmail.com Quote Link to comment Share on other sites More sharing options...
oribeiro Posted September 28, 2019 Report Share Posted September 28, 2019 Obrigado Ariston, segue: oscar.oasys@gmail.com Quote Link to comment Share on other sites More sharing options...
Mario.ls Posted September 30, 2019 Report Share Posted September 30, 2019 Muito tempo depois... Desculpa pela demora. Me mande um e-mail que eu re respondo com os prgs anexos, contendo as funções necessárias. ariston.ap@hotmail.com Bom dia Ariston tudo bem ? também estou precisando dessa rotina para Manifestar e fazer o Donwload do XML dos fornecedores poderia me enviar os prgs ... desde já Obriagdo !!! meu e-mail . mario.vida@hotmail.com Quote Link to comment Share on other sites More sharing options...
oribeiro Posted October 2, 2019 Report Share Posted October 2, 2019 Se puder, além de nos dar o peixe, nos ensine também a pescar. oscar.oasys@gmail.com Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted October 2, 2019 Report Share Posted October 2, 2019 Enviei o prg com as funções que faltavam para os e-mails de quem solicitou. Ah! Neste método não dá para baixar sem certificado. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted October 2, 2019 Report Share Posted October 2, 2019 Obrigado Ariston, Vou estudar o seu código e colocar dentro do meu sistema. Um grande abraço. Quote Link to comment Share on other sites More sharing options...
lucimauromelo Posted October 6, 2019 Report Share Posted October 6, 2019 @Ariston Santos poderia me enviar também as funções restantes. suportesistemacontrol@gmail.com Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted October 8, 2019 Report Share Posted October 8, 2019 @Ariston Santos poderia me enviar também as funções restantes. suportesistemacontrol@gmail.com Enviado Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.