Ir para conteúdo
  • Cadastre-se

dev botao

Obter informações sobre o cancelamento a partir do XML


Ver Solução Respondido por Juliomar Marchetti,

Recommended Posts

Ola amigos,

Temos aqui no nosso sistema toda a parte de emissão e cancelamento da NFC-e e está funcionando de boa. La no nosso sistema quando se cancela um NFC-e obtemos e gravamos na nossa base de dados as informações ref. ao cancelamento do documento fiscal como 'Numero do Protocolo Cancelamento' e 'Data/Hora do Cancelamento' no momento em que se executa o evento de cancelamento como segue abaixo ...

qrNfe.FieldByName('PROTOCOLO_CANCELAMENTO').AsString := DM.NFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;

qrNfe.FieldByName('PROTOCOLO_CANCELAMENTO_DHRECBTO').AsString := DM.NFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento;

Essa parte ai ta funcionando normalmente porem temos uma situação agora aqui onde importamos vendas vendas feitas em outro sistema e alem da importação das "vendas normais" também temos a situação onde importamos as "vendas canceladas" e nessas vendas canceladas vem o xml da venda cancelada. Então a pergunta é se tem como obter essas informações (nProt e dhRegEvento) a partir do carregamento do xml para o componente "TACBrNFe" (NotasFiscais.LoadFromFile) pois nesse caso não vamos fazer o cancelamento pelo nosso sistema e sim pegar uma nota ja cancelada em outro sistema e não vai adiantar tentar obter as informações através do método acima através das propriedades "WebServices.EnvEvento". Tem como obter essas informações através de um LoadFromFile ?

Estou enviando um arquivo de imagem mostrando onde provavelmente estaria a informação no xml de cancelamento e também o xml de cancelamento de exemplo.

Grato pela atenção.

nfe_cancelamento.png

xml_cancelamento.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution

sim tu carrega no componente

no caso no evento

OpenDialog1.Title := 'Selecione a NFe';
  OpenDialog1.DefaultExt := '*-nfe.XML';
  OpenDialog1.Filter := 'Arquivos NFe (*-nfe.XML)|*-nfe.XML|Arquivos XML (*.XML)|*.XML|Todos os Arquivos (*.*)|*.*';

  OpenDialog1.InitialDir := ACBrNFe1.Configuracoes.Arquivos.PathSalvar;

  if OpenDialog1.Execute then
  begin
    ACBrNFe1.NotasFiscais.Clear;
    ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName);
  end;

  OpenDialog1.Title := 'Selecione o Evento';
  OpenDialog1.DefaultExt := '*.XML';
  OpenDialog1.Filter := 'Arquivos XML (*.XML)|*.XML|Todos os Arquivos (*.*)|*.*';

  OpenDialog1.InitialDir := ACBrNFe1.Configuracoes.Arquivos.PathSalvar;

  if OpenDialog1.Execute then
  begin
    ACBrNFe1.EventoNFe.Evento.Clear;
    ACBrNFe1.EventoNFe.LerXML(OpenDialog1.FileName);
    ACBrNFe1.ImprimirEvento;
  end;       

isso dai é do exemplo do svn para imprimir o evento

mas ao invés de imprimir basta olha a propriedade

ACBrNFe1.EventoNFe.Evento.Items[0].RetInfEvento.nProt

 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.