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

Нарастающая сумма. Как сделать.

Добавлено: 09 июл 2008, 10:57
vlsaf
Тривиальный пример.
Есть некий столбец.

Нужно суммировать значения столбца и запоминать.
В конце страницы выводить это значение.

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

Столбец Сумма
1       1
2       3
3       6
4       10
5       15
..........................
Конец листа сумма = 15
--------------------------------------------------

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

Следующий лист
Перенос суммы = 15
Столбец Сумма с предыдущего листа = 15
1       16
1       17
1       18
1       19
1       20
..........................
Конец листа сумма = 20


Завожу переменную MySum
Для каждой строки прописываю MySum += myDatasours.myColumn;

Но в конце первого листа почему-то показывается сумма по всему отчету (20), а не по данному листу (15).

Нарастающая сумма. Как сделать.

Добавлено: 09 июл 2008, 11:59
Leshiy
надо использовать фунцию cSum()

Нарастающая сумма. Как сделать.

Добавлено: 09 июл 2008, 12:52
vlsaf
Да. Получилось. Спасибо.

А вот сохранить в переменную не получается.
В событии AfterPrintEvent пробую написать такой код

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

Ubertrag = cSum(Body["gesamt"]);
На следующем листе перед таблицей я должен снова пропечатать это значение.
Но не получается.

Нарастающая сумма. Как сделать.

Добавлено: 10 июл 2008, 05:49
vlsaf
Ошибка:
Metod: ParseFunction
Objektverweis wurde nicht auf eine Objektinstanz festgelegt.


Примерный перевод: Нет ссылки на объект.
(У меня немецкая винда, поэтому сообщения на немецком.)


Странное дело. Даже, когда строка закоментирована
//Ubertrag = cSum(Body["gesamt"]);
все равно идет таже ошибка!

Нарастающая сумма. Как сделать.

Добавлено: 11 июл 2008, 11:56
vlsaf
Все-тки, если Вас не затруднит, подскажите пожалуйста, как значание функции cSum() сохранить в переменную для дальнейшего ее использования в других местах отчета?

Нарастающая сумма. Как сделать.

Добавлено: 13 июл 2008, 11:13
Edward
Здравствуйте.

Да, действительно, итог по странице пока в переменную сохранить не удастся.

Расчет нарастающего итога будет реализован в билде от 14 июля. Функция расчета нарастающих сумм теперь называется SumRunning.

Но отчет, который необходим Вам, возможно построить уже сегодня без проблем при помощи переменных и FooterBand. Открыть данный отчет Вы сможете в 'Demo' программе из стандартной поставки.

http://forum.stimulsoft.com/upload/SumO ... totals.zip

Спасибо.

Нарастающая сумма. Как сделать.

Добавлено: 14 июл 2008, 12:13
vlsaf
Так, как сделано в примере, я делал.
Ничего хорошего в этом нет.
Сумморование происходит не постранично, а для всего отчета.
Я это еще в первом топике описывал.
Буду ждать нового билда.

Нарастающая сумма. Как сделать.

Добавлено: 14 июл 2008, 12:35
Edward
Здравствуйте.
vlsaf писал(а):Так, как сделано в примере, я делал.
Ничего хорошего в этом нет.
Сумморование происходит не постранично, а для всего отчета.
Я это еще в первом топике описывал.
Буду ждать нового билда.
Суммировние происходит в примере действительно постранично, поскольку используется FooterBand c PrintAtBottom = true и PrintOnAllPages = true.

Чтобы небыло необходимости добавлять переменную для подобных расчетов, действительно, лучше подождать новый билд.

Спасибо.

Нарастающая сумма. Как сделать.

Добавлено: 15 июл 2008, 05:54
vlsaf
На новой сборке не работает старый, работающий отчет.

Method: [InternalSubStringWithChecks]
StartIndex не должен быть длиннее, чем размер строки.




