Instalação dos Relatórios na versão 2.1.0


#21

Esse erro aconteceu por que você deve ter executado 2 vezes as migrations, não deve ser isso que está travando seu relatório.


Bom, podemos tentar fazer o seguinte:
Abra o arquivo i-educar/vendor/cossou/jasperphp/src/JasperPHP/JasperPHP.php
Na linha 186 adiciona esse comando: echo $this->the_command;exit;
Salva o arquivo e tenta gerar o relatório.
Na nova aba que abriu no navegador ter uma string, essa é a string com os comandos para gerar o teu relatório, remova o final dessa string, o final dela deve ter algo como 2>&1 copie o resto dessa string e cole no terminal do container do i-educar, após isso mande executar, cola o retorno do comando aqui para nós.

Eu iria fazer isso em minha instalação, mas meu banco de dados está sem nada, preciso achar um backup ou algo assim.


#22

image

Após alterado esse arquivo, o resultado ao executar o relatório foi:

/application/vendor/cossou/jasperphp/src/JasperPHP/../JasperStarter/bin/jasperstarter compile /root/i-educar/ieducar/modules/Reports/ReportSources/students-per-class.jrxml -o /root/i-educar/ieducar/modules/Reports/ReportSources/students-per-class

Não apareceu, como disse nessa parte (não consegui executar esse passo):

Na nova aba que abriu no navegador ter uma string, essa é a string com os comandos para gerar o teu relatório, remova o final dessa string, o final dela deve ter algo como 2>&1 copie o resto dessa string e cole no terminal do container do i-educar, após isso mande executar, cola o retorno do comando aqui para nós.


#23

Bom dia.
Você não consegue executar esse comando no terminal de dentro do container do docker?


#24

Bom dia,

Copiar todo esse conteúdo e jogar no terminal?

Em qual dos containers? Pq tem um ieduar-php, ieducar-ngnix, …


#25

Isso, copia o comando e joga no terminal do ieducar-php


#26

Assim:

image


#27

Parece que ele não achou o arquivo jasperstarter, tem como você navegar até a pasta bin?
cd /application/vendor/cossou/jasperphp/src/JasperPHP/…/JasperStarter/bin

e depois vai até essa pasta:
cd /application/i-educar/ieducar/modules/Reports/ReportSources

e depois até essa:
cd /root/i-educar/ieducar/modules/Reports/ReportSources

Está um pouco estranho essa estrutura de pastas desses comandos.


Erro na impressão de relatorio em uma vps
#28

cd /application/vendor/cossou/jasperphp/src/JasperPHP/…/JasperStarter/bin
image
E a bin está aqui:
image

cd /application/i-educar/ieducar/modules/Reports/ReportSources
R. Não tem essa pasta (em negrito) /application/i-educar/ieducar/modules/Reports/ReportSources
image

cd /root/i-educar/ieducar/modules/Reports/ReportSources
Essa aqui acesso, fora do container do Docker:


#29

No ieducar.ini em report.source_path coloca:
/application/ieducar/modules/Reports/ReportSources

Após executa o relatório de novo e poe aqui a saida da string do comando.


#30

A Saída foi:

/application/vendor/cossou/jasperphp/src/JasperPHP/../JasperStarter/bin/jasperstarter compile /application/ieducar/modules/Reports/ReportSourcesstudents-per-class.jrxml -o /application/ieducar/modules/Reports/ReportSourcesstudents-per-class

`


#31

E quando você executa:
/application/vendor/cossou/jasperphp/src/JasperPHP/…/JasperStarter/bin/jasperstarter compile /application/ieducar/modules/Reports/ReportSourcesstudents-per-class.jrxml -o /application/ieducar/modules/Reports/ReportSourcesstudents-per-class

no terminal do container ieducar-php, aparece alguma mensagem?


#32

Dá aquela mesma mensagem, porque a saída é a mesma.


#33

Da a mensagem de No such file or directory?


#34

Isso.

Mas ele não encontra qual diretório?


#35

Quando tava entrando no Container, ele já tava abrindo a pasta application
root@298aa6020481:/application#

Aí dei um ** cd\ ** e rodei o a string, aí saíu isso:

P.S. Faltando a barra no final do ReportSources/ . vou inserir e rodar novamente.

Rodei novamente, e executou, não apareceu mensagem


#36

Agora sim, quando executei novamente relatório apareceu aquela string que você falou no começo:

/application/vendor/cossou/jasperphp/src/JasperPHP/../JasperStarter/bin/jasperstarter process /application/ieducar/modules/Reports/ReportSources/students-per-class.jasper -o /application/ieducar/modules/Reports/ReportSources/1545311384-1230492334 -f pdf -r /application/vendor/cossou/jasperphp/src/JasperPHP/../../../../../ -P ano=2018 instituicao=1 escola=0 curso=0 serie=0 turma=0 situacao=10 data_inicial="" data_final="" proerd=0 dependencia=0 database="ieducar" SUBREPORT_DIR="/application/ieducar/modules/Reports/ReportSources/" data_emissao=0 logo="/application/ieducar/modules/Reports/ReportLogos/brasil.png" source="/application/ieducar/modules/Reports/ReportSources/1545311384-212291453" -t json --json-query main --data-file /application/ieducar/modules/Reports/ReportSources/1545311384-212291453 2>&1


#37

Veja na pasta /application/ieducar/modules/Reports/ se tem algum pdf lá


#38

Isso ai, remove o final dela e executa ela no container do ieducar-php


#39

Deu essa mensagem:
Error filling reportjava.io.FileNotFoundException: /application/ieducar/modules/Reports/ReportSources/1545311384-212291453


#40

Lembra desse comando echo $this->the_command;exit;, remove ele do arquivo e executa o relatório pela navegador.