Ir para conteúdo
  • Cadastre-se

Jhonlenon Ribeiro

Membros
  • Total de ítens

    537
  • Registro em

  • Última visita

  • Days Won

    4

Jhonlenon Ribeiro last won the day on 25 Março 2024

Jhonlenon Ribeiro had the most liked content!

Contact Methods

  • Website URL
    https://ajsistema.com.br/

Últimos Visitantes

3.987 visualizações

Jhonlenon Ribeiro's Achievements

  1. @Victor H. Gonzales - Panda e se validasse por status não daria certo?
  2. Boa tarde @Victor H. Gonzales - Panda realmente remover o for não pode, mais que tal validar com só em cima do c6Bank? porque existe varias formas de fazer o envio. print em anexo.
  3. Testei a ideia do @Antonio Gomes e deu certo...como mostra o print abaixo..unit em anexo ACBrBoletoWS.pas
  4. Bom dia, já tem uns 8 meses que fiz a homologação da emissão do boleto c6Bank via API, até ai tudo certo, quando fiz a homologação do boleto percebi que o componente ACBrBoleto tentava registrar o mesmo boleto 2 vezes, então pensei deve ser erro no meu código, então ignorei o erro e na segunda tentativa dava certo, isso gerando varios boletos dentro de um while, sendo que o envio é individual de cada boleto e não em lote. Então como mesmo dando erro de duplicidade de registro tava dando certo, deixei quieto, então onten o Rodrigo da c6Bank me chamou no zap e falou que a minha integração já tinha registrado mais de 1000 erro de tentativa de registro de boleto no servidor da c6Bank. Então fui analisar a fundo e vi que no if FBoleto.ListadeBoletos.Count > 0 then da unit ACBrBoletoWS no segundo boleto ele ordenava errado e ao inves de pegar o o segundo boleto, pregava era o primeiro boleto causando duplicidade de registro, outros colegas me relataram a mesma coisa também. Fiz uma alteração na unit ACBrBoletoWS e estou postando em anexo para ser analisada se a alteração está correta, pois se trata de uma unit global onde varios bancos usa ela para o registro de boleto. Só alterei essa parte abaixo da unit. function TBoletoWS.Enviar: Boolean; var indice : Integer; LJsonEnvio: String; LUltimoEnvio: TDateTime; begin Banco := FBoleto.Banco.TipoCobranca; Result := False; FBoletoWSClass.FHTTPSend.Timeout := FBoleto.Configuracoes.WebService.TimeOut; try if FBoleto.ListadeBoletos.Count > 0 then begin // Pegando sempre o último registro indice := Pred(FBoleto.ListadeBoletos.Count); // último índice FBoletoWSClass.FTitulo := FBoleto.ListadeBoletos[indice]; LJsonEnvio := FBoletoWSClass.GerarRemessa; Result := FBoletoWSClass.Enviar; FRetornoWS := FBoletoWSClass.FRetornoWS; RetornoBanco.RetWS := FRetornoWS; RetornoBanco.FEnvWS := LJsonEnvio; RetornoBanco.RetornoEnvio(indice); end else if (FBoleto.Configuracoes.WebService.Operacao in [tpConsulta]) then // Apenas Consulta Genérica begin FBoletoWSClass.GerarRemessa; Result := FBoletoWSClass.Enviar; FRetornoWS := FBoletoWSClass.FRetornoWS; RetornoBanco.RetWS := FRetornoWS; RetornoBanco.RetornoEnvio(0); end; except on E: Exception do begin if not Assigned(FBoletoWSClass.RetornoBanco) or ((FBoletoWSClass.RetornoBanco.CodRetorno = 0) and (Trim(FBoletoWSClass.RetornoBanco.Msg) = '')) then DoLog('Falha Envio: ' + ACBrStr(E.Message), logSimples) else DoLog('Erro Envio: ' + ACBrStr(IntToStr(FBoletoWSClass.RetornoBanco.CodRetorno) + sLineBreak + FBoletoWSClass.RetornoBanco.Msg + sLineBreak + E.Message), logSimples); raise; end; end; ACBrBoletoWS.pas
  5. Bom dia...eu estava precisando ocultar o e-mail do tomador na NFS-e Autorizada na hora de gerar o DANFSE...eu uso o fortes report. A situação é o seguinte, se o tomador fornecer o e-mail no cadastra ai fica tudo certo, agora quando ele não tem e-mail eu precisava informar um e-mail cooporativa nosso que seria específico para essa situação, só que quando fosse esse e-mail cooporativo não era pra mostrar no DANFSE...passava apenas no xml. Porque isso? porque para CANCELAR uma NFS-e de serviço a prefeitura só deixa se na emissão da NFS-e estiver sido informado um e-mail válido. Uso o componente ACBrNFSeX e Fortes Report. Tem alguma forma de fazer isso usando o componente ACBrNFSeX?
  6. Boa tarde....eu resolvi o problema e tinha esquecido de postar aqui a solução....tinha 4 propriedade que eu não tinha criado...que são essas. ACBrMail.ReadingConfirmation := False; ACBrMail.IsHTML := False; ACBrMail.TimeOut := 0; ACBrMail.Tag := 0; ACBrMail.DeliveryConfirmation := False; Alguém pode encerrar o tópico.
  7. Boa tarde @Italo Giurizzato Junior deu certo a emissão de nota fiscal de serviço em Santa Fé do Araguaia - TO, obrigado....pode encerrar o tópico.
  8. Boa tarde....teria como incluir a cidade de Santa Fé do Araguaia - TO no ACBrNFSeXServicos do componente ACBrNFSeX? lá usa o provedor MegaSoft. [1718865] ; Incluído em 25/02/2025 Nome=Santa Fé do Araguaia UF=TO Provedor=MegaSoft Versao=2.00 ProRecepcionar=https://santafedoaraguaia.megasoftarrecadanet.com.br/santafedoaraguaia/ws/nfseSOAP ACBrNFSeXServicos.ini
  9. Boa tarde.....depois de algumas atualizações do comoponente ACBrEmail quando crio o componente ACBrEmail em tempo de execução o texto do campo Subject não vai no envio....ACBrMail.Subject :='TESTE'; Envia normal só não vai o Subject Alguém já passou por isso?
  10. @BigWings Bom dia...testei os fontes atualizado no SVN...ficou OK em homologação e produção....pode encerrar o tópico.
  11. Boa noite, eu estou homologando o boleto do Banrisul via API e vi que está sempre setando URL do token e registro do boleto sempre em produção...mesmo setando o ambiente para homologação, em debug vi que o ero está no ifthen FPURL := IfThen(Boleto.Configuracoes.WebService.Ambiente in [tawsProducao, tawsHomologacao], C_URL, C_URL_HOM) e no token também OAuth.URL := IfThen(OAuth.Ambiente in [tawsProducao,tawsHomologacao], C_URL_OAUTH_PROD, C_URL_OAUTH_HOM) Eu alterei a unit ACBrBoletoW_Banrisul e funcionou corretamente em homologação e produção como mostra o print...também anexei a unit alterada. ACBrBoletoW_Banrisul.pas
  12. @HelioNeto esse erro ai é do ambiente de homologação...fica tentando que vc consegui...tentei varias vezes ai consegui aqui... @Victor H. Gonzales - Panda Agora ficou OK...testei aqui ai ficou 100%
  13. @Victor H. Gonzales - Panda não deu certo...mais alterei sua função ai funcionou certo. function TBoletoW_Bradesco.AgenciaContaFormatada(const APadding: Integer): String; var LAgencia, LConta, LZeros: String; LTotalTamanho: Integer; begin { ** Recupera a agência e a conta, removendo zeros à esquerda da conta ** } LConta := RemoveZerosEsquerda(ATitulo.ACBrBoleto.Cedente.Conta); LAgencia := ATitulo.ACBrBoleto.Cedente.Agencia; { ** Define o total de caracteres baseado no parâmetro APadding ** } LTotalTamanho := APadding - (Length(LAgencia) + Length(LConta)); { ** Gera os zeros necessários para completar o tamanho total ** } if LTotalTamanho > 0 then LZeros := StringOfChar('0', LTotalTamanho) else LZeros := ''; { ** Concatena agência, zeros e conta ** } Result := LAgencia + LZeros + LConta; end; // ConsultaDetalhe e Baixa usar 11 digitos LJsonObject.AddPair('negociacao', AgenciaContaFormatada(11)); // No registro do boleto usar 18 digitos LJsonObject.AddPair('cnegocCobr', AgenciaContaFormatada(18)); Obs: não se esqueça de alterar na RequisicaoJson do registro do boleto e depois na RequisicaoConsultaDetalhe e RequisicaoBaixa.
  14. Testei e não deu certo...está formatando errado... "cnegocCobr":"38610041000" - aqui estava correto se fosse na consulta e baixa do boleto. Para registro do boleto "cnegocCobr":"386100000000041000" Tamanho = 18 Para consulta de baixa de boleto "cnegocCobr":"38610041000" Tamanho = 11 @HelioNeto só uma observação, você já conseguiu registrar boleto em homologação com essas credenciais pelo postman? ou por outro meio? Porque talves seja problema nas suas credenciais sem permissão para consumir API de cobrança hibrida.
  15. Mais você está nã entendo, nessa campo cnegocCob tem passar a agencia e conta normal sem acrescentar zero a esquerda na conta, o zero tem ser no meio, agencia + zero + conta = 18 digitos.
×
×
  • 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.