И ошибка дизайнера, когда хожу по вкладкам предварительного просмотра и кода.
Informationen uber das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.ArgumentOutOfRangeException: startIndex darf nicht langer als die Lange der Zeichenfolge sein.
Parametername: startIndex
bei System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
bei Stimulsoft.Report.Components.StiExpression.ReadString(StiCodeGenerator codeGenerator, Int32& pos, String& lexem, String script, ArrayList& al)
bei Stimulsoft.Report.Components.StiExpression.GetLexemSimple(StiCodeGenerator codeGenerator, String script, StiRichText richText)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.TestWordsToEnd(String text)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.TestProcessAtEnd(StiComponent comp, String text)
bei Stimulsoft.Report.CodeDom.StiCodeDomFunctions.ParseFunctions(StiCodeDomSerializator serializator, String propertyName, StiComponent comp, String& text, StiExpression expression, Boolean isScript)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.GenGetValueEvent(StiEvent ev, String propName, String eventName, StiExpression expression, String parent, Object comp)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.AddExpression(String parent, StiPropertyInfo prop)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.SerializeProps(StiPropertyInfoCollection props, Boolean isList, String parentName, String referenceName)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.SerializeProps(StiPropertyInfoCollection props, Boolean isList, String parentName, String referenceName)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.SerializeProps(StiPropertyInfoCollection props, Boolean isList, String parentName, String referenceName)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.SerializeProps(StiPropertyInfoCollection props, Boolean isList, String parentName, String referenceName)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.SerializeProps(StiPropertyInfoCollection props, Boolean isList, String parentName, String referenceName)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.SerializeProps(StiPropertyInfoCollection props, Boolean isList, String parentName, String referenceName)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.SerializeProps(StiPropertyInfoCollection props, Boolean isList, String parentName, String referenceName)
bei Stimulsoft.Report.CodeDom.StiCodeDomSerializator.Serialize(StiReport report, String name, StiLanguage language, Boolean serializeData, Boolean saveForInheritedReports, Object standaloneReportType)
bei Stimulsoft.Report.StiReport.ScriptUpdate(Object standaloneReportType)
bei Stimulsoft.Report.StiReport.ScriptUpdate()
bei Stimulsoft.Report.Design.StiDesigner.OnTabControlSelectedIndexChanged(Object sender, EventArgs e)
bei Stimulsoft.Controls.StiTabulator.InvokeSelectedIndexChanged(Object sender, EventArgs e)
bei Stimulsoft.Controls.StiTabulator.set_SelectedTab(StiTabulatorPage value)
bei Stimulsoft.Controls.StiTabulator.OnMouseDown(MouseEventArgs e)
bei System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
Designer
Assembly-Version: 2008.2.257.0.
Win32-Version: 2008.2.257.0.
CodeBase: file:///c:/Programme/Stimulsoft%20Reports.Net%202008.1%20Trial/.Net%202.0/Bin/Designer.exe.
----------------------------------------
Stimulsoft.Report
Assembly-Version: 2008.2.257.0.
Win32-Version: 2008.2.257.0.
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Stimulsoft.Report/2008.2.257.0__ebe6666cba19647a/Stimulsoft.Report.dll.
----------------------------------------
System
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
Stimulsoft.Base
Assembly-Version: 2008.2.257.0.
Win32-Version: 2008.2.257.0.
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Stimulsoft.Base/2008.2.257.0__ebe6666cba19647a/Stimulsoft.Base.dll.
----------------------------------------
Stimulsoft.Report.Design
Assembly-Version: 2008.2.257.0.
Win32-Version: 2008.2.257.0.
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Stimulsoft.Report.Design/2008.2.257.0__ebe6666cba19647a/Stimulsoft.Report.Design.dll.
----------------------------------------
System.Windows.Forms
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System.Drawing
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
System.Web
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll.
----------------------------------------
System.Xml
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------
System.Data
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll.
----------------------------------------
System.Configuration
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
----------------------------------------
mscorlib.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
Stimulsoft.Controls
Assembly-Version: 2008.2.257.0.
Win32-Version: 2008.2.257.0.
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Stimulsoft.Controls/2008.2.257.0__ebe6666cba19647a/Stimulsoft.Controls.dll.
----------------------------------------
Stimulsoft.Editor
Assembly-Version: 2008.2.257.0.
Win32-Version: 2008.2.257.0.
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Stimulsoft.Editor/2008.2.257.0__ebe6666cba19647a/Stimulsoft.Editor.dll.
----------------------------------------
System.Windows.Forms.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.42 (RTM.050727-4200).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------
Stimulsoft.Report.Win
Assembly-Version: 2008.2.257.0.
Win32-Version: 2008.2.257.0.
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Stimulsoft.Report.Win/2008.2.257.0__ebe6666cba19647a/Stimulsoft.Report.Win.dll.
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:





Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.



Нарастающая сумма. Как сделать.

Добавлено: 15 июл 2008, 07:54
Edward
Здравствуйте.

Пришлите, пожалуйста, mrt файл на support[at]stimulsoft.com для анализа.

Спасибо.