Ir para conteúdo
  • Cadastre-se

dev botao

AcbrConsultaCNPJ - Sugestão para melhoria do código


Ver Solução Respondido por Diego Foliene,
  • Este tópico foi criado há 649 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Saudações

Problema encontrado: 

A SEFAZ, em alguns casos retorna '********' para os campos  DATA DA SITUAÇÃO CADASTRAL e/ou DATA DA SITUAÇÃO ESPECIAL e isso gera uma mensagem de erro.

Sugestão:

Substituir...

      FDataSituacao := StringToDateTimeDef(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO CADASTRAL')), 0);

      FDataSituacaoEspecial := StringToDateTimeDef(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO ESPECIAL')), 0);

por...

var

cData:string;

.....

    cData := trim(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO CADASTRAL')));
    if (cData + '*')[1] <> '*' then
      FDataSituacao := StringToDateTimeDef(cData, 0);
    cData := trim(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO ESPECIAL')));
    if (cData + '*')[1] <> '*' then
      FDataSituacaoEspecial := StringToDateTimeDef(cdata, 0);

Editado por Paulo Casagrande
  • Administradores
Postado

Boa tarde Paulo,

Obrigada pela análise, poderia por favor anexar o pas alterado?

At.

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 !!

  • Administradores
Postado

Obrigado pela contribuição, em breve será validada para possível inclusão ao svn

TK-3180

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 !!

  • Consultores
Postado
Em 20/10/2022 at 10:12, Paulo Casagrande disse:

Saudações

Problema encontrado: 

A SEFAZ, em alguns casos retorna '********' para os campos  DATA DA SITUAÇÃO CADASTRAL e/ou DATA DA SITUAÇÃO ESPECIAL e isso gera uma mensagem de erro.

Sugestão:

Substituir...

      FDataSituacao := StringToDateTimeDef(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO CADASTRAL')), 0);

      FDataSituacaoEspecial := StringToDateTimeDef(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO ESPECIAL')), 0);

por...

var

cData:string;

.....

    cData := trim(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO CADASTRAL')));
    if (cData + '*')[1] <> '*' then
      FDataSituacao := StringToDateTimeDef(cData, 0);
    cData := trim(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO ESPECIAL')));
    if (cData + '*')[1] <> '*' then
      FDataSituacaoEspecial := StringToDateTimeDef(cdata, 0);

Boa tarde!
O problema é que algumas consultas retornam ******** para o campo data e da erro de conversão.
Por favor, tem algum motivo para você ter usado dessa maneira?

if(cData + '*')[1] <> '*' then

Ao invés de ter usado o Pos?

if(Pos('*', cData)=0)then

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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 !!

  • Consultores
Postado
Em 20/10/2022 at 10:12, Paulo Casagrande disse:

Saudações

Problema encontrado: 

A SEFAZ, em alguns casos retorna '********' para os campos  DATA DA SITUAÇÃO CADASTRAL e/ou DATA DA SITUAÇÃO ESPECIAL e isso gera uma mensagem de erro.

Sugestão:

Substituir...

      FDataSituacao := StringToDateTimeDef(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO CADASTRAL')), 0);

      FDataSituacaoEspecial := StringToDateTimeDef(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO ESPECIAL')), 0);

por...

var

cData:string;

.....

    cData := trim(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO CADASTRAL')));
    if (cData + '*')[1] <> '*' then
      FDataSituacao := StringToDateTimeDef(cData, 0);
    cData := trim(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO ESPECIAL')));
    if (cData + '*')[1] <> '*' then
      FDataSituacaoEspecial := StringToDateTimeDef(cdata, 0);

Isso é exceção controlada.

é Apenas uma alerta, você está rodando isso em Debug.

em Runtime isso não ocorre.

Verifique em runtime por favor

  • Curtir 1
Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Consultores
  • Solution
Postado
Em 20/10/2022 at 20:25, Paulo Casagrande disse:

Conforme solicitado segue em anexo

ACBrConsultaCNPJ.pas 13.93 kB · 1 download

Boa tarde.
Após a realização de alguns testes verifiquei que a exceção é uma exceção tratada que só é levantada em debug.
Veja que a atribuição já usa um StringToDateTimeDEF() para o caso de dar algum problema na conversão.
Dito isso optamos por não acatar a sugestão.

Ainda assim agradecemos a intenção e reforçamos que contribuições são e sempre serão mais do que bem vindas.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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 !!

  • 2 semanas depois ...
  • 3 meses depois ...
  • Este tópico foi criado há 649 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.