Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Os dados do TCombo exibe no Relatório de Impressão como números Pessoal, eu criei aquele projeto todinho sobre Filme que o Pablo explicou no video, fiz tudo, só que os dados dos dois campos TCombo: id_suporte, id_genero, não estão aparecendo no relatório de impressão. Eu já instalei o Adianti Studio 2.0, estou utilizando o framework gerado por ele, ele gera o relatório utilizando o wizard, aparece os campos de filtro, o botão Gerar funciona normal, o...
AM
Os dados do TCombo exibe no Relatório de Impressão como números  
Pessoal, eu criei aquele projeto todinho sobre Filme que o Pablo explicou no video, fiz tudo, só que os dados dos dois campos TCombo: id_suporte, id_genero, não estão aparecendo no relatório de impressão.
Eu já instalei o Adianti Studio 2.0, estou utilizando o framework gerado por ele, ele gera o relatório utilizando o wizard, aparece os campos de filtro, o botão Gerar funciona normal, o problema é que nestes dois campos só aparece números. Eu gostaria que alguém me dissesse em que parte do meu código do relatório de impressão gerado pelo wizard eu devo inserir as duas linhas de código abaixo:

$id_suporte->addItems(array( 1=> 'DVD', 2=> 'Blu-ray', 3=> 'VHS'));
$id_genero->addItems(array( 1=> 'Romance', 2=> 'Comédia', 3=> 'Ficção', 4=> 'Aventura', 5=>'Policial'));

