Desenvolvimento - Sharepoint - Dev
Reporting Services e SharePoint: Relatórios a partir de uma Lista
Nesse artigo iremos abordar como podemos desenvolver e disponibilizar relatórios no SharePoint através do Reporting Services em modo integrado ao SharePoint.
por Wagner AmorimOverview
Recentemente publicamos uma série de artigos focando na integração do SharePoint 2007 com o Reporting Services 2008, desta vez iremos abordar como podemos desenvolver e disponibilizar relatórios no SharePoint através do Reporting Services em modo integrado ao SharePoint e finalizar a série.
Na verdade esse é um cenário bem comum em projetos de SharePoint, disponibilizar relatórios é um módulo obrigatório para qualquer projeto que trabalha com informações, nos artigos anteriores exploramos como configurar a integração do SharePoint com o Reporting Services e como exibir informações de bancos proprietários/SQL Server dentro do SharePoint com o Reporting Services, o fato é que também é muito comum a necessidade de exibir relatórios com informações das nossas listas no SharePoint.
Confira os artigos anteriores:
Reporting Services e SharePoint em “Integration Mode”
http://www.canalsharepoint.com.br/tutoriais/Tutoriais/Reporting%20Services%20e%20SharePoint%20em%20“Integration%20Mode”.aspx
Reporting Services e SharePoint: Criando um Relatório Simples
http://www.canalsharepoint.com.br/tutoriais/Tutoriais/Reporting%20Services%20e%20SharePoint%20-%20Criando%20um%20Relatório%20Simples.aspx
Para saber mais sobre o Reporting Services leia:
SQL Server Reporting Services
http://msdn.microsoft.com/pt-br/library/ms159106.aspx
Developer"s Guide: Tutorials (Reporting Services)
http://msdn.microsoft.com/en-us/library/aa337423.aspx
Solução
Para essa solução vou trabalhar com as seguintes tecnologias:
- Windows SharePoint Services 3.0 with SP2
- Microsoft® SQL Server® 2008
- Microsoft® Windows Server 2008
- Visual Studio 2008 + Extensions for Windows SharePoint Services 3.0, v1.2
- Microsoft C#
Após ter configurado o SharePoint em “Integration Mode” com o SQL Server Reporting Services, vamos criar nosso projeto no Visual Studio.
1. Criando o Projeto no Visual Studio.
1.1. No Visual Studio, cliqueem “File/New/Project”.
1.2.Na janela New Project, clique em “Business Intelligence Projects/Report Server Project”, renomeie nome do projeto para “CanalSharePoint.Artigos.Reportings”.
1.3. Na janela Solution Explorer, clique com o botão direito em “Shared Data Sources” e selecione “Add New Data Source”.
1.4. Ao abrir a janela “Shared Data Source Properties”, atribua as seguintes propriedades:
Seção General:
ü Name: DSCanalSharePoint
ü Type: XML
ü Connection String: http://EnderecoDoSeuSite/_vti_bin/lists.asmx
Seção Credentials:
ü Marque a opção de autenticação utilizada pela sua aplicação SharePoint, por padrão Windows Authentication ou No Credentials para sites com acesso anônimo.
DICA: Utilize Windows Authentication ou Acesso Anônimo sempre que possível, pois as demais opções não são suportadas pelo Designer do SSRS no Visual Studio.
1.5. Após criar o DataSource, na janela Solution Explorer, clique com o botão direito na pasta “Reports”, depois em “Add/New Item/Report”.
1.6.Na janela Add New Item, renomeie o Report para “Clientes.rdl” e clique em Add.
1.7.Com o Report criado, agora precisamos adicionar um DataSet, para isso na janela Report Data, clique em “New/Dataset...”.
1.8. Na janela Dataset Properties, atribua as seguintes propriedades:
Seção Query:
ü Name: dstCanalSharePoint
ü Data Source: Escolha o Data Source criado no passo anterior ou se preferir crie um novo seguindo os passos anteriores.
ü Query: Insira uma Query em XML para a WebService, seja um exemplo:
<Query>
<SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>
<Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">
</Method>
</Query>
Seção Parameters:
Adicione os seguintes parâmetros
ü Parameter
o Name: listName
o Value: Nome ou GUID da lista que deseja consultar (ex: {632CF919-C265-4738-817D-F98F44CDB5FA})
ü Parameter
o Name: rowLimit
o Value: O limite de itens que a consulta deve retornar (ex: 1000)
ü Parameter
o Name: viewName
o Value: Nome ou GUID da view que deseja consultar (ex: {7B4939FAD1-D5B6F-D4CCF-DA3AE-DB2BCF3199857})
* Esse parâmetro é recomendado, porém não é obrigatório.
DICA: Você consegue facilmente obter o GUID da Lista ou da View utilizando ferramentas de terceiros como o Stramit CAML Viewer (http://www.codeplex.com/SPCamlViewer), ou acessando as configurações do site e da lista.
Seção Fields:
Adicione os campos desejados da lista
ü Field
o Name: Insira o nome que deseja atribuir ao campo.
o Source: Insira o caminho do campo no seu DataSource, esse caminho é formado da seguinte forma “ows_” + Internal Name (esse deve ser o Internal Name do campo na lista consultada), veja na figura abaixo:
DICA: A ferramenta “Stramit CAML Viewer” indicada acima também consegue facilmente exibir o internal name do campo desejado.
1.9.Clique em OK.
1.10. Note na janela Report Data que o DataSet já está disponível com o campo adicionado.
1.11. Agora para testar basta adicionar o campo na tela de Design, para isso, clique com o botão direito na tela Design, depois em “Insert/Table”.
1.12. Após o Visual Studio adicionar a tabela, clique no símboloem qualquer uma das colunas inferiores (data) e selecione o nome do campo criado acima (título).
1.13. Salve o projeto.
1.14. Clique na guia Preview, depois em “View Report” para testar seu Relatório.
Agora seu relatório já está pronto, para publicá-lo no SharePoint, acesse o artigo anterior da série em Reporting Services e SharePoint: Criando um Relatório Simples e siga os passos a partir do item 2.12.
No artigo acima não entrei nos conceitos de melhores práticas e de design do Reporting Services, o foco do artigo é somente apresentar a integração entre as tecnologias SharePoint e Reporting Services, para maiores detalhes das 2 tecnologias, recomendo o site MSDN e os links apresentados acima.
Conclusão
Após todos esses passos, finalizamos o terceiro artigo da série “SharePoint e Reporting Services”, nesse artigo exploramos como criar relatórios no Reporting Services a partir de Listas no SharePoint.
- Usando Client Object Model do SharePoint 2010 para melhorar a Experiência do Usuário (UX)Sharepoint - Dev
- Integrando Microsoft ASP .NET AJAX com SharePointSharepoint - Dev
- Tratamento de Exceções no SharePointSharepoint - Dev
- Utilizando Campos de Consulta (Lookup) ProgramaticamenteSharepoint - Dev
- Recuperando valor de uma coluna do tipo ChoiceSharepoint - Dev