Ir para conteúdo
  • Cadastre-se

dev botao

Erro consultar nfe cancelada por evento...


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

Recommended Posts

Ola Italo boa tarde, obrigado pelo esclarecimento, com certeza vc tem toda a razão, isso muda todos dias, mais com essa correria é fogo, com certeza eu li essa NT quando saiu, mas acaba ficando no esquecimento, enquanto o sistema ta enviando a nota a gente deixa quieto, kkk, como acompanho o forum, ai que me veio essas duvidas, mas de qq forma muito obrigado... vou fazer as alterações enquanto a tempo, o Italo, mais uma perguntinha, pelo que vi esse Metodo de Evento esta sendo usado na CCE e agora no Cancelamento, isso sera mudado em todas as funcoes, envio, inutilizaçao, etc...???

Obrigado

Luciano...

Link para o comentário
Compartilhar em outros sites

Voltando ao problema da consulta de NFE cancelada por evento...

para evitar a msg de erro de access violation, coloquei um Try/Except para o erro nao acontecer.

ACBrNFeWebServices

//{eventos_juaumkiko}

FprocEventoNFe.Clear;

try

for I := 0 to NFeRetorno.procEventoNFe.Count -1 do

....

except

end;

O erro ocorre pq nada é criado no NFERetorno.proceventoNFE.

Desta forma nao da o erro mas tambem não é retornado corretamente as informaçoes.

Ainda nao tive a oportunidade de testar no ambiente de produção, talvez isso seja um bug apenas no ambiente de homologação.

Entao para quem quiser "marretar" ai basta usar o try.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Luciano,

O resto não muda em nada, uma vez que a Inutilização não se refere a NFe e sim a numeração, outra coisa o envio é o inicio, é a quando a NFe é gerada, dai para frente, temos os eventos ou seja algo que muda o status da NFe, por exemplo, de autorizada para cancelada.

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

Link para o comentário
Compartilhar em outros sites

Amigos a pergunta como colocar disponibilizar em producao, que em homologação não ta ok.. Se entendi direito com a resposta da Gr@c@ viu que se tem erro irão corrigir ate 19/11/2012 produção e a homologação corrigiu também ou so foi ajustado a produção...

Ta osso...

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Que eu entendi, corrigiram só no ambiente de homologação. Em ambiente de produção só será disponibilizado dia 19/11/2012 porque é só a partir desse dia que irá valer a NT.

Ou seja: fizeram metade da coisa. A outra metade fica pra depois do feriadão. Como disse Jach o Estripador: "Vamos por partes..."

Link para o comentário
Compartilhar em outros sites

Que eu entendi, corrigiram só no ambiente de homologação. Em ambiente de produção só será disponibilizado dia 19/11/2012 porque é só a partir desse dia que irá valer a NT.

Ou seja: fizeram metade da coisa. A outra metade fica pra depois do feriadão. Como disse Jach o Estripador: "Vamos por partes..."

VC conseguiu consultar uma nfe cancelada por evento em homologação, ainda não consegui.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Moderadores

Pessoal,

ao consultar uma nfe que tenha sido cancelada usando evento, o status anteriormente retornava, Cancelamento homologado, agora continua mostrando a nota como autorizada, alguém tem alguma sugestão? Ou o caminho a seguir? Ou o procedimento a ser usado?

Boa tarde a todos,

no aguardo

Veja esse trecho de código. Ele é do meu sistema, executado após a consulta de uma NFe com o XML.


