criar relatorio HTML com CSS

1,125 views
Skip to first unread message

Jose Carlos Vicente Pereira

unread,
Mar 2, 2015, 9:37:32 AM3/2/15
to web2py-us...@googlegroups.com
Ola, bom dia... será que algum colega poderia me dá um exemplo onde num controle pegue os dados de uma tabela e exiba isso na view, o problema é que nao consigo definir os pontos certo que ira aparecer no relatorio... no meu pensamento, deveria carregar variaveis no controller e na viewer preencher os espaços, talvez com o mesmo nome das variaveis... 

Mas creio que isso seja mais facil do que estou pensando, so preciso de um caminho...

agradeço

Carlos Costa

unread,
Mar 2, 2015, 9:58:57 AM3/2/15
to web2py-us...@googlegroups.com
Não sei se entendi bem o que você quer.
Mas o jeito mais comum de fazer isso seria assim, por exemplo.

no controler default.py

def index():
    dados = db(db.tabela).select()
    return dict(dados=dados)

na view index.html

{{=dados}}

Isso exibiria todos os dados da tabela na view.


Talvez não seja essa sua dúvida mas a partir disso a gente consiga chegar lá.

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-br...@googlegroups.com
Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo "web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-br...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--


Carlos J. Costa
Cientista da Computação  | BS Computer Science
Esp. Gestão em Telecom   |
PgC Telecom Mangement
<º))><

Jose Carlos Vicente Pereira

unread,
Mar 2, 2015, 10:06:30 AM3/2/15
to web2py-us...@googlegroups.com
Isso, nesse ponto eu ja uso aqui, mas por exemplo, quero criar tela HTML e CSS para relatorio, por exemplo um formulario...

tenho os campos no meu layout:
________________________________________
CABEÇALHO DO RELATORIO
Nome:
Endereço:
Bairro:
Cidade:
CEP :

DETALHE DOS REGISTROS
Qtde Descricao Valor Total

____________________________________

Entende, quero preencher os campos com dados do controler, acho q no DETALHE teria q ter um loop numa tabela..

Deu pra entender?

Carlos Costa

unread,
Mar 2, 2015, 10:20:02 AM3/2/15
to web2py-us...@googlegroups.com
Hum, acho que entendi.
Dá pra fazer mais ou menos assim.

no controller:

dados_cabecalho = db(alguma_condicao).select().first()
dados_detalhe = db(alguma_condicao).select()
tabela = SQLTABLE(dados_detalhe, headers='labels')
return dict(dados_cabecalho=dados_cabecalho, dados_detalhe=tabela)

na view:

</br>
<h2> CABEÇALHO DO RELATORIO </h2>
<p>Nome: {{=dados_cabecalho.nome}}
<p>Endereço:{{=dados_cabecalho.endereco}}
<p>Bairro: {{=dados_cabecalho.bairro}}
<p>Cidade: {{=dados_cabecalho.cidade}}
<p>CEP : {{=dados_cabecalho.cep}}
</br>
DETALHE DOS REGISTROS
{{=dados_detalhe}}
</br>


Note que se você define label nos seus Fields e não precisa fazer nada específico a cada linha, tipo alguma conta ou condição então é possível usar o SQLTABLE, que vai gerar automaticamente a table html com cabeçalhos e tudo bontinho.
Quando você joga o resultado do .select() pro html com {{=dados}} ele já faz automaticamente o SQLTABLE.
Sendo assim você não precisa de loop para os detalhes.
O resto então seria customizar o estilo do relatório com CSS.

Isso é o básico, eu acho.
Qualquer dúvida pode perguntar.

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-br...@googlegroups.com
Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo "web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-br...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Jose Carlos Vicente Pereira

unread,
Mar 2, 2015, 12:22:57 PM3/2/15
to web2py-us...@googlegroups.com
Ola, Carlos pelo que  vi acho q é o preciso... vou tentar montar o relatorio agora a tarde, qualquer coisa corro aqui novamente...

obrigado


Em segunda-feira, 2 de março de 2015 11:37:32 UTC-3, Jose Carlos Vicente Pereira escreveu:

Ari Sobel

unread,
Mar 2, 2015, 12:25:43 PM3/2/15
to web2py-us...@googlegroups.com
Bom dia, tente algo assim:

No controller:

def relatorio:
   dados = db(db.meus_dados.id>0).select(db.meus_dados.ALL)
   return dados

Na view:

{{=BEAUTIFY(dados)}}



Enviada do meu iPhone
--

Jose Carlos Vicente Pereira

unread,
Mar 2, 2015, 4:55:51 PM3/2/15
to web2py-us...@googlegroups.com
Ari, boa noite... entao fiz um teste com o seu codigo, mas nao consegui fazer detalhado igual tinha dito antes, poder ter variaveis para inserir no HTML em posições definidas....

