Pessoal, achei um pequeno problema na parte dos descontos no arquivo AcbrBoletoW_Caixa.pas:
// if Integer(TipoDesconto) <> 1 then // Isto aqui parece incorreto!
procedure TBoletoW_Caixa.GerarDescontos;
begin
if Assigned(ATitulo) then
with ATitulo do
begin
if (ValorDesconto > 0) then
begin
Gerador.wGrupo('DESCONTOS');
Gerador.wGrupo('DESCONTO');
Gerador.wCampo(tcDat, '#33', 'DATA', 10, 10, 1, DataDesconto, DSC_DATA_DESCONTO);
// if Integer(TipoDesconto) <> 1 then // Isto aqui parece incorreto!
if TipoDesconto in [tdValorFixoAteDataInformada, tdValorAntecipacaoDiaCorrido, tdValorAntecipacaoDiaUtil] then
Gerador.wCampo(tcDe2, '#34', 'VALOR ', 01, 15, 1, ValorDesconto, DSC_VALOR_DESCONTO)
else
Gerador.wCampo(tcDe4, '#35', 'PERCENTUAL', 01, 15, 1, ValorDesconto, DSC_VALOR_DESCONTO);
Gerador.wGrupo('/DESCONTO');
if ((ValorDesconto2 > 0) and (not Boleto.Cedente.CedenteWS.IndicadorPix)) then
begin
Gerador.wGrupo('DESCONTO');
Gerador.wCampo(tcDat, '#33', 'DATA', 10, 10, 1, DataDesconto2, DSC_DATA_DESCONTO2);
if TipoDesconto in [tdValorFixoAteDataInformada, tdValorAntecipacaoDiaCorrido, tdValorAntecipacaoDiaUtil] then
Gerador.wCampo(tcDe2, '#34', 'VALOR ', 01, 15, 1, ValorDesconto2, DSC_VALOR_DESCONTO2)
else
Gerador.wCampo(tcDe4, '#35', 'PERCENTUAL', 01, 15, 1, ValorDesconto2, DSC_VALOR_DESCONTO2);
Gerador.wGrupo('/DESCONTO');
end;
Gerador.wGrupo('/DESCONTOS');
end;
end;
end;