Sugestão para cabeçalho

13 views
Skip to first unread message

Frederico Vieira

unread,
Sep 3, 2010, 9:54:59 AM9/3/10
to geral...@googlegroups.com
Bom dia pessoal.

Pode ser uma coisa bem simples, que possa estar bem explicito na documentação, mas eu sinceramente não encontrei.

Preciso passar um objeto para o relatório, diferente da queryset, para poder gerar um cabeçalho padronizado com os dados da empresa que esta emitindo o mesmo. Fiz alguns testes e não obtive sucesso, então peço a ajuda de vocês.

O que vocês fazem para setar o cabeçalho, e como acessam essa informação no relatório.

Obrigado.

--
Att,

________________________
Frederico Vieira Lima

Milton Brandão

unread,
Sep 3, 2010, 12:23:30 PM9/3/10
to geral...@googlegroups.com
Olá Frederico

Veja esse exemplo:

Na views.py:

1. Crie uma variável e adicione valor a ela:

var=u'Variável com texto'

2. Adicione esta variavel ao relatório:

relatorio = ReportMelhoresClientes(queryset=lista, var=var)

No reports.py:

3. Crie uma def __init__:

def __init__(self, *args, **kwargs):

4. Dentro da def __init__, receba o valor da variavel:

var=kwargs.pop('var',None)
super(NomeDaReport, self).__init__(*args, **kwargs)

5. Se você for usar esta variável numa page header por exemplo, faça algo parecido com isso:

if loja:
    self.band_page_header.elements.append(
                Label(text=var, top=1*cm),
                ) 

Se não der certo, vamos tentar novamente. 

Abraços e boa sorte.


--
Miltinho Brandão
Raminel Sites - Sites dinâmicos, criativos e sem demora pra ficar pronto.
www.raminel.com.br
(62)3264-1487
come...@raminel.com.br

Twitter: /raminelsites
MSN: milt...@hotmail.com
GTalk: milt...@gmail.com

Frederico Vieira

unread,
Sep 5, 2010, 1:57:09 AM9/5/10
to geral...@googlegroups.com
Funcionou que é uma beleza.

Eu procurei na documentação mas não achei essa questão do def __init__. Tem lá ou não? Será que foi mancada minha?

Mas de qualquer forma, valeu demais!!!

Milton Brandão

unread,
Sep 5, 2010, 9:08:24 PM9/5/10
to geral...@googlegroups.com
Fred, boa noite

Neste exemplo tem o def __init__


Qualquer coisa estamos ai.. bom trabalho

Vinícius Salsotto

unread,
Oct 17, 2010, 4:35:05 PM10/17/10
to geraldo-pt
Milton,

obrigadissimo pela sua dica, porém eu preciso de ajuda com uma exceção
que me deparo quando tento adicionar mais de um label:

'int' object has no attribute 'split'

Tentei adcionar de dois modos, e ambos me retornam a excessão acima:

1ª Modo

self.band_page_header.elements.append(
Label(text=empresa, top=0.8*cm, style={'fontName': 'Helvetica-
Bold', 'fontSize': 14}),
)

self.band_page_header.elements.append(
Label(text=ordemServico, top=-0.5*cm, left=17.0*cm ,
style={'fontName': 'Helvetica-Bold', 'fontSize': 26}),
)

------------------

2ª Modo

self.band_page_header.elements += [
Label(text=empresa, top=0.8*cm, style={'fontName': 'Helvetica-
Bold', 'fontSize': 14}),
Label(text=ordemServico, top=-0.5*cm, left=17.0*cm ,
style={'fontName': 'Helvetica-Bold', 'fontSize': 26}),
]


Poderiam me dizer o pq diabos isso ta acontecendo?

On 5 set, 23:08, Milton Brandão <milti...@gmail.com> wrote:
> Fred, boa noite
>
> Neste exemplo tem o *def __init__*
>
> http://www.geraldoreports.org/docs/examples/inheritance.html
>
> Qualquer coisa estamos ai.. bom trabalho
>
> --
> Miltinho Brandão
> Raminel Sites - Sites dinâmicos, criativos e sem demora pra ficar pronto.www.raminel.com.br
> (62)3264-1487
> comerc...@raminel.com.br
>
> Twitter: /raminelsites
> MSN: milton...@hotmail.com
> GTalk: milti...@gmail.com

Milton Brandão

unread,
Oct 17, 2010, 7:15:31 PM10/17/10
to geral...@googlegroups.com
Vinícius, boa noite

Por favor, faça esse teste pra ver qual resultado e diga o que acontece:

self.band_page_header.elements.append(
   Label(text='nome da empresa', top=0.8*cm, style={'fontName': 'Helvetica-

Bold', 'fontSize': 14}),
)

self.band_page_header.elements.append(
   Label(text='numero da ordem de servico', top=-0.5*cm, left=17.0*cm ,

style={'fontName': 'Helvetica-Bold', 'fontSize': 26}),
)


Eu apenas alterei os valores para a variável TEXT

Aguardo!


--
Miltinho Brandão

Vinícius Salsotto

unread,
Oct 18, 2010, 7:11:51 AM10/18/10
to geraldo-pt
Milton,

seu teste funcionou legal e acabou me dando uma luz para solucionar
esse problema, de modo que dei um cast no número da ordem de serviço
tranformando em uma string e deu certo! ;D

Mais uma vez obrigado pela ajuda e principalmente pela sugestão de
solução para cabeçalhos fixos no Geraldo.

Agora

On 17 out, 21:15, Milton Brandão <milti...@gmail.com> wrote:
> Vinícius, boa noite
>
> Por favor, faça esse teste pra ver qual resultado e diga o que acontece:
>
>  self.band_page_header.elements.append(
>
> >     Label(text='nome da empresa', top=0.8*cm, style={'fontName':
> > 'Helvetica-
> > Bold', 'fontSize': 14}),
> > )
>
> > self.band_page_header.elements.append(
> >     Label(text='numero da ordem de servico', top=-0.5*cm, left=17.0*cm ,
> > style={'fontName': 'Helvetica-Bold', 'fontSize': 26}),
> > )
>
> *Eu apenas alterei os valores para a variável TEXT*
>
> Aguardo!
>
> --
> Miltinho Brandão
Reply all
Reply to author
Forward
0 new messages