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í

Foi útil?

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;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top