Ir para conteúdo
  • Cadastre-se

dev botao

Falha No Retorno Webservice


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

Recommended Posts

Boa Tarde.

 

Meu sistema para emissão de NFe até pouco tempo atrás estava funcionando normalmente quando resolvi mover o componente ACBrNFe para um DataModule do sistema. Não sei se é devido a isso, mas quando envio um lote de notas para a Sefaz e por algum motivo alguma delas não é autorizada, a impressão da Nota é efetuada como se fosse feita no ambiente de Homolgação. Por exemplo, ontem o cliente enviou um lote de 10 notas,  o processo correu normalmente e quando realizou a impressão, verificou que apenas 1 das notas estava sem a autorização (a nota realmente não foi autorizada pois existia um problema com o código de CFOP) de uso, ou seja, no local da nota onde deve constar o protocolo de autorização esta escrito NFE sem autorização de uso da SEFAZ, e a nota exibida no preview é aquela que é exibida quando o envio é feito em ambiente de homologação. O restante das notas foi autorizado.

 

Segue trecho do código que trata o retorno do webservice:

 

dmDados.NFe.Enviar(1,False);  //dmDados é o DataModule.

 

if dmDados.NFe.WebServices.Retorno.cStat=100 then
                        begin
                             {
                              executa vários outros procedimentos
                             }
                        end
                    else
                        begin
                             //se o cStat não é 100 ele deveria ter caído aqui  
                            raise Exception.Create('As notas não foram autorizadas...');
                            exit;
                        end;
 
 
Tive que colocar o componente no DataModule porque o sistema tem uma consulta que imprime a nota fiscal em outra tela, e para isso coloquei outro componente da NFe neste Form. Porém caso as duas telas estivessem carregadas e o processo de faturamento fosse inicado, era gerado um erro na impressão das notas:
 
The following error(s) have occurred:
cdsParametros: Missing data provider or data packet.
 
Como estou usando agora apenas 01 componente NFe  e 01 componente p/ impressão no sistema, o erro acima não acontece mais, e minha dúvida é se o fato de ter colocado o componente de NFe no DataModule pode ser o responsável pelo problema relatado no retorno do webservice, ou seja, a nota não foi autorizada e o processo continuou normalmente, sendo que uma execessão deveria ter sido gerada.
 
Obrigado!
 
 
 
Link para o comentário
Compartilhar em outros sites

Este erro "Missing data provider or data packet." é do delphi tem algum TClientDataSet (no caso cdsParametros), do qual a propriedade Provider não está linkado ou Linkado errado

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Olá Marco

 

No meu sistema, em uma tela eu tinha o componente de NFe e Impressão. Uma outra tela do sistema que faz também a impressão da nota, tinha também os mesmos componentes. Eu percebi que o erro ocorria sempre que as duas telas estavam carregadas no sistema. Se apenas uma delas estivesse carregada, nada de erro, agora com as duas carregadas, não dava outra, a mensagem de erro era exibida.

 

Resolvi colocando os componentes de Nfe e Impressão de NFe em um único local, no caso um DataModule e centralizando todas as chamadas no sistema para eles. Fiz isso e o erro não aconteceu mais.

 

O que começo a acontecer depois disso foi que tive alguns casos em que a nota não foi autorizada e o processo continuou como se estivesse tudo certo, mesmo com o bloco de exceção na procedure. Como o sistema envia para a Sefaz um lote de notas, se uma delas não autorizar ele passa batido, e apenas a nota não autorizada imprime como se fosse em ambiente de homologação. Isso eu ainda não consegui resolver.

 

Espero que ajude.

 

Abração!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...