Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia a todos

Estou com algumas dúvidas quanto ao retorno do cancelamento por evento.

1º - Como salvar o XML do evento? para salvar a NF-e utilizo -

ACBrNFe1.NotasFiscais.Items[0].SaveToFile(caminho+'-nfe.xml', false); 
2º - O XML autorizado da NF-e é alterado ou agora é apenas impresso o cancelamento junto com DANFE original? 3º - Como capturo o cStat 101 e 151 para atribui-lo na NF-e original? uso a forma abaixo para verificar se o evento foi recebido com sucesso
ACBrNFe1.WebServices.EnvEvento.cStat 

Obrigado

Postado

Bom dia a todos

Estou com algumas dúvidas quanto ao retorno do cancelamento por evento.

1º - Como salvar o XML do evento? para salvar a NF-e utilizo -

ACBrNFe1.NotasFiscais.Items[0].SaveToFile(caminho+'-nfe.xml', false); 
2º - O XML autorizado da NF-e é alterado ou agora é apenas impresso o cancelamento junto com DANFE original? 3º - Como capturo o cStat 101 e 151 para atribui-lo na NF-e original? uso a forma abaixo para verificar se o evento foi recebido com sucesso
ACBrNFe1.WebServices.EnvEvento.cStat 
Obrigado
Bom dia amigo. 1º Para salvar o XML do evento do cancelamento estou pegando o retorno assim:
qr.FieldByName('MEU_CAMPO_STRING').AsString  := UTF8Encode(ACBrNFe1.WebServices.EnvEvento.RetornoWS);
Depois tenho uma opção do usuário recuperar esse XML assim:
qrXML.FieldByName('MEU_CAMPO_STRING').SaveToFile(C:\XML\arquivo.xml);
Dessa forma ele fica com um XML do evento à parte ao da NF-e. 2º Até onde eu percebi o XML da NF-e não é alterado após o cancelamento pelo evento, por esse motivo está sendo gerado o XML a parte. 3º O retorno do cStat eu estou fazendo assim: // cStat = 135 (Evento registrado e vinculado a NF-e)
iStat := ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat;

Abraço.

Postado

Muito obrigado Alex pelos esclarecimentos.

Sobre salvar o XML, quando adicionei a linha de comando devidamente alterada de acordo com a minha aplicação

qrXML.FieldByName('MEU_CAMPO_STRING').SaveToFile(C:\XML\arquivo.xml);

não compilou, é necessário alguma declaração no uses?

o Retorno estou gravando apenas qndo for 135, 136 e 155 (fora do prazo). Depois de ter enviado corretamente o evento consulto a NF-e para verificar o estado dela, a SEFAZ-SP retorna sempre 101 mesmo para aquelas qndo o cancelamento foi fora do prazo. De acordo coma NT2012/03 era para retornar "151 - cancelamento de NF-e homologado fora do prazo". Esta certo este meu raciocínio?

Postado

Muito obrigado Alex pelos esclarecimentos.

Sobre salvar o XML, quando adicionei a linha de comando devidamente alterada de acordo com a minha aplicação

qrXML.FieldByName('MEU_CAMPO_STRING').SaveToFile(C:\XML\arquivo.xml);
não compilou, é necessário alguma declaração no uses? o Retorno estou gravando apenas qndo for 135, 136 e 155 (fora do prazo). Depois de ter enviado corretamente o evento consulto a NF-e para verificar o estado dela, a SEFAZ-SP retorna sempre 101 mesmo para aquelas qndo o cancelamento foi fora do prazo. De acordo coma NT2012/03 era para retornar "151 - cancelamento de NF-e homologado fora do prazo". Esta certo este meu raciocínio?
Então.. desculpa pq passei errado o comando.. se passar com fieldbyname ele não acha.. passe assim:
qrXMLMEU_CAMPO_STRING.SaveToFile(C:\XML\arquivo.xml);

Só que desse jeito tem que ser uma query fixa e com o campo adicionado no field editor da mesma para poder usar desta forma o campo..

Quanto ao retorno do cancelamento, o raciocínio está correto.. de acordo com a NT era pra retornar 151 mesmo quando é fora do prazo.. vou fazer esse teste também depois te falo oque retornou.

Abraços

Postado

Alex Pereira muito obrigado, salvou corretamente.

A respeito do estado retornado pela receita e pelo fato de minha aplicação usar os estados como parametro para as ações. Preparei o sistema para qndo retornar 151 gravar como 101.

Obrigado!

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