Gere QrCode no ReportBuilder com múltiplas linhas de dados
-
26-12-2019 - |
Pergunta
Então aqui está o que está acontecendo
Estou trabalhando com 2dDBbarCode no ReportBuilder (Digital Metaphors) para gerar um QrCode que codifique todos os itens (produtos) do relatório, um item por linha.Mas ele codifica apenas a primeira linha de dados.O código de barras 2dDB está posicionado na banda Header do Relatório.
Como posso ter várias linhas de dados dentro do 2dBDbarcode?
Já dei uma olhada no guia do rbuilder em http://www.digital-metaphors.com/pdf/rbuilder.pdf mas não consigo tirar nada daí
Solução
Na verdade, encontrei uma maneira de contornar esse problema.em vez de criar um pipeline de relatório para obter dados do banco de dados diretamente dentro do 2dbarcode, estou passando os dados antes de abrir o relatório.O código agora é:
with DataModule2.Sql_IdQtd1 do
begin
Close;
SQL.Clear;
Sql.Add('select concat("when ",id_produto," then ",quant) from mv_vendas_movimento');
Sql.Add('where controle=:NumPed');
ParamByName('NumPed').Value := NumPed;
ExecSQL;
Open;
First;
-- here it goes thru each row of data and store it to 2dbarcode.data, one row by line
DataModule2.p2dbrcd1.Data := 'UPDATE cad_produtos SET estoque = estoque + CASE id';
while (not Eof) do begin
DataModule2.p2dbrcd1.Data := DataModule2.p2dbrcd1.Data +sLineBreak+ DataModule2.Sql_IdQtd1concatwhenid_produtothenquant.Text;
Next;
end;
DataModule2.p2dbrcd1.Data := DataModule2.p2dbrcd1.Data +sLineBreak+ 'ELSE estoque END'
end;