Ir para conteúdo
  • Cadastre-se

Marcelo Calvi Belanga

Membros Pro
  • Total de ítens

    285
  • Registro em

  • Última visita

  • Days Won

    2

Posts postados por Marcelo Calvi Belanga

  1. 1 hora atrás, Renato Rubinho disse:

    Certo, temos diversos casos de atingir o timeout e ocorrerem anomalias por ter interrompido o processo no meio, mas se não está atingindo esse tempo, desconsidere essa alteração.

    Segue o programa de exemplo compilado para seus testes, esse link será removido amanhã e esse exe irá funcionar por 7 dias.

    Simulada geração do token sem erros.

    image.png

    ACBrNFSeX_Exemplo.zip 3.6 MB · 0 downloads

    Acredita que funcionou......

    image.png.0731e73aaea604b2c8a384f766fec97c.png

    Simplesmente baixei o executável, colei o mesmo INI que eu vinha efetuando testes para carregar automaticamente as parametrizações e cliquei em GerarToken...

    Surreal....

    Qual a orientação? Apagar toda a pasta do ACBr e criar uma nova, do zero? Essa minha pasta é muito antiga e somente faço o SVN Update..... o interessante e que todas as outras funcionalidades/componente/métodos/rotinas do ACBr que utilizo, estão funcionando sem maiores problemas....

  2. 1 hora atrás, Diego Foliene disse:

    Se você testar com outro certificado em outra rede o resultado é o mesmo?

    @Diego Foliene

    Esse provedor nem usa o certificado para autenticação, basta o usuário e senha.... Só uso o certificado, pois, fica dando problemas se não informar.... De qualquer forma já testei em outra rede em outro equipamento e com diversas compilações.....

    Eu gostaria se fosse possível que você ou Italo compilasse o exemplo e me enviasse.... se eu testar aqui e der certo, apago a pasta da ACBr e clono uma do zero, pois, não sei mais o que pode ser!

  3. 1 hora atrás, Italo Giurizzato Junior disse:

    Boa tarde Marcelo,

    Muito estranho mesmo isso que esta ocorrendo.

    Quais são os valores atribuídos aos campos: SSLLib, CryptLib, HttpLib, XmlSignLib e SSLType (no programa exemplo) ?

    Lembrando que o teste que fiz foi no ambiente de produção.

    Segue as informações solicitadas:

    image.png.1df3dd8d244126d122d14381a7d3a1bf.pngimage.png.1645f55edf016f7afb6aff7055475b62.png

    Você poderia compartilhar o seu arquivo INI e o EXE utilizado para seu teste?

  4. Bom dia @Italo Giurizzato Junior, como vai?

    Já fiz de tudo e meu erro 500 permanece....

    - Testei em um equipamento formatado do zero
    - Compilei no Delphi 10, 10.2 e  11.3
    - Conferi tudo no ACBr (só não clonei uma nova base do ACBr)
    - Testei fora da rede corporativa, em outra internet, etc

    Estou pensando em apagar a pasta do ACBr e Clonar uma nova (Apesar de não apresentar problema nenhum visível)

    Mas antes, poderia me enviar o EXE que você compilou e que seu teste deu certo? Assim uso ele para testar em meu ambiente....

  5. 18 minutos atrás, Italo Giurizzato Junior disse:

    Bom dia Marcelo,

    Usei as suas credenciais fiz um teste em ambiente em produção usando o programa exemplo.

    Testei o método Gerar Token.

    Veja o resultado:

    ------------------------------
    Versão OpenSSL
    OpenSSL 3.1.3 19 Sep 2023
    03.01.00.030
    C:\ACBr\trunk2\Exemplos\ACBrDFe\ACBrNFSeX\Delphi\libcrypto-3.dll
    C:\ACBr\trunk2\Exemplos\ACBrDFe\ACBrNFSeX\Delphi\libssl-3.dll
    ------------------------------
    Requisição
    Ambiente : 1
    Cidade   : Vinhedo/SP
    Provedor : Prescon Versão: 1.00
    Data/Hora: 22/11/2023 10:29:38
     
    Método Executado: Gerar Token
     
    Parâmetros de Envio
     
    Parâmetros de Retorno
    Token         : c9.................a7
    Data Expiracao: 30/12/1899
    Sucesso       : True

    Como você pode ver não ocorreu nenhum erro.

    Troquei os caracteres do Token por pontos para garantir a privacidade da informação.

    Então só pode ter alguma questão com meu equipamento.... antivírus, firewall, etc.... muito estranho...

    Vou compilar o Exemplo e testar em outro equipamento.

    Pode por gentileza me enviar o print das parametrizações que utilizou no exemplo?

  6. 12 horas atrás, Italo Giurizzato Junior disse:

    Bom dia Marcelo,

    Por favor verifica os itens abaixo.

    Você tem fontes com alterações locais?
    Verifica se não tem nenhuma unit do ACBr com uma bolinha vermelha em seu ícone, caso afirmativo delete a unit.
    Atualize todos os fontes de todas as pastas.
    Reinstale o ACBr com a opção de apagar arquivos antigos marcada.
    Compile a aplicação com a opção Build.

    E faça novos testes.

    Não usei as suas credenciais, mas antes estava ocorrendo o erro 500, fiz alguns ajustes na unit do provedor e com isso parou o erro 500.

    Essa alteração foi enviada para o SVN no dia 17/11/2023.

    Pode não ter ocorrido atualização na sua maquina caso a unit esteja com alteração local.

    Olá Italo, como vai?

    • Não tenho fontes com alterações locais.
    • Nenhuma UNIT do ACBr com bolinha vermelha
    • Atualizei novamente, e para garantir que nenhum arquivo ficaria para trás, apaguei a pasta ACBrNFSeX, tanto de exemplos, quanto de fontes
    • ACBr reinstalado removendo os arquivos antigos (deixarei um printo no final de como deixei as opções)
    • Aplicação de exemplo compilada com BUILD, SHIFT+F9, etc.....
    • Eu tomei cuidado de verificar antes se a UNIT Prescon.Provider havia sido atualizada. E estava....

    Opções que deixei marcado para reinstalar o ACBr

    image.png.019dd5a88a9e436e654ec3eb3039cfbe.png

    Fez a instalação corretamente e anexo está o LOG da instalação caso necessário.

    log_Delphi_11_Alexandria_Win32.txt

    E mesmo com todos esses cuidados, continua o mesmo problema (já temos todos os prints acima nesse mesmo ticket)

    Eu autorizo você a utilizar minhas credenciais para efetuar testes em produção.... Até porque o GerarToken não trará nenhum problema adicional.....

    Obrigado pelo empenho!

  7. 2 horas atrás, Italo Giurizzato Junior disse:

    Boa tarde Marcelo,

    Favor atualizar todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes.

    Olá Italo,

    image.thumb.png.272293e9f52b7bf58b64fdd4c49065bf.png

    Minha revisão atual é 31281, eu sempre atualizo todos os fontes e após atualizar instalo novamente o ACBr..... Olhando aqui, não teve nenhuma mudança que possa alterar meus testes caso faça uma nova atualização.

    Você chegou a usar minhas credenciais para efetuar testes? Funcionou com você?

  8. Em 18/11/2023 at 14:51, Italo Giurizzato Junior disse:

    Boa tarde Marcelo,

    Por favor faça os testes usando o programa exemplo.

    Configure o mesmo para salvar os arquivos soap.

    Repita o teste para obter o token.

    Anexe os arquivos soap gerados para que possamos analisar.

    Olá Italo, como vai?

    Todos os testes estão sendo feitos usando o Exmplo, apenas esse que fiz no postman para tirar dúvidas.

    Apenas o arquivo de envio está gerando o SOAP, pois, a exception está sendo gerada antes de salvar em disco o arquivo de retorno.

    A exeption ocorre no método LoadFromXML.

    loaddoc é carregado com nil, pois, não é possível fazer a conversão, mesmo o parâmetro aXmlDocument tendo conteúdo..... olhe os prints:

    image.png.f48c116a3fc2412dfbbe7d624a3c7d2d.png

    image.png.fd2234c2652bd44b324671712ab67a41.png

    O PAnsiChar não consegue definir a cadeia de caracteres corretamente, pois, encontra alguma expressão irregular.

    image.png.f2c717ac519cf004e53f74751b7f8ed9.png

    E por esse motivo a exceptioné criada.

    image.png.a7c0a9cadffddf9cf7692a77d05b67bb.png

    No sábado mesmo, fim de tarde, enviei os arquivos solicitados no e-mail dos consultores, pois, eles contém credenciais e token válidos. Esqueci apenas de avisar por aqui....

    Em um arquivo separado, salvei o conteúdo de AXmlDocument, uma vez que o arquivo não é gerado.

    Qualquer dúvida, estou à disposição.

    E obrigado pelo empenho.

  9. @Diego Foliene

    @Italo Giurizzato Junior

    Estou chegando a conclusão que tem algum problema com o servidor Prescon....

    Resolvi fazer um teste pelo Postman....

    getToken

    image.thumb.png.ac7f5f6c3ef1efec03366ff5800096e6.png

    O Status tem um retorno com ERROR 500, mas o TOKEN é gerado.....

    Então fui seguir com os testes e solicitei o próximo número da minha NFSe usando o token gerado.

    getNextInvoice

    image.thumb.png.bdabbe69e99243a2e2d720e98fc0034f.png

    O status também de ERROR 500, mas me retorno o próximo número da NFSe.... e esse número está correto.

    O próximo passo agora seria entrar em contato com o suporte técnico da Prescon???

    • Curtir 1
  10. Boa tarde Caros colegas, estou efetuando uns testes a fim de implementar a emissão de NFSe em meu aplicativo. Para isso desejo iniciar pela minha cidade. Mas estou enfrentando problemas ao GeraToken.

    Já li tudo que encontrei sobre antes de abrir esse ticket. Inclusive após algumas tentativas pelo Discord, estou seguindo a orientação do @Diego Foliene e deixando aqui as informações centralizadas.

    Quando clico em GerarToken, tenho uma exception:

     image.thumb.png.7dd79a226f88a4b2e991a6fb59bed783.png

    image.thumb.png.91e181ab0eeb7ada1876f063274cfdff.png

    Debugando o código, a exception ocorre exatamente nesse método:

    image.thumb.png.a3506747d70ec400e579422fdb1ba7a8.png

    Como pode ser visto, o AXmlDocument tem conteúdo, mas está com algum elemento com problema e assim não consegue efetuar a conversão PAnsiChar:

    image.png.b78452338b3fe027f84bf603b2e76a28.png

    Desta forma o loadedDoc passa a ser nil e cai diretamente para a criação da exception:

    image.png.8a01f713bb97c84b76c67ade02295db6.png

    Vou encaminhar o conteúdo do AXmlDocument, bem como o INI utilizado para o e-mail dos consultores.

    • Curtir 1
  11. Em 30/06/2022 at 11:14, serginhoott disse:

    Olá, busco componente de integração com a loja virtual Tray, ou programador freelancer que esteja disposto a realizar esse trabalho de desenvolvimento.

    Não precisa de componentes.

    Eu já fiz essa integração e não é tão complicada, basta entender a documentação da API.

    Não consigo desenvolver para você, mas se precisar tirar algumas dúvidas, estou à disposição.

    • Curtir 1
  12. 1 hora atrás, Italo Giurizzato Junior disse:

    Bom dia Marcelo,

    A primeira contribuição sua eu enviei mas com uma mudança, sem a necessidade de criar os enumerados "Nenhum".

    Essa segunda contribuição ainda vou analisar e acredito que esta semana ou a que vem vou enviar.

    Olá Ítalo, 

    Vou conferir e ajustar minhas rotinas aqui.

    Aguardo a publicação da segunda contribuição.

    Obrigado.

  13. Olá pessoal,

    Por uma necessidade de leitura de XML e para manter o padrão do tipo TpcnDeterminacaoBaseIcms, acrescentei o enumerador dbisNenhum e mdiNenhum para os tipos TpcnDeterminacaoBaseIcmsST e TpcnMotivoDesoneracaoICMS.

    Ajustei também os métodos:

    • modBCSTToStrTagPosText
    • modBCSTToStr
    • StrTomodBCST
    • motDesICMSToStr
    • StrTomotDesICMS
    • motDesICMSToStrTagPosText

    Não encontrei a necessidade de ajustar também a unit pcnNFeW.

    Atendeu minha necessidade.

    Por favor vejam se está correto e se autorizam os ajustes.

    pcnConversao.pas

  14. Em 22/02/2022 at 15:50, Juliomar Marchetti disse:

    não faça isso. tu vai gastar banda de seu cliente e também questão de cpu, hd e memoria do seu servidor e seu cliente.

    como dito anterior o correto é tu tem uma API

    e se ainda assim tem que insistir o banco existe no firedac a situação pra tratar corretamente e no zeos também

    pois notei que a primeira msg é via zeos e a outra via firedac

    Sem dúvida nenhuma Juliomar.... O mais correto é API mesmo.

    Como já temos um ERP Desktop, vamos subir a base em nuvem (conexão direta) e ir migrando módulos para consumo da forma correta.

    A intensão do SELECT simples, seria apenas para não perder conexão, mesmo sabendo do custo disso e apenas para teste.

    Uma vez que o cliente não deve manter um registro sendo editado por muito tempo (mesmo com API), a solução correta é recuperar a conexão se ela cair.

    Obrigado pela preocupação e dicas!

    9 horas atrás, Helder Lúcio Dias disse:

    Prezados Marcelo, Leandro e Juliomar,

    Muito obrigado pelas dicas.

    Helder.

    ......................................

    Leandroaoa,
    Funcionou.

    ......................................

    Prezado Marcelo.

    Não tinha utilizado as dicas do Leandroaoa [evento OnRecover (AAction := faRetry)] e 
    [dm.fnn.ResourceOptions.AutoReconnect := true]. Depois delas 

    Mesmo sem gostar, já tinha feito algumas tentativas que não funcionaram.
    Dentro da ApplicationEvents00Exception primeiro tentei um ping. Não funcionou.
    Depois estabeleci um timer de 40 segundos. Quando atingia, executei um select simples.
    O select funcionava, mas não sensibilizou a conexão de edição.

    Para contonar, fiz isso abaixo:

    ...
    var
      vPsa :
        Record
          NR_PSA   : Integer;
          NM_PSA   : String;
          TX_TLFNE : String;
          {...}
        end;

    begin

      vPsa.NR_PSA   := dm.qPSA_edit.FieldByName('NR_PSA').Value;
      vPsa.NM_PSA   := dm.qPSA_edit.FieldByName('NM_PSA').Value;
      vPsa.TX_TLFNE := dm.qPSA_edit.FieldByName('TX_TLFNE').Value;
      {...}

      dm.fnn.Connected := false;
      dm.fnn.Connected := true;

      dm.qPSA_edit.Close;
      dm.qPSA_edit.ParamByName( 'xNR_PSA' ).value :=   vPsa.NR_PSA;
      dm.qPSA_edit.Active := True;

      dm.qPSA_edit.Edit;
      dm.qPSA_edit.FieldByName('NR_PSA').Value := vPsa.NR_PSA;
      dm.qPSA_edit.FieldByName('NM_PSA').Value := vPsa.NM_PSA;
      dm.qPSA_edit.FieldByName('TX_TLFNE').Value := vPsa.TX_TLFNE;
      dm.qPSA_edit.Post;
    ...

    Com a diga do Leandroaoa, não preciso usar esse recurso.

    ......................................

    Juliomar,

    É a primeira vez que iremos hospedar uma base em um ambiente remoto.
    Há muito a aprender.

    Helder.
     

    Muito bom que deu certo Helder.

    Como eu disse acima, fiz um teste em homologação apenas para não perder a conexão.

    Mas o correto nesse cenário e isso mesmo.

    Recuperar a conexão apenas se cair.

×
×
  • 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.