AlexBecker 23 Posted August 12, 2020 Report Share Posted August 12, 2020 (edited) Olá a todos, estou reemitindo uma NFCe que foi emitida offline e estava pendende, na hora que emito: ACBrNFce.configuracoes.arquivos.salvarevento está falso e ACBrNFce.configuracoes.arquivos.salvar está true, quando emito a NFCe eu consigo pegar o XML dela, caso ela seja aprovada vem o xml certo, caso seja offline ela fica sem o protocolo da receita e sem a assinatura no RODAPé, quando faço reemissão de NFCe offline ou Consulta de NFCe não está atualizando o arquivo XML para que eu possa guardar na base de dados e auditar a NFCe mais tarde, alguém poderia me ajusar com os passos neste caso e me indicar meu erro!? no caso eu faço a remissão da NFCe que estava offline, ela fica como NFCe autorizada, eu dou um edit na tabela do banco com o arquivo XML referente a NFCe e posto porém o arquivo XML físico em disco não está alterando fica sempre o mesmo arquivo de quando a NFCe foi emitida offline, no caso uso o comando dm6.QNfeXmlEmitidosxml.LoadFromFile(dm7.acbrNfce.NotasFiscais.Items[0].NomeArq); e está sempre o mesmo arquivo. vou postar o trecho do meu codigo: dm5.NfceCabecalhoOffLine.First; while not dm5.NfceCabecalhoOffLine.Eof do begin if TransmitirNfce(F_ConsultaNfce, dm5.NfceCabecalhoOffLineID_Empresa.AsInteger, dm5.NfceCabecalhoOffLineID.AsInteger, 9, SituacaoAposTransmissao) then begin try if not(ConsultaNfeXmlEmitidos('consulta',' WHERE (IdNfceCabecalho = "'+ dm5.NfceCabecalhoOffLineID.AsString +'") AND (TipoDfe = "Nfce") AND (id_empresa = "'+ F_menu_principal.FIdEmpresaNfe +'") ','','')) then begin if (Trim(dm7.acbrNfce.NotasFiscais.Items[0].NomeArq) <> '') then begin //GRAVA O ARQUIVO XML - OK ManipulaNfeXmlEmitidos('', ' LIMIT 0'); dm6.QNfeXmlEmitidos.append; dm6.QNfeXmlEmitidosIdNfceCabecalho.Value := (dm5.NfceCabecalhoOffLineID.AsInteger); dm6.QNfeXmlEmitidosTipoDfe.Value := ('Nfce'); dm6.QNfeXmlEmitidosid_empresa.AsString := (F_menu_principal.FIdEmpresaNfe); dm6.QNfeXmlEmitidosNomeArquivo.AsString := ExtractFileName(dm7.acbrNfce.NotasFiscais.Items[0].NomeArq); dm6.QNfeXmlEmitidosCaminhoArquivo.Value := dm7.acbrNfce.NotasFiscais.Items[0].NomeArq; dm6.QNfeXmlEmitidosxml.LoadFromFile(dm7.acbrNfce.NotasFiscais.Items[0].NomeArq); dm6.QNfeXmlEmitidos.Post; end; p trecho do meu transmitir da NFCe até o envio: try dm7.acbrNfce.NotasFiscais.Clear; dm7.acbrNfce.WebServices.Enviar.Clear; dm7.acbrNfce.WebServices.Retorno.Clear; Result := False; StatRetorno := 0; dm7.FRetWSNfce := ''; F_Menu_Principal.FTipoRequisicao := trEnviar; if F_Menu_Principal.FSituacaoSefaz = '107' then begin ConfigurarAcbrNfce(pForm, IntToStr(pIdEmpresa)); if pTipoEmissao = 1 then begin PreencheAcbrComNfce(pIdEmpresa, pIdNfceCabecalho, True); try NotaEValida := True; dm7.acbrNfce.NotasFiscais.GerarNFe; depois de configurar e preencher o componente: dm7.acbrNfce.Enviar(0,False, True); Se puderem passar um passo a passo de como agir neste caso, não se se devo ativar eventos ( acredito que nao ), penso que somente estando como ACBrNFce.configuracoes.arquivos.salvar já deveria atualizar o XML apos o acbrNfce.NotasFiscais.GerarNFe; e dm7.acbrNfce.Enviar(0,False, True); Bem, desde já fico grato por qualquer ajuda! obrigado! Edited August 12, 2020 by AlexBecker Link to post Share on other sites
BigWings 3,983 Posted August 12, 2020 Report Share Posted August 12, 2020 Veja se ACBrNFe1.Configuracoes.Geral.Salvar está True. BigWingsAjude o Projeto ACBr crescer - Assine o SAC Link to post Share on other sites
AlexBecker 23 Posted August 12, 2020 Author Report Share Posted August 12, 2020 (edited) 4 minutos atrás, BigWings disse: Veja se ACBrNFe1.Configuracoes.Geral.Salvar está True. está true sim, eu sempre deixo ele true, em caso de CONSULTA o XML também é atualizado no componente e fisicamente (confirme a config do path e salvar = true) automatico ou devo fazer algum procedimento para isto? bem basicamente se tiver os passos de efetuar uma consulta na receita para a NFCe e ele atualizar o XML fisico em arquivo no hd automaticamente, quando ele não existe cria normal, quando estou retransmitindo offline ou consultando ( no caso consulto porque tranmisti a offline, ela gerou uma nfce emitida mas ai como não veio o protocolo eu consulto na receita para ver se atualiza o XML fisico e não estou conseguindo isto ) Edited August 12, 2020 by AlexBecker Link to post Share on other sites
AlexBecker 23 Posted August 12, 2020 Author Report Share Posted August 12, 2020 achei o meu problema e erro também, como a NFCe é emitida offline ele gera uma CHAVE2 esta chave 2 mesmo que envie a NFCe que estava online e deixe ela autorizada a chave 2 continua sendo a padrao entao quando consulto com a chave1 ele sempre me retorna o XML sem assinatura da receita porque logicamente não está lá, um erro bobo da minh aparte... fiz este esquema para pegar a chave2 offline a pouco tempo e nas consultas nao estou incluindo por ela quando o tipo de envio é 9, falha minha acredito que agora deve retornar o XML vou fazer mais alguns testes aqui para ver e retorno. Link to post Share on other sites
AlexBecker 23 Posted August 12, 2020 Author Report Share Posted August 12, 2020 (edited) 21 minutos atrás, AlexBecker disse: achei o meu problema e erro também, como a NFCe é emitida offline ele gera uma CHAVE2 esta chave 2 mesmo que envie a NFCe que estava online e deixe ela autorizada a chave 2 continua sendo a padrao entao quando consulto com a chave1 ele sempre me retorna o XML sem assinatura da receita porque logicamente não está lá, um erro bobo da minh aparte... fiz este esquema para pegar a chave2 offline a pouco tempo e nas consultas nao estou incluindo por ela quando o tipo de envio é 9, falha minha acredito que agora deve retornar o XML vou fazer mais alguns testes aqui para ver e retorno. já tinha feito a atualizacao sim para busca pela chave 2, estou consultando a NFCe com a chave 2 corretamente sim, a chave é: 41200725295518000120650030000414571516703447 através do código: dm7.acbrNfce.NotasFiscais.GerarNFe; try F_Menu_Principal.FTipoRequisicao := trConsulta; dm7.acbrNfce.WebServices.Consulta.NFeChave := dm5.LNfceCabecalhoCHAVE_ACESSO2.AsString; dm7.acbrNfce.WebServices.Consulta.Executar; StatRetorno := dm7.acbrNfce.WebServices.Consulta.cStat; porém nos XMLs gerados pelo ACBR na pasta só encontro: ou seja, não encontro o arquivo em disco referente a NFe quando faço a consulta na receita pela chave de acesso ele encontra na receita a NFCe normalmente, faço uma consulta na receita pelo ACBR porém o mesmo não salva a NFCe no path configurado c:\XML, então novamente a pergunta... quais os passos para consultar uma NFCe na receita com uma chave de acesso ( a consulta já está acima ) e para depois desta consulta GERAR o XML referente a NFCe ( ele fica com extensão NF-e.xml aqui no final do acbr ). Edited August 12, 2020 by AlexBecker Link to post Share on other sites
BigWings 3,983 Posted August 12, 2020 Report Share Posted August 12, 2020 Não deve existir duas chaves pra uma mesma nota. Se está gerando chave diferente é porque você está alterando algo na nota e gerando novamente o XML. Por exemplo o tpEmis da nota, alterando de normal para offline você terá uma chave e um XML diferentes, um vai ser protocolado na consulta e o outro não. Você deve sempre armazenar o XML gerado pelo ACBr antes do envio, e carregar ele com ACBrNFe1.NotasFiscais.LoadFromFile e após isso chamar o método Consultar, assim o arquivo vai ser atualizado com o protocolo, se houver. BigWingsAjude o Projeto ACBr crescer - Assine o SAC Link to post Share on other sites
AlexBecker 23 Posted August 12, 2020 Author Report Share Posted August 12, 2020 (edited) 5 minutos atrás, BigWings disse: Não deve existir duas chaves pra uma mesma nota. Se está gerando chave diferente é porque você está alterando algo na nota e gerando novamente o XML. Por exemplo o tpEmis da nota, alterando de normal para offline você terá uma chave e um XML diferentes, um vai ser protocolado na consulta e o outro não. Você deve sempre armazenar o XML gerado pelo ACBr antes do envio, e carregar ele com ACBrNFe1.NotasFiscais.LoadFromFile e após isso chamar o método Consultar, assim o arquivo vai ser atualizado com o protocolo, se houver. a nota ficou offline, eu tenho um procedimento no sistema para identificar isto ai emito a NFCe que estava offline, aqui o sistema gera a chave online e offline como chave2, quando o tipo de envio é 9 que é offline eu pego a chave2 que seria a chave offline e gravo na chave1 então não existem 2 notas é somente 1, eu monto a NFCe com os mesmos dados e mando consultar ( usando a chave2 que neste ponto já virou chave 1) ele retorna como na imagem mostrada acima os dados da consulta, ele acha a nota, porem não traz o XML. Se eu consultar na receita por CHAVE o ACBRNFCE vai gerar um NOVO XML da NFCe tal como é para a NFe ou não? Edited August 12, 2020 by AlexBecker Link to post Share on other sites
BigWings 3,983 Posted August 12, 2020 Report Share Posted August 12, 2020 A consulta não retorna o XML completo, retorna apenas o protocolo. Por isso precisa já ter o XML gerado, assinado e validado carregado no componente pra que o arquivo XML seja atualizado. BigWingsAjude o Projeto ACBr crescer - Assine o SAC Link to post Share on other sites
AlexBecker 23 Posted August 13, 2020 Author Report Share Posted August 13, 2020 (edited) 14 horas atrás, BigWings disse: A consulta não retorna o XML completo, retorna apenas o protocolo. Por isso precisa já ter o XML gerado, assinado e validado carregado no componente pra que o arquivo XML seja atualizado. sim, eu a um tempo atrás ( muito tempooo ) fiz para a danfe imprimir sem ter o XML, então preencho o ACBR novamente com os dados da nota ele gera a nota sem o protocolo, gero o XML, consulto a NOTA pela chave, pego o protocolo e incluo nela, já tinha isto pronto aqui e estou testando já novamente em outas partes assim que tiver tudo certo posto aqui, muito obrigado pela ajuda por enquanto! Edited August 13, 2020 by AlexBecker 1 Link to post Share on other sites
AlexBecker 23 Posted August 18, 2020 Author Report Share Posted August 18, 2020 Desculpem a demora em retornar mas tive que parar por um tempo, problema resolvido! consulto o XML pela chave e se não esta com o protocolo eu adiciono ele, mesmo esquema que tinha feito para gerar a danfe a um bom tempo atrás, muito grato pela ajuda de todos! 1 Link to post Share on other sites
Juliomar Marchetti 3,845 Posted August 18, 2020 Report Share Posted August 18, 2020 Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. 1 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
Recommended Posts