Carlos, no seu exemplo, to tentando ajeitar ele aqui, ficou assim:
def rel_orgaos():
    dados_cabecalho = db(db.cadorgao).select().first()
    dados_detalhe = db(db.cadorgao).select()
    tabela = SQLTABLE(db.cadorgao, headers='labels')
    return dict(dados_cabecalho=dados_cabecalho, dados_detalhe=tabela)

mas dá o erro: 


Em segunda-feira, 2 de março de 2015 11:37:32 UTC-3, Jose Carlos Vicente Pereira escreveu:

Carlos Costa

unread,
Mar 2, 2015, 5:28:55 PM3/2/15
to web2py-us...@googlegroups.com
Para o SQLTABLE você tem que passar um storage cotendo rows que é o que o db().select() faz.
Você passou a tabela.

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-br...@googlegroups.com
Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo "web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-br...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Jose Carlos Vicente Pereira

unread,
Mar 2, 2015, 6:17:47 PM3/2/15
to web2py-us...@googlegroups.com
tenho 2 arquivos CSS e 1 JS q nao estou conseguindo chamar na view... a orientação o projeto ta em um unica pasta, dai a chamada ta assim:

<link rel="stylesheet" type="text/css" href="VReport_print.css" media="print" />
<link rel="stylesheet" type="text/css" href="VReport_screen.css" media="screen" />

<script src="VReport.js" type="text/javascript"></script>


no meu caso, peguei esses 3 arquivos e joguei na minha pasta STATIC / CSS e JS.. entao alterei o codigo para:

<link rel="stylesheet" type="text/css" href="../static/css/VReport_print.css" media="print" />
<link rel="stylesheet" type="text/css" href="../static/css/VReport_screen.css" media="screen" />

<script src="../static/js/VReport.js" type="text/javascript"></script>

mas percebi q nao carregou as alteracoes na pagina, algo ta errado... poderiam me ajudar



Em segunda-feira, 2 de março de 2015 11:37:32 UTC-3, Jose Carlos Vicente Pereira escreveu:

Jose Carlos Vicente Pereira

unread,
Mar 2, 2015, 6:35:47 PM3/2/15
to web2py-us...@googlegroups.com
consegui resolver...


Em segunda-feira, 2 de março de 2015 11:37:32 UTC-3, Jose Carlos Vicente Pereira escreveu:

Jose Carlos Vicente Pereira

unread,
Mar 3, 2015, 5:52:02 AM3/3/15
to web2py-us...@googlegroups.com
Outro problema, percebo que nao estou conseguindo carregar os arquivos CSS e JS, se eu colocar o script na view funciona, se tirar nao é carregada... descobri que no F12 / console me aparece:

Failed to load resource: the server responded with a status of 404 (NOT FOUND)
http://localhost:8000/infoprev/stati/css/PluginConfPage.css Failed to load resource: the server responded with a status of 404 (NOT FOUND)
http://localhost:8000/infoprev/js/jquery-1.6.2.min.js Failed to load resource: the server responded with a status of 404 (NOT FOUND)
http://localhost:8000/infoprev/stati/css/PluginConfPage.css Failed to load resource: the server responded with a status of 404 (NOT FOUND)

Entao nao foi carregado os 3 arquivos, ja conferi os arquivos existem, nomes corretos, pasta correta, mas esse caminho nao é encontrado, poderiam me ajudar a carregar os arquivos???




Em segunda-feira, 2 de março de 2015 11:37:32 UTC-3, Jose Carlos Vicente Pereira escreveu:

Carlos Costa

unread,
Mar 3, 2015, 6:26:21 AM3/3/15
to web2py-us...@googlegroups.com
No primeiro você escreveu stati e não static.
No segundo você não passou o controlador static.
No terceiro você também esreveu stati.

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-br...@googlegroups.com
Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo "web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-br...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Celso Costa

unread,
Mar 3, 2015, 6:54:37 AM3/3/15
to web2py-us...@googlegroups.com
Olá José Carlos,
normalmente acrescento arquivos .js e css na view da seguinte forma e tem funcionado.

{{response.files.append(URL('static','css/VReport_print.css'))}}
{{response.files.append(URL('static','css/VReport_screen.css'))}}
{{response.files.append(URL('static','js/VReport.js'))}}
{{extend 'layout.html'}}

Até mais.

Em segunda-feira, 2 de março de 2015 11:37:32 UTC-3, Jose Carlos Vicente Pereira escreveu:

Jose Carlos Vicente Pereira

unread,
Mar 3, 2015, 5:56:18 PM3/3/15
to web2py-us...@googlegroups.com
Ola, boa noite, obrigado pelas dicas vou corrigir e fazer os testes...


Em segunda-feira, 2 de março de 2015 11:37:32 UTC-3, Jose Carlos Vicente Pereira escreveu:

Diogo Munaro

unread,
Mar 3, 2015, 8:21:52 PM3/3/15
to web2py-us...@googlegroups.com

Os paths estão certos?

--
Reply all
Reply to author
Forward
0 new messages