Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Italo, boa tarde.

Estive dando uma analisada em algumas rotinas, e tenho uma sugestão a fazer para padronizar os retornos.

Algumas classes possuem a property NFSeRetorno, outras possuem uma função que tem uma variável NFSeRetorno. Ainda,

outras possuem uma property e uma variável NFSeRetorno.

Veja:

Classe TNFSeEnviarLoteRPS

Função Executar possui variável NFSeRetorno : TretEnvLote;

Classe TNFSeConsultarSituacaoLoteRPS

Possui Property NFSeRetorno: TRetSitLote;

Função/SubFunção Processando possui Variável NFSeRetorno : TretSitLote;

Classe TNFSeConsultarLoteRPS

Possui Property NFSeRetorno: TRetLote;

Função Executar possui variável NFSeRetorno : TretLote;

Classe TNFSeConsultarNfseRPS

Possui Property property NFSeRetorno: TRetNfseRps

Classe TNFSeConsultarNfse

Possui Property NFSeRetorno: TRetNfse

Função Executar possui variável NFSeRetorno : TretNfse;

Classe TNFSeCancelarNfse

Possui Property NFSeRetorno: TretCancNFSe

Comentada a variável da função Executar NFSeRetorno : TretCancNfse;

Minha sugestão seria, deixar apenas a property/variável da Classe. Tirar das funções das classes,

e ainda, não dar um free no final.

Da forma que faz o Cancelamento, está muito bom, pois por exemplo, no meu ERP, eu consigo acessar essa property mesmo depois

de ter feito o cancelamento. Isso me ajuda pois gravo algumas informações do retorno em meu BD.

Compreende minha idéia? Da forma que está hoje para as rotinas (fora a de cancelamento), eu preciso se quiser ter os retornos,

criar uma variável do tipo de retorno (TRet...), adicionar o RetWS à ele, e fazer a leitura do XML. Ainda, tenho que adicionar uses do componente.

Seria muito útil se os retornos ficassem visíveis até o momento de dar um free no componente. E se estiver assigned, poderia ser dado um free no início

da rotina caso de precisar executar novamente.

Aguardo um retorno, creio que isto seria interessante para todos.

Abraço.

Rodrigo Cantelli

Postado

Bom dia Italo,

Em anexo, as alterações referente à minha sugestão.

Tem comentários com meu nome "{rodrigo cantelli}" onde fiz alterações.

Agora apenas as classes possuem uma "NFSeRetorno".

A NFSeRetorno de cada classe fica instanciada após o término da rotina, enquanto o componente estiver sendo usado.

Caso seja acionada novamente a rotina, é dado um free na NFSeRetorno correspondente para sua reutilização.

Fiz os testes com todas as rotinas e está tudo ok a princípio.

Qualquer coisa estou à disposição. Abraço!

ACBrNFSeWebServices.rar

Rodrigo Cantelli

Postado

Bom dia Italo,

Em anexo, as alterações referente à minha sugestão.

Tem comentários com meu nome "{rodrigo cantelli}" onde fiz alterações.

Agora apenas as classes possuem uma "NFSeRetorno".

A NFSeRetorno de cada classe fica instanciada após o término da rotina, enquanto o componente estiver sendo usado.

Caso seja acionada novamente a rotina, é dado um free na NFSeRetorno correspondente para sua reutilização.

Fiz os testes com todas as rotinas e está tudo ok a princípio.

Qualquer coisa estou à disposição. Abraço!

Bom dia !

Esta Alteração do cantelli.r, ja foram incorporadas ao projeto ?,

se sim, como fica para pegar os retornos então ?

Obrigado !

Postado

Boa tarde José.

Já estão disponíveis as alterações sim. Só fazer Update.

Para acessar os dados do retorno dê uma olhada na propriedade:

"ACBrNFSe.WebServices.Enviar.NFSeRetorno.InfRec. "

Para acessar os dados da NFSe, após o envio e consulta, veja a propriedade:

"ACBrNFSe.WebServices.ConsLote.NFSeRetorno.ListaNfse.CompNfse.Items.Nfse. "

Espero ter ajudado. Abraço!

Rodrigo Cantelli

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