Object reference not set to an instance of an object при попытке сохранения отчета и печати.

Обсуждение Stimulsoft Reports.NET
Ответить
Eugene A. Bykov
Сообщения: 52
Зарегистрирован: 28 июн 2006, 05:34
Откуда: Ekaterinburg, Russia

Object reference not set to an instance of an object при попытке сохранения отчета и печати.

Сообщение Eugene A. Bykov »

Добрый день, я столкнулся со следующими двумя проблемами.

1. Отчет отображается на веб-странице корректно, однако при попытке нажать кнопку Save Report (экспорт в любой формат), получаю ошибку:

Код: Выделить всё

Object reference not set to an instance of an object. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[NullReferenceException: Object reference not set to an instance of an object.]
   Stimulsoft.Report.Web.StiReportResponse.ResponseAsPdf(Page page, StiReport report, StiPagesRange pagesRange, Single imageQuality, Single imageResolution, Boolean embeddedFont, Boolean standardPdfFonts, Boolean openDialog) +44
   Stimulsoft.Report.Web.StiWebViewer.ProcessPdfRequest() +215
   Stimulsoft.Report.Web.StiWebViewer.OnBubbleEvent(Object source, EventArgs e) +742
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
   System.Web.UI.WebControls.ImageButton.OnCommand(CommandEventArgs e) +115
   System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +171
   System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102

 


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42 
Подскажите, пожалуйста, как ее избежать.

2. При нажати на кнопку печати всё происходит нормально, если PrintDestination=PopupWindow: открывается новое окно с отчетом и т.п., при этом в основном окне отчета сам отчет исчезает со страницы, остается лишь белый лист с заблокированной панелью инструментов. Думаю, лучше отображать там отчет, возможно после печати пользователь захочет еще что-либо с ним сделать.
Если выбрана печать PDF или DIRECT, то выскакивает та же ошибка - Object reference not set to an instance of an object.

Думал, что проблема может быть связана с данными, исключил все dataSource из отчета, оставил отчет с одним textBox. Проблема сохранилась.

Использую Visual Studio 2005.

Спасибо.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Object reference not set to an instance of an object при попытке сохранения отчета и печати.

Сообщение Vital »

Скорей всего Вы строите отчет только один раз? В этом случае при следующем обновлении страницы
webviwer не откуда взять отчет и он начинает валится с ошибками. Нужно или включить кэширование
отчетов (свойство useCache у WebViewer) или строить отчет заново при каждом обновлении страницы.

p.s. Мы поправим код, чтобы он не кидал исключения.

Спасибо.
Ответить