Implementando Relatorio

Bom dia, consegui fazer uma aplicação quase completa pesquisando aqui e ali, cheguei agora na parte de relatórios, mas tenho muitas dúvidas de como utilizar Report PDF, fiz até um relatório, mas as dúvidas são muitas. Primeiro tenho que usar uma imagem de fundo para
ter os labels dos campos? Como posso criar um cabeçalho do relatório? Vi que alguns usam blank para gerar, é mais aconselhável? Se alguém poder dar uma dica ou link para eu pesquisar mais a fundo agradeço. Estou completamente perdido na geração de relatório.
Ex: fiz um relatório com os dados do cliente e os itens de produtos para conserto, o relatório está correto, mas como colocar as Labels (Nome Cliente, Endereço, código do Produto , descrição etc…).

Aconselho você a usar o TCPDF (http://www.tcpdf.org/) ou o FPDF (http://www.fpdf.org/) .

O TCPDF é mais completo e atualizado, o FPDF parou de ser atualizado e tem mais limitações.

O FPDF é mais fácil de aprender e tanto um quanto o outro você pode usar em aplicações do tipo blank.

Na internet você vai encontrar bastante material para as duas classes alem das documentações.

Nunca usei aplicações do tipo ReportPDF devido a sua falta de flexibilidade.

Tem um video que ensina a colocar o cabeçalho no FPDF quando usado no scriptcase.
https://www.youtube.com/watch?v=PgiQpIYQyoQ

Caso queira posso te enviar Exemplos tanto do TCPDF quanto do FPDF.

Falta de flexibilidade no ReportPDF?

Vantagens do ReportPdf sobre usar a classe numa blank:

  1. Filtros: Você pode usar o filtro direto na aplicação numa blank teria que usar uma app de controle para funcionar como filtro.

  2. Régua e parametrizações na app

  3. Área de código livre como na blank

  4. Mascara para os diversos tipos de campos

A liberdade é total na ReportPdf, não sei porque a dificuldade com esse tipo e aplicação.

Haroldo, uso o sc a pouco mais de um ano, e até agora não consegui fazer 10% do que você mencionou.
Talvez seja minha capacidade ou falta de exemplos deste tipo de aplicação.

Cleidson,

Geralmente o programador se atenta no código gerado pelo SC dentro da aplicação.

Em Layout/Código você apaga o que foi gerado e insere seu código la como se estivesse fazendo em uma blank.

Segue um exemplo:

LayoutPDf/Código:

$this->Codigo();

Programação/Métodos PHP:
Método Codigo();

[CODE]//$this->Pdf->AliasNbPages("@TotPag");
[maxlines]=28;
$PAGINA=1;
$LINHA=0;
$ITENS=0;
$PEDIDOID=[pedidoid];
$_sql=“SELECT ProdutoCodigo,Descricao,Quantidade,Unidade,PrecoUnitario”
.",ROUND((1-(ValorItem/(Quantidade*PrecoUnitario)))*100.00,2),ValorItem"
." FROM pedido_itens"
." WHERE PedidoId = ‘$PEDIDOID’";

sc_select(ds,$_sql);
If (!Empty($ds)){
while (!$ds->EOF){
$LINHA++;
$ITENS++;
IF ($LINHA==1) {
MontaPreImpresso($PAGINA);
MontaCabecalho();
}
$LINHA=$LINHA+(MontaItem($ds->fields[0],$ds->fields[1],$ds->fields[2],$ds->fields[3],$ds->fields[4],$ds->fields[5],$ds->fields[6],$LINHA));
IF ($LINHA>=[maxlines]) {
IF ($PAGINA==1) MontaTotais();
$PAGINA++;
[maxlines]=38;
PrintCell(05,290,‘Pag ‘.$this->Pdf->PageNo().’/’.$this->Pdf->getNumPages(),200,2,‘C’,“times,I,8”);
PrintCell(05,290,“Continua na proxima página–>”,205,2,“R”,“times,I,7,90”);
IF ($ITENS<{total_itens}) $this->Pdf->AddPage();
$LINHA=0;
}
$ds->MoveNext();
}
$ds->Close();
}
IF ($PAGINA==1 && $LINHA<[maxlines] ) MontaTotais();
PrintCell(05,290,‘Pag ‘.$this->Pdf->PageNo().’/’.$this->Pdf->getNumPages(),205,2,‘C’,“times,I,8”);
[/CODE]

Obrigado, Haroldo!

Mas sempre estamos cobrado para futuras versões uma ferramenta externa da própria NETMAKE que gerasse os templates em XML dos relatórios que o SC, carregaria depois, ai o relatório poderia ser feito visualmente:

Valeu pelas dicas vou tentar usar ReportPDF e ver se consigo caminhar.

Haroldo
Cara desculpe o incomodo, mas não consegui usar esse exemplo, da erro no printcell, no meu caso eu tenho 2 tabelas
1 tem cliente, nr.nota na outra os itens codigo do item descrição, vlr e qtd,a cheve é o nr nota estou tentando fazer um relatório que na realidade é um orçamento, com os dados do cliente no cabeçalho e os itens para cotação no detalhe, com os totais no rodapé. Tem como me dar uma idéia.

Printcell eh um método php criado. Enviei um exemplo para você, não um código funcional.

Sim, eu criei o metodo printcell e nele tento imprimir os detalhes dos itens, mas não consegui sair dai. Vou continuar tentando.

Boa tarde,

Esse Report Designer funciona com o SC?

Não é apenas uma sugestão para próximas versões do SC, tanto para facilitar a confecção de relatórios como layout de telas personalizadas.

WYSIWYG é o acrônimo da expressão em inglês “What You See Is What You Get”, cuja tradução remete a algo como “O que você vê é o que você obtém” (OQVVEOQVO).