Autor Tópico: Implementando Relatorio  (Lida 1207 vezes)

jfb_augusto

  • Novato
  • *
  • Mensagens: 11
Implementando Relatorio
« Online: Março 01, 2016, 10:44:17 am »
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...).   

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 167
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Implementando Relatorio
« Responder #1 Online: Março 01, 2016, 11:04:49 am »
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.
« Última modificação: Março 01, 2016, 11:09:19 am por Cleidson dos Santos »
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Implementando Relatorio
« Responder #2 Online: Março 01, 2016, 11:20:00 am »
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.

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 167
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Implementando Relatorio
« Responder #3 Online: Março 01, 2016, 11:23:41 am »
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 dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Implementando Relatorio
« Responder #4 Online: Março 01, 2016, 11:39:55 am »
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:
Código: [Selecionar]
$this->Codigo();
Programação/Métodos PHP:
Método Codigo();
Código: [Selecionar]
//$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");
     

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 167
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Implementando Relatorio
« Responder #5 Online: Março 01, 2016, 11:52:09 am »
Obrigado, Haroldo!
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

Jailton

  • Expert
  • *****
  • Mensagens: 2027
Re:Implementando Relatorio
« Responder #6 Online: Março 01, 2016, 12:15:56 pm »
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.

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:
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

jfb_augusto

  • Novato
  • *
  • Mensagens: 11
Re:Implementando Relatorio
« Responder #7 Online: Março 02, 2016, 11:36:14 am »
Valeu pelas dicas vou tentar usar ReportPDF e ver se consigo caminhar.

jfb_augusto

  • Novato
  • *
  • Mensagens: 11
Re:Implementando Relatorio
« Responder #8 Online: Março 08, 2016, 06:52:16 pm »
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.

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Implementando Relatorio
« Responder #9 Online: Março 08, 2016, 08:02:15 pm »
Printcell eh um método php criado. Enviei um exemplo para você, não um código funcional.

jfb_augusto

  • Novato
  • *
  • Mensagens: 11
Re:Implementando Relatorio
« Responder #10 Online: Março 09, 2016, 10:16:49 am »
Sim, eu criei o metodo printcell e nele tento imprimir os detalhes dos itens, mas não consegui sair dai. Vou continuar tentando.

Vandacardoso

  • Avançado
  • ****
  • Mensagens: 272
Re:Implementando Relatorio
« Responder #11 Online: Maio 19, 2016, 12:19:01 pm »
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.

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:


Boa tarde,

Esse Report Designer funciona com o SC?

Jailton

  • Expert
  • *****
  • Mensagens: 2027
Re:Implementando Relatorio
« Responder #12 Online: Maio 19, 2016, 01:01:38 pm »
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.

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:


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).
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.