none
Reporting Service - Erro no SubReport RRS feed

  • Pergunta

  • Olá pessoal...

    Tenho um relatório com um subreport, estou chamando este relatório dinamicamente, por dentro do Visual Studio ele roda normal sem erro, mas quando rodo pela minha aplicação da este erro: "The subreport 'SubFuncao' could not be found at the specified location".

    Os dois relatórios estão na mesma pasta.

    Minha chamada esta assim:

    ReportViewer rpvPcmso = new ReportViewer();
    rpvPcmso.ProcessingMode = ProcessingMode.Local;

    List<ReportParameter> paramList = new List<ReportParameter>();

    //Aqui coloco a lista

    rpvPcmso.LocalReport.ReportPath = Server.MapPath("caminho do relatório pai");

    rpvPcmso.LocalReport.SetParameters(paramList);

    //Aqui coloco os datasets

    e depois gero o pdf. vários outros relatório funcionam deste jeito, mas este da pau no subrelatorio.


    Alexander

    quinta-feira, 3 de maio de 2012 20:51

Respostas

Todas as Respostas

  • Boa noite Alexander,

    Faça o teste mudando o caminho do subreport (no visual studio) para o caminho da pasta no gerenciador de relatórios.

    Acredito que dessa forma funcionará.

    O que pode estar acontecendo: Os dois relatórios estão na mesma pasta no windows, e no mesmo projeto no BIDS, por isso quando vocÊ executa direto no visual studio funciona que é uma beleza.

    Porém, se no gerenciador de relatórios, os dois relatórios estiverem em pastas separadas não irão funcionar, e por mais que estejam na mesma pasta porém divergentes do caminho especificado no subreport (no visual studio) também gerará conflito e não abrirá o subreport.

    Verifique estas duas opções.


    Rodrigo Ataíde.

    sexta-feira, 4 de maio de 2012 02:06
  • Ataíde, não achei o lugar pra mudar o caminho do relatório, o único parâmetro que achei foi o FullPath, mas ele está desabilitado. Como eu faço?

    Alexander

    sexta-feira, 4 de maio de 2012 12:03
  • Mudei o caminho dos relatórios direto para minha aplicação e continua dando o mesmo erro. Será que tem que passar o subrelatório dinamicamente também?

    Alexander

    sexta-feira, 4 de maio de 2012 14:25
  • Boa tarde Alexander,

    No item SubReport dentro do relatório, você clica com o botão direito, vai em subreport properties e onde tem:

    "Use this report as a subreport" você vai colocar o caminho do subrelatório.

    Por exemplo, se estiver nas pastas, Documentos>Relatórios>Clientes.

    Você vai colocar o caminho da seguinte forma

    /Documentos/Relatórios/Clientes/NOMEDORELATÓRIO.

    Esse caminho é o realizado no gerenciador de relatórios (navegador).


    Rodrigo Ataíde.

    sexta-feira, 4 de maio de 2012 20:30
  • Olá Rodrigo...

    Está muito estranho isso. Os relatórios estão no mesmo lugar, e o caminho que ele fala que não foi encontrado é exatamente o caminho dos relatórios.

    "The subreport 'SubFuncao' could not be found at the specified location F:\Alex\Projetos\SGS\SGS.WEB\regente
    \Relatorios\pcmso\PCMSOPadraoSubFuncao.rdlc. Please verify that the subreport has been published".

    Nesta pasta pcmso estão os relatórios, tanto o pai quanto o filho.

    Obs: O relatório paiestou chamando dinamicamente, será que tenho que chamar o filho dinamicamente também?


    Alexander

    segunda-feira, 7 de maio de 2012 11:41
  • Alexandre,

    Será que o usuário que esta rodando este relatório possui permissão para acessar este arquivos .rdlc?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    segunda-feira, 7 de maio de 2012 14:11
  • Junior tem sim... Todos outros relatórios(fora os sub) funciona normal e estão todos na mesma pasta. O erro dá só nos Subs.

    Alexander

    segunda-feira, 7 de maio de 2012 15:05
  • Alexandre,

    Esta unidade F: é uma unidade local ou de rede?

    Já tentou passar o caminho no formato FQDN?

    Por exemplo:

    \\SeuServidor\suapasta\Alex\Projetos\SGS\SGS.WEB\regente\Relatorios\pcmso\PCMSOPadraoSubFuncao.rdlc. Please verify that the subreport has been published".


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    segunda-feira, 7 de maio de 2012 16:42
  • Junior,

    Este caminho é local, teoricamente estaria certo, mas mesmo mudando o caminho na propriedade do subrelatório (em qualquer formato) ele pega o caminho onde está o arquivo e acrescenta o caminho que eu coloco manualmente ex:

    F:\Alex\Projetos\SGS\SGS.WEB\regente\Relatorios\pcmso\"aqui ele joga o caminho que eu coloco manual". O que não entendo é que o caminho que ele fala que não achou o arquivo é exatamente onde o arquivo está.


    Alexander

    segunda-feira, 7 de maio de 2012 17:49
  • Olá Alexander e Júnior,

    Se o subreport está no mesmo caminho, não há necessidade de colocar o caminho completo, bastas o nome do relatório.

    Ou seja, basta você deixar isso aqui PCMSOPadraoSubFuncao nas propriedades do seu subreport.

    Nessa minha imagem onde tá escrito /Data Sources/Catalogs/subcli é o caminho onde está o meu relatório e subcli é o nome do meu relatório.

    Esse caminho não é do Windows, e sim do gerenciador de relatórios.

    Então se no gerenciador de relatórios os arquivos estiverem em pastas separadas, você precisa colocar dessa forma que coloquei (não identico, mas da forma como está organizada suas pastas no gerenciador.


    Rodrigo Ataíde.

    segunda-feira, 7 de maio de 2012 21:50
  • Olá Rodrigo...

    Vou pedir um pouco de paciência, pois estou com esta dificuldade.

    Desse jeito que vc falou é o jeito que estou fazendo e da certo somente por dentro do visual studio, quando jogo os arquivos na minha aplicação só funciona o relatório pai, o sub não encontra. Acredito que eu devo fazer alguma chamada pelo código onde chamo o relatório pai. veja como estou fazendo:

    Assim roda normal pelo VS

    Assim roda perfeitamente só pelo visual studio

    veja minha estrutura na aplicação:

    Só lembrando que eu não uso publicação no servidor do Reporting Services, apenas colo o arquivo.rdl na minha aplicação e chamo pelo c#.


    Alexander

    terça-feira, 8 de maio de 2012 13:26
  • Bom dia Alexander,

    Nessa estrutura da sua aplicação, onde está o relatório pai? Em qual pasta?

    Nesse caso, faça um teste:

    Compartilhe a pasta onde está o sub relatório, dando permissão para quem você achar necessário e no caminho indicador do subrelatório coloque:

    \\server\pasta\nomedorelatorio

    Sem a extensão do relatório.


    Rodrigo Ataíde.

    terça-feira, 8 de maio de 2012 15:44
  • Rodrigo...

    Nesta pasta F:\Alex\Projetos\SGS\SGS.WEB\regente\Relatorios\pcmso\ o relatório PCMSOPadrao é o pai e o PCMSOPadraoSubFuncao é o filho(os dos estão juntos). Esta estrutura é local, não está buscando de nenhum servidor é tudo na minha maquina local tanto a visualização pelo VS(que funciona) quanto pela minha aplicação(não funfa).


    Alexander

    terça-feira, 8 de maio de 2012 15:54
  • Alexander,

    Entendi perfeitamente.

    Eu pedi pra você fazer o teste acima porque algumas ferramentas do reporting services só trabalha com serviços em rede.

    Ou seja, ele não vai reconhecer esse caminho F:\Alex\.....\PCMSOPadraoSubFuncao

    Mas ele pode reconhecer \\Server01\pcmso\PCMSOPadraoSubFuncao

    Por este motivo pedi para compartilhar.

    Você realizou o teste?


    Rodrigo Ataíde.

    terça-feira, 8 de maio de 2012 20:39
  • Rodrigo,

    Fiz o teste, mas retorna este erro:

    • The definition of the report 'F:\Alex\Projetos\SGS\SGS.WEB\regente\Relatorios\pcmso\PcmsoPadrao.rdl' is invalid.
      • The ReportName for the subreport ?SubFuncao? is not valid. Item names cannot contain the following reserved characters ;?:@&=+$,\*<>|".

    Eu não implementei o SubreportProcessing no meu código, será por isso? Se for, como fazer?


    Alexander

    quarta-feira, 9 de maio de 2012 12:12
  • Boa noite Alexander,

    Desculpa a demora no retorno, eu verifico o fórum apenas no turno da noite. Horário que eu trabalho e que posso realizar os testes.

    Vamos lá.

    Eu vou perguntar só pra esclarecer o passo a passo que você realizou.

    1- Você compartilhou (no windows) a pasta "pcmso" com permissão de full para todos os usuários da sua rede?

    2- No item SubReport, na configuração das propriedades (aquela imagem que coloquei), você colocou \\NomeDoServer\pcmso\PcmsoPadrao (sem a extensão)? Onde NomeDoServer é o nome da máquina onde está a unidade F:

    3- Ignorando o passo 1 e passo 2, você já tentou apenas retirar o .rdl do final? Ficando assim: 'F:\Alex\Projetos\SGS\SGS.WEB\regente\Relatorios\pcmso\PcmsoPadrao'

    Pois pelo erro "The ReportName for the subreport ?SubFuncao? is not valid. Item names cannot contain the followin reserved characters ;?:@&=+$,\*<>|". é possível que seja esse .rdl ou os : de F:, por isso acredito que a solução é compartilhar a pasta e fazer da forma do passo 1 e passo 2.


    Rodrigo Ataíde.

    quarta-feira, 9 de maio de 2012 21:08
  • Bom Dia Rodrigo...

    Fiz todos os passos, mas o este erro de caracteres da ainda no visual Studio parece que ele não aceita a barra"\".

    Este erro do subrelatório não tem lógica, fiz alguns testes em outros relatórios todos que eu coloco subrelatório da o mesmo erro, ou seja o relatório pai funfa normal, mas quando adiciono o filho ai da zica. É ilógico por que os dois arquivos estão no mesmo lugar sendo acessado com o mesmo usuário. Vou tentar montar um html e colocar no lugar do subrelatório, infelizmente.


    Alexander

    quinta-feira, 10 de maio de 2012 12:20
  • Olá Alexander,

    Então num sei o que pode estar acontecendo.

    Faça esse teste com um html.


    Rodrigo Ataíde.

    • Marcado como Resposta Alexander Leão quinta-feira, 10 de maio de 2012 21:03
    quinta-feira, 10 de maio de 2012 20:54
  • Opa Rodrigo,

    Você conseguiu resolver? To com o mesmo pro e não sei como resolver.

    terça-feira, 19 de junho de 2012 17:48
  • Alexander,

    Fora do Visual Studio você consegui acessar este relatório?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    terça-feira, 19 de junho de 2012 17:51
  • Eu acho que o problema esta em chamar o relatório dinamicamente pelo c#, pois quando fiz um teste setando no report view o nome do relatório, tudo funcionou blz, tanto o Pai quanto o Filho.

    No meu caso, até os datasets são preenchidos dinamicamente.

    terça-feira, 19 de junho de 2012 18:01
  • William,

    Mas isso somente fazendo o deployment do relatório poderiamos saber.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    terça-feira, 19 de junho de 2012 18:07
  • Junior Mandei fazer Deploy do relatório, apresentou a seguinte mensagem:

    

     ------ Build started: Project: DANFE, Configuration: DebugLocal ------
    Building the report, DANFE.rdl, for SQL Server 2008 R2 Reporting Services.
    Compilação concluída -- 0 errors, 0 warnings
    ------ Deploy started: Project: DANFE, Configuration: DebugLocal ------
    Deploying to http://localhost/reportserver
    Deploying report '/DANFE/DANFE'.
    Aviso : caixa de texto 'Textbox32' e caixa de texto 'natOp' se sobrepõem. Não há suporte para itens de relatório de sobreposição em todos os renderizadores.
    Aviso : caixa de texto 'Textbox16' e caixa de texto 'dEmi' se sobrepõem. Não há suporte para itens de relatório de sobreposição em todos os renderizadores.
    Aviso : linha 'Line11' e linha 'Line12' se sobrepõem. Não há suporte para itens de relatório de sobreposição em todos os renderizadores.
    Aviso : caixa de texto 'natOp12' e caixa de texto 'Textbox48' se sobrepõem. Não há suporte para itens de relatório de sobreposição em todos os renderizadores.
    Aviso : retângulo 'Rectangle19' e retângulo 'Rectangle20' se sobrepõem. Não há suporte para itens de relatório de sobreposição em todos os renderizadores.
    Aviso : retângulo 'Rectangle18' e retângulo 'Rectangle21' se sobrepõem. Não há suporte para itens de relatório de sobreposição em todos os renderizadores.
    Aviso : retângulo 'Rectangle17' e retângulo 'Rectangle18' se sobrepõem. Não há suporte para itens de relatório de sobreposição em todos os renderizadores.
    Aviso : retângulo 'Rectangle15' e retângulo 'Rectangle17' se sobrepõem. Não há suporte para itens de relatório de sobreposição em todos os renderizadores.
    Implantação concluída -- 0 errors, 8 warnings
    ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
    ========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========

    Desculpa minha ignorância mas o que isso significa? Não apresentou nenhum erro, no meu contexto isso é bom?

    terça-feira, 19 de junho de 2012 18:35
  • Outro detalhe, seque que preciso fazer alguma implementação no evento "SubreportProcessing"?
    terça-feira, 19 de junho de 2012 18:50
  • William,

    Isto é uma falha na estrutura do seu relatório, o que esta acontecendo é que alguns itens do seu relatório estão sobrepondo as posições.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    terça-feira, 19 de junho de 2012 18:58
  • Blz, isso eu entendi, mas será que isso ta influenciando no SubReport não funcionar?
    terça-feira, 19 de junho de 2012 19:20
  • William,

    Provavelmente.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    terça-feira, 19 de junho de 2012 19:25
  • Corrigi as advertências:

    ------ Build started: Project: DANFE, Configuration: DebugLocal ------
    Building the report, DANFE.rdl, for SQL Server 2008 R2 Reporting Services.
    Compilação concluída -- 0 errors, 0 warnings
    ------ Deploy started: Project: DANFE, Configuration: DebugLocal ------
    Deploying to http://localhost/reportserver
    Deploying report '/DANFE/DANFE'.
    Implantação concluída -- 0 errors, 0 warnings
    ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
    ========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========

    Mas continua sem funcionar.

    Vou desistir de usar o Sub-Report, vou procurar outra alternativa.

    O meu problema é o seguinte: 

    Na primeira imagem você observa que existe uma Matriz que esta ultrapassando o relatório, o que eu queria era que ela ficasse como na segunda imagem, que a matriz quebrasse a linha quando atingir o fim do relatório, como eu poderia fazer isso?

    Muito obrigado pela paciência Junior, sua ajuda esta sendo muito importante. Estou atrasado na entrega desse relatório e por isso todo esse meu "desespero" em solucionar o problema.

    terça-feira, 19 de junho de 2012 19:54
  • Olá,

    O problema original desse tópico foi resolvido?

    Estou passando pela mesma situação.


    Um Abraço, Nelson

    sexta-feira, 29 de março de 2013 23:34