Страница 1 из 1
Sum(DataBand,table.field) - выдает разные результы
Добавлено: 25 дек 2012, 17:27
mbondarev
Добрый день!
У нас возникла очень странная ситуация, в которой мы никак не можем разобраться.
В отчете для удобства добавлено несколько объектов типа Текст (Text) с одинаковым выражением Sum(DataBand1,PrintData.OrderPaySum) - результат от операции разный, возможно объекты расположены на разных слоях.
На экранной форме непонятной причине не учитываются две строки (WVWZZZ16ZCM073184 оплата поставщику 171 899,00 и WVWZZZ3CZCE523436 – 872 302,58). На вложении результат суммы выделен желтым. Правильная сумма - 186 835 710,93.
Прошу помочь разобраться в ситуации.
Re: Sum(DataBand,table.field) - выдает разные результы
Добавлено: 26 дек 2012, 11:44
HighAley
Здравствуйте.
На сколько мы видим, в данных строчках не хватает некоторых данных.
Для более подробного ответа пришлите, пожалуйста, тестовые данные для вашего отчёта, чтобы мы смогли воспроизвести проблему.
Спасибо.
Re: Sum(DataBand,table.field) - выдает разные результы
Добавлено: 26 дек 2012, 12:27
mbondarev
во вложении используемый датасет
Re: Sum(DataBand,table.field) - выдает разные результы
Добавлено: 26 дек 2012, 16:34
HighAley
Здравствуйте.
Мы не можем воспроизвести проблему.
С присланными вами данными все суммы считаются одинаково.
Спасибо.
Re: Sum(DataBand,table.field) - выдает разные результы
Добавлено: 27 дек 2012, 13:24
mbondarev
проект во вложении - нажимаем Print2
Re: Sum(DataBand,table.field) - выдает разные результы
Добавлено: 27 дек 2012, 17:44
HighAley
Здравствуйте.
Разобрались с вашей проблемой. И сразу хочется обратить внимание на то, что если возникают какие-либо ошибки построения отчёта, то это может повлиять на данные и лучше данные ошибки исправлять.
Так вот, в дезайнере при построении отчёта появляется эта ошибка построения, где сообщается, что возникает ошибка в событии Rendering бэнда DataBand1. Данную ошибку можно увидеть в коллекции stiReport1.CompiledReport.ReportRenderingMessages избавившись от 1254 остальных ошибок построения отчёта.
Если перейти во вкладку код, то можно заметить, что в этом событии происходит суммирование. А ошибка возникает из-за того, что нету значения у PrintData.PayDate. Выполнение кода останавливается. Таким образом код, который выполняется до упоминания PrintData.PayDate работает верно, в том числе суммирование в Text53 и Text81.
А проблема возникает в обсуждаемом в соседней ветке коде:
Спасибо.
Re: Sum(DataBand,table.field) - выдает разные результы
Добавлено: 28 дек 2012, 14:22
mbondarev
Алексей, исправили согласно рекомендациям - заработало, спасибо!
Re: Sum(DataBand,table.field) - выдает разные результы
Добавлено: 28 дек 2012, 17:51
HighAley
Здравствуйте.
Вы были рады вам помочь.
Спасибо.