Pesquisa

Como posso fazer para sair as vias original duplicado e triplicado dum PDF duma vez?

Original
2 (100%)
DUPLICADO
0 (0%)

Votos Totais: 2

Autor Tópico: Impressão de duplicados e triplicados  (Lida 2958 vezes)

mrreixa00

  • Novato
  • *
  • Mensagens: 3
    • Email
Impressão de duplicados e triplicados
« Online: Maio 21, 2011, 03:06:43 pm »
Preciso de imprimir uma fatura em triplicado e cada uma das vias tem de estar indentificada por ex: Original, duplicado ou triplicado.
Como posso fazer isso?
Já tentei de várias formas mas ainda não consegui.
« Última modificação: Maio 21, 2011, 03:08:41 pm por mrreixa00 »

j.arteiro

  • Administrator
  • Novato
  • *****
  • Mensagens: 29
  • Suporte Netmake - Scriptcase
    • Netmake Soluções em Informática
    • Email
Re: Impressão de duplicados e triplicados
« Responder #1 Online: Maio 23, 2011, 04:23:20 pm »
A solução mais parecida com a sua necessidade, não perfeita, seria chamar em abas diferentes a mesma aplicação report pdf.

Dessa forma, o usuário irá imprimir dois pdfs, gerando duas vias de registros.

Estava testando com a função SQL: REPEAT, mas infelizmente não conseguir gerar uma solução interessante com a mesma.
Atenciosamente,
José Arteiro Teixeira
Suporte Netmake

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: Impressão de duplicados e triplicados
« Responder #2 Online: Maio 24, 2011, 10:22:41 am »
Seguinte,

Visto que com o Report PDF não é possível fazer, ou pelo menos difícil, eu faria uma página formatando o relatório. Usaria uma repetição for para imprimir 3 vezes na página, para cada uma mandaria escrever uma tag: original na primeira repetição, duplicado na segunda e triplicado na terceira e para quebrar na impressão usaria uma marcação CSS que faz essa quebra. Faria um controle para filtrar a duplicata e usaria o sc_redir para chamar a página em questão.

Não testei, mas acho que funciona perfeitamente.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

mrreixa00

  • Novato
  • *
  • Mensagens: 3
    • Email
Re: Impressão de duplicados e triplicados
« Responder #3 Online: Maio 28, 2011, 02:25:23 am »
Já consegui fazer a impressão dos duplicados, triplicados.
O problema é que o detalhe pode passar para outra página, e com a função sc_pdf_add_page consigo obrigar a saltar de página e a continuar a imprimir, só que não imprime a imagem png e não imprime o footer na página anterior e na nova página.
tenho o corpo do report assim:
/*------------------ Page 1 -----------------*/
            sc_pdf_print_img($logo, 40, 0);
            sc_pdf_print($cell_empresa);
            sc_pdf_print($documento);
            sc_pdf_print($via);
            sc_pdf_print($Numerodocdes);
            sc_pdf_print($cell_81);
            sc_pdf_print_mult($morada, 2.8222222222222);
            sc_pdf_print($datads);
            sc_pdf_print($data);
            sc_pdf_print($cell_slogan);
            sc_pdf_print($capital_desc);
            sc_pdf_print($cell_capital);
            sc_pdf_print($cell_73);
            sc_pdf_print($cell_74);
            sc_pdf_print($cell_matricula);
            sc_pdf_print($cell_75);
            sc_pdf_print($cell_nif);
            sc_pdf_print($nome_cliente);
            sc_pdf_print($cell_76);
            sc_pdf_print($cell_telefone);
            sc_pdf_print_mult($morada_cliente, 3.175);
            sc_pdf_print($cell_77);
            sc_pdf_print($cell_fax);
            sc_pdf_print($cell_78);
            sc_pdf_print($cell_website);
            sc_pdf_print($cell_79);
            sc_pdf_print($cell_email);
            sc_pdf_print($cell_nifcliente);
            sc_pdf_print($referencia);
            sc_pdf_print($cell_condicao_pagamento);
            sc_pdf_print($vencimento);
            sc_pdf_print($vendedor);
            sc_pdf_set_y(108);
            foreach ({Linhas} as $NM_ind => $Dados)
            {
                sc_pdf_print_sub_sel($cell_Linhas_quant_emb_vl[$NM_ind]);
                sc_pdf_print_sub_sel_mult($cell_Linhas_produto_ds[$NM_ind], 3.175);
                sc_pdf_print_sub_sel($cell_Linhas_pv_unit_vl[$NM_ind]);
                sc_pdf_print_sub_sel($cell_Linhas_desconto_vl[$NM_ind]);
                sc_pdf_print_sub_sel($cell_Linhas_pv_total_vl[$NM_ind]);
                sc_pdf_ln(4);
                $linha_impressa = sc_pdf_get_y();
                if ($linha_impressa > 130 )
                {
          sc_pdf_add_page();
          sc_pdf_print_img($logo, 40, 0);
               sc_pdf_print($cell_empresa);
               sc_pdf_print($documento);
               sc_pdf_print($via);
               sc_pdf_print($Numerodocdes);
               sc_pdf_print($cell_81);
          sc_pdf_print_mult($morada, 2.8222222222222);
               sc_pdf_print($datads);
               sc_pdf_print($data);
               sc_pdf_print($cell_slogan);
               sc_pdf_print($capital_desc);
               sc_pdf_print($cell_capital);
               sc_pdf_print($cell_73);
               sc_pdf_print($cell_74);
               sc_pdf_print($cell_matricula);
               sc_pdf_print($cell_75);
               sc_pdf_print($cell_nif);
               sc_pdf_print($nome_cliente);
               sc_pdf_print($cell_76);
               sc_pdf_print($cell_telefone);
               sc_pdf_print_mult($morada_cliente, 3.175);
               sc_pdf_print($cell_77);
               sc_pdf_print($cell_fax);
               sc_pdf_print($cell_78);
               sc_pdf_print($cell_website);
               sc_pdf_print($cell_79);
               sc_pdf_print($cell_email);
               sc_pdf_print($cell_nifcliente);
               sc_pdf_print($referencia);
               sc_pdf_print($cell_condicao_pagamento);
               sc_pdf_print($vencimento);
               sc_pdf_print($vendedor);
               sc_pdf_set_y(108);
             
                 }
            }
            sc_pdf_print($subtotal);
            sc_pdf_print($descomercial);
            sc_pdf_print($descfinanc);
            sc_pdf_print($portes);
            sc_pdf_print($totaliva);
            sc_pdf_print($adiantamentos);
            sc_pdf_print($totalgeral);
            sc_pdf_print($cell_legal_ds);
            sc_pdf_page($cell_102);
           /*-------------------------------------------*/
 

Max Veras

  • Administrator
  • Intermediário
  • *****
  • Mensagens: 203
Re: Impressão de duplicados e triplicados
« Responder #4 Online: Maio 30, 2011, 09:10:53 am »
quando é um registro novo ele imprime normalmente?

porem se o detalhe tiver um conteudo maior ele passa para outra pagina totalmente em branco ?

mrreixa00

  • Novato
  • *
  • Mensagens: 3
    • Email
Re: Impressão de duplicados e triplicados
« Responder #5 Online: Maio 31, 2011, 05:18:37 am »
Depois da alteração que eu fiz ele salta de página e imprime cabeçalhos
na página seguinte e o restante detalhe.