Pesquisar na Comunidade
Showing results for tags 'sicred'.
Encontrado 7 registros
-
Validação CPF/CNPJ no retorno400 do banco Sicred
um tópico no fórum postou Emerson Teixeira ACBrBoleto
boa tarde. para cedentes com CNPJ que tem os 3 primeiros digitos como 0, ex: 00.0XX.XXX/XXXX.XX, ao ler um arquivo de retorno do banco sicred, esta entrando em uma regra que mudava o tipo de inscrição para cnpj, causando erro de cpf invalido. alterei a unit, segue para analise. att ACBrBancoSicredi.pas- 6 replies
-
- acbrboleto
- sicred
-
(e 1 mais)
Tags:
-
Adicionei no TACBrCedente, o campo TipoDesconto. Essa informação deve constar na posição 18 do Segmento R. Foi visto essa necessidade ao homologar uma carteira do Sicred. Na unit ACBrBancoSicredi já fiz a validação no registro da remessa. Segue os arquivos com as alterações. ACBrBancoSicredi.pas ACBrBoleto.pas
-
Olá, Fiz uma correção na função "MontarCampoCodigoCedente" para gerar o utilizado o posto e não o digito da agência, esta informação esta no manual do banco. Anexei somente a parte do manual a que se refere ao composição do código e o fonte com alteração. Sicred-Parte do manual.pdf ACBrBancoSicredi.pas
-
Devido a necessidade de clientes emitirem boleto com atualização de juros e multas pelo site do banco, adicionei na classe do BancoSicred o registro do Segmento R (opcional - remessa) Exclusivo para cadastramento de multa ao título. ACBrBancoSicredi.pas
-
Boa noite, atualmente para gerar o nosso numero eu utilizo da seguinte maneira : with Titulo do begin ... NossoNumero := qryConsulta.FieldByName('controle').AsString; ... end; a informação controle é uma chave unica que tenho do contas a receber, então passando essa informação eu pego o valor do nosso numero atraves da propriedade; Titulo.NossoNumero porém meu problema está nesse ponto, por exemplo, tenho um boleto que gerou o nosso numero 172268926 de acordo com a regra do calculo do banco, mas ao pegar o nosso numero pelo Titulo.NossoNumero está pegando o valor 26892 cortando os números 172268926 (em vermelhos), como posso obter o valor correto do nosso numero uma vez que o proprio componente passa essa informação no arquivo de remessa corretamente ?
-
Pessoal, eu estou validando geração de remessa para o banco Sicred e tudo está indo até bem. Fiz os testes de boletos, gerei a remessa com 10 titulos e passei no validador do banco Sicred normalmente. O problema é que o banco me retornou que no segmento P na coluna 36 deveria vir o digito verificador da conta do cedente. Verifiquei na unit ACBrSicred.pas, no metodo GerarRegistroHeader240 e realmente não está passando nada para esta coluna. Eu alterei aqui nos meus fontes, mas gostaria de saber se podem verificar e corrigir no svn pra que eu possa manter sempre atualizado aqui os fontes. Desde já muito obrigado.
- 3 replies
-
- boleto
- acbrbancosicred
- (e 4 mais)
-
Boa tarde, A geração do código de barras na Unit "ACBrBancoSicredi.pas" está ficando errada. Segue a função modificada. Acabei de homologar os boletos em meu cliente e só passaram nos testes com esta modificação. function TACBrBancoSicredi.MontarCodigoBarras ( const ACBrTitulo: TACBrTitulo) : String; var CodigoBarras, FatorVencimento, DigitoCodBarras, CampoLivre, Modalidade:String; DigitoNum: Integer; begin with ACBrTitulo.ACBrBoleto do begin FatorVencimento := CalcularFatorVencimento(ACBrTitulo.Vencimento); Modalidade := IfThen(Cedente.Modalidade='','1',Copy(trim(Cedente.Modalidade),1,1)); // wNossoNumeroCompleto := OnlyNumber(MontarCampoNossoNumero(ACBrTitulo)); { Monta o campo livre } CampoLivre := Modalidade + { 1-Com registro ou 3-Sem registro. Por enquanto vou deixar 1 mais tenho que tratar menhor essa informação } '1' + { 1-Carteira simples } OnlyNumber(MontarCampoNossoNumero(ACBrTitulo)) + //padR(ACBrTitulo.NossoNumero,8,'0') + { Nosso número + DV } //CalcularDigitoVerificador(ACBrTitulo) + { Dígito verificador do nosso número } padR(OnlyNumber(Cedente.Agencia),4,'0') + { Código agência (cooperativa) } padR(Cedente.AgenciaDigito,2,'0') + { Dígito da agência (posto da cooperativa) } padR(OnlyNumber(Cedente.CodigoCedente),5,'0') + { Código cedente } // Ver manual página 86 - CNAB240 ou 51 - CNAB400 '1' + { Filler - zero. Obs: Será 1 quando o valor do documento for diferente se zero } '0'; { Filler - zero } { Calcula o dígito do campo livre } Modulo.CalculoPadrao; Modulo.MultiplicadorFinal := 9; Modulo.Documento := CampoLivre; Modulo.Calcular; CampoLivre := CampoLivre + IntToStr(Modulo.DigitoFinal); { Monta o código de barras } CodigoBarras := IntToStr( Numero ) + { Código do banco 748 } '9' + { Fixo '9' } FatorVencimento + { Fator de vencimento, não obrigatório } IntToStrZero(Round(ACBrTitulo.ValorDocumento*100),10) + { valor do documento } CampoLivre; { Campo Livre } DigitoCodBarras := CalcularDigitoCodigoBarras(CodigoBarras); DigitoNum := StrToIntDef(DigitoCodBarras,0); if (DigitoNum = 0) or (DigitoNum > 9) then DigitoCodBarras:= '1'; end; Result:= IntToStr(Numero) + '9'+ DigitoCodBarras + Copy(CodigoBarras,5,39); end;