Страница 1 из 1

Итог данных перед самими данными.

Добавлено: 14 ноя 2009, 06:33
Arhayn
Возникла такая проблемма:

Нужно построить отчет в котором итог данных находиться в начале и в конце таблицы.
С конечным итогом проблем не возникло, а вот с начальным...
Если в ячейке находится простая агрегатная функция ({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()

Как можно победить это Зло...?

Итог данных перед самими данными.

Добавлено: 16 ноя 2009, 05:07
Edward
Здравствуйте,

В этом случае, когда нужно произвести вычисления в ячейке в заголовке таблицы, используйте вычисление итога при помощи Totals:

{Totals.Sum(Hospitals,Hospitals.Hospitalisation) >0 ?(Div(Totals.Sum(Hospitals,Hospitals.Hospitalisation_TGRZ),Totals. Sum(Hospitals,Hospitals.Hospitalisation)) : 0}

Для случая с нарастающим итогом пока придется использовать переменные в BeforePrint событии у DataBand.

Спасибо.