Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Caras amigos boa tarde estou tentando enva uma CCe de uma NFe Autorizada e au enviar o evento aparece o seguinte erro, e não achei nenhuma topico com esse tipo de mensagem oq pode ser.

 

image.thumb.png.b35c0233c896db1f3cc11eff69e4dd06.png

  • Administradores
Postado

Bom dia.

Por favor transcreva o erro, na imagem fica muito ruim de ler...

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado

Juliana o Erro ta claro na Imagem acima nao cosigo gerar o evento agora estou debugando ficou uma duvida pq ao limpar o evento como segue abaixo :

  dmVendas.ACBrNFe.EventoNFe.Evento.Clear;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.chNFe := dmVendas.fdqCartaCorNFeCCE_ID_NFE.AsString;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.CNPJ   := dmPrincipal.fdqEmpresaEMP_CNPJ.AsString;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.dhEvento := now;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.tpEvento := teCCe;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.nSeqEvento := Lote;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.detEvento.xCorrecao := Trim(dmVendas.fdqCartaCorNFeCCE_TEXTO.AsWideString);
  dmVendas.ACBrNFe.EnviarEvento(Lote);


apos o clear se fizer um dmVendas.ACBrNFe.EventoNFe.Evento.Count ele sempre retorna 6 sendo que nao tem evento nenhum adicionado ?

 

Postado

descobri o problema. estou passando essa linha de codigo antes de enviar o lote.

dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.tpEvento := teCCe;

Porem ao debugar o metodo :

function TEventoNFe.GerarXML: Boolean;

nesta linha

for i := 0 to Evento.Count - 1 do
  begin
    sModelo := Copy(OnlyNumber(Evento.Items[i].InfEvento.chNFe), 21, 2);

    Evento.Items[i].InfEvento.id := 'ID' +
                                       Evento.Items[i].InfEvento.TipoEvento +
                                      OnlyNumber(Evento.Items[i].InfEvento.chNFe) +
                                      Format('%.2d', [Evento.Items[i].InfEvento.nSeqEvento]);

 

'Evento.Items[i].InfEvento.TipoEvento' este retorna  (teNaoMapeado) ao Inves de (teCCe),

Encontrei o problema mas nao sei como corrigir sendo que o codigo que seta esta propriedade esta correto

 

Postado

Oq acontece e o seguinte eu passo o evento como teCCe nesta linha, porem o componente nao recebe esse valor ao debugar o fonte do componente vejo que ele sempre trata este valor com teNaoMapeado retornado o valor -99999 e isso faz com que o evente nao seja enviado

 

Postado

esse e o codigo :

Lote := dmPrincipal.GetNextCode('LOTE_CCE');
  Caption := 'Gerando CCe...';
  if dmVendas.fdqCartaCorNFeCCE_TIPO_NFE.AsString = 'NFS' then
    dmPrincipal.LoadConfigNFe(dmVendas.fdqNotasFiscaisSaidaEMP_CODIGO.AsInteger)
  else
    dmPrincipal.LoadConfigNFe(dmVendas.fdqNotasFiscaisEMP_CODIGO.AsInteger);
  dmVendas.ACBrNFe.EventoNFe.Evento.Clear;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.chNFe := dmVendas.fdqCartaCorNFeCCE_ID_NFE.AsString;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.CNPJ   := dmPrincipal.fdqEmpresaEMP_CNPJ.AsString;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.dhEvento := now;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.tpEvento := teCCe;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.nSeqEvento := Lote;
  dmVendas.ACBrNFe.EventoNFe.Evento.New.infEvento.detEvento.xCorrecao := Trim(dmVendas.fdqCartaCorNFeCCE_TEXTO.AsWideString);
  dmVendas.ACBrNFe.EnviarEvento(Lote);

  • Moderadores
  • Solution
Postado

Então esse trecho

40 minutos atrás, kelsongyn disse:

dmVendas.ACBrNFe.EventoNFe.Evento.New

só deve ser chamado uma vez. tu tem ali 6 eventos cada vez que chama o New é um novo. erro de códificação.

sugestão crie uma variavel local com o tipo do que vem no New e faça

LEvento := dmVendas.ACBrNFe.EventoNFe.Evento.New;

e dai use ele pra baixo

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Postado

Juliomar Ob pela dica mudei o codigo e ficou assim

with dmVendas.ACBrNFe.EventoNFe.Evento.New do
  begin
    infEvento.chNFe := dmVendas.fdqCartaCorNFeCCE_ID_NFE.AsString;
    infEvento.CNPJ   := dmPrincipal.fdqEmpresaEMP_CNPJ.AsString;
    infEvento.dhEvento := now;
    infEvento.tpEvento := teCCe;
    infEvento.nSeqEvento := Lote;
    infEvento.detEvento.xCorrecao := Trim(dmVendas.fdqCartaCorNFeCCE_TEXTO.AsWideString);
  end;
  dmVendas.ACBrNFe.EnviarEvento(Lote);

 

acontece exatemente oq vc disse ele passoa so um evento coloca o codigo certo mas ao enviar o xml ou validar nao sei esta retornado o seguinte erro :

 

Falha na validação da Mensagem do Evento: 'ID11011052210941069244000108550010000001791297886984117' viola a restrição pattern de ''ID[0-9]{52}'.'Falha da análise do atributo ''Id'' com valor 'ID11011052210941069244000108550010000001791297886984117'.

  • Moderadores
Postado

Pega o exemplo do svn e tente com ele.

se o erro ocorrer avise pois está estranho

eu tenho quase que certeza que é o nSeqEvento que é um numero incremental e só pode até 20 eventos sendo que o último é o cancelamento

exemplo se fizer duas cartas de correção e dai cancelar o ultimo será 3

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

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