...

      cStat := loACBrNFe2.WebServices.Consulta.cStat;

      lSTR := String(loACBrNFe2.WebServices.Consulta.Msg);

      nProt := loACBrNFe2.WebServices.Consulta.protNFe.nProt;

      dhRecto := loACBrNFe2.WebServices.Consulta.protNFe.dhRecbto;

      nProtCanc := loACBrNFe2.WebServices.Consulta.retCancNFe.nProt;

      dhRectoCanc := loACBrNFe2.WebServices.Consulta.retCancNFe.dhRecbto;

      if trim(nProtCanc)='' then

      begin

        for I := 0 to loACBrNFe2.WebServices.Consulta.procEventoNFe.Count-1 do

        begin

          if loACBrNFe2.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.InfEvento.tpEvento = teCancelamento then

          begin

            if loACBrNFe2.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Count > 0 then

            begin

              nProtCanc := loACBrNFe2.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt;

              dhRectoCanc := loACBrNFe2.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.dhRegEvento;

            end;

          end;

        end;

      end;

      Chave := loACBrNFe2.WebServices.Consulta.protNFe.chNFe;

    end;

...

[]´s

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Darlana, você está em qual estado? Por acaso é MG? Se for até ontem estava funcionando. Hoje não está mais. Segue meu questionamento ao SEFAZ e a resposta que recebi:

Mensagem original

Na semana passada enviei um email reportando o erro de que não estava conseguindo cancelar NF-e (em homologação) por evento. Vocês corrigiram, mas hoje o erro voltar a acontecer.

Enviei uma NF-e 311211xxxxxxxxxxxxxx550050000000881000000881

Cancelei-a por evento e recebi o retorno

cStat = 128 Lote de evento processado

e em seguida

cStat = 135 Evento registrado e vinculado a NF-e

Mas quando consulto a NFe ela ainda aparece como

cStat = 100 Autorizado o uso da NFe (quando deveria me retornar cancelamento nf-e homologado)

Se tento cancelar novamente dá

cStat = 128 Lote de evento processadp

e em seguida

cStat = 573 Rejeição:Duplicidade de evento

O cancelamento por evento já está em produção desde 19/11/2012 em ambito nacional, funcional nos demais estados, porém em MG nem consigo realizar os testes.

Por favor, peço mais uma vez que dêem uma atenção especial na resolução desse problema

A sua mensagem mereceu toda a atenção da Equipe da SEF/MG e, conforme parecer da superintendência responsável, informamos que verificamos ocorrências de instabilidade em nossos sistemas, e a nossa área técnica já está trabalhando para sua normalização.

A SEF/MG trabalha incessantemente para melhoria e funcionamento adequado de seus sistemas e eventuais intermitências poder ocorrer, mas sempre no intuito da prestação do melhor atendimento possível.

Pedimos sinceras desculpas por estes transtornos, contamos com sua compreensão e solicitamos que aguarde.

Agradecemos antecipadamente, nos colocando à disposição para quaisquer outros esclarecimentos que se fizerem necessários.

Link para o comentário
Compartilhar em outros sites

Graça e João Henrique,

em resumo a minha rotina ficou assim, abaixo.

João Henrique, tentei implentar algo semelhante, o que vc fez no loop, mas está apresentando erro. Erro de acesso...

O que puderem me ajudar, ficarei grata mais uma vez.... acho q tenho q pegar o endereço de vocês pra mandar um vinho de natal... rsrs

ACBrNFe1.Consultar;

if ACBrNFe1.WebServices.Consulta.retCancNFe.nProt = '' then

begin

ACBrNFe1.EventoNFe.Evento.Clear ;

ACBrNFe1.WebServices.Consulta.NFeChave := Copy(dbChavAcesGeral.Text,4,50) ;

ACBrNFe1.WebServices.Consulta.Executar;

end;

lcProtCancelamento := '';

// Verifica se houve retorno de protocolo de cancelamento

if ACBrNFe1.WebServices.Consulta.retCancNFe.nProt <> '' then

begin

lbNFeCancelada := true;

lcProtCancelamento := ACBrNFe1.WebServices.Consulta.retCancNFe.nProt;

end;

{if ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[0].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt <> '' then

begin

lbNFeCancelada := true;

if (lcProtCancelamento <> '') and (lcProtCancelamento <> ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[0].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt) then

lcProtCancelamento := ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[0].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt;

ldDataCancelada := ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[0].RetEventoNFe.retEvento.Items[0].RetInfEvento.dhRegEvento;

end;}

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Onde esta dando erro de acesso?

