Jump to content

dev botao

Erro no envento de CCE


Go to solution Solved by Juliomar Marchetti,
  • Este tópico foi criado há 927 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Administradores

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 !!

Link to comment
Share on other sites

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 ?

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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);

Link to comment
Share on other sites

  • Moderadores
  • Solution

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_Black-02.png
 

 

Link to comment
Share on other sites

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'.

Link to comment
Share on other sites

  • Moderadores

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_Black-02.png
 

 

Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...