-
Total de ítens
64 -
Registro em
-
Última visita
Contact Methods
-
Website URL
http://www.infus.inf.br
Últimos Visitantes
2.419 visualizações
Giovani Da Cruz's Achievements
-
Boleto Hibrido usando cnab240
Giovani Da Cruz replied to Andre Cristiano Ittner's tópico in ACBrBoleto
O boleto é registrado no banco via API v2 do Sicredi, retorna os dados, tudo ok. Mais a frente o pessoal abre o internet bank e baixa os arquivos de retornos disponíveis. E digamos que em um destes arquivos há disponível a quitação do boleto gerado. Este arquivo de retorno vai conter a seção Y, nela vai ter a url preenchida (SegY, 82, 77) mas nestes casos que peguei, na linha depois onde deveria supostamente ter o TXID (SegY, 159, 35), é completado com espaços em branco. Uma sugestão se código seria na unit ACBrBoleto, separando os campos na validação. Neste caso deixei a segunda validação em comentário, porque o arquivo que estava processando não tinha dados na parte do TXID, assim consegui processar os retornos normalmente. Precisaria avaliar em que situações o campo TXID realmente é obrigatório. procedure TACBrBoletoPIXQRCode.PIXQRCodeDinamico(const AURL, ATXID: String; ATitulo : TACBrTitulo); var LEMV : TACBrPIXQRCodeDinamico; begin if (EstaVazio(AURL)) then raise Exception.Create(ACBrStr('URL é obrigatório!')); // if (EstaVazio(ATXID)) then // raise Exception.Create(ACBrStr('TXID é obrigatório!')); LEMV := TACBrPIXQRCodeDinamico.Create; try LEMV.IgnoreErrors := True; LEMV.MerchantName := ATitulo.ACBrBoleto.Cedente.Nome; LEMV.MerchantCity := ATitulo.ACBrBoleto.Cedente.Cidade; LEMV.PostalCode := Poem_Zeros(ATitulo.ACBrBoleto.Cedente.CEP,8); LEMV.URL := AURL; //LEMV.TxId := ATXID; // aqui já estava em comentário Seturl(AURL); SettxId(ATXID); Setemv(LEMV.AsString); finally LEMV.Free; end; end; Vou ver aqui para deixar o arquivo de retorno com dados fictícios para postar aqui. -
Boleto Hibrido usando cnab240
Giovani Da Cruz replied to Andre Cristiano Ittner's tópico in ACBrBoleto
Isso, quando analiso um arquivo de retorno de uma quitação de boleto, existe o registro Y, existe a url (SegY, 82, 77), mas na posição do TXID (SegY, 159, 35) está em branco. Então quando indico este arquivo de retorno e faço: ACBrBoleto1.LerRetorno; Ocorre a exceção: 'URL e TXID é obrigatório!' -
Boleto Hibrido usando cnab240
Giovani Da Cruz replied to Andre Cristiano Ittner's tópico in ACBrBoleto
Não é exatamente o mesmo. É ao processar arquivos de retorno contendo quitações de boletos híbridos, estou tendo a mensagem 'URL e TXID é obrigatório!' -
Boleto Hibrido usando cnab240
Giovani Da Cruz replied to Andre Cristiano Ittner's tópico in ACBrBoleto
Oi pessoal, estava lendo sobre o tópico e me deparei com uma situação hoje pela manhã. Banco: Sicredi modo de arquivos cnab240 Boleto Híbrido registrado via WebService Ao processar o retorno de um boleto pago no pix, estava ocorrendo um erro 'URL e TXID é obrigatório!' procedure TACBrBoletoPIXQRCode.PIXQRCodeDinamico(const AURL, ATXID: String; ATitulo : TACBrTitulo); var LEMV : TACBrPIXQRCodeDinamico; begin if (EstaVazio(AURL) or EstaVazio(ATXID)) then raise Exception.Create(ACBrStr('URL e TXID é obrigatório!')); ... end; Analisando o arquivo de retorno, o arquivo contém a seção Y, com a URL do pix, mas em branco a parte do TXID ACBrBancoSicredi.pas linha: 2298 if Trim(Copy(SegY,82,77))<>'' then QrCode.PIXQRCodeDinamico(Trim(Copy(SegY,82,77)),Trim(Copy(SegY,159,35)), Titulo); Esta situação já ocorreu com alguém? O boleto foi registrado e quitado normalmente. -
Ajuste no arquivo ACBrBancoUnicredES.pas para a homologação com o UNICred CNAB 240
um tópico no fórum postou Giovani Da Cruz ACBrBoleto
Boa tarde! Verificamos a necessidade de realizar um ajuste, no arquivo ACBrBancoUnicredES.pas para utilizar a opção "Dias para Negativação" O problema ocorre que ao montar o arquivo de remessa, o mesmo utiliza o mesmo valor para dias de protesto e dias de negativação. { Dias para protesto / Negativação } ADias := '00'; if Length(ACodProtesto) > 0 then begin if ACodProtesto[1] in ['1', '2'] then // protesto begin ADias := PadLeft(IntToStr(DiasDeProtesto), 2, '0'); end; if ACodProtesto[1] in ['4', '5'] then // negativação begin ADias := PadLeft(IntToStr(DiasDeNegativacao), 2, '0'); end; end; Também colocamos um ajuste para o código correto para a questão da negativação. if ACodProtesto = '7' then begin ACodProtesto := '4'; end; Com esta versão do arquivo, consegui homologar para CNAB 240. Gostaria de disponibilizar o arquivo para ver se pode ser útil ao projeto. ACBrBancoUnicredES.pas -
Olá. Estamos mantendo uma versão open source do User Control https://github.com/infussolucoes/usercontrol-sd Há diversas melhorias sugeridas por usuários, no entanto estamos atarefados aqui na empresa e não estamos conseguindo fazer as modificações sugeridas. Então estamos contratando freelancers com experiência em manipulação de componentes para realizar algumas melhorias no UserControl. A Suíte permanecerá Open Source. Interessados podem entrar em contato comigo. E-mail: [email protected] Skype: giovani_da_cruz
-
Olá pessoal. Tenho interesse em contratar freelancers para o desenvolvimentos de algum módulos em html 5 Os módulos são integrações por json de sistemas existentes. E-mail para contato: [email protected]
-
Melhoria na function GetOcorrenciasRemessa
Giovani Da Cruz replied to Giovani Da Cruz's tópico in ACBrBoleto
Seguinte, poderia carregar a lista de ocorrências, sem ter que instanciar um objeto. Exemplo: procedure TFrmRemessaCadastro.Button1Click(Sender: TObject); var I: Integer; vList : TACBrOcorrenciasRemessa; begin vList := TACBrBoleto.GetOcorrenciasRemessa(); ComboOcorrencia.Clear; for I := Low(vList) to High(vList) do begin ComboOcorrencia.Items.Add(vList[I].Descricao); ComboOcorrencia.Values.Add(GetEnumName(TypeInfo(TACBrTipoOcorrencia), Integer(vList[I].Tipo))); end; end; -
Olá pessoal! Estava analisando a função function GetOcorrenciasRemessa da unit acbr boleto, gostaria se saber se há possibilidades de deixar a mesma como class function como segue class function TACBrBoleto.GetOcorrenciasRemessa: TACBrOcorrenciasRemessa; var I: Integer; begin SetLength(Result, 41); for I:= 1 to 41 do begin Result[I-1].Tipo := TACBrTipoOcorrencia(I-1); Result[I-1].descricao := cACBrTipoOcorrenciaDecricao[I-1]; end; end; Assim se torna possível o uso da função se precisar instanciar um objeto. Desde já agradeço o retorno.
-
Sim, estou utilizando as dlls de x64. Interessante que funcionava em antes da alteração do endereço, a pesquisa de cnpj funciona normalmente, no x64. Outro detalhe interessante é que testando o exemplo executando no D, funciona, mas no C, mesmo como administrador, da o Erro 500.
-
Encontrei um problema mesmo compilando o programa de exemplo. Delphi 10 Seatle, Windows: Diversos compilação: 64 bits OBS: Colocando o exe gerado na pasta C:\arquivos de programas... Em x32 funciona normalmente. Em x64 em uma pasta comum O erro ocorre: procedure TACBrConsultaCPF.Captcha(Stream: TStream); HTTPGet('https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/captcha/gerarCaptcha.asp'); HTTPMethod( 'GET', AURL ); HTTPSend.HTTPMethod(Method, AURL); aqui a propriedade HTTPSend.ResultCode fica 500. Sendo que depois dará o erro aqui OK := HTTPSend.ResultCode = 200; //... if not OK then raise EACBrHTTPError.Create( 'Erro HTTP: '+IntToStr(HTTPSend.ResultCode)+' '+ HTTPSend.ResultString + sLineBreak + 'URL: '+AURL + sLineBreak + sLineBreak + 'Resposta HTTP:' + sLineBreak + String(AjustaLinhas( AnsiString(RespHTTP.Text), 80, 20) )) ; Detalhe o erro só ocorre na compilação x64 e executando em uma pasta mais restrita ex : c:\Program Files
-
Testando agora, com os fontes atualizados de hoje, verifiquei que o problema foi resolvido com o Fortes. Com fast, não aparece qualquer informação dos dados de entrega. Testado com DANFeRetrato, DANFeRetratoNovo atualizados. conferencia.xml
-
Nos meus testes utilizei o fortes. Vou tentar com o fast para ver se o problema persiste.
-
Olá pessoal. Fazendo alguns testes com o endereço de entrega, percebi um detalhe. O complemento não esta saindo no danfe. No xml, tudo é preenchido corretamente, e o logradouro, número, bairro e etc aparecem automaticamente no danfe, porém o complemento não. Alguém já passou pelo mesmo problema? Talvez seja algo que esteja fazendo errado, mas não consegui identificar.