Ir para conteúdo
  • Cadastre-se

dev botao

Retorno De Cancelamento


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

Recommended Posts

Como pego o retorno do cancelamento do MDFe?
 
ACBrMDFe1.Manifestos.Clear;
ACBrMDFe1.Manifestos.LoadFromFile(arquivo);
with ACBrMDFe1.EventoMDFe.Evento.Add do
   begin
   infEvento.chMDFe     := Copy(ACBrMDFe1.Manifestos.Items[0].MDFe.infMDFe.ID, 5, 44);
   infEvento.CNPJ       := FrmPrincipal.QryEmpresaAtiva.FieldByName('EMP_CNPJ').AsString;
   infEvento.dhEvento   := now;
   infEvento.tpEvento   := teCancelamento;
   infEvento.nSeqEvento := 1;

   infEvento.detEvento.nProt := ACBrMDFe1.Manifestos.Items[0].MDFe.procMDFe.nProt;
   infEvento.detEvento.xJust := trim(justificativa);
   end;
ACBrMDFe1.EnviarEventoMDFe(1);



showmessage( 'recibo: '+inttostr(ACBrMDFe1.WebServices.Recibo.cStat)+#13+ 
             'consulta: '+inttostr(ACBrMDFe1.WebServices.Consulta.cStat)+#13+ 
             'retorno: '+inttostr(ACBrMDFe1.WebServices.Retorno.cStat));

post-2984-0-63574500-1390574334.jpg
 
 
Tenho certeza que o Mesmo está cancelando, pois sempre aparece cancelado quando consulto...

Marcos Gerene

[email protected]

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Marcos,

 

Tente desta forma:

 

   sProtocolo := ACBrMDFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;

   sStat      := IntToStr(ACBrMDFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat);
   sMotivo    := ACBrMDFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo;
   sDataHora  := DateTimeToStr(ACBrMDFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento);

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde,

 

No status  retornou 135 e não 101, existe alguma forma de retornar 101 ou eu teria que fazer um if?

 

 

Obrigado

 

Edit:

 

Mudei o código para funcionar com o retorno 135 mesmo, obrigado pela ajuda Ítalo

Editado por Marcos Spirito

Marcos Gerene

[email protected]

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois ...
  • Moderadores

mais uma dúvida minha ignorada?

Bom dia

você postou ontem a tarde

todos aqui ou possuem empresas ou são funcionários e não podem ficar o tempo todo lendo os posts e respondendo ou até mesmo que olhou não soube responder por não usar o componente então não passou nem 24 horas que tu postou aqui !

então em primeiro lugar tenha paciência e segundo mais consideração pelo pessoal que responde as perguntas!

 

caso queira respostas mais rápidas assine o SAC ele serve para isso!

  • Curtir 1
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

Bom dia, sou um destes funcionários.

Eu entendo Juliomar, se vc verificar meus posts pode ver que a maioria é para ajudar o pessoal e inclusive "debugo" ao máximo para tentar encontrar a solução se encontro posto aqui para algum commiter. 

desculpe se te ofendi, a intenção não é ofender ninguém.

 

Abraço

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia, sou um destes funcionários.

Eu entendo Juliomar, se vc verificar meus posts pode ver que a maioria é para ajudar o pessoal e inclusive "debugo" ao máximo para tentar encontrar a solução se encontro posto aqui para algum commiter. 

desculpe se te ofendi, a intenção não é ofender ninguém.

 

Abraço

 

Você respondeu a um tópico com 3 meses de atraso, acho que é normal esperar que o Originador dos Posts (OP) não esteja mais procurando essa resposta. Mesmo que esteja, não deveria se surpreender se não obter uma resposta em menos de 24 horas.

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia a todos,

 

Caro Gustavo, favor tentar desta forma:

 

sXML := ACBrMDFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.XML;

 

em vez de:

 

sXML := ACBrMDFe.WebServices.Consulta.procEventoMDFe.Items[0].RetEventoMDFe.retEvento.Items[n].RetInfEvento.XML 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

bom dia, Italo.

 

Tentei aqui e o mesmo também fica vazio, acredito que seja alimentado quando é executado a autorização. Estou testando a consulta (caso o evento tenha sido enviado, porém não foi obtida resposta da SEFAZ ou a aplicação/BD tem alguma exception , é raro mas acontece).

 

obrigado

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Gustavo,

 

Favor atualizar todos os fontes de todas as pastas e novamente realizar os testes.

 

Usando a forma de obter o XML na consulta.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Gustavo,

 

O arquivo completo de retorno a uma consulta a situação é salvo em disco com o nome *-sit.xml (caso o componente esteja configurado para salvar).

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

é que trabalho pra uma topologia tipo estrela, todos terminais emitem em um "monitor" semelhante ao de vocês, porém além do arquivo, salvo também em BD evento por evento.

 

fiz as adaptações aqui, segue as units... veja se é de interesse comum

 

estão com o seguinte comentário '//Gustavo Kato XML Completo do evento'

 

Obrigado pela atenção

ACBrMDFeWebServices.pas

pmdfeRetConsSitMDFe.pas

pmdfeRetEnvEventoMDFe.pas

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Gustavo,

 

Muito obrigado pela colaboração.

 

Aproveitei e fiz as alterações nos componentes ACBrNFe e ACBrCTe.

 

As suas alterações e as minhas já estão disponíveis favor atualizar todos os fontes de todas as pastas.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
  • Consultores

Bom dia Dionatan,

 

A partir do momento que o cancelamento se tornou um evento, não se atualiza mais o XML que foi assinado e autorizado pela SEFAZ.

Estou me referindo a NF-e, CT-e, NFC-e e MDF-e.

 

Temos agora 2 XMLs:

 

Um é o XML do MDF-e assinado e Autorizado, o outro é o processamento do evento (*-procEventoMDFe.xml) que contem a solicitação do cancelamento e a homologação do mesmo com o numero do protocolo e tudo mais.

 

Já existe uma especie de Documento Auxiliar para imprimir o evento, bastando carregar os 2 XMLs mencionados acima e executar o comando ImprimirEvento.

 

É possível ainda gerar esse DA em PDF.

 

Por favor estude o programa exemplo do MDF-e que nele você encontrar botões relacionados a Eventos.

 

Da para imprimir não somente o evento de cancelamento como também o de Encerramento.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Boa tarde,

Ao realizar a consulta na trunk com o comando ACBrMDFe.WebServices.Consulta.Executar; eu conseguia receber o tipo de evento que o MDF-e estava na SEFAZ.

Ex: se estivesse cancelado, recebia 'teCancelamento', se estivesse encerrado, recebia 'teEncerramento'.

Ao atualizar para a trunk2, eu não consigo mais acessar esta propriedade.

Há uma outra forma de eu saber como está o MDF-e que estou consultando?

Preciso deste comando para eu atualizar minha base de dados caso estiver diferente.

Atenciosamente.

Saudações,

Wislei de Brito Fernandes

Link para o comentário
Compartilhar em outros sites

Pela propriedade ACBrMDFe.WebServices.Consulta.cStat eu consigo ver por exemplo que o código '101' indica que o MDF-e está Cancelado.

Porém, eu faço uso da função: ACBrMDFe.WebServices.Consulta.procEventoMDFe.Items[0].RetEventoMDFe.InfEvento.DescricaoTipoEvento( );

E com esta função eu indicava a descrição do envento.

Atenciosamente.

Saudações,

Wislei de Brito Fernandes

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Wislei,

E ao tentar usar a função mencionada o que você tem como retorno?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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