Weder Silva Postado 15 Junho Postado 15 Junho Bom dia a todos senhores, Identifiquei um detalhe curioso no ACBrBancoSicredi.pas, no método GerarRegistroTransacao400. Observem o trecho de código abaixo, principalmente o que compõe a posicao 150 (aceite): wLinha:= wLinha + Space(4) + // 079 a 082 - Filler - Brancos IntToStrZero(round(ValorDescontoAntDia * 100), 10) + // 083 a 092 - Valor de desconto por dia de antecipação IntToStrZero( round( LPercentualMulta * 100 ), 4) + // 093 a 096 - % multa por pagamento em atraso Space(12) + // 097 a 108 - Filler - Brancos Ocorrencia + // 109 a 110 - Instrução = "01" Cadastro de título ... ---Anderson ANumeroDocumento + // 111 a 120 - Seu número FormatDateTime( 'ddmmyy', Vencimento) + // 121 a 126 - Data de vencimento IntToStrZero( Round( ValorDocumento * 100 ), 13) + // 127 a 139 - Valor do título Space(9) + // 140 a 148 - Filler - Brancos EspecieDoc + // 149 a 149 - Espécie de documento IfThen(wModalidade = 'A', AceiteStr, ' ') + // 150 a 150 - Aceite do título FormatDateTime( 'ddmmyy', DataDocumento ); // 151 a 156 - Data de emissão Notei que se a wModalidade for "C" esta indo vazio a posição 150 referente ao aceite... e isso faz com que seja recusado a remessa, porem o campo Aceite nessa posição 150 do CNAB 400 não deve vir vazio se a modalidade for "C" ou seja Independentemente de a modalidade ser A (Cobrança Direta/Sicred) ou C (Cobrança Cooperada), o campo Aceite é de preenchimento obrigatório. Deixá-lo em branco (vazio/espaço) fará o validador do banco rejeitar o arquivo, o que de fato esta ocorrendo. Minha sugestão é remover a validação IfThen e deixar apenas a variável AceiteStr informada. Att. Weder
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora