Reporting Services no SQL Server 2008 R2 – Montando relatórios específicos

Fala galera, uma das coisas que foi necessário fazer internamente na NGR Solutions, era imprimir Notas Fiscais baseadas nos projetos que entregávamos. Em São Paulo (e algumas outras cidades) a emissão de Notas Fiscais é eletrônica, porém a NGR está sediada em Poá e a prefeitura da cidade não aceita notas eletrônicas, só são aceitas notas através do talão. Nossa sorte é que foi possível destacar as notas do talão e imprimir as informações. Com base nesse contexto de exemplo, pode ser facilmente adaptado à qualquer outra necessidade.

Para imprimir as informações da Nota Fiscal, vou me basear em uma procedure chamada “sps_NotaFiscal” que retorna todas as informações necessárias para o preenchimento da Nota. Estas informações vocês podem retornar de sua estrutura de dados normalizada.

Para entender esse modelo de nota fiscal de talão, veja a imagem abaixo. Nela as linhas em preto são as delimitações padrões de uma Nota Fiscal de serviços, os números que estão em verde é a distância da lateral esquerda até o campo que será impresso e os números em vermelho representam a distância entre o topo da página e o texto.

NF Modelo

Agora que já sabemos como é o modelo que será trabalhado, vamos abrir o SQL Server Reporting Services e o SQL Server 2008 R2 para coletar os dados e montar o layout que será impresso.

imageDepois de criar um projeto no BIDS (Business Intelligence Development Studio) e montar a estrutura simples conectando no nosso Banco de Dados e apontando para a procedure criada que retorna os dados necessários.

Se precisar de ajuda para criar seu Shared Data Source e seu Shared Datasets, leia Criando seu primeiro relatório. Vou entender que estamos com esta estrutura criada, ok?!

Neste exemplo, o Data Source aponta para o Banco de Dados e o Data Set aponta para a procedure “sps_NotaFiscal” que faz a busca na base de dados e retorna as informações necessárias para a montagem da Nota.

imageVamos adicionar um relatório chamado “NF_Talao” e especificar que os dados que serão consultados está no NotaFiscal.rsd (DataSet). Para isso é necessário selecionar os campos que retornam do DataSet, encontrando estes campos no Report Data. Caso não esteja visualizando a sessão Report Data, clique em qualquer parte do corpo do relatório, vá até o menu View e procure o ítem Report Data. Ou utilize o atalho Ctrl+Alt+D.

imageimageAgora que a sessão está aberta (figura da esquerda), será adicionado o DataSet que retorna os dados. Para isso, vá até o ítem Datasets do Report Data, clique com o botão direito e vá para Add Dataset. Quando a tela de selecionar o DataSet abrir, selecione o DataSet já criado anteriormente e mude o campo Name para NotaFiscal. Este nome será mostrado dentro da pasta DataSet do Report Data (figura da direita).

Repare que os campos da sua nota fiscal estão apresentados dentro do DataSet criado. Estes campos serão arrastados para dentro do relatório, em seus devidos lugares. image

O layout que será utilizado é o apresentado no início, reparem que no modelo temos números em verde e vermelho escritos à mão. Estes números são as distâncias entre a borda e topo do campo. Vamos arrastar o campo DataEmissao do Dataset para dentro do relatório, e em seguida, ajustar a posição correta. Lembrando que o número em vermelho é a distância do topo (Top) e a verde é a distância da esquerda (Left). Esta configuração deve ser feita em todos os campos do Dataset.

Após colocar todos campos no relatório, e organizar a localização (distâncias da lateral e topo), seu relatório terá uma aparëncia como esta abaixo.

image

Para testar o relatório, execute apertando F5. Se tudo estiver correto, seu relatório será semelhante a este abaixo:

image

Se imprimir este relatório em uma Nota Fiscal do talão, o relatório será como este abaixo:

NF Final

Ocasionalmente, um ajuste ou outro poderá ocorrer em cima da impressão realizada, este período de desenvolvimento e testes é exatamente para encontrar esses detalhes e consertar.

Montar relatórios com o SQL Server Reporting Services é extremamente simples, alguém discorda?! rss

Comentários

pingback
topsy.com
2/9/2010 00:09:23 #

Pingback from topsy.com

Twitter Trackbacks for
        
        Think Think .Net | Reporting Services no SQL Server 2008 R2 – Montando relatórios específicos
        [diegonogare.net]
        on Topsy.com

Ramon Durães
Ramon Durães
2/9/2010 08:09:34 #

E tem quem não aceite NFe? uauaua! Gostei da sugestão com o SQL Reporting Services.

Mauro Zamaro
Mauro Zamaro
2/9/2010 08:57:03 #

Excelente sacada. Simples, prático, rápido e objetvio.
Talvez com o ReportBuilder (do SSRS) fosse mais fácil diagramar e acertar os detalhes de leiaute.

[]s

Felipe Ferreira
Felipe Ferreira
9/9/2010 11:07:51 #

legal! eu já tive que fazer isso algumas vezes para criar etiquetas de endereçamento.
imprimir certinho naqueles papéis especiais, para que o cliente só destaque o papel e cole nos envelopes.
meio chato de acertar o passo na hora da criação, mas depois de feito a primeira vez fica show de bola!

[ ]'s

rolex replicas
rolex replicas
29/10/2010 03:15:06 #

[url=http://www.gucci-store.org]gucci handbags[/url]
[url=http://www.uggau.org]cheap ugg boots[/url]
[url=http://www.guccigucci.org]discount gucci handbags[/url]
[url=http://www.jeanskk.com]cheap jeans[/url]
[url=http://www.replica-watches-uk.co.uk]replica watches uk[/url]
[url=http://www.isokok.com]air jordan shoes[/url]
[url=http://www.rolexreplicascollection.com]rolex replicas[/url]
[url=http://www.edhardyclothesshop.com]ed hardy[/url]
[url=http://www.rolexwatchessale.org]rolex replica[/url]
[url=http://www.idolreplicas.org]replica watches[/url]
[url=http://www.breitlingwatchesstore.com]breitling watches[/url]
[url=http://www.discount-gucci-handbags.net]gucci handbags[/url]
[url=http://www.louis-vuitton-handbag.net]louis vuitton handbags[/url]
[url=http://www.laptoppackages.net]laptop batteries[/url]
[url=http://www.fishtank-pump.com]fish tank pump[/url]  
[url=http://www.aquarium-liverock.com]aquarium live rock[/url]  
[url=http://www.aquarium-wood.com]aquarium wood[/url]  
[url=http://www.socialanxietyphobiacure.com]social anxiety[/url]  
[url=http://www.anxietypanicattackssymptoms.com]panic attacks[/url]
[url=http://www.veteranpanicdisordertreatment.com]panic disorder[/url]  
[url=http://www.cbttherapydepression.com]cbt therapy[/url]  
[url=http://www.goodpennystockslist.com]Penny stocks[/url]
[url=http://www.bestbiorbfishtank.com]Birob fish  tank[/url]  
[url=http://www.fishtank-filters.com]fish tank filter[/url]  
[url=http://www.batteries-supply.com]laptop batteries[/url]
[url=http://www.ebuypainting.com]art paintings[/url]  

home network setup
home network setup
19/11/2010 07:14:48 #

I have not entirely grasped the content here in the post about  Reporting Services no SQL Server 2008 R2 – Montando relatórios específicos. I guess I know what you are stating. I perhaps figure what you are articulating, but you baffled me in the end. I'm plainspoken and trustworthy, that way everyone acknowledges what I mean.

men coat
men coat
19/11/2010 07:19:36 #

I have not totally followed the detail here in the article about  Reporting Services no SQL Server 2008 R2 – Montando relatórios específicos. I reckon I figure what you are saying. I possibly understand what you are stating, but you mystified me in the beginning. A post a day keeps the commentaries flowing.

put
put
22/11/2010 16:15:19 #

Appreciated  Reporting Services no SQL Server 2008 R2 – Montando relatórios específicos What I relish about website blogs is the fact that they trigger off an idea in my brain. After that passes I find that I have to pen a commentary with the hope it is enjoyable to some individuals.  Keep the postings being published. As the man stated I will be back.

Wescley
Wescley
19/4/2011 14:28:29 #

No meu caso não aparece o Shared Dataset, estou com o 2008.

será que vou ter que baixar mais atualizações?

gucci outlet online
gucci outlet online
13/5/2011 00:03:18 #

These are wonderful! Thank you for sharing

Comentar


(Vai mostrar seu Gravatar)

  Country flag

biuquote
  • Comentário
  • Pré-visualização
Loading




SolidQ


Codificando .Net

SQL PASS