PDF Exibe um registro em cada página Boa noite. Crie um PDF no designer do Studio e quando gero o mesmo ele exibe um registro em cada página. Gostaria que ficassem todos os registros um abaixo do outro e ao final de cada página passasse para a próxima dando seguimento aos dados. Onde estou errando? ...
CM
PDF Exibe um registro em cada página  
Boa noite.
Crie um PDF no designer do Studio e quando gero o mesmo ele exibe um registro em cada página.
Gostaria que ficassem todos os registros um abaixo do outro e ao final de cada página passasse para a próxima dando seguimento aos dados.
Onde estou errando?

 
  1. <?php
  2. function onGenerate()
  3. {
  4. try
  5. {
  6. // open a transaction with database 'samples'
  7. TTransaction::open('guttierre');
  8. // load all customers
  9. $repository = new TRepository('Custo');
  10. $criteria = new TCriteria;
  11. $Custo = $repository->load($criteria);
  12. $data = $this->form->getData('Custo');
  13. $this->form->validate();
  14. $designer = new TPDFDesigner;
  15. $designer->fromXml('app/reports/ListaCusto.pdf.xml');
  16. $designer->generate();
  17. $fill = TRUE;
  18. $designer->gotoAnchorXY('');
  19. $designer->SetFont('Arial', '', 8);
  20. $designer->setFontColorRGB( '#000000' );
  21. $designer->setAutoPageBreak(true,0);
  22. if ($Custo)
  23. {
  24. foreach ($Custo as $Custo)
  25. {
  26. $designer->gotoAnchorX('');
  27. $designer->Ln(18);
  28. $designer->Cell(70,10, DateTime::createFromFormat('Y-m-d', $Custo->data_custo)->format( 'd/m/Y' ), 0, 0, 'C', $fill);
  29. $designer->Cell(410, 12, utf8_decode($Custo->fornecedor->descricao), 0, 0, 'L', $fill);
  30. $designer->Cell(85, 12, utf8_decode($Custo->custo_total), 0, 0, 'R', $fill);
  31. // cabeçalho
  32. $designer->Image('http://zeromeia.com/apps/zeromeia/app/images/ZeroMeia_640x286.jpg',20,18,-300);
  33. $designer->SetY(75);
  34. $designer->SetFont('Arial', '', 18);
  35. $designer->setFontColorRGB( '#000000' );
  36. $designer->SetxY(50,86);
  37. $designer->SetFont('Arial', '', 10);
  38. $designer->setFontColorRGB( '#000000' );
  39. $designer->Cell(0, 10, utf8_decode('www.zeromeia.com'),0,0,'L');
  40. // rodapé
  41. $designer->SetY(-12);
  42. $designer->SetFont('Arial', '', 8);
  43. $designer->setFontColorRGB( '#000000' );
  44. $designer->Cell(590, 10, utf8_decode('Pág. ').$designer->PageNo().' de {nb}',0,0,'R');
  45. $designer->SetY(-12);
  46. $designer->Cell(122, 10, utf8_decode('Zero Meia Tecnologia © 2018 '),0,0,'R');
  47. $designer->SetY(-12);
  48. $designer->Cell(340,10,utf8_decode("Impresso em ".date("d/m/Y H:i:s"."")),0,1,'R');
  49. $designer->SetY(-12);
  50. $designer->Cell(410,10,utf8_decode(" - ".TSession::getValue('username')),0,1,'R'); //nome do usuário
  51. // grid background
  52. $fill = !$fill;
  53. }
  54. }
  55. $file = 'app/output/ListaCusto.pdf';
  56. if (!file_exists($file) OR is_writable($file))
  57. {
  58. $designer->save($file);
  59. parent::openFile($file);
  60. }
  61. else
  62. {
  63. throw new Exception(_t('Permission denied') . ': ' . $file);
  64. }
  65. // new TMessage('info', 'Relatório gerado. Por favor, habilite os popups no seu navegador.');
  66. // close the transaction
  67. TTransaction::close();
  68. }
  69. catch (Exception $e) // in case of exception
  70. {
  71. new TMessage('error', '<b>Error</b> ' . $e->getMessage());
  72. TTransaction::rollback();
  73. }
  74. }
  75. ?>

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (4)


NR

Por que a impressão do cabeçalho e rodapé está dentro do foreach?
CM

Boa noite Nataniel.
Sabe que nem me dei conta disso?
Seria esse o problema?
Vou testar amanhã na empresa e retorno.
Abraço
CM

Outra coisa amigo.
Será que poderia dar uma força nesse tópico?
Falta só um detalhe para finalizar.
Mas não encontro o erro.

www.adianti.com.br/forum/pt/view_4543?alinhamento-de-campo-no-pdf-de

Obrigado
CM

Resolvido.
Obrigado