Ola amigos boa tarde, estou implementando a rotina para geração do boleto em meu sistema de retaguarda,
mas quando eu vou popular o Título esta dando erro de variável não instanciada,
no uses coloquei:
uses ACBrBoleto, ACBrBoletoConversao, uDMForte
antes de popular ListadeBoletos estou tentando limpar para ter certeza que não terá nenhum teste já incluido,
e nesta linha esta dando erro:
try
dmBoleto.ACBrBoleto.ListadeBoletos.Clear;
except on E : Exception do
ShowMessage('Erro ! '+ E.ClassName + ' Mensagem: '+E.Message);
end;
Fiz um teste com dados fictícios só para ver se estava gerando, mas nem chega nesta linha,
abaixo segue a rotina completa, para gerar um boleto com dados fictícios, e envio para impressora para teste:
procedure TfrmConfig.btnTesteBoletoClick(Sender: TObject);
var
Titulo : TACBrTitulo;
VQtdeCarcA, VQtdeCarcB, VQtdeCarcC :Integer;
VLinha, logo : string;
i: Integer;
begin
if cbbLayOut.ItemIndex = -1 then
begin
cbbLayOut.ItemIndex := 0;
end;
try
dmBoleto.ACBrBoleto.ListadeBoletos.Clear;
except on E : Exception do
ShowMessage('Erro ! '+ E.ClassName + ' Mensagem: '+E.Message);
end;
dmBoleto.ACBrBoleto.Cedente.FantasiaCedente := 'Nome Fantasia';
dmBoleto.ACBrBoleto.Cedente.Nome := 'Nome do cedente';
dmBoleto.ACBrBoleto.Cedente.Logradouro := 'Logradouro do cedente';
dmBoleto.ACBrBoleto.Cedente.Bairro := 'Bairro do cedente';
dmBoleto.ACBrBoleto.Cedente.Cidade := 'Cidade do cedente';
dmBoleto.ACBrBoleto.Cedente.CEP := 'CEP do cedente';
dmBoleto.ACBrBoleto.Cedente.Telefone := '(xx) 99999-9999';
Titulo := dmBoleto.ACBrBoleto.CriarTituloNaLista;
with Titulo do
begin
Vencimento := Now;
DataDocumento := StrToDate('12345678');
NumeroDocumento := '01';
EspecieDoc := 'DM';
Aceite := atSim ;
DataProcessamento := Now;
Carteira := '09';
NossoNumero := '11122233';
ValorDocumento := StrToCurr('1.00');
Sacado.NomeSacado := 'Nome do Sacado';
Sacado.CNPJCPF := OnlyNumber('87.854.233-78');
Sacado.Logradouro := 'Endereço';
Sacado.Numero := '0';
Sacado.Bairro := 'Bairro';
Sacado.Cidade := 'Cidade';
Sacado.UF := 'UF';
Sacado.CEP := OnlyNumber('12.100-000');
ValorAbatimento := StrToCurrDef('0',0);
LocalPagamento := 'Local Pagto';
ValorMoraJuros := StrToCurrDef('0.00',0);
ValorDesconto := StrToCurrDef('0.00',0);
ValorAbatimento := StrToCurrDef('0.00',0);
DataMoraJuros := StrToDateDef('0.00', 0);
DataDesconto := StrToDateDef('', 0);
DataAbatimento := StrToDateDef('', 0);
DataProtesto := StrToDateDef('', 0);
PercentualMulta := StrToCurrDef('0',0);
Mensagem.text := dbedtMensagem.Text;
OcorrenciaOriginal.Tipo := toRemessaBaixar;
Instrucao1 := PadRight(trim(dbedtInstrucao1.Text),2,'0');
Instrucao2 := PadRight(trim(dbedtInstrucao2.Text),2,'0');
Instrucao3 := '';
QtdePagamentoParcial := 1;
TipoPagamento := tpNao_Aceita_Valor_Divergente;
PercentualMinPagamento := 0;
PercentualMaxPagamento := 0;
ValorMinPagamento := 0;
ValorMaxPagamento := 0;
dmBoleto.ACBrBoleto.AdicionarMensagensPadroes(Titulo, Mensagem);
if cbbLayOut.ItemIndex = 6 then
begin
for i:=0 to 3 do
begin
VLinha := '.';
VQtdeCarcA := length('Descrição Produto/Serviço ' + IntToStr(I));
VQtdeCarcB := Length('Valor:');
VQtdeCarcC := 85 - (VQtdeCarcA + VQtdeCarcB);
VLinha := PadLeft(VLinha,VQtdeCarcC,'.');
Detalhamento.Add('Descrição Produto/Serviço ' + IntToStr(I) + ' '+ VLinha + ' Valor: '+ PadRight(FormatCurr('R$ ###,##0.00', StrToCurr('1') * 0.25),18,' ') );
end;
Detalhamento.Add('');
Detalhamento.Add('');
Detalhamento.Add('');
Detalhamento.Add('');
Detalhamento.Add('Desconto ........................................................................... Valor: R$ 0,00' );
end;
logo:= ExtractFileDir(ParamStr(0)) + '\acbr_logo.jpg';
ArquivoLogoEmp := logo; // logo da empresa
//ShowMessage(logo);
Verso := False; //((cbxImprimirVersoFatura.Checked) and ( cbxImprimirVersoFatura.Enabled = true ));
end;
dmBoleto.ACBrBoleto.GerarRemessa(1);
dmBoleto.ACBrBoleto.Imprimir;
end;