========================================================================
MEU CÓDIGO GERADO PELO ASSISTENTE DE RELATÓRIO DE IMPRESSÃO
========================================================================
  1. <?php
  2. class FilmeReportGerado3 extends TPage
  3. {
  4.     protected $form// formulário
  5.     protected $notebook;
  6.     
  7.     /**
  8.      * Class construtora
  9.      * Cria a página e o formulário de inscrição
  10.      */
  11.     function __construct()
  12.     {
  13.         parent::__construct();
  14.         
  15.         // cria o formulário
  16.         $this->form = new TQuickForm('form_Filme_report');
  17.         $this->form->class 'tform';
  18.         $this->form->style 'width: 500px';
  19.         $this->form->setFormTitle('Report');
  20.         
  21.         // criar os campos do formulário
  22.         $id                             = new TEntry('id');
  23.         $titulo                         = new TEntry('titulo');
  24.         $diretor                        = new TEntry('diretor');
  25.         $id_suporte                     = new TCombo('id_suporte');
  26.         $id_genero                      = new TCombo('id_genero');
  27.         $dt_lcto                        = new TEntry('dt_lcto');
  28.         $duracao                        = new TEntry('duracao');
  29.         $output_type                    = new TRadioGroup('output_type');
  30.        //  As duas linhas abaixo não exibe no relatório de impressão, exibe apenas nos campos de filtro.
  31.         $id_suporte->addItems(array( 1=> 'DVD'2=> 'Blu-ray'3=> 'VHS'));
  32.         $id_genero->addItems(array( 1=> 'Romance'2=> 'Comédia'3=> 'Ficção'4=> 'Aventura'5=>'Policial'));
  33.         // adicionar os campos
  34.         $this->form->addQuickField('id'$id,  100);
  35.         $this->form->addQuickField('titulo'$titulo,  100);
  36.         $this->form->addQuickField('diretor'$diretor,  100);
  37.         $this->form->addQuickField('id_suporte'$id_suporte,  100);
  38.         $this->form->addQuickField('id_genero'$id_genero,  100);
  39.         $this->form->addQuickField('dt_lcto'$dt_lcto,  100);
  40.         $this->form->addQuickField('duracao'$duracao,  100);
  41.         $this->form->addQuickField('Output'$output_type,  100, new TRequiredValidator );
  42.         $output_type->addItems(array('html'=>'HTML''pdf'=>'PDF''rtf'=>'RTF'));;
  43.         $output_type->setValue('pdf');
  44.         $output_type->setLayout('horizontal');
  45.         
  46.         // adicionar o botão de ação
  47.         $this->form->addQuickAction(_t('Generate'), new TAction(array($this'onGenerate')), 'ico_apply.png');
  48.         
  49.         // adicione o formulário para a página
  50.         parent::add($this->form);
  51.     }
  52.     
  53.     /**
  54.      * método onGenerate()
  55.      * É executado sempre que o usuário clica no botão gerar
  56.      */
  57.     function onGenerate()
  58.     {
  59.         try
  60.         {
  61.             // abrir uma transação com banco de dados 'teste'
  62.             TTransaction::open('teste');
  63.             
  64.             // obter os dados do formulário em um registro ativo
  65.             $formdata $this->form->getData();
  66.             
  67.             $repository = new TRepository('Filme');
  68.             $criteria   = new TCriteria;
  69.             
  70.             if ($formdata->id)
  71.             {
  72.                 $criteria->add(new TFilter('id''like'"%{$formdata->id}%"));
  73.             }
  74.             if ($formdata->titulo)
  75.             {
  76.                 $criteria->add(new TFilter('titulo''like'"%{$formdata->titulo}%"));
  77.             }
  78.             if ($formdata->diretor)
  79.             {
  80.                 $criteria->add(new TFilter('diretor''like'"%{$formdata->diretor}%"));
  81.             }
  82.             if ($formdata->id_suporte)
  83.             {
  84.                 $criteria->add(new TFilter('id_suporte''like'"%{$formdata->id_suporte}%"));
  85.             }
  86.             if ($formdata->id_genero)
  87.             {
  88.                 $criteria->add(new TFilter('id_genero''like'"%{$formdata->id_genero}%"));
  89.             }
  90.             if ($formdata->dt_lcto)
  91.             {
  92.                 $criteria->add(new TFilter('dt_lcto''like'"%{$formdata->dt_lcto}%"));
  93.             }
  94.             if ($formdata->duracao)
  95.             {
  96.                 $criteria->add(new TFilter('duracao''like'"%{$formdata->duracao}%"));
  97.             }
  98.             $objects $repository->load($criteria);
  99.             $format  $formdata->output_type;
  100.             
  101.             if ($objects)
  102.             {
  103.                 $widths = array(100,100,100,100,100,100,100);
  104.                 
  105.                 switch ($format)
  106.                 {
  107.                     case 'html':
  108.                         $tr = new TTableWriterHTML($widths);
  109.                         break;
  110.                     case 'pdf':
  111.                         $tr = new TTableWriterPDF($widths);
  112.                         break;
  113.                     case 'rtf':
  114.                         if (!class_exists('PHPRtfLite_Autoloader'))
  115.                         {
  116.                             PHPRtfLite::registerAutoloader();
  117.                         }
  118.                         $tr = new TTableWriterRTF($widths);
  119.                         break;
  120.                 }
  121.                 
  122.                 // criar os estilos do documento
  123.                 $tr->addStyle('title''Arial''10''B',   '#ffffff''#6B6B6B');
  124.                 $tr->addStyle('datap''Arial''10''',    '#000000''#E5E5E5');
  125.                 $tr->addStyle('datai''Arial''10''',    '#000000''#ffffff');
  126.                 $tr->addStyle('header''Times''16''B',  '#4A5590''#C0D3E9');
  127.                 $tr->addStyle('footer''Times''12''BI''#4A5590''#C0D3E9');
  128.                 
  129.                 // adicionar uma linha de cabeçalho
  130.                 $tr->addRow();
  131.                 $tr->addCell('Filme''center''header'7);
  132.                 
  133.                 // adicionar títulos seguidos
  134.                 $tr->addRow();
  135.                 $tr->addCell('id''left''title');
  136.                 $tr->addCell('titulo''left''title');
  137.                 $tr->addCell('diretor''left''title');
  138.                 $tr->addCell('id_suporte''left''title');
  139.                 $tr->addCell('id_genero''left''title');
  140.                 $tr->addCell('dt_lcto''left''title');
  141.                 $tr->addCell('duracao''left''title');
  142.                 
  143.                 // controla o enchimento fundo
  144.                 $colourFALSE;
  145.                 
  146.                 // linhas de dados
  147.                 foreach ($objects as $object)
  148.                 {
  149.                     $style $colour 'datap' 'datai';
  150.                     $tr->addRow();
  151.                     $tr->addCell($object->id'left'$style);
  152.                     $tr->addCell($object->titulo'left'$style);
  153.                     $tr->addCell($object->diretor'left'$style);
  154.                     $tr->addCell($object->id_suporte'left'$style);
  155.                     $tr->addCell($object->id_genero'left'$style);
  156.                     $tr->addCell($object->dt_lcto'left'$style);
  157.                     $tr->addCell($object->duracao'left'$style);
  158.                     
  159.                     $colour = !$colour;
  160.                 }
  161.                 
  162.                 // linha de rodapé
  163.                 $tr->addRow();
  164.                 $tr->addCell(date('Y-m-d h:i:s'), 'center''footer'7);
  165.                 // armazena o arquivo
  166.                 if (!file_exists("app/output/Filme.{$format}") OR is_writable("app/output/Filme.{$format}"))
  167.                 {
  168.                     $tr->save("app/output/Filme.{$format}");
  169.                 }
  170.                 else
  171.                 {
  172.                     throw new Exception(_t('Permission denied') . ': ' "app/output/Filme.{$format}");
  173.                 }
  174.                 
  175.                 // abra o arquivo de relatório
  176.                 parent::openFile("app/output/Filme.{$format}");
  177.                 
  178.                 // mostra a mensagem de sucesso
  179.                 new TMessage('info''Report generated. Please, enable popups in the browser (just in the web).');
  180.             }
  181.             else
  182.             {
  183.                 new TMessage('error''No records found');
  184.             }
  185.     
  186.             // preencha o formulário com os dados do registro ativo
  187.             $this->form->setData($formdata);
  188.             
  189.             // fechar a transacção
  190.             TTransaction::close();
  191.         }
  192.         catch (Exception $e// em caso de excepção
  193.         {
  194.             // mostra a mensagem de erro de exceção
  195.             new TMessage('error''<b>Error</b> ' $e->getMessage());
  196.             
  197.             // desfazer todas as operações pendentes
  198.             TTransaction::rollback();
  199.         }
  200.     }
  201. }

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (4)


FC

tera que fazer igual como se fosse num data grid no campo id-instrutor se vc tem uma rotina getinstrutor deverá usar para trazer o nome do instrutor ex $varget->$nome_instrutor

AM

Cara, vou levar uma eternidade para tentar entender o que você disse. Coloque um exemplo ai que fica mais fácil para mim.
FC

é a mesma coisa desse tópico.
www.adianti.com.br/forum/pt/view_1280?no-datagrid-aparece-o-codigo-a
AM

O exemplo que está nesse link que você postou não resolve meu problema porque todos os campos são TEntry e TDate, Não tem nenhum TCombo. E Além disso, o Pablo fala em criar o Método getcliente no Model, mas não mostra nenhum exemplo para agente ter uma idéia.

Outra coisa, no exemplo citado, lá diz que o campo Razão Social não está exibindo nada, mas não é o meu caso. O meu Problema é que tanto no DataGrid como no Relatório de Impressão, ele mostra números nos campos TCombo.

$CODIGO = new TEntry('CODIGO');
$DATACAD = new TDate('DATACAD');
$CLIENTE = new TEntry('CLIENTE');
$STATUS = new TEntry('STATUS');
$FONECONTATO = new TEntry('FONECONTATO');
$DATARECLAMACAO = new TDate('DATARECLAMACAO');
$DATAPREVTERNO = new TDate('DATAPREVTERNO');
$HORARECLAMACAO = new TEntry('HORARECLAMACAO');
$HORAPREVTERNO = new TEntry('HORAPREVTERNO');
$PESSOAATENDIDA = new TEntry('PESSOAATENDIDA');
$TITULOPROBLEMA = new TEntry('TITULOPROBLEMA');
$DESCRICAOPROBLEMA = new TEntry('DESCRICAOPROBLEMA');
$FUNCIONARIOATENDEU = new TEntry('FUNCIONARIOATENDEU');
$DATABAIXA = new TDate('DATABAIXA');
$HORABAIXA = new TEntry('HORABAIXA');
$COBRANCA = new TEntry('COBRANCA');
$VALORCOBRADO = new TEntry('VALORCOBRADO');
$TPSERVICO = new TEntry('TPSERVICO');
$AB_TECNICO = new TEntry('AB_TECNICO');
$FC_TECNICO = new TEntry('FC_TECNICO');
$TECNICO = new TEntry('TECNICO');
$DT_DESPACHO = new TDate('DT_DESPACHO');
$HR_DESPACHO = new TEntry('HR_DESPACHO');