Обнаруженные баги в Fastreport .net

1235715

Комментарии

  • отредактировано 08:27
    А как его задавать? Оно форматируется только в виде [-][d.]hh:mm:ss[.ff]. Задать другой формат, как для даты, нельзя.
  • Dracula_DISDracula_DIS Москва
    отредактировано 08:27
    Программно.
    Чтоб не приходилось извращатся в так [([Row.DateEnd]-[Row.DateBegin]).ToString().Split('.')[0]]
  • отредактировано 08:27
    Dracula_DIS написал: »
    Программно.
    Чтоб не приходилось извращатся в так [([Row.DateEnd]-[Row.DateBegin]).ToString().Split('.')[0]]

    Задача нетривиальная. Вам ведь наверняка захочется получить формат типа "5 дней 2 часа 3 минуты". Это тянет за собой локализацию (и разные аглоритмы для разных языков).
  • отредактировано 08:27
    AlexTZ
    Я вернул колонки в дата-бенд, снова всё стало ровно.
    Но, вернулась ошибка в ФР, что когда на очереди длинный бенд, перед ним печатается чистая страница.
    Сейчас попробую вам выслать обновленный пример.
    Даже если задать фильтр "2373" Вы увидите, что перед каждым длинным бендом выходит пустая страница. Выглядит прикольно, чистый лист, начало бенда, чистый лист, начало другого бенда и т.д.
  • отредактировано 08:27
    Высылать не обязательно, я видел эту ошибку на имеющемся у меня примере. Пока не знаю, как лучше ее исправить.
  • отредактировано 08:27
    Выслал, к сожалению, уже.
    Я бы предложил такую логику, не знаю как это будет трудно реализовать.
    Непререкаемое правило: Длинные бенды дробятся по страницам(или колонкам) без согласия(или несогласия) разработчика отчета.
    Как дробятся зависит от свойства Разрываться.
    Если оно НЕ установлено, то длинный бенд начинается с новой страницы(или с новой колонки) и далее занимает столько страниц(колонок) сколько ему надо.
    Если Разрываться установлено, то длинный бенд начинается на текущей странице(колонке) вслед за последним бендом если есть место, и далее занимает столько страниц(колонок) сколько ему надо.
  • отредактировано 08:27
    Спасибо за идею. Сможете проверить на ночной сборке. Сейчас вроде бы все корректно работает для колонок страницы. Колонки бэнда еще не делал - там возиться долго.
  • отредактировано 08:27
    ФР скачал сегодня. Выставил колонки у страницы. Не знаю что у вас работает, у меня нет.
    Пустые страницы исчезли - да, но длинные бенды не дробятся по колонкам и также рисуются на нижнем колонтитуле и чуть ниже края страницы.
    Колонки разнятся по отступу от верхнего края страницы на страницах с обрубками длинных бендов.
    Если задать фильтр 2373, то обрубок первого длинного бенда на первой странице рисуется со второй колонки (первая - пустая)
    вторая страница - 2 обрубка 2-х бендов и т.д.
  • отредактировано October 2008
    А Вы случайно не забыли включить флаг "Может разрываться" у объектов бэнда? Если этот флаг включен только у бэнда, то разрыва не будет.
    Да, насчет отступов - я ведь предлагал их сделать снизу, бэндом "Дочерний". При разрыве отступ, как он сделан у Вас сейчас, будет только на первой странице.
  • отредактировано 08:27
    Я специально не ставил, т.к. мне надо чтоб короткие бенды(короче высоты колонки) печатались целиком, без переносов на другую колонку страницу. Я хочу, чтоб только длинные бенды дробились, т.к. им не хватает одной целой колонки, а потеря данных не устраивает.
    Т.е. сейчас, если не считать неравномерный отступ колонок на первой странице от верхнего края страницы вы сделали только последний пункт моего предложения:
    написал:
    Непререкаемое правило: Длинные бенды дробятся по страницам(или колонкам) без согласия(или несогласия) разработчика отчета.
    Как дробятся зависит от свойства Разрываться.
    Если оно НЕ установлено, то длинный бенд начинается с новой страницы(или с новой колонки) и далее занимает столько страниц(колонок) сколько ему надо.
    Если Разрываться установлено, то длинный бенд начинается на текущей странице(колонке) вслед за последним бендом если есть место, и далее занимает столько страниц(колонок) сколько ему надо.
  • отредактировано 08:27
    А вот у бэнда свойство "Разрываться" ставить НЕ НАДО.
  • отредактировано October 2008
    Насчет бенда "дочерний" - мне не понятно, зачем он мне нужен, если и так (при отсутствии длинных бендов всё печатается верно и ровно(если устанавливать колонки в датабенде). Имхо, это ошибка ФР, что он не начинает разные бенды с одной высоты(т.е. после верхнего колонтитула) когда есть длинные бенды, или когда установлено разрываться или когда колонки указываем у страницы...

    Т.к. с высотой колонок у бенда с продолжением мне ясно, я просто подниму рамку до верха бенда , а место оставлю снизу.
  • отредактировано 08:27
    А вы задайте у бэнда заливку и посмотрите - с разной высоты или нет. Так оно будет нагляднее...
  • отредактировано 08:27
    Снимаю свои претензии, действительно нужен дочерний бенд.
    Сейчас уже почти всё хорошо, кроме случая когда длинный бенд самый первый - он печатается со второй колонки первой страницы.
  • отредактировано 08:27
    Этот случай исправить довольно сложно. Хотя критерий печати бэнда довольно простой: если на следующей странице свободного места столько же, сколько и на текущей, то переносить бэнд на следующую страницу не имеет смысла - печатать на текущей, с разрывом. Проблема в деталях: узнать свободное место на следующей странице можно, лишь добавив ее. При этом выполнится куча действий, которые надо потом как-то откатить назад.
  • отредактировано 08:27
    Тогда наивный вопрос.
    А зачем для самого ПЕРВОГО бенда для самой ПЕРВОЙ страницы вычислять свободное место на следующей, которой еще нет?
    Имхо, первый бенд на первой странице должен печататься с первой колонки, независимо длинный он или короткий.
  • отредактировано 08:27
    На первой странице может быть длинный ReportTitle, которого не будет на других страницах.
  • отредактировано 08:27
    А до начала печати первой страницы известно, что первый бенд длиннее
    высота страницы - верхний_колонтитул - ниж_колонтитул - min(заголовок_отчета, заголовок_страницы) ?
    Если известно - вот возможное решение проблемы, начинаем его дробить с самой левой колонки первого листа.
  • отредактировано 08:27
    В принципе, такой вариант подойдет. Проверяйте на ночной сборке.
  • отредактировано 08:27
    Снова начинается со второй колонки. Черт с ним, не мучайтесь. Мой случай, н-е, не типичный...
  • отредактировано 08:27
    Это у меня в коде ошибочка вышла, в очередной сборке будет все ок.
  • отредактировано 08:27
    Добавлю: очередная сборка выкладывается ежедневно в полночь (по московскому времени).
  • отредактировано 08:27
    AlexTZ
    Сейчас всё хорошо. Спасибо.
  • отредактировано October 2008
    Вот еще пара замечаний (надоел н-е уже):

    1. в инсталлятор ФР.НЕТ надо довавить вызов анинсталлятора пред.версии.

    2. несогласованность.
    ФР.НЕТ ставится по умолчанию в c:\Program Files\Fast Reports\FastReport.Net Demo,
    в меню Программы как Fast Reports\FastReport.Net

    ФР демо для RS2009 ставится по умолчанию в c:\Program Files\FastReports\FastReport 4
    в меню Программы как FastReports\FastReport 4

    Согласуйте корневые папки во всех ваших инсталляторах, либо "Fast Reports", либо "FastReports"

    3. не для этого топика конечно, но я переправил свою программу с ФР4 собранную на RS2007 на RS2009 + демо ФР4.7.2, так вот она компилируется и работает нормально, хотя потерялась юникодность текстовых констант в отчете. Но в отчет я зайти не могу. Даёт подряд несколько AV, в rtl120, frx12, rtl120, и.т.д.
    Прислать код? (работает с той же базой, что я вам присылал для отладки ФР.НЕТ)
    Или же между версией 4.7 и предыдущей нет совместимости и надо отчет рисовать заново?
  • Сергей ЛукьяновСергей Лукьянов Санкт-Петербург
    отредактировано 08:27
    Проблема с автомасштабированием с А3 на А4.
    Если отчет в виде Ландшафта А3, то масштабирует, как будто печаться будет на Портрете А4.

    В итоге из принтера вылезает Ландшафт А4, на котором располагается Ландшафт А3 сильно уменьшенный, т.е. отмасштабировалось не на весь лист Ландшафта А4.
  • отредактировано 08:27
    Спасибо, исправил. Исправления будут выложены в ночь с понедельника на вторник.
  • CouRageCouRage Санкт-Петербург
    отредактировано October 2008
    написал:
    Согласуйте корневые папки во всех ваших инсталляторах, либо "Fast Reports", либо "FastReports"
    +1
    Документация (chm) также ставится в "Fast Reports", а сам FR в "FastReports".
  • отредактировано 08:27
    Недавно поправляли, сейчас все должно ставиться в папку FastReports.
  • CouRageCouRage Санкт-Петербург
    отредактировано 08:27
    Да, у меня видимо на старой версии повторилось. Сейчас Ок.
  • Dracula_DISDracula_DIS Москва
    отредактировано 08:27
    Баг: Если в дизайнере уменьшать размер RichTextBox до тех по пока по любой координате становаится ноль - дизайнер сваливается...
Дискуссия закрыта.