Lançado Adianti Framework 8.1!
Clique aqui para saber mais
ajuda com quebra de texto em relatório auguem poderia me ajudar com quebra de linha em um relatório tabular?? tenho a seguinte informação. rua xxxxxxx completo xxxxxx cidade xxxxxx cep ( xxxxxx ) destinatário xxxxxxxxxxxxxxxxxx preciso que fique assim no banco já esta gravando desta forma mais na hora de gerar o pdf sai tudo em uma linha só rua xxxxxxx completo xxxxxx cidade xxxxxx cep ( xxxxxx ) destinatário xxx...
VC
ajuda com quebra de texto em relatório  
auguem poderia me ajudar com quebra de linha em um relatório tabular??

tenho a seguinte informação.

rua xxxxxxx
completo xxxxxx
cidade xxxxxx cep ( xxxxxx )
destinatário xxxxxxxxxxxxxxxxxx

preciso que fique assim no banco já esta gravando desta forma mais na hora de gerar o pdf sai tudo em uma linha só

rua xxxxxxx completo xxxxxx cidade xxxxxx cep ( xxxxxx ) destinatário xxxxxxxxxxxxxxxxxx

poderiam me ajudar por favor

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 (16)


FC

Poste seu código.
VC

SEGUE O MEU CÓDIGO

  1. <?php
  2. /**
  3.  * MaxTrocasReport Report
  4.  * @author  <your name here>
  5.  */
  6. class MaxTrocasReport extends TPage
  7. {
  8.     protected $form// form
  9.     protected $notebook;
  10.     
  11.     /**
  12.      * Class constructor
  13.      * Creates the page and the registration form
  14.      */
  15.     function __construct()
  16.     {
  17.         parent::__construct();
  18.         
  19.         // creates the form
  20.         $this->form = new TQuickForm('form_MaxTrocas_report');
  21.         $this->form->class 'tform'// change CSS class
  22.         
  23.         $this->form->style 'display: table;width:90%'// change style
  24.         
  25.         // define the form title
  26.         $this->form->setFormTitle('MaxTrocas Report');
  27.         
  28.         // create the form fields
  29.         $data_post = new TDate('data_post');
  30.         $output_type = new TRadioGroup('output_type');
  31.         // add the fields
  32.         $this->form->addQuickField('Data Post'$data_post,  50 );
  33.         $this->form->addQuickField('Output'$output_type,  90 , new TRequiredValidator);
  34.         
  35.         $output_type->addItems(array('html'=>'HTML''pdf'=>'PDF''rtf'=>'RTF'));;
  36.         $output_type->setValue('pdf');
  37.         $output_type->setLayout('horizontal');
  38.         
  39.         // add the action button
  40.         $this->form->addQuickAction(_t('Generate'), new TAction(array($this'onGenerate')), 'fa:cog blue');
  41.         
  42.         // vertical box container
  43.         $container = new TVBox;
  44.         $container->style 'width: 90%';
  45.         // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  46.         $container->add($this->form);
  47.         
  48.         parent::add($container);
  49.     }
  50.     
  51.     /**
  52.      * Generate the report
  53.      */
  54.     function onGenerate()
  55.     {
  56.         try
  57.         {
  58.             // open a transaction with database 'maxseller'
  59.             TTransaction::open('maxseller');
  60.             
  61.             // get the form data into an active record
  62.             $formdata $this->form->getData();
  63.             
  64.             $repository = new TRepository('MaxTrocas');
  65.             $criteria   = new TCriteria;
  66.             
  67.             if ($formdata->data_post)
  68.             {
  69.                 $criteria->add(new TFilter('data_post''like'"%{$formdata->data_post}%"));
  70.             }
  71.            
  72.             $objects $repository->load($criteriaFALSE);
  73.             $format  $formdata->output_type;
  74.             
  75.             if ($objects)
  76.             {
  77.                 $widths = array(100,100,100,100,50,100,100);
  78.                 
  79.                 switch ($format)
  80.                 {
  81.                     case 'html':
  82.                         $tr = new TTableWriterHTML($widths);
  83.                         break;
  84.                     case 'pdf':
  85.                        $tr = new TTableWriterPDF($widths);
  86. $designer = new TPDFDesigner;
  87.                          break;
  88.                     case 'rtf':
  89.                         if (!class_exists('PHPRtfLite_Autoloader'))
  90.                         {
  91.                             PHPRtfLite::registerAutoloader();
  92.                         }
  93.                         $tr = new TTableWriterRTF($widths);
  94.                         break;
  95.                 }
  96.                 
  97.                 // create the document styles
  98.                 $tr->addStyle('title''Arial''10''B',   '#ffffff''#9898EA');
  99.                 $tr->addStyle('datap''Arial''10''',    '#000000''#EEEEEE');
  100.                 $tr->addStyle('datai''Arial''10''',    '#000000''#ffffff');
  101.                 $tr->addStyle('header''Arial''16''',   '#ffffff''#494D90');
  102.                 $tr->addStyle('footer''Times''10''I',  '#000000''#B1B1EA');
  103.                 
  104.                 // add a header row
  105.                 $tr->addRow();
  106.                 $tr->addCell('MaxTrocas''center''header'7);
  107.                 
  108.                 // add titles row
  109.                 $tr->addRow();
  110.                
  111.                 
  112.                 
  113.                 // controls the background filling
  114.                 $colourFALSE;
  115.                 
  116.                 // data rows
  117.                 foreach ($objects as $object)
  118.                 {
  119.                     $style $colour 'datap' 'datai';
  120.                      $tr->addRow('''left'$style);
  121.                     
  122.                     $tr->addCell('Venda''left''title');
  123.                     $tr->addCell($object->venda'left'$style);
  124.                     $tr->addRow();
  125.                     $tr->addCell('Conta''left''title');
  126.                     $tr->addCell($object->conta'left'$style);
  127.                     $tr->addRow();
  128.                     $tr->addCell('Produto''left''title');
  129.                     $tr->addCell($object->produto'left'$style);
  130.                     $tr->addRow();
  131.                     $tr->addCell('Motivo''left''title');
  132.                     $tr->addCell($object->motivo'left'$style);
  133.                     $tr->addRow();
  134.                     $tr->addCell('Data''left''title');
  135.                     $tr->addCell($object->data_post'left'$style);
  136.                   $tr->addRow();
  137.                   $tr->addCell('Endereço''left''title');                  
  138.                     $tr->addCell($object->campo_end'left'$style);
  139.                     $tr->addRow();
  140.                     $tr->addCell('Rastreio''left''title');
  141.                     $tr->addCell($object->rastreio'left'$style);
  142.                     $tr->addRow();
  143.                     
  144.                     $tr->addRow('''left'$style);
  145.                    
  146.                     
  147.                     $colour = !$colour;
  148.                 }
  149.                 
  150.            
  151.                 
  152.                 // footer row
  153.                 $tr->addRow();
  154.                 $tr->addCell(date('Y-m-d h:i:s'), 'center''footer'7);
  155.                 // stores the file
  156.                 if (!file_exists("app/output/MaxTrocas.{$format}") OR is_writable("app/output/MaxTrocas.{$format}"))
  157.                 {
  158.                     $tr->save("app/output/MaxTrocas.{$format}");
  159.                 }
  160.                 else
  161.                 {
  162.                     throw new Exception(_t('Permission denied') . ': ' "app/output/MaxTrocas.{$format}");
  163.                 }
  164.                 
  165.                 // open the report file
  166.                 parent::openFile("app/output/MaxTrocas.{$format}");
  167.                 
  168.                 // shows the success message
  169.                 new TMessage('info''Report generated. Please, enable popups.');
  170.             }
  171.             else
  172.             {
  173.                 new TMessage('error''No records found');
  174.             }
  175.     
  176.             // fill the form with the active record data
  177.             $this->form->setData($formdata);
  178.             
  179.             // close the transaction
  180.             TTransaction::close();
  181.         }
  182.         catch (Exception $e// in case of exception
  183.         {
  184.             // shows the exception error message
  185.             new TMessage('error''<b>Error</b> ' $e->getMessage());
  186.             
  187.             // undo all pending operations
  188.             TTransaction::rollback();
  189.         }
  190.     }
  191. }
  192. </code>


</your>
FC

Seu campo endereço, é um único campo? $object->campo_end vai precisar separar isso.
VC

o campo que eu preciso formatar é o campo_ end

$tr->addRow(); $tr->addCell('Endereço', 'left', 'title'); $tr->addCell($object->campo_end, 'left', $style);


eu jogo os dados da seguinte forma


rua xxxxxxx
completo xxxxxx
cidade xxxxxx cep ( xxxxxx )
destinatário xxxxxxxxxxxxxxxxxx

no bando e nas grid normais ele fica da forma certa mais quando gero um relatório sai tudo em uma linha só
FC

troque o cell por MultiCell
VC

JÁ TENTEI MAIS DA ESTE ERRO

Fatal error: Call to undefined method TTableWriterPDF::addMultiCell() in C:wampwwwmaxsellerappcontrolmaxsellerMaxTrocasReport.class.php on line 146
FC

Tire o add a classe extende de FPDF então pode usar todos os recursos.
FC

Tire o add a classe extende de FPDF então pode usar todos os recursos.
VC

TIRO O ADD E DA O ERRO

Call to undefined method TTableWriterPDF::MultiCell() in C:wampwwwmaxsellerappcontrolmaxsellerMaxTrocasReport.class.php on line 146
FC

Desculpe não havia percebido que estava usando o tabular gerado pelo studio, para mim estava usando somente o FPDF, andei pesquisando e acredito que terá que usar somente o PDF para atingir esse resultado.
VC

E COMO FAÇO ISSO ESTOU COMEÇANDO AGORA E AINDA SOU MUITO LEIGO
NR

https://www.adianti.com.br/forum/pt/view_3772?quebrar-ttext-em-ttablewriterpdf
VC

NÃO ENTENDI MUITO BEM ONDE EU COLOCO ESTE CÓDIGO.
VC

NÃO ENTENDI MUITO BEM ONDE EU COLOCO ESTE CÓDIGO.
AC

Não existe algo tipo:

  1. <?php
  2. $tr->ln('15');
  3. ?>


????
NR

A função getNativeWriter vai retornar a instância da FPDF e aí você vai poder chamar a função multicell:
www.fpdf.org/en/doc/multicell.htm
  1. <?php
  2. $fpdf $tr->getNativeWriter();
  3. $fpdf->multicell(....);
  4. ?>