Moderador: Moderadores
cReciboAutorizado := "Status: " + XmlNode( cXmlProtocolo, "cStat" ) + HB_EOL()
cReciboAutorizado += "Motivo: " + XmlNode( cXmlProtocolo, "xMotivo" ) + HB_EOL()
cReciboAutorizado := "Ambiente: " +XmlNode( XmlNode( oSefaz:cXmlRetorno, "infProt" ), "tpAmb" ) + HB_EOL()
cReciboAutorizado += "Aplicação: " + XmlNode( XmlNode( oSefaz:cXmlRetorno, "infProt" ), "verAplic" ) + HB_EOL()
cReciboAutorizado += "Chave: " + XmlNode( XmlNode( oSefaz:cXmlRetorno, "infProt" ), "chNFe" ) + HB_EOL()
cReciboAutorizado += "Status: " + XmlNode( XmlNode( oSefaz:cXmlRetorno, "infProt" ), "cStat" ) + HB_EOL()
cReciboAutorizado += "Motivo: " + XmlNode( XmlNode( oSefaz:cXmlRetorno, "infProt" ), "xMotivo" ) + HB_EOL()
oSefaz := SefazClass():New()
oSefaz:cVersao := MDFE_VERSAO
oSefaz:MDFeLoteEnvia( cXml, "1", "SP", NomeCertificado( AppEmpresaApelido() ), "1" )
DO WHILE .T.
IF oSefaz:cStatus $ "100,101,202,302"
hb_MemoWrit( hb_Cwd() + "IMPORTA\MDFE-" + jpmdfcab->mcNumLan + "-Autorizado.xml", oSefaz:cXmlAutorizado )
oXmlPdf := XmlPdfClass():New()
oXmlPdf:cChave := cChave
oXmlPdf:cXmlEmissao := oSefaz:cXmlAutorizado
oXmlPdf:GeraPdf()
MsgExclamation( iif( oSefaz:cStatus == "100", "MDFE Autorizado", "MDFE Denegado" ) )
EXIT
ENDIF
IF oSefaz:cStatus $ "104,105" // processado / em processamento
Mensagem( "Problemas na SEFAZ. Nova tentativa de obter retorno em 3 minutos, ESC abandona" )
IF Inkey(180) != K_ESC
Mensagem( "Tentando novamente" )
oSefaz:MDFeConsultaRecibo()
LOOP
ENDIF
ENDIF
hb_MemoWrit( "NFE\MDFE-" + jpmdfcab->mcNumLan + "-02-SemAssinatura.xml", cXml )
hb_MemoWrit( "NFE\MDFE-" + jpmdfcab->mcNumLan + "-03-Assinado.xml", oSefaz:cXmlDocumento )
hb_MemoWrit( "NFE\MDFE-" + jpmdfcab->mcNumLan + "-04-Recibo.xml", oSefaz:cXmlRecibo )
hb_MemoWrit( "NFE\MDFE-" + jpmdfcab->mcNumLan + "-05-Protocolo.xml", oSefaz:cXmlProtocolo )
hb_MemoWrit( "NFE\MDFE-" + jpmdfcab->mcNumLan + "-06-Retorno.xml", oSefaz:cXmlRetorno )
Errorsys_WriteErrorLog( oSefaz:cXmlSoap, 3 )
Errorsys_WriteErrorLog( oSefaz:cXmlRetorno )
IF ! Empty( oSefaz:cMotivo )
MsgExclamation( "Erro " + oSefaz:cStatus + " " + oSefaz:cMotivo )
ELSE
MsgExclamation( "Erro desconhecido " + Pad( oSefaz:cXmlProtocolo, 1000 ) )
ENDIF
EXIT
ENDDO
#include "inkey.ch"
PROCEDURE PTESPROT
LOCAL cnMySql := ADOClass():New( AppcnMySqlLocal() ), nKey := 0
cnMySql:cSql := "SELECT * FROM JPXML2018 ORDER BY XXINFINC DESC"
cnMySql:Execute()
DO WHILE nKey != K_ESC .AND. ! cnMySql:Eof()
SayScrollList( ;
cnMySql:StringSql( "XXCHAVE" ), ;
PegaXml( "cStat", cnMySql:StringSql( "XXXML" ) ), ;
PegaXml( "xMotivo", cnMySql:StringSql( "XXXML" ) ) )
nKey := Inkey(5)
cnMySql:MoveNext()
ENDDO
cnMySql:CloseRecordset()
MsgExclamation( "Fim" )
RETURN
STATIC FUNCTION PegaXml( cNode, cXml )
RETURN XmlNode( XmlNode( cXml, "infProt" ), cNode )
Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes