New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Relatório retorna null #107
Comments
Olá @eduardaOKnopf, obrigado por usar PHPJasper, você está escrevendo alguns trechos do modo antigo da lib, escrevi a forma correta de se fazer abaixo, acredito que funcione de primeira, apenas adapte a sua necessidade e dê uma olhada no README.md, tem uma versão em português do Brasil. class ReportController extends Controller
{
public function getDatabaseConfig()
{
return [
'driver' => env('DB_CONNECTION'),
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'jdbc_dir' => base_path() . env('JDBC_DIR'),
];
}
public function index($id)
{
$input = public_path() . '/reports/ordemServico.jrxml';
$output = public_path() . '/reports/' . time() . '_ordemServico';
$options = [
'format' => ['pdf'],
'locale' => 'pt_BR',
'params' => [ 'id' => $id ],
'db_connection' => $this->getDatabaseConfig()
];
$report = new PHPJasper;
$this->report->process(
$input,
$output,
$options
)->execute();
$file = $output . '.pdf';
$path = $file;
if (!file_exists($file)) {
abort(404);
}
$file = file_get_contents($file);
unlink($path);
return response($file, 200)
->header('Content-Type', 'application/pdf')
->header('Content-Disposition', 'inline; filename="ordemServico.pdf"');
}
} |
Olá, @geekcom! Obrigada por me ajudar, atualizei meu controller conforme você me sugeriu e agora me retorna o seguinte erro: "Your report has an error and couldn 't be processed!\ Try to output the command using the function Procurei por issues que apareciam esse erro e executei as soluções propostas nelas, porém o erro continua, li o readme.md varias vezes para ter certeza de não estar fazendo nada errado. Até testei o código sem a função getDatabaseConfig() que eu tinha feito para a conexão.
Mais uma vez, obrigada pela atenção! |
Pergunta meio obvia, mas as vezes esquecemos, você criou o parâmetro no relatório .jrxml? e se criou está usando ele na query do seu relatório? SELECT *
FROM tabela
WHERE id = $P{id} |
Execute o método output copie o retorno e execute esse retorno dentro da pasta que contém o binário PHPJasper, assim vc saberá exatamente onde está o erro, se não consegui resolver manda aqui o retorno do método output e do erro se existir. print $this->report->process(
$input,
$output,
$options
)->output(); |
Sim, criei, vou te passar a minha query para esse relatório
Substitui o trecho do meu ReportController
pelo
e me retornou: jasperstarter --locale pt_BR process "C:\Users\Baraoinfo2\Desktop\helpTec\public/reports/ordemServico.jrxml" -o "C:\Users\Baraoinfo2\Desktop\helpTec\public/reports/1529013335_ordemServico" -f pdf -P id="2" -t mysql -H 127.0.0.1 --db-port 3306 -n assistencia -u root -p --jdbc-dir C:\Users\Baraoinfo2\Desktop\helpTec/vendor/geekcom/phpjasper/bin/jasperstarter/jdbc |
Perfeito @eduardaOKnopf a query está correta o comando gerado pelo PHPJasper também copie esse retorno do método output() e execute no seu cmd dentro da pasta: |
Olá @geekcom!! Consegui gerar meu relatório com sucesso... Muito obrigada por ter tirado um pouco do seu tempo para me ajudar! |
Eduarda, pode me dar algumas dicas de como resolver esse problema? |
Obrigado. Consegui resolver aqui também!💻🚀 |
Boa noite, estou usando o o relatório com um parâmetro para a impressão de uma ordem de serviço, na preview do JasperStudio executou perfeitamente, porém quando executei no meu projeto os campos retornaram null, como na imagem
no meu ReportController está assim:
Não me retorna mais nenhum erro, apenas os campos em null, é a primeira vez que estou usando os relatórios com parâmetro, imagino que seja um erro bem simples que esteja passando despercebido, mas não tenho ideia de como resolve-lo, aguardo alguma ajuda.
Obrigada.
The text was updated successfully, but these errors were encountered: