Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Alguém saberia me dizer como faço para assinar meu xml de cancelamento por evento no acbr? Já consegui gerar o arquivo, mas não faço idéia de como fazer para assiná-lo. Tentei fazer como no lote das notas fiscais, mas não tenho as opções de "validar" e "assinar" o xml.

Desde já agradeço!

Postado

Oi Igor, para o cancelamento da NF por "evento" o xml enviado ao web service é assinado. O problema é que não consigo fazer isso nem usando o comando ACBrNFe1.EnviarEventoNFe(idLote). O xml gerado não é assinado, não é enviado e a NF não é cancelada.

Meu código está assim:

ACBrNFe.EnvEvento.EnvEventoNFe.Evento.Clear;

ACBrNFe.EnvEvento.EnvEventoNFe.idLote := StrToInt(idLote);

with ACBrNFe.EnvEvento.EnvEventoNFe.Evento.Add do

begin

infEvento.chNFe := descChave;

infEvento.CNPJ := numCNPJ;

infEvento.dhEvento := now;

infEvento.tpEvento := teCancelamento;

infEvento.nSeqEvento := StrToInt(numSequencial);

infEvento.detEvento.xJust := EditJustificativa.Text;

infEvento.detEvento.nProt := numProtocolo;

end;

EditCert.Text := ACBrNFe.Configuracoes.Certificados.SelecionarCertificado;

EditCertificado.Text := ACBrNFe.Configuracoes.Certificados.GetNamePath;

ACBrNFe.EnvEvento.EnvEventoNFe.GerarXML;

ACBrNFe.EnvEvento.EnvEventoNFe.Gerador.ArquivoFormatoXML;

ACBrNFe.EnvEvento.EnvEventoNFe.Gerador.SalvarArquivo(DirEventoNFE+'Teste.xml',fgXML);// Salva o xlm no diretório C:/

ACBrNFe.EnviarEventoNFe(StrToInt(idLote));

Alguma idéia do que pode está errado?

Postado

Já debuguei o evento, mas o xml não está sendo assinado. Está sendo gerado da forma a baixo:

<?xml version="1.0"?>

-2--29115138340000827291210151383400008275500000000047011130965752012-10-17T13:08:17-03:0011011111.00-Cancelamento129120091915205testando cancelamento da nf

Acho que está faltando alguma coisa no meu código, só não sei o que é, mas vou continuar tentando.

  • Consultores
Postado

Boa tarde Daiane (desculpe se eu errei o nome),

vamos simplificar o seu código:


ACBrNFe.EnvEvento.EnvEventoNFe.Evento.Clear;

ACBrNFe.EnvEvento.EnvEventoNFe.idLote := StrToInt(idLote);

with ACBrNFe.EnvEvento.EnvEventoNFe.Evento.Add do

 begin

  infEvento.chNFe := descChave;

  infEvento.CNPJ := numCNPJ; 

  infEvento.dhEvento := now;

  infEvento.tpEvento := teCancelamento;

  infEvento.nSeqEvento := StrToInt(numSequencial);

  infEvento.detEvento.xJust := EditJustificativa.Text;

  infEvento.detEvento.nProt := numProtocolo; 

 end;

EditCert.Text := ACBrNFe.Configuracoes.Certificados.SelecionarCertificado;

EditCertificado.Text := ACBrNFe.Configuracoes.Certificados.GetNamePath;

ACBrNFe.EnviarEventoNFe(StrToInt(idLote)); // O EnviarEventoNFe: Gera, Assina, Valida, Salva o XML em disco e o Envia 

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

Postado

Obrigada Italo.

Já descobri onde estava o erro. O meu WS estava desatualizado. Não tinha a url para envio do evento. Depois que atualizei, consegui fazer o cancelamento.

Obrigada a todos!

  • Este tópico foi criado há 4420 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.