Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Bom dia,

Para esse provedor uso o metodo Gerar, mas antes de tentar Gerar eu faco um ConsultarNFSeporRps para saber se o mesmo ja foi emitido anteriormente, pois bem apos isso verifico se retornou uma NFSe da seguinte maneira.

if (ACBrNFSeX1.NotasFiscais.Items[0].NFSe.SituacaoNfse = TStatusNFSe.snCancelado) then

e tambem logo depois faco isso,

if (Length(ACBrNFSeX1.NotasFiscais.Items[0].NFSe.Numero) = 0) then

o problema é que nesse provedor essas propriedades estao retornando valores inacessíveis portanto causando uma exceção, ja nos outros demais provedores que atendo essas propriedades retornam valores acessíveis e não causam exceção.

SituacaoNfse = snNormal e NFSe.Numero = "" sei que seria possivel tratar isso de outras maneiras mas como o objetivo do componente é padronizar o maximo possivel então seria importante essas propriedades retornarem o memso padrao para todos os provedores, segue os XMLs em anexo.

Erro inacessible value.jpg

1MY-comp-nfse.xml 1MY-comp-nfse-soap.xml 1MY-con-nfse-rps.xml 1MY-con-nfse-rps-soap.xml

  • Consultores
Postado

Boa tarde,

Como não sei como é o retorno desses outros provedores não tenho como dizer a você o que pode esta de errado.

Analisando o XML (soap) de retorno notei que foi retornado o código de erro 31 = Pesquisa sem retorno de NFS-e.

Com certeza não esta sendo criado a lista de notas.

Antes desses IF você esta verificando se o valor de Count é maior que zero?

if ACBrNFSeX1.NotasFiscais.Count > 0 then

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

  • Membros Pro
Postado

Bom dia,

Ok então agora antes das minhas verificações estou usando esse "if ACBrNFSeX1.NotasFiscais.Count > 0 then" recomendado por voce, até ai ok resolveu o problema de inacessible value, porem denovo somente nesse provedor ocorre o seguinte problema:

Apos eu fazer uma ConsultarNFSeporRps e o retorno é false, o componente simplesmente limpa o RPS que eu havia acabado de carregar antes da consulta, repito, isso so ocorre com esse provedor, nesse caso voce pode verificar o porque somente com esse provedor isso ocorre ou a outra solução seria igual a anterior verificar se tem um RPS carregado senão carrego novamente o RPS q acabou de se perder apos a ConsultarNFSeporRps.

Nesse qual o IF correto para saber se tem um RPS carregado posso usar sem que ocorra o erro de inacessible value?

  • Membros Pro
Postado

Segunda questão,

Apos eu contornar esse problema (provisoriamente até ver como ficara isso) informado acima, tentei emtir usando o metodo Gerar e verifiquei que a NFSe foi emitida com sucesso, porem deu um erro e o mesmo não carregou o XML corretamente no componente, segue os XML de envio e de retorno com sucesso contendo a NFSe nele, mas o componente não carregou em suas propriedades.

Erro ao carregar XML nas propriedades.jpg

1-ger-nfse.xml 1-ger-nfse-soap.xml 1-lista-nfse-ger.xml 1-lista-nfse-ger-soap.xml

  • Membros Pro
Postado

Boa tarde,

Com essa unit deu certo o componente carregou as informações da NFSe do XML corretamente sem erro, pode subir para o SVN.

Ja sobre a outra questão, qual o IF correto para saber se tem um RPS carregado no componente eu posso usar sem que ocorra o erro de inacessible value?

  • Consultores
Postado

Boa tarde,

Quanto a unit que alterei já esta no SVN.

Sim você pode usar o IF da forma que lhe mostrei.

Toda vez que vamos ler uma lista devemos sempre checar se a lista possui pelo menos um item.

Isso evita erros de execução.

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

  • Membros Pro
Postado

Este "if ACBrNFSeX1.NotasFiscais.Count > 0 then" serve para saber se tem um RPS não uma NFSe carregada no componente?

No caso estou perguntando sobre o RPS, visto que ao fazer uma ConsultarNFSeporRps e o retorno é false entao o RPS simplesmente some do componente entendeu? 

  • Consultores
Postado

No componente antigo se fazia necessário carregar o XML do Rps ou da NFS-e dependendo que seria executado.

No novo isso não precisa ser feito.

Não encontrei no TratarRetorno da consulta em questão alguma linha que estaria limpando a lista NotasFiscais.

Vai ser necessário debugar para saber onde isso esta ocorrendo.

Esse debug deve ser na sua aplicação ou através do programa exemplo.

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

  • 2 semanas depois ...
  • Administradores
Postado

Tópico fechado por falta de retorno do usuário

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 920 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.