Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3474 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Modifica arquivo remessa CNAB400 para preencher os campos de informações de desconto que não estavam sendo informados.

 

Segue o código modificado:

 

      { Data do Primeiro Desconto}
      if ( DataDesconto <> 0 ) then
         strDataDesconto := FormatDateTime('ddmmyy', DataDesconto)
      else
         strDataDesconto := IntToStrZero(0, 6);
 
      { Valor do Primeiro Desconto}
      if ( ValorDesconto <> 0 ) then
         strValorDesconto := IntToStrZero( Round( ValorDesconto * 100 ), 13)
      else
         strValorDesconto := IntToStrZero(0, 13);
 
      with ACBrBoleto do
      begin
         MensagemCedente:= '';
         for I:= 0 to Mensagem.count-1 do
             MensagemCedente:= MensagemCedente + trim(Mensagem);
 
         if length(MensagemCedente) > 40 then
            MensagemCedente:= copy(MensagemCedente,1,40);
 
         wLinha:= '1'                                                     +  // ID Registro
                  TipoCedente                                             +  // Identificação do Tipo de Inscrição do Sacado 01 - CPF 02 - CNPJ
                  padR(onlyNumber(Cedente.CNPJCPF),14,'0')                +  // Número de Inscrição do Cedente
                  padR(OnlyNumber(Cedente.Agencia), 4, '0')               +  // Agência
                  padR( Cedente.AgenciaDigito, 1, '0')                    +  // Agência digito
                  padR( OnlyNumber(Cedente.Conta)                         +  // Conta Corrente
                  Cedente.ContaDigito, 9, '0')                            +  // Dígito Conta Corrente
                  padR( '0', 6, '0')                                      +  // Número do Convênio de Cobrança do Cedente fixo zeros: "000000"
                  Space(25)                                               +  // Brancos
                  padR( NossoNumero + DigitoNossoNumero, 12, '0')         +  // Nosso Número + //nosso numero com digito
                  IntToStrZero(ifthen(Parcela > 0, Parcela,1),2)          +  // Número da Parcela: "01" se parcela única
                  '00'                                                    +  // Grupo de Valor: "00"
                  Space(3)                                                +  // Brancos
                  Space(1)                                                +  // Indicativo de Mensagem ou Sacador/Avalista:
                  Space(3)                                                +  // Brancos
                  IntToStrZero( 0, 3)                                     +  // Variação da Carteira: "000"
                  IntToStrZero( 0, 1)                                     +  // Conta Caução: "0"
                  IntToStrZero( 0, 5)                                     +  // Código de responsabilidade: "00000"
                  IntToStrZero( 0, 1)                                     +  // DV do código de responsabilidade: "0"
                  IntToStrZero( 0, 6)                                     +  // Numero do borderô: “000000”
                  Space(4)                                                +  // Brancos
                  wRespEntrega                                            +  // Tipo de Emissão 1-Cooperativa - 2-Cliente
                  padR( trim(Cedente.Modalidade), 2, '0')                 +  // Carteira/Modalidade
                  Ocorrencia                                              +  // Ocorrencia (remessa)
                  padL(trim(NumeroDocumento),  10)                        +  // Número do Documento
                  FormatDateTime( 'ddmmyy', Vencimento)                   +  // Data de Vencimento do Título
                  IntToStrZero( Round( ValorDocumento * 100 ), 13)        +  // Valor do Título
                  IntToStrZero( Banco.Numero, 3)                          +  // Número Banco: "756"
                  padR(OnlyNumber(Cedente.Agencia), 4, '0')               +  // Prefixo da Agência Cobradora: “0000”
                  padR( Cedente.AgenciaDigito, 1, ' ')                    +  // Dígito Verificador do Prefixo da Agência Cobradora: Brancos
                  padL(aEspecie,2)                                        +  // Espécie do Título
                  ATipoAceite                                             +  // Identificação
                  FormatDateTime( 'ddmmyy', DataDocumento )               +  // 32 Data de Emissão
                  padR(AInstrucao1, 2, '0')                               +  // 33 Primeira instrução (SEQ 34) = 00 e segunda (SEQ 35) = 00, não imprime nada.
                  padR(AInstrucao2, 2, '0')                               +  // 34 Primeira instrução (SEQ 34) = 00 e segunda (SEQ 35) = 00, não imprime nada.
                  IntToStrZero( Round( (ValorMoraJuros * 30) *10000 ), 6) +  // Taxa de mora mês
                  IntToStrZero( Round( PercentualMulta * 10000 ), 6)      +  // Taxa de multa
                  wRespEntrega                                            +  // Responsabilidade Distribuição
                  strDataDesconto                                         +  // Data do Primeiro Desconto, Preencher com zeros quando não for concedido nenhum desconto.
                  strValorDesconto                                        +  // Valor do Primeiro Desconto, Preencher com zeros quando não for concedido nenhum desconto.
                  IntToStrZero( 9 , 1)                                    +  // MOEDA 9 BRASIL
                  IntToStrZero( 0, 12)                                    +  // Valor IOF / Quantidade Monetária: "0000000000000"
                  IntToStrZero( 0, 13)                                    +  // Valor Abatimento
                  TipoSacado                                              +  // Tipo de Inscrição do Sacado: 01 - CPF 02 - CNPJ
                  padR(onlyNumber(Sacado.CNPJCPF),14,'0')                 +  // Número de Inscrição do Sacado
                  padL( Sacado.NomeSacado, 40, ' ')                       +  // Nome do Sacado
                  padL( Sacado.Logradouro +' '+ Sacado.Numero,37,' ')     +  // Endereço Completo
                  padL( Sacado.Bairro,15,' ')                             +  // Endereço Bairro
                  padL( Sacado.CEP,8,' ')                                 +  // Endereço CEP
                  padL( Sacado.Cidade,15,' ')                             +  // Endereço cidade
                  padL( Sacado.UF,2,' ')                                  +  // Endereço uf
                  padL( trim(MensagemCedente) ,40,' ')                    +  // Observações/Mensagem ou Sacador/Avalista:
                  DiasProtesto                                            +  // Número de Dias Para Protesto
                  Space(1)                                                +  // Brancos
                  IntToStrZero( aRemessa.Count + 1, 6 );                     // Contador de Registros;
 
         aRemessa.Text:= aRemessa.Text + UpperCase(wLinha);
      end;
   end;

 

 

 

 

ACBrBancoBancoob.zip

João Paulo F. Bellucci

Analista e Programador

  • Este tópico foi criado há 3474 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.