Ir para conteúdo
  • Cadastre-se

vinicius_santos

Membros
  • Total de ítens

    6
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

vinicius_santos's Achievements

Rookie

Rookie (2/14)

  • Dedicated Rare
  • First Post
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputação

  1. Realmente não existe no DFM. Procurei direto por aqui: http://svn.code.sf.net/p/acbr/code/trunk2/Fontes/ACBrBoleto/FC/Fortes/ACBrBoletoFCFortesFr.dfm
  2. Um exemplo é a documentação do Sicredi. Veja a página 48 do manual do Sicredi. Não está dizendo que é obrigatória, mas me parece que todos os bancos usam este padrão. Poderíamos colocar uma propriedade "ImprimirCPF", ou alguma coisa assim com default False, para manter o padrão atual de funcionamento. Acho que ficaria flexível.
  3. Boa noite. Ao que me parece é padrão colocar o CPF ou CNPJ do nome do pagador. Fiz uma homologação recentemente, e uma das recomendações foram essa. A homologação passou, mesmo sem o CPF ou CNPJ, mas fizeram esta ressalva. Não deveríamos incluir esta alteração? Ou talvez fazer uma propriedade no componente. Cheguei a fazer a alteração para o boleto do Fortes Report. Em anexo um boleto emitido pelo site do Banco do Brasil.
  4. 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;
  5. Boa tarde Juliana, Na procedure TACBrBancoSicredi.GerarRegistroTransacao400, existe a seguinte linha: if trim(CodigoMora) = '' then CodigoMora := 'A'; Porém a classe TACBrTitulo no construtor da classe já seta o fCodigoMora = 12. Se o usuário não preencher o CodigoMora os arquivos de remessa do Sicred ficam errados já que o CodigoMora fica com 2 caracteres ao invés de um. Fiz a seguinte alteração: if (trim(CodigoMora) = '') or ( ( trim(CodigoMora) <> 'A' ) and ( trim(CodigoMora) <> 'B' ) ) then CodigoMora := 'A'; Deixando como está o arquivo de remessa está ficando com 401 posições no arquivo de remessa.
×
×
  • 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.

The popup will be closed in 10 segundos...