Autor Tópico: Report Pdf usando 3 subselect  (Lida 1106 vezes)

rodrigo_alves_bento

  • Novato
  • *
  • Mensagens: 6
Report Pdf usando 3 subselect
« Online: Abril 14, 2016, 02:56:40 pm »
Prezados,

          Boa tarde ! Estou com um problema que tem meu causado muita dificuldades e não encontrei a forma de resolve-lo.

* Criei um Relatório de Orçamento, onde tenho Dados de um cliente e seu respectivo veiculo, logo em seguida criei 3 sub-selects, nos seguintes moldes:

1° - Traz a relação das peças usadas.
2° - Traz a mão de obra a ser aplicada.
3° - Traz as formas de pagamento.
 
       Até este momento tudo funciona, porém quando um dos sub-selects tem muitas informações ele sobrepõe começa a sobrepor as informações, eu gostaria de saber como fazer para que em um caso desse fosse criado uma outra pagina para os sub-selects posteriores.

Att

Rodrigo Bento

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 176
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Report Pdf usando 3 subselect
« Responder #1 Online: Abril 14, 2016, 03:15:57 pm »
rodrigo_alves_bento, poste uma imagem do erro para facilitar o entendimento.
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

rodrigo_alves_bento

  • Novato
  • *
  • Mensagens: 6
Re:Report Pdf usando 3 subselect
« Responder #2 Online: Abril 15, 2016, 05:30:21 pm »
Prezados, conforme solicitado segue imagem observe que o serviços e mão de obravam avançam sobre as informações financeiras.


Atenciosamente,

rodrigo

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 176
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Report Pdf usando 3 subselect
« Responder #3 Online: Abril 15, 2016, 06:10:01 pm »
Verifica o valor que você esta setando para eixo Y do terceiro suselect
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

rodrigo_alves_bento

  • Novato
  • *
  • Mensagens: 6
Re:Report Pdf usando 3 subselect
« Responder #4 Online: Abril 18, 2016, 11:09:39 am »
Bom dia !

          Não consegui entender muito bem sua pergunta mas segue a parte do código que trata informações de Produtos e Serviços:


