PC
Imprimir Data Início e Data Fim no Relatório Tabular
Boa noite Dev's estou tentando imprimir no relatório pdf a data inicio e data fim que coloco no formulário para pesquisar dados. Mas esta aparecendo assim no relatório tabular:
" Data Início: ci/in/data Data Fim: /fi/data "
Abaixo código usado para mostrar as datas.
" Data Início: ci/in/data Data Fim: /fi/data "
Abaixo código usado para mostrar as datas.
- <?php
- $table->addRow();
- $table->addCell('Data Início: '.TDate::date2br('data_inicio').' Data Fim: '.TDate::date2br('data_fim'), 'center','title', 4);
- ?>
Documentação do comando:
https://www.adianti.com.br/api-framework-widget-form-TDate#date2br
Passe como parametro a data no formato ano-mes-dia (yyyy-mm-dd)
TDate::date2br('2020-03-05')
Luiz Coelho, quando coloco números da certo (2020-03-05), mas quando é variável não aparece a data_inicio que esta no formulário e nem a data_fim e sim o seguinte erro. Data Início: ci/in/data Data Fim: m/_f/$dat
Desta forma: TDate::date2br('data_inicio') você esta passando uma uma string e não uma data.
Tente:
TDate::date2br( $data->data_inicio );
Leandro Coelho, já tinha colocado $data->data_inicio </> mas aparece Notice abaixo:
Notice: Undefined variable: data in /var/www/html/gecon/app/control/gecon/relatorios/RelatorioUnidadeMensal.php on line 144
Notice: Trying to get property 'data_inicio' of non-object in /var/www/html/gecon/app/control/gecon/relatorios/RelatorioUnidadeMensal.php on line 144
Esta linha no incio recebe os dados da tela e joga em $data
$data = $this->form->getData();
Essa linha recebe os dados da consulta do banco e também joga em $data, isso mata os dados recebidos acima
$data = TDatabase::getData($source, $query, null, $filters );
Depois desta linha vc fica sem os dados recebidos da tela
Muda estas linhas:
$rows = TDatabase::getData($source, $query, null, $filters );
foreach ($rows as $row)
Fiz alterações sugeridas, mas ainda nada de pegar a data do formulário.
Pega este valor:
Data Início: 06pm31pm_373372020-03-06T17:37:57-03:00372020
Coloca seu código ai pra eu ver como ficou
Amigo Leandro, abaixo o código completo.
Troca essa linha:
por:
Troca essa linha:
por:
No formulário do relatório aparece assim na Data:
Data Início: - Data Fim:
No Form aparece estes erros:
Notice: Undefined variable: data in /var/www/html/gecon/app/control/gecon/relatorios/RelatorioUnidadeMensal.php on line 139
Notice: Trying to get property 'data_inicio' of non-object in /var/www/html/gecon/app/control/gecon/relatorios/RelatorioUnidadeMensal.php on line 139
Notice: Undefined variable: data in /var/www/html/gecon/app/control/gecon/relatorios/RelatorioUnidadeMensal.php on line 139
Notice: Trying to get property 'data_fim' of non-object in /var/www/html/gecon/app/control/gecon/relatorios/RelatorioUnidadeMensal.php on line 139
A função não consegue acessar o $data->data_inicio , pq no caso ela fica fora do onGenerate, é mais ou menos isso, rsrsrs.
Faz assim, no incio da classe, onde tem:
private $form; // form
Adicione uma linha abaixo, como esta:
protected $data;
Ai no onGenerate, vc vai trocar todos os $data, assim:
$data
para:
$this->data
Leandro Coelho, show meu irmão. Deu certo. Grato pela contribuição. Espero um dia retornar para a comunidade.
Código correto.