o programa esta entrando no else desse if, que no qual esta correto, pois a carteira é a 109.
{Cobrança sem registro com opção de envio de arquivo remessa}
if (wCarteira = '102') or (wCarteira = '103') or
(wCarteira = '107') or (wCarteira = '172') or
(wCarteira = '173') or (wCarteira = '196') then
begin
ANossoNumero := MontarCampoNossoNumero(ACBrTitulo);
wLinha:= '6' + // 6 - FIXO
'1' + // 1 - FIXO
PadLeft(OnlyNumber(Cedente.Agencia), 4, '0') + // AGÊNCIA MANTENEDORA DA CONTA
'00' + // COMPLEMENTO DE REGISTRO
PadLeft(OnlyNumber(Cedente.Conta), 5, '0') + // NÚMERO DA CONTA CORRENTE DA EMPRESA
PadRight(Cedente.ContaDigito, 1) + // DÍGITO DE AUTO CONFERÊNCIA AG/CONTA EMPRESA
PadLeft(Carteira,3,' ') + // NÚMERO DA CARTEIRA NO BANCO
PadLeft(NossoNumero, 8, '0') + // IDENTIFICAÇÃO DO TÍTULO NO BANCO
Copy(ANossoNumero, Length(ANossoNumero), 1) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Digito aqui
porém identifiquei que no else onde ele acessa realmente não faz a concatenação com o DV, conforme abaixo:
wLinha:= '1' + // 1 a 1 - IDENTIFICAÇÃO DO REGISTRO TRANSAÇÃO
PadLeft(ATipoCedente,2,'0') + // TIPO DE INSCRIÇÃO DA EMPRESA
PadLeft(OnlyNumber(Cedente.CNPJCPF),14,'0') + // Nº DE INSCRIÇÃO DA EMPRESA (CPF/CGC)
PadLeft(OnlyNumber(Cedente.Agencia), 4, '0') + // AGÊNCIA MANTENEDORA DA CONTA
'00' + // COMPLEMENTO DE REGISTRO
PadLeft(OnlyNumber(Cedente.Conta), 5, '0') + // NÚMERO DA CONTA CORRENTE DA EMPRESA
PadRight(Cedente.ContaDigito, 1) + // DÍGITO DE AUTO CONFERÊNCIA AG/CONTA EMPRESA
space(4) + // COMPLEMENTO DE REGISTRO
'0000' + // CÓD.INSTRUÇÃO/ALEGAÇÃO A SER CANCELADA
PadRight(SeuNumero, 25, ' ') + // IDENTIFICAÇÃO DO TÍTULO NA EMPRESA
PadLeft(NossoNumero, 8, '0') + // IDENTIFICAÇÃO DO TÍTULO NO BANCO
Mas não teria que ter a concatenação para esse caso, visto que ao gerar o boleto o DV é impresso corretamente?