//*********************************** PRODUTOS *************************************



            foreach ({produtos} as $NM_ind => $Dados)
            {
                sc_pdf_print_sub_sel($cell_produtos_qtde[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_codigo[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_produto[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_g_km[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_g_meses[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_vl_unit[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_valor[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_fornecedor[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_xid[$NM_ind]);
                sc_pdf_ln(5);
            }
sc_pdf_set_y(160); // Encerramento da parte deprodutos

//*********************************** SERVIÇOS *********************************************
            foreach ({servicos} as $NM_ind => $Dados)
            {
                sc_pdf_print_sub_sel($cell_servicos_qtde[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_codigo[$NM_ind]);
                sc_pdf_print_sub_sel_mult($cell_servicos_produto[$NM_ind], 4.2333333333333);
                sc_pdf_print_sub_sel($cell_servicos_g_km[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_g_meses[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_vl_unit[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_valor[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_func[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_xid[$NM_ind]);
                sc_pdf_ln(5);
            }
sc_pdf_line(5,150,205,150);
sc_pdf_line(5,160,205,160);
sc_pdf_text('10','155', 'Qtde.');   
sc_pdf_text('25','155', 'Codigo.');
sc_pdf_text('45','155', 'Servicos e Mao de Obra.');
sc_pdf_text('110','155', 'G.KM/mes.');
sc_pdf_text('145','155', 'Vl. Unit.');
sc_pdf_text('175','155', 'Vl. Total.');

sc_pdf_set_y(205); // Encerramento do serviços


Atenciosamente

Rodrigo

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 176
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Report Pdf usando 3 subselect
« Responder #5 Online: Abril 18, 2016, 01:53:43 pm »
Verifique a posição que os dados do terceiro bloco. Você esta setando o eixo Y em 205 mude para 230 por exemplo e veja o resultado.

sc_pdf_set_y(205); // Encerramento do serviços
sc_pdf_set_y(230); // Encerramento do serviços
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

rodrigo_alves_bento

  • Novato
  • *
  • Mensagens: 6
Re:Report Pdf usando 3 subselect
« Responder #6 Online: Abril 19, 2016, 09:58:14 am »
Cleidson,

        Obrigado pela atenção que tem me dado, mas na verdade não queria alterar o eixo y uma vez que estou delimitando o tamanho do subselect o que eu gostaria e que alcançado o tamanho máximo do eixo y automaticamente fosse criada uma nova pagina para terminar de preencher as informações.

Atenciosamente,

Rodrigo

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 176
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Report Pdf usando 3 subselect
« Responder #7 Online: Abril 28, 2016, 11:57:29 pm »
Você pode fazer da seguinte forma.
  • Usar a função sc_pdf_get_y() para obter a posição do eixo Y
  • Usar um IF, para verificar se o valor do eixo Y é o que você quer
  • Se o valor do eixo Y for o que você quer, use a função sc_pdf_add_page ("orientacao") que vai adicionar uma nova pagina

Verifica se isso te atende, se não atender é só avisar.
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

rodrigo_alves_bento

  • Novato
  • *
  • Mensagens: 6
Re:Report Pdf usando 3 subselect
« Responder #8 Online: Maio 02, 2016, 10:05:12 am »
Bom dia Cleiderson,

              O Sr. consegue me dar um exemplo como funcionária este IF ?

Atenciosamente,

Rodrigo Bento

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 176
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Report Pdf usando 3 subselect
« Responder #9 Online: Maio 09, 2016, 09:54:53 am »
$pdf->GetY() = Retorna o valor usado no eixo Y
$aux = tamanho das linhas do seu relatório exemplo 6, 8 ...
$h = Altura da pagina menos altura do rodapé.

if($pdf->GetY()+$aux>=$h){

   $pdf->AddPage();
}
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

rodrigobento

  • Novato
  • *
  • Mensagens: 4
    • Email
Re:Report Pdf usando 3 subselect
« Responder #10 Online: Maio 10, 2016, 02:16:20 pm »
Prezado Cleiderson,

            Seu auxilio tem sido muito útil, vou lhe mandar abaixo como ficou o código fonte para que vc possa ter uma ideia de como implementei, contudo observe que ao criar uma nova pagina ele não gera a estrutura da pagina anterior, tem como resolver isso ?


            foreach ({produtos} as $NM_ind => $Dados)
            {

                sc_pdf_print_sub_sel($cell_produtos_qtde[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_codigo[$NM_ind]);
                sc_pdf_print_sub_sel_mult($cell_produtos_produto[$NM_ind], 3.4577777777778);
                sc_pdf_print_sub_sel($cell_produtos_g_km[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_g_meses[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_vl_unit[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_valor[$NM_ind]);
                sc_pdf_print_sub_sel($cell_produtos_fornecedor[$NM_ind]);
                sc_pdf_ln(4);
$pdf->GetY();
$aux = 9;
$h = 170;

if($pdf->GetY()+$aux>=$h){

   $pdf->AddPage(Retrato);
   }
         }

sc_pdf_set_y(170);


            foreach ({servicos} as $NM_ind => $Dados)
            {
                sc_pdf_print_sub_sel($cell_servicos_qtde[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_codigo[$NM_ind]);
                sc_pdf_print_sub_sel_mult($cell_servicos_produto[$NM_ind],  2.211);
                sc_pdf_print_sub_sel($cell_servicos_g_km[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_g_meses[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_vl_unit[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_valor[$NM_ind]);
                sc_pdf_print_sub_sel($cell_servicos_fornecedor[$NM_ind]);
                sc_pdf_ln(4,5);
            
            }


sc_pdf_set_y(220);


            foreach ({financeiro} as $NM_ind => $Dados)
            {
                sc_pdf_print_sub_sel($cell_financeiro_parcela[$NM_ind]);
                sc_pdf_print_sub_sel($cell_financeiro_n_doc[$NM_ind]);
                sc_pdf_print_sub_sel($cell_financeiro_valor[$NM_ind]);
                sc_pdf_print_sub_sel($cell_financeiro_data_venc[$NM_ind]);
                sc_pdf_print_sub_sel($cell_financeiro_data_pgto[$NM_ind]);
                sc_pdf_print_sub_sel($cell_financeiro_documento[$NM_ind]);
            sc_pdf_ln(4);
                //sc_pdf_sub_sel_end(5);
            }
sc_pdf_set_y(240);
          /*-------------------------------------------*/

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 176
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Report Pdf usando 3 subselect
« Responder #11 Online: Maio 10, 2016, 02:34:09 pm »
Rodrigo, não vou conseguir te ajudar muito com a aplicação report_pdf.

Para evitar estes contratempos, uso a classe TDPDF ou FPDF em uma aplicação do tipo blank.
Desta forma consigo desenvolver os relatórios com mais flexibilidade, talvez alguém do fórum consiga tirar sua duvida.

Se for fazer usando uma das classes que citei, pode contar comigo.
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

rodrigo_alves_bento

  • Novato
  • *
  • Mensagens: 6
Re:Report Pdf usando 3 subselect
« Responder #12 Online: Maio 11, 2016, 04:03:49 pm »
Cleideson,
 
          Boa Tarde ! Conseguiu sim me ajudar muito, ja deu para entender melhor o meu caso em especifico, gostaria de saber se vc tem a documentação que possa me ajudar para fazer o relatório TDPDF ou FPDF.

Atenciosamente,

Rodrigo Bento

               

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 176
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Report Pdf usando 3 subselect
« Responder #13 Online: Maio 11, 2016, 04:05:22 pm »
Tenho sim, envio para o seu e-mail.
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862