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

17810121315

Комментарии

  • ShtirlizShtirliz Москва
    отредактировано 16:17
    Короче говоря,
    Если выбрать колонку выбрать в DataColumn, то получается как я и отписывал.
    Если колонку добавить в Expression то все хорошо отрабатывает.

    Или я чего-то недопонимаю....
  • ShtirlizShtirliz Москва
    отредактировано 16:17
    Shtirliz написал: »
    Короче говоря,
    Если выбрать колонку выбрать в DataColumn, то получается как я и отписывал.
    Если колонку добавить в Expression то все хорошо отрабатывает.

    Или я чего-то недопонимаю....

    Дополнение:
    Если выбрать колонку в DataColumn, то получается как я и отписывал, если штрих-код лежит на датабэнде .
  • отредактировано 16:17
    Ваш отчет у меня работает без ошибок. Пришлите файл .fpx готового отчета, в котором есть ошибка.
  • ShtirlizShtirliz Москва
    отредактировано 16:17
    AlexTZ написал: »
    Ваш отчет у меня работает без ошибок. Пришлите файл .fpx готового отчета, в котором есть ошибка.

    У разработчика всегда все работает.... :)

    отправил. добавил рядом со штрих-кодом текстовое поле со значением штрих-кода.
  • отредактировано 16:17
    Не могу понять, в чем дело. У всех баркодов в готовом отчете текст пустой. Хотя рядом лежит объект "Текст", подключенный к тому же полю, и там все в порядке. Попробуйте удалить источник данных, сохранить отчет, открыть отчет и добавить источник данных.
  • ShtirlizShtirliz Москва
    отредактировано 16:17
    AlexTZ написал: »
    Не могу понять, в чем дело. У всех баркодов в готовом отчете текст пустой. Хотя рядом лежит объект "Текст", подключенный к тому же полю, и там все в порядке. Попробуйте удалить источник данных, сохранить отчет, открыть отчет и добавить источник данных.

    Попробую конечно, но думаю это меня не спасет...

    Вот и мне стало непонятно... Раньше же работало... Я уже грешным делом думал что данные где-то у меня пропадают...
    Но если поставить поле в свойство Expression вместо DataColumn, то все отлично отрабатывает.
    В другом отчете, объект "штрих-код" не лежит на DataBand и установлено свойство DataColumn - все отлично работает.
    Так что я если чесно в полных непонятках.
  • отредактировано 16:17
    Ошибку повторил, буду разбираться.
  • отредактировано 16:17
    Порядок полей в источнике не совпадал с порядком в отчете. Поправил.
  • Сергей ЛукьяновСергей Лукьянов Санкт-Петербург
    отредактировано 16:17
    Здравствуйте!

    У меня проблема при печати Ландшафта А3 с установками "Разбить на маленькие листы" на принтере А4...

    Ситуация следующая:
    1. Есть лист Ландшафт А3
    2. При печати с разбивкой на маленькие листы получаем так же Ландшафт А4, хотя по логике вещей вылезти из принтера должны Портреты А4.

    Так же хотелось бы обдумать такой вариант: добавить возможность указывать на какое максимально возможное количество листов надо разбивать большие листы, чтобы генератор отчетов мог сам масштабировать листы под итоговое количество.

    Пример:
    1. Есть большой лист (можно произвольного размера).
    2. Мы говорим разбей на маленькие при печати, но количеством не больше 2-х.
    3. Генератор масштабирует большой лист так, чтобы его надо было разбивать только на 2 листа (можно добавить возможность указывать расположение конечных листов - Портрет или Ландшафт).

    Спасибо!
  • отредактировано 16:17
    Здравствуйте,

    Проверил печать на MS Office Document Image Writer, все в порядке - А4 в портрете. На реальном принтере проверю завтра.

    Над новым режимом подумаю, но не обещаю. Мне уже видятся некоторые проблемы в реализации.
  • Сергей ЛукьяновСергей Лукьянов Санкт-Петербург
    отредактировано November 2008
    AlexTZ написал: »
    Здравствуйте,

    Проверил печать на MS Office Document Image Writer, все в порядке - А4 в портрете. На реальном принтере проверю завтра.

    Над новым режимом подумаю, но не обещаю. Мне уже видятся некоторые проблемы в реализации.

    Да, если страница четко А3 то печатается все нормально, но если страница пользовательского размера Ландшафт, то печатает А4 так же ландшафт, а хотелось бы именно иметь возможность перед печатью масштабировать пользовательскую страницу до А3 Ландшафт и далее на печать.

    Т.е. как в Excell - иметь возможность задать процент масштаба...
  • отредактировано 16:17
    Алгоритм разреза такой, ничего не поделаешь. Если страница пользовательского формата, но соответствует А3 по размерам - все работает как положено. Если чуть больше или меньше (в пределах сантиметра) - будут проблемы с подбором подходящей ориентации.
  • Сергей ЛукьяновСергей Лукьянов Санкт-Петербург
    отредактировано 16:17
    AlexTZ написал: »
    Алгоритм разреза такой, ничего не поделаешь. Если страница пользовательского формата, но соответствует А3 по размерам - все работает как положено. Если чуть больше или меньше (в пределах сантиметра) - будут проблемы с подбором подходящей ориентации.


    А если сделать возможным перед печатью масштабировать все целиком в процентном соотношении?
  • отредактировано 16:17
    Будет много переделок, в том числе и в интерфейсе. Запишу себе в todo. Быстро не обещаю, т.к. сейчас есть более приоритетные задачи.
  • отредактировано November 2008
    Версия 1.0.32 перестали открываться старые формы из потока, да и новые собственно говоря то-же. Что изменилось? Посмотрел что в базе - перед заголовком отчёта появился знак вопроса ?<? xml Еще одно дополнение - данная ситуация происходит при выполнении SaveToString
  • отредактировано 16:17
    Гм. Ничего не изменилось... Запись в поток идет в формате utf8, первый символ - это сигнатура формата, ее можно наблюдать в каждом файле отчета.
    Делаю в демке
    string s = FReport.SaveToString();
    FReport.LoadFromString(s);
    и все работает. Как воспроизвести ошибку?
  • отредактировано November 2008
    AlexTZ написал: »
    Гм. Ничего не изменилось... Запись в поток идет в формате utf8, первый символ - это сигнатура формата, ее можно наблюдать в каждом файле отчета.
    Делаю в демке
    string s = FReport.SaveToString();
    FReport.LoadFromString(s);
    и все работает. Как воспроизвести ошибку?

    private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e)
    {
    //using (SaveFileDialog dialog = new SaveFileDialog())
    //{
    //dialog.Filter = "Файлы шаблонов документов files (*.frx)|*.frx";
    // dialog.FileName = e.FileName;
    e.Cancel = false; // dialog.ShowDialog() != DialogResult.OK;
    // e.FileName = dialog.FileName;
    // }
    }

    private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e)
    {
    string content = e.Report.SaveToString(); // <-- Под отладчиком отчетливо строка начинается c ?<?
    try
    {
    if (!e.Report.Designer.IsPreviewPageDesigner)
    {
    ACS.Adapters.AwcsDataSetTableAdapters.DocTypeTemplateTableAdapter templateTableAdapter = new ACS.Adapters.AwcsDataSetTableAdapters.DocTypeTemplateTableAdapter();
    templateTableAdapter.Connection = ACS.SqlHelper.Connection;
    templateTableAdapter.Fill(awcsDataSet.DocTypeTemplate, id);
    awcsDataSet.DocTypeTemplate[0].TypeDocument_Contents = content;
    templateTableAdapter.Update(awcsDataSet.DocTypeTemplate);
    // e.Report.Save(e.FileName);
    }
    }
    catch (SqlException ex)
    {
    AppHelper.Error(ex.Message);
    }
    }
  • отредактировано 16:17
    Странно. У меня не вопрос, а квадратик. А при записи в файл - тоже вопрос первым символом?
  • отредактировано November 2008
    AlexTZ написал: »
    Странно. У меня не вопрос, а квадратик. А при записи в файл - тоже вопрос первым символом?
    Чуть не соврал - при записи в файл все в порядке. Сигнатура UTF8 - то бишь EF BB BF
  • отредактировано November 2008
    Это наблюдается на всех отчетах, или только на некоторых?

    Кажется, понял в чем дело - я менял процедуру записи/чтения xml. В частности, добавил некоторые проверки при чтении. Очевидно, что они срабатывают на символе вопроса и файл не читается. Вопрос в другом - откуда там вопрос? :)

    С вопросом, кажется, тоже понял. Вы ведь храните отчет в базе? Так вот, скорее всего, сигнатура портится при чтении-записи в базу. Я добавлю дополнительные проверки на этот случай.
  • отредактировано 16:17
    AlexTZ написал: »
    Это наблюдается на всех отчетах, или только на некоторых?

    Кажется, понял в чем дело - я менял процедуру записи/чтения xml. В частности, добавил некоторые проверки при чтении. Очевидно, что они срабатывают на символе вопроса и файл не читается. Вопрос в другом - откуда там вопрос? :)

    С вопросом, кажется, тоже понял. Вы ведь храните отчет в базе? Так вот, скорее всего, сигнатура портится при чтении-записи в базу. Я добавлю дополнительные проверки на этот случай.

    Возможно - наверно надо бы без сигнатуры сохранять в строку.
  • ShtirlizShtirliz Москва
    отредактировано 16:17
    Вот еще одна непонятка.
    Почему-то после вызова метода ShowPrepared() PreparedPages.Count становится равным нулю.
    Это нормально?

    И еще, у меня у банда PageHeader установлено свойство не печатать на первой странице, однако если вызвать несколько раз метод Prepare то у второго и последующих отчетов этот банд печатается на первой странице отчета, что есть очень не хорошо.

    P.S.
    И еще хорошо бы в метод ShowPrepared(bool Modal) добавить еще один параметр IWin32Window owner, т.е. расширить его на
    ShowPrepared(bool Modal, IWin32Window owner) или что-то подобное.
    А то окно появляется иногда на заднем плане.
  • ShtirlizShtirliz Москва
    отредактировано 16:17
    Да, забыл добавить: Версия 1.0.35.0
  • отредактировано 16:17
    1) При закрытии окна preview построенный отчет очищается; так и задумано.
    2) Поясните, как это - вызвать Prepare несколько раз? С параметром append = true?
    3) Сделаю.
  • ShtirlizShtirliz Москва
    отредактировано 16:17
    AlexTZ написал: »
    1) При закрытии окна preview построенный отчет очищается; так и задумано.
    2) Поясните, как это - вызвать Prepare несколько раз? С параметром append = true?
    3) Сделаю.

    1) Понятно.
    2) Да, с параметром append = true.

  • отредактировано 16:17
    Нужно именно IWin32Window owner? Form owner не сойдет?
  • ShtirlizShtirliz Москва
    отредактировано 16:17
    AlexTZ написал: »
    Нужно именно IWin32Window owner? Form owner не сойдет?

    Я это предложил по аналогии с методом ShowDialog класса Form, делайте как Вам удобнее.
  • отредактировано 16:17
    Добавил, заодно поменял набор параметров у метода ShowPrepared.
  • ShtirlizShtirliz Москва
    отредактировано 16:17
    AlexTZ написал: »
    Добавил, заодно поменял набор параметров у метода ShowPrepared.

    Спасибо.
    Но больше всего интересует многочисленный вызов метода Prepare(true) описанный мной ранее.
  • отредактировано 16:17
    Это уже поправил.
Дискуссия закрыта.