Проблемы
Рассмотрим следующий сценарий.
-
У вас есть отчет Microsoft SQL Server Reporting Services 2008 R2 (SSRS 2008 R2) или служб Microsoft SQL Server Reporting Services 2012 (SSRS 2012) для списка или библиотеки документов Microsoft SharePoint.
-
В отчете используется встроенное расширение данных списка служб SQL Server Reporting Services SharePoint.
-
Вы создаете запрос набора данных на основе списка или библиотеки документов SharePoint, а затем запускаете запрос в конструкторе отчетов.
-
Отчет развертывается в ферму SharePoint, в которой размещается список или библиотека документов SharePoint.
В этой ситуации запрос к набору данных возвращает другой результат в конструкторе отчетов, чем в ферме SharePoint. Например, вы создаете новое представление в SharePoint, в котором вы выбираете параметр Показать все элементы без просмотра папок в библиотеке документов. Новое представление задается в качестве представления по умолчанию для библиотеки документов. В этой ситуации отчет возвращает разные данные в ферме SharePoint, чем в конструкторе отчетов.Примечание.При развертывании отчета на сайте SharePoint возвращаются только папки верхнего уровня и файлы библиотеки документов. Тем не менее, в конструкторе отчетов возвращаются все файлы, которые отражают изменение представления по умолчанию независимо от расположения папок.
Причина
Эта проблема возникает из-за разных путей к коду, сделанных службой SSRS 2008 R2 или SSRS 2012, когда SharePoint запускает отчет в той же ферме, что и список. Когда локальная ферма SharePoint запускает отчет, список извлекается с помощью пути к LocalConnection . Путь читается прямо из списка SharePoint без вызовов SOAP и создает локальную копию сведений о списке без конфигурации представления по умолчанию. Таким образом, путь к элементу LocalConnection не отражает изменения в представлении по умолчанию. Тем не менее, если отчет запускается конструктором отчетов, в отчете используется путь SPRemoteConnection . Этот путь использует вызовы SOAP, похожие на функцию GetListCollection . Эта функция получает доступ к сайту через удаленное соединение HTTP, а не по локальному соединению. Таким образом, изменения будут отражены в конфигурации представления по умолчанию.
Обходное решение
Чтобы обойти эту проблему, воспользуйтесь одним из описанных ниже методов.
-
Разверните отчет на сервере отчетов в основном режиме и запустите его из сервера отчетов в основном режиме. Примечание. Если вы хотите просмотреть отчет в SharePoint, установите веб-часть "средство просмотра отчетов в основном режиме" в SharePoint, а затем вызовите отчет из собственного экземпляра служб отчетов. Дополнительные сведения о том, как просматривать и просматривать отчеты в основном режиме с помощью веб-частей SharePoint, можно найти на веб-сайте MSDN.
Просмотр и изучение отчетов в основном режиме с помощью веб-частей SharePoint
-
Развертывание списка или библиотеки документов SharePoint в другую ферму SharePoint, к которой можно получить доступ с помощью фермы, на которую развернут отчет. Таким образом, отчет в локальной ферме может получить доступ к списку удаленно.
-
Используйте расширение XML-данных для создания XML-запроса без использования расширения данных списка SharePoint.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".