Solución para todo el sistema basada en CSS
Esto no requiere ningún marco JavaScript o Ajax ni ningún otro contenedor. Fue probado en Internet Explorer, Firefox, Safari y Chrome.
Esto se puede solucionar en el nivel de la hoja de estilo en el servidor de informes.
Primero, navegue hasta el directorio donde están instalados los servicios de informes, en mi caso ( SQL Server 2012 SP1) es:
C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer
En ese directorio, encontrará un archivo llamado reportserver.config.
Consulte Personalizar hojas de estilo para el visor HTML y el Administrador de informes .
En ese archivo, inserte una sola línea XML como (del documento anterior):
<Configuration>
...
<HTMLViewerStyleSheet>SafariChromeFix</HTMLViewerStyleSheet>
...
</Configuration>
Salva eso.
Lo que ellos no dicen en el enlace anterior es que esta entrada anula completamente la hoja de estilo predeterminada. Mis primeros intentos de hacer que los informes se rendericen funcionaron agregando una hoja de estilo div, todo lo demás estaba roto. Una vez que descubrí que esta edición en el archivo reporserver.config no aumentó, pero en realidad reemplaza la hoja de estilo predeterminada, la copié en la hoja de estilo predeterminada y todo comenzó a funcionar.
A continuación, descienda al directorio de estilos (C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\Styles
).
Haga una copia del archivo llamado SP_Full.css y nombre la copia SafariChromeFix.css. En este punto, SafariChromeFix.css debería ser idéntico a SP_Full.css.
Edite SafariChromeFix.css y agregue las siguientes líneas en la parte superior:
div {
overflow: visible !important;
}
Guárdalo.
Una vez que se guarda, todos los informes existentes en esta instancia de Reporting Services se mostrarán en todos los navegadores, incluidos Chrome y Safari.
Tenga en cuenta:
No solo es posible, sino muy probable que reportserver.config se sobrescriba con actualizaciones de los servicios de informes, por lo que es posible que tenga que agregar la <HTMLViewerStyleSheet>SafariChrome</HTMLViewerStyleSheet>
etiqueta con el tiempo.
Esto también nos da un lugar para entrar en la hoja de estilo predeterminada y realizar muchos otros cambios personalizados a partir de algo que ya está funcionando. Y como no es la hoja de estilo predeterminada, su nuevo archivo CSS personalizado no se sobrescribe durante las actualizaciones y los parches.