Возникла такая проблемма:
Нужно построить отчет в котором итог данных находиться в начале и в конце таблицы.
С конечным итогом проблем не возникло, а вот с начальным...
Если в ячейке находится простая агрегатная функция ({SumRunning(Hospitals.Hospitalisation_TGRZ)}) - все нормально. Но если туда поместить какие либо вычисления ({SumRunning(Hospitals.Hospitalisation) >0 ?(SumRunning(Hospitals.Hospitalisation_TGRZ))/SumRunning(Hospitals.Hospitalisation) : 0}) - отчет просто вылетает с ошибкой:
Message:
Адресат вызова создал исключение.
Source:
mscorlib
Stack Trace:
в System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
в System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
в System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
в System.Activator.CreateInstance(Type type, Boolean nonPublic)
в Stimulsoft.Base.StiActivator.CreateObject(Type type)
в Stimulsoft.Report.StiReport.GetReportsFromAssembly(Assembly assembly)
в Stimulsoft.Report.StiReport.GetReportFromAssembly(Assembly assembly)
в Stimulsoft.Report.StiReport.CreateInstance()
в Stimulsoft.Report.StiReport.Compile(String path, Stream stream, StiOutputType outputType, Boolean autoCreate, Object standaloneReportType)
в Stimulsoft.Report.StiReport.Compile()
Как можно победить это Зло...?
Итог данных перед самими данными.
Итог данных перед самими данными.
Здравствуйте,
В этом случае, когда нужно произвести вычисления в ячейке в заголовке таблицы, используйте вычисление итога при помощи Totals:
{Totals.Sum(Hospitals,Hospitals.Hospitalisation) >0 ?(Div(Totals.Sum(Hospitals,Hospitals.Hospitalisation_TGRZ),Totals. Sum(Hospitals,Hospitals.Hospitalisation)) : 0}
Для случая с нарастающим итогом пока придется использовать переменные в BeforePrint событии у DataBand.
Спасибо.
В этом случае, когда нужно произвести вычисления в ячейке в заголовке таблицы, используйте вычисление итога при помощи Totals:
{Totals.Sum(Hospitals,Hospitals.Hospitalisation) >0 ?(Div(Totals.Sum(Hospitals,Hospitals.Hospitalisation_TGRZ),Totals. Sum(Hospitals,Hospitals.Hospitalisation)) : 0}
Для случая с нарастающим итогом пока придется использовать переменные в BeforePrint событии у DataBand.
Спасибо.