Bom dia, Estou desenvolvendo o layout 400 do Credisis e me deparei com um problema na geração dos arquivos para este banco, a formação do nosso número está diferente do manual.
function TACBrBancoCredisis.MontarCampoNossoNumero (const ACBrTitulo: TACBrTitulo ) : String;
var
ANossoNumero :string;
aAgencia, aConvenio :string;
begin
ANossoNumero := PadLeft(ACBrTitulo.NossoNumero, 6, '0');
aAgencia := PadLeft(OnlyNumber(ACBrBanco.ACBrBoleto.Cedente.Agencia), 4, '0');
aConvenio := PadLeft(OnlyNumber(ACBrBanco.ACBrBoleto.Cedente.Convenio), 6, '0');
Result := IntToStrZero(ACBrBanco.Numero, 3) + CalcularDigitoVerificador(ACBrTitulo) + aAgencia + aConvenio + ANossoNumero;
end;
Esta parte da composição está correta.
function TACBrBancoCredisis.CalcularDigitoVerificador(const ACBrTitulo: TACBrTitulo): string;
begin
Modulo.CalculoPadrao;
Modulo.Documento := ACBrTitulo.NossoNumero; // Aqui está diferente do manual pois o manual diz para gera o digito a partir do CNPJ do beneficiário.
Modulo.Calcular;
if Modulo.ModuloFinal = 0 then
Result := '1'
else
Result := IntToStr(Modulo.DigitoFinal);
end;
O banco me enviou uma mensagem de rejeição justamente por causa deste digito e minha dúvida e se mais alguém teve problema com isto?