Talvez seja pq o XML nao esta carregado no componente...

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Link para o comentário
Compartilhar em outros sites

João Henrique,

O XML está carregado, tenho a rotina anterior que faz o loadfromfile, e obtenho outros dados no retorno.

O erro de acesso dá exatamente ao acessar o conteúdo do

ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.nprot;

Porem MG está completamente fora do ar no ambiente de homologação.

Então a rotina seria algo assim

ACBrNFe1.NotasFiscais.Clear;

ACBrNFe1.NotasFiscais.LoadFromFile(lcArquNFEXML);

ACBrNFe1.Consultar;

if ACBrNFe1.WebServices.Consulta.retCancNFe.nProt = '' then

begin

ACBrNFe1.EventoNFe.Evento.Clear ;

ACBrNFe1.WebServices.Consulta.NFeChave := Copy(dbChavAcesGeral.Text,4,50) ;

ACBrNFe1.WebServices.Consulta.Executar;

end;

lcProtCancelamento := '';

// Verifica se houve retorno de protocolo de cancelamento

if ACBrNFe1.WebServices.Consulta.retCancNFe.nProt <> '' then

begin

lbNFeCancelada := true;

lcProtCancelamento := ACBrNFe1.WebServices.Consulta.retCancNFe.nProt;

end;

{if ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[0].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt <> '' then

begin

lbNFeCancelada := true;

if (lcProtCancelamento <> '') and (lcProtCancelamento <> ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[0].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt) then

lcProtCancelamento := ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[0].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt;

ldDataCancelada := ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[0].RetEventoNFe.retEvento.Items[0].RetInfEvento.dhRegEvento;

end;}

Darlana

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Darlana, também não estou tendo como usar o ambiente de homologação de MG, mas verifica a rotina do João Henrique. Se ele não encontra protocolo, ele tenta encontrar o protocolo por evento através de um loop (já que uma NFe pode ter mais de um evento), e vc não está fazendo isso:


if trim(nProtCanc)='' then

      begin

        for I := 0 to loACBrNFe2.WebServices.Consulta.procEventoNFe.Count-1 do

        begin

          if loACBrNFe2.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.InfEvento.tpEvento = teCancelamento then

          begin

            if loACBrNFe2.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Count > 0 then

            begin

              nProtCanc := loACBrNFe2.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt;

              dhRectoCanc := loACBrNFe2.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.dhRegEvento;

            end;

          end;

        end;

      end;

Link para o comentário
Compartilhar em outros sites

Graça,

mas apresenta erro de acesso no primeiro item.

ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[0].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt

Mas vou colocar a rotina, completa... porem agora é aguardar a sefaz retornar...

Obrigado...

Assim que conseguir testar, posto aqui as novidades..

Abraços

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Pra não criar novo tópico, vou usar esse mesmo porque a dúvida está relacionada. Como o serviço de MG está uma bagunça, fiquei com uma dúvida. Ao consultar uma NFe (pela chave de acesso), se ela estiver cancelada por evento, qual o cStat me será retornado ? Continua 101 - NFe Cancelamento homologado? Ou terei que tratar o cStat 135 - Evento registrado e vinculado?

A dúvida é porque quando cancelo uma NFe em homologação, ao consultá-la via ACBr ela continua como autorizada, mas se consultar no SEFAZ o evento do cancelamento está lá protocolado. Lembrando que a minha consulta não é pelo xml e sim pela chave de acesso.

Link para o comentário
Compartilhar em outros sites

Gr@c@ estou com o mesmo problema que você ao consultar uma nfe que acabei de cancelar como evento retorna cStat=100 e não retorna nada de evento (porem depois de 24 a 26 horas começa a retornar o status de cancelada e com evento ao consultar ) olha o tópico que criei.

viewtopic.php?f=6&t=8437

Thiago Balbino

Analista de Sistemas Programador

email: [email protected]

Muriaé - MG

 

Link para o comentário
Compartilhar em outros sites

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