Неверный подсчет сумм в ФР для тибурона

mvbmvb Казань
отредактировано 07:46 Раздел: FastReport 4.0
Отчет, который отлично работал в 2007, в тибуроне начал выдавать интересные результаты.
Формула ячейки [SUM(<qChEx."SUM_USLF">,MasterData1)]
Для значений поля, например, 123 и 345 в сумме оказывается 123345! Т.е. обычная конкатенация строк! И, естественно, ФР валится в итоге по переполнению.. Версия fr4_7_75_d12p.

Комментарии

  • отредактировано 07:46
    А что такого? Значит что-то где-то воспринимает ваше поле как текстовое, а не числовое... В этом направлении и нужно ошибку искать...
  • mvbmvb Казань
    отредактировано 07:46
    Kbl4AH, если бы было написано qChEx."SUM_USLF + qChEx."SUM_USLF, то ваш вариант можно было бы рассматривать (и я с такими случаями сталкивался), но тут функция SUM указана явно и не будет работать для строк. Это одно, а второе - я уже сказал раньше, что этот самый отчет прекрасно работает в Д2007 (соответственно и ФР один для 2007, другой для 2009).
  • отредактировано 07:46
    Быть может, я сильно ошибаюсь, но все же...
    В том и фишка, что в 2007 у вас все нормально, а в 2009 поле неправильно воспринимается...
    написал:
    если бы было написано qChEx."SUM_USLF + qChEx."SUM_USLF, то ваш вариант можно было бы рассматривать (и я с такими случаями сталкивался), но тут функция SUM указана явно и не будет работать для строк.
    А вот у меня было именно то, о чем я говорю (правда это было не в FR, а в cxGrid): был запрос, поле которого возвращало числа, которые вставлялись в колонку грида, потом я добавил для колонки footer и в нем явно указал операцию SUM... все работало великолепно, числа суммировались... потом случайно сделал так, что поле стало возвращать числа, но уже строкового типа... и операция SUM почему-то тоже стала конкатенацию, как у вас, делать... причем я около получаса вообще не мог понять, почему так происходит... благо в настройках колонки грида отображался тип поля, а то бы так и не заметил... вот!!!

    ЗЫ. Попробуйте сделать числовое форматирование для поля слагаемых... будет форматировать или нет? быть может, у вас и в самом деле строковые данные?
  • отредактировано 07:46
    В Delphi 2009 при реализации групповой операции, суммирования, также столкнулся с конкатенацией строк. Данные получал SQL запросом с группировкой. Сидел смотрел, че с этим делать, домножал на единицу. Все равно группировка в FastReport дает конкатенацию.

    Взял типовой пример, из мануала для групповых операций и получил тот же глюк :) . По этому поводу отписался в службу поддержки, жду ответа

    Кстати при работе со сводной таблицей тоже ошибка :)

    В прицепке скан примера на суммирование
  • gpigpi
    отредактировано 07:46
    написал:
    домножал на единицу
    Если умножить на единицу [SUM(<qChEx."SUM_USLF">*1, MasterData1)], то суммируется правильно
  • отредактировано 07:46
    gpi написал: »
    Если умножить на единицу [SUM(<qChEx."SUM_USLF">*1, MasterData1)], то суммируется правильно

    Спасиб, проверил типовой пример он заработал, значит и у меня должно :) . Финт ушами :)
  • mvbmvb Казань
    отредактировано March 2009
    gpi написал: »
    Если умножить на единицу [SUM(<qChEx."SUM_USLF">*1, MasterData1)], то суммируется правильно
    да, так работает, но все же подобные ошибки следует исправлять на уровне ядра ФР, а не заплатками..
  • отредактировано 07:46
    Присоединяюсь.
    Тот же глюк в отчетах. d2009, FR4_7_82_d12p, fibplus 6.9.6

    Теже отчеты скомпиленные в d7 работают без проблем
  • отредактировано 07:46
    Исправил, в следующем билде будет работать правильно.

    Новый билд будет в понедельник(9-е марта).
  • mvbmvb Казань
    отредактировано 07:46
    спасибо!

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.