Ir para conteúdo
  • Cadastre-se

Breno S.

Membros
  • Total de ítens

    6
  • Registro em

  • Última visita

Breno S.'s Achievements

Rookie

Rookie (2/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputação

  1. ????????????? O que aconteceu com o tópico Juliana??
  2. Olá, Juliana os dados que estamos passando são: Cod. Cedente : 00172 N. da conta : 8700000172-3 Nosso N.: 6045 Ag.: 0586 Orbigado!
  3. Com certeza, você está correta em cada vírgula. Essas condições foram criadas especificamente para um cliente, por questões de receio de "cagada" de mexer no fonte do ACBr. ^^ Essas condições não tem nada ver com o manual. Obrigado!
  4. Então, não comecei a rotina dos boletos da caixa agora, essa tarefa caiu pois o programador responsável pela mudança acima saiu da empresa... com esse código ai ele homologou os boletos, porém toda a vez que se atualiza o ACBr há a necessidade de adicionar essa rotina... e acredito que seria melhor subir pro ACBr (assim como o Akai aqui do fórum e da empresa fez) em vez de alterar toda a hora... sem esse código o boleto gera os números errado e não cai em conta alguma... Obrigado!
  5. Breno S.

    Alterações Boleto Caixa

    Olá, acredito que deva ser feita uma alteração no fonte da caixa: function TACBrCaixaEconomica.MontarCodigoBarras(const ACBrTitulo : TACBrTitulo): String; var CodigoBarras, FatorVencimento, DigitoCodBarras :String; CampoLivre,DVCampoLivre, ANossoNumero : String; {Crz} function PadL(Oque: string; Tamanho: integer; ComOque: char = '0'): string; var FillStr: string; begin Oque := trim(Oque); if Oque = '' then Oque := '0'; Oque := (IntToStr(StrToInt(Oque) )); SetLength(FillStr, Tamanho); FillChar(FillStr[1], Tamanho, ComOque); if Length(Oque) > Tamanho then Result := Copy(Oque, 1, Tamanho) else Result := Copy(FillStr, 1, Tamanho - Length(oque)) + Oque; end; {/Crz} begin FatorVencimento := CalcularFatorVencimento(ACBrTitulo.Vencimento); ANossoNumero := FormataNossoNumero(ACBrTitulo); {Montando Campo Livre} CampoLivre := padR(ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente,6,'0') + CalcularDVCedente(ACBrTitulo) + Copy(ANossoNumero,3,3) + Copy(ANossoNumero,1,1) + Copy(ANossoNumero,6,3) + '4' + Copy(ANossoNumero,9,9); Modulo.CalculoPadrao; Modulo.MultiplicadorFinal := 2; Modulo.MultiplicadorInicial := 9; Modulo.Documento := CampoLivre; Modulo.Calcular; DVCampoLivre := intTostr(Modulo.ModuloFinal); if Length(DVCampoLivre) > 1 then DVCampoLivre := '0'; CampoLivre := CampoLivre + DVCampoLivre; //Alteracao!! if ACBrTitulo.ACBrBoleto.LayoutRemessa = c240 then begin {CRZ} if (ACBrTitulo.Carteira = 'SR') then begin // Esse processo sobrescreve tudo o que foi feito lá em cima.... ANossoNumero := ACBrTitulo.NossoNumero; while (ANossoNumero <> '') and (ANossoNumero[1] = '0') do // Tira zeros à esquerda para não atrapalhar (importante!) begin ANossoNumero := Copy(ANossoNumero, 2, Length(ANossoNumero)); end; CampoLivre := PadL(ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente, 5) + PadL(ACBrTitulo.ACBrBoleto.Cedente.Agencia, 4) + '8' + '7' + PadL(ANossoNumero, 14); end; {/CRZ} end; //.......................................................................... {Codigo de Barras} with ACBrTitulo.ACBrBoleto do begin CodigoBarras := IntToStrZero(Banco.Numero, 3) + '9' + FatorVencimento + IntToStrZero(Round(ACBrTitulo.ValorDocumento * 100), 10) + CampoLivre; end; DigitoCodBarras := CalcularDigitoCodigoBarras(CodigoBarras); Result:= copy( CodigoBarras, 1, 4) + DigitoCodBarras + copy( CodigoBarras, 5, 44); end; Pois como estava não seguia o manuel(pag. 11)... que está em anexo obrigado! ESPCODBARBLOQCOBRANREGIST_16POSICOES.pdf ESPCODBARBLOQCOBRANREGIST_16POSICOES.pdf
×
×
  • 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.