Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3263 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Tem acontecido algumas vezes, mais ta dando dor de cabeça, pois tenho que concertar o XML na mão...

Qdo vai "de primeira" aparentemente nunca da erro, mais qdo acontece de não pegar o retorno na mesma hora ai faz uma consulta de situação da NFe e tbm em cancelamentos, tem acontecido da parte final da XML, a parte onde é "appendado" a autorização de uso ou Cancelamento homologado, acontece de TODOS os espaços serem removidos, provocando erro no carregamento da mesma.

Exemplificando uma situação:

Foi mandado um lote de notas num momento em que a receita acabou não respondendo a consulta a tempo, ai o componente não atualizou os XML no HD. É feita um consulta da situação da NFe pra verificar se ela foi autorizada, o retorno vem certinho (arquivo "-sit.xml"), só que algumas vezes qdo o conteúdo é adicionado ao final do XML da NFe, todos os espaços são removidos.

Ao carregar a XML no ACBrNFe ele mostra como se a nota não tivesse sido autorizada, pois ele não consegue ler a parte da autorização.

Se abrir no firefox ele aponta o local onde esta o erro e é exatamente na tag que fica como .

O motivo () também está todo "grudado", mais ali não da erro, mais mesmo assim ta errado.

O mesmo acontece com cancelamentos.

Socorro!!!!!!

  • 4 anos depois...
Postado

Oi,

 

então, sei que este post é antigo e tal, mas me ocorreu erro semelhante UMA VEZ no mês passado, fevereiro de 2015, com a versão 3.10.

 

A minha aplicação gera o XML com o componente ACBrNFe, e o ACBrNFeMonitor faz o resto (assinar e enviar)...

 

Tenho o XML original salvo aqui, mas não vejo necessidade de anexar, pois faltou o espaço apenas nesta tag:

<protNFeversao="3.10">

Com sorte, logo achei o problema e arrumei o XML no braço e conclui o envio manualmente usando as opções da aba Testes do ACBrNFeMonitor, mas achei interessante registrar para algum possível problema futuro.

 

Att

Ricardo

  • 8 meses depois ...
Postado

Boa tarde.

Estou enfrentando o mesmo problema utilizando o Trunk2 do ACBr.
Detalhe: o XML gerado automaticamente após a autorização fica correto, porém ao carregar o componente posteriormente com o XML de envio e alimentar as tags do procNFe e gerar o XML, o mesmo fica inválido devido a falta de espaço entre o protNfe e versao.

Segue XML de exemplo em anexo.

41151208117647000100550200000000401000104812-nfe.xml

Postado

Juliomar, obrigado pelo pronto atendimento.

O XML gerado após a autorização de uso está Ok. O problema é que a minha aplicação salva o XML de envio e de protocolo separadamente, então quando preciso do XML completo posteriormente, eu carrego o componente com o XML de envio e alimento as tags procNFe com as informações salvas no db. 

Sei que não é a forma mais correta pra trabalhar, porém tem bastante coisa ainda que preciso refatorar e isso funcionava corretamente no Trunk1.

Obrigado.

Postado

Boa tarde, Italo

Não sei exatamente qual rotina está com problema.
Eu gero o XML da seguinte forma:

ACBrNFe.NotasFiscais.Clear;
ACBrNFe.NotasFiscais.LoadFromString(XML);

//NFeProc
case dm3.nfeCOD_STATUS.AsInteger of
  101: ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.nProt := dm3.nfeNUM_PROTOCOLO_CANCELAMENTO.AsString;
  102: ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.nProt := dm3.nfeNUM_PROTOCOLO_INUTILIZACAO.AsString;
else
  ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.nProt:= dm3.nfePROTOCOLO.AsString;
end;

ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.cStat   := dm3.nfeCOD_STATUS.AsInteger;
ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.chNFe   := dm3.nfeCHAVE_ACESSO.AsString;
ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.verAplic:= RetornarConteudoEntre(dm3.nfeXML_PROTNFE.AsString, '<verAplic>', '</verAplic>');
ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.xMotivo := dm3.nfeRESPOSTA_SEFAZ.AsString;
ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.digVal  := RetornarConteudoEntre(dm3.nfeXML_PROTNFE.AsString, '<digVal>', '</digVal>');
ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto:= dm3.nfeDATA_PROCESSAMENTO.AsDateTime;

ACBrNFe.NotasFiscais.Validar;
ACBrNFe.NotasFiscais.GravarXML(sLocalGravacao);

Aparentemente seria a TACBrDFe.Gravar, mas debugando este código não chega nesta rotina.
Estou migrando agora para o Trunk2, e o estranho é que funcionava perfeitamente no Trunk1.

  • Consultores
Postado

Bom dia Allan,

Primeiramente, quem disse a você que o XML assinado e protocolado pode ser alterado?

Quem disse que você pode trocar o protocolo de autorização pelo de cancelamento?

Cancelamento é um evento vinculado a uma nota autorizada, sendo assim é necessário você possuir o XML da nota com o protocolo de autorização mais o XML do evento de cancelamento da mesma.

Quem disse a você que existe inutilização de nota fiscal?

Você inutiliza um numero e não a nota, quando você solicita a SEFAZ a inutilização do numero 150 (por exemplo) esta informando a SEFAZ que não existe a nota de numero 150.

Se por algum motivo o XML assinado da nota enviada para SEFAZ esta sem o protocolo de autorização pois ocorreu um problema na conexão, o procedimento é, carregar o componente com o XML e depois executar o método Consultar, desta forma você terá o XML com validade jurídica, ou seja, assinado e protocolado.

Se o componente estiver configurado para salvar em disco (Configuracoes.Arquivos.Salvar := True) ele será salvo e se desejar poderá obter o mesmo para salvar no banco de dados ledo a seguinte propriedade: ACBrNFe.NotasFiscais.Items[ x ].XMLAssinado

Reveja os seus conceitos, eles estão errados. 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 3263 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...