Ir para conteúdo
  • Cadastre-se

Waldir Paim

Moderadores
  • Total de ítens

    610
  • Registro em

  • Última visita

  • Days Won

    4

Tudo que Waldir Paim postou

  1. Oi @Daniel Simoes Não existe mesmo esse método no antecessor no pascal, mas como utilizo delphi e ele critica também para o c++ builder ele está gritando aqui que o esse método no c++ está conflitando os nomes. A solução mais simples seria mesmo mudar a assinatura ou matar o aviso ativando essa diretiva {$WARN DUPLICATE_CTOR_DTOR OFF} no ACBr.inc. {$IFDEF REMOVE_CAST_WARN} {$WARN IMPLICIT_STRING_CAST OFF} {$WARN IMPLICIT_STRING_CAST_LOSS OFF} {$WARN SYMBOL_DEPRECATED OFF} {$WARN DUPLICATE_CTOR_DTOR OFF} {$ENDIF}
  2. Oi @BigWings, Realmente nesse caso para o envio síncrono resolveria. Mas no entanto a alteração proposta também serviria para os Sefaz que não aceitam o NFC-e no modo proposto e ainda para o NF-e que pelo que sei não pode ser enviado dessa forma. Então se a conexão está ativa no servidor outras requisições também são resolvidas com muito mais agilidade pois teoricamente não precisariam mas resolver a conexão se acontecer antes do fim do timeout do keepalive.
  3. @Luciano. Essas cooperativas regionais acabam gerando essa dor de cabeça para gente. Eu acredito que uma unit nesse caso ajudaria mas ela mesma teria suas variações, pois já vi Unicred utilizando Banco do Brasil, Bradesco e agora com layout próprio. Estamos ai para ajudar, se resolver criar uma post ai que vamos se ajudando.
  4. Oi @Arnaldo Cruz Que bom que resolveu te colocamos no pário, não podemos fazer feio perante outras linguagens, principalmente tratando-se de linguagens interpretadas como java e afins.
  5. Oi @Luciano Eu resolvi assim: function CodBancoCobranca(ANumBanco: integer): integer; begin case ANumBanco of 112, 136: result := 237; else result := ANumBanco; end; end; Numa função interna no sistema quando o banco é 112 e 136 eu uso 237 para instancia o ACBr. Com isso o Unicred passa ser para o ACBr o Bradesco. Eu até propus uma classe especifica mas não tive resposta e resolvi fazer dessa forma e está funcionado.
  6. Oi @Arnaldo Cruz Não vai resolver mesmo. Isso precisa compor a requisição http e como te disse o synapse não incluiu por padrão essa informação no cabeçalho da requisição. O keepalive será adicionado a requisição se utilizar a unit que anexei. Faz o teste mas troca o KeepAliveTimeout para 100 em vez de 300 como está na unit. Veja nesse link: https://groups.google.com/forum/#!msg/nfephp/YUwX8a1RpWw/sKk5dDi85-gJ O servidor do sefaz do meu estado tem esse recurso e com isso posso utiliza-lo. Bem provável que o Sefaz Virtual do RS, que é o que o Sefaz do PB utiliza tenha e você também pode utilizar.
  7. @Daniel Simoes Muito obrigado, dessa forma o código está ficando cada vez mais limpo e com isso a IDE passa ser nossa amiga. Fiz um ajuste que a principio parece ser tolo, mas faz sentido se não quiser trocar o nome do método. type { EACBrDFeException } EACBrDFeException = class(Exception) public constructor Create(const Msg: String); constructor CreateDef(const Msg: String; Def : string=''); end; Veja no trecho acima que adicionei um parâmetro extra no método CreateDef; Esse warning já foi citado aqui e esse alteração deve remover esse tipo de aviso. http://www.projetoacbr.com.br/forum/topic/29259-w1029-duplicate-constructor-eacbrdfeexceptioncreatedef/ Se está igual a declaração no C++, adicionei um parâmetro extra mas sem uso e com isso remove esse aviso. A outra alternativa seria remover esse metodo e utilizar somente Create que também resolveria, mas isso geraria impacto em outras units. ACBrDFeException.pas
  8. Oi @Arnaldo Cruz Veja primeiro a explicação do que é Keep Alive Agora depois de entender o que é vamos as respostas: TimeOut é o tempo que o client espera uma resposta do servidor. e keep alive é o contrário disso, é o tempo que o servidor vai manter a conexão ativa te esperando você voltar a fazer outra requisição.Veja isso é um recurso do servidor e o client que precisa dizer quer que permaneça ativa que ele vai voltar e fazer novas requisições. Um exemplo claro disse é o envio assíncrono, nele o component envia a DF-e e em seguida espera uma resposta, essa "espera" terá que resolver toda negociação de conexão novamente, mas com o keep-alive esse não é mais necessário pois o servidor sabe que você vai voltar para pedir para ele o status do documento e mantem sua conexão ativa por N segundos. Uma conexão ativa você não precisa fazer toda a negociação novamente e vai direto ao ponto e com isso a transação fica muito mais rápida.
  9. @Igor Bastos Veja, o pessoal aqui é bem rigoroso na questão de não mudar o contexto do assunto. Uma dica. Pesquise antes no forum sobre suas duvidas e se não encontrar crie os tópicos separados de cada assunto. Que bom que resolveu.
  10. Qual dessa DANFes você atribuiu no objeto DANFe if(Assigned(ACBrNFe1.DANFE))then Quem é ACBrNFe1.DANFE ??? Deve ser um dos tipos ACBrNFeDANFeESCPOS ou ACBrNFeDANFCeFortes ou ACBrDANFCeFortesFrA4 pois é nesse cara que será o motor da sua impressão.
  11. @Arnaldo Cruz Ajuste o KeepAliveTimeout de 300 para 100 e faça os testes. Aqui estou conseguindo autorizações em torno de 4 a 5 segundos. Produção ou Homologação? >>>>>>>.Homologação Qual o certificado utilizado? >>>>>>>>A1 Qual SEFAZ aplicou os testes?>>>>>>MT Qual seu ambiente de desenvolvimento? Delphi se sim qual versão?>>>>>> Delphi Berlin 10.2 Qual sistema operacional? >>>>> Win10 64bits processador I7 Qual antivirus? >>>>>>>Windows Defender Qual HD (Solido ou Disco)? >>>>>>SSD 240GB O que é Connection Keep-alive? http://pt.stackoverflow.com/questions/78317/o-que-é-connection-keep-alive Em outras liguagens esse recurso é padrão e como synapse é antiga precisa ser ativada.
  12. Oi Igor, Mas qual modelo do DANFe atribuído no ACBrNFe? Vai ser nesse cara que sua impressão será disparada.
  13. Da uma conferida na forma que está chamando a impressão e qual modelo de DANFe está atribuido. Você deve estar usando o modelo de DANFE A4 disponivel na unit ACBrDANFCeFortesFrA4.
  14. @Arnaldo Cruz Bom dia, Sua comparação é bem oportuna mas requer um pouco mais de detalhes do ambiente em que foi feito tal comparação, principalmente no que diz respeito ao ambiente usando o ACBr. Pode nos dizer qual AMBIENTE foi aplicado os testes? Produção ou Homologação? Qual o certificado utilizado? Qual SEFAZ aplicou os testes? Qual seu ambiente de desenvolvimento? Delphi se sim qual versão? Qual sistema operacional? Qual antivirus? Qual HD (Solido ou Disco)? Tudo isso influencia no resultado final. Se está disposto a nos por nesse jogo faça um teste por favor: Ativa a diretiva USE_MINGW e segue as dicas de como utilizar: http://www.projetoacbr.com.br/forum/search/?q=USE_MINGW+ Apliquei uma alteração na unit ACBrDFeOpenSSL onde ativei o KeepAlive. Segue unit para teste: ACBrDFeOpenSSL.pas
  15. Segue mais units com remoção de avisos. ACBrBALUranoPOP.pas ACBrBALLider.pas ACBrDFeOpenSSL.pas ACBrEAD.pas Segue unit do BASA com correção final ACBrBancoAmazonia.pas
  16. Segue units com correção de Warning. Ambas estavam sem atribuição de retorno da função de leitura de peso. ACBrBALRinnert.pas ACBrBALMuller.pas
  17. De primeira eu já tinha removido ela, mas como não analisei o código do método CalcularTamMaximoNossoNumero preferi manter e removi só o hint. Se preferir mantenha o código original e em seguida faço uma analise na CalcularTamMaximoNossoNumero e verifico se realmente se faz necessário a chamada dela.
  18. Segue units alterada para remover avisos na IDE. Na unit do Bradesco apenas uma variável sem uso. Na unit do Banco da Amazônia fiz alguns alterações para remover os avisos e ainda simplifiquei um pouco o código que gerava bastante hints. ACBrBancoBradesco.pas ACBrBancoAmazonia.pas
  19. @alessandro pancotte Fiz um ajuste e agora primeira testa pelo nome e só se não encontrar faz o teste para verificar se é impressora na rede. Segue unit alterada. ACBrDevice.pas
  20. @Daniel Simoes Posso avaliar sim, ainda hoje me organizo para fazer uns testes aqui.
  21. @Daniel Simoes A finalização proposta está correta e o funcionamento também. A implementação existente gerava um leak interno na lib pois não obedece a ordem de finalização.
×
×
  • 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.