Вылетают сохраненные отчеты

отредактировано 16:11 Раздел: FastReport .NET
Здравствуйте. Решил потестить на своей проге фастрепорт дотнет . заметил что при изменении структуры БД и соответственно это коснется датасета приложения фастрепорт теряет отчет и если в ручную не сохранился файл отчета то все что сделал коту под хвост. И иногда приходится переносить прогу с одного компа на другой .. та же беда в один прекрасный момент отчет оказывается пустым. Что эт такое ... стоит ли фаст репорт чего то или это как говорят что то налепили и когда хочет так и работать будет?

использую VS2010

Комментарии

  • отредактировано April 2016
    sirius1984 написал: »
    Здравствуйте. Решил потестить на своей проге фастрепорт дотнет . заметил что при изменении структуры БД и соответственно это коснется датасета приложения фастрепорт теряет отчет и если в ручную не сохранился файл отчета то все что сделал коту под хвост. И иногда приходится переносить прогу с одного компа на другой .. та же беда в один прекрасный момент отчет оказывается пустым. Что эт такое ... стоит ли фаст репорт чего то или это как говорят что то налепили и когда хочет так и работать будет?

    использую VS2010
    Расскажи по-подробнее как ты грузишь отчёт, как данные в него передаёшь. Я фастрепорт использую лет 5, и никогда такой проблемы как "теряется отчёт" не встречал
  • отредактировано 16:11
    CodeMAP написал: »
    Расскажи по-подробнее как ты грузишь отчёт, как данные в него передаёшь. Я фастрепорт использую лет 5, и никогда такой проблемы как "теряется отчёт" не встречал

    использую Visual Studio 2010 , установил в тулбоксах появились компоненты фастрепорта, беру кладу на форму report1, в свойствах ничего не меняю, там же в дизайнере выбираю источник данных и таблицы которые нужны, база данных у меня на sqlite все выбирается все показывается. после в дизайнере жму Редактировать отчет. и настраиваю какие поля фильтры бла бла. Заодно ..(после нескольких таких теряний отчета приноровился сохранять *.frx файлы) сохраняю отчет. ну соответственно какое то название например 111.frx после в студии пишу обработчик

    report1.Load("111.frx");
    report1.SetParameterValue("param", param);
    report1.Show();
    все прекрасно пашет ... до какого то момента ... либо в базе 1 поле изменилось либо с компа на комп скопировал проект либо в какой то момент выскакивает ошибка object reference not set и отчеты не грузятся .. я никак не могу понять эт что глючит студия или ФР .. вот хотелось бы коммерческие проекты поднять на фастрепорте а когда элементарно после каких то не сильно важных изменений весь отчет ложится .. если клиент попросить сделать 20-30 отчетов я ж не могу каждый раз переназначать слава богу хотя бы сохраненный отчет остается но если я последний вариант не сохраню файл опять дела будут плохи..
    вот как то так .. не могу понять открытых зависимостей.. я ж не могу весь проект сделать идеальным а после только 1 раз настроить отчет..
  • отредактировано 16:11
    sirius1984 написал: »
    использую Visual Studio 2010 , установил в тулбоксах появились компоненты фастрепорта, беру кладу на форму report1, в свойствах ничего не меняю, там же в дизайнере выбираю источник данных и таблицы которые нужны, база данных у меня на sqlite все выбирается все показывается. после в дизайнере жму Редактировать отчет. и настраиваю какие поля фильтры бла бла. Заодно ..(после нескольких таких теряний отчета приноровился сохранять *.frx файлы) сохраняю отчет. ну соответственно какое то название например 111.frx после в студии пишу обработчик

    report1.Load("111.frx");
    report1.SetParameterValue("param", param);
    report1.Show();
    все прекрасно пашет ... до какого то момента ... либо в базе 1 поле изменилось либо с компа на комп скопировал проект либо в какой то момент выскакивает ошибка object reference not set и отчеты не грузятся .. я никак не могу понять эт что глючит студия или ФР .. вот хотелось бы коммерческие проекты поднять на фастрепорте а когда элементарно после каких то не сильно важных изменений весь отчет ложится .. если клиент попросить сделать 20-30 отчетов я ж не могу каждый раз переназначать слава богу хотя бы сохраненный отчет остается но если я последний вариант не сохраню файл опять дела будут плохи..
    вот как то так .. не могу понять открытых зависимостей.. я ж не могу весь проект сделать идеальным а после только 1 раз настроить отчет..

    У тебя просто сбивается текущий путь по умолчанию. Никогда нельзя писать просто имя файла: report1.Load("111.frx");
    Например, если у тебя есть диалоговые окна выбора папок или открытия файлов, то путь по умолчанию будет устанавливаться тот, который был последний раз выбран в таком диалоге.
    Пиши всегда полный путь до файла. Если файл отчёта лежит рядом с exe файлом приложения, то report1.Load(Application.StartupPath + "\\111.frx");
  • отредактировано 16:11
    CodeMAP написал: »
    У тебя просто сбивается текущий путь по умолчанию. Никогда нельзя писать просто имя файла: report1.Load("111.frx");
    Например, если у тебя есть диалоговые окна выбора папок или открытия файлов, то путь по умолчанию будет устанавливаться тот, который был последний раз выбран в таком диалоге.
    Пиши всегда полный путь до файла. Если файл отчёта лежит рядом с exe файлом приложения, то report1.Load(Application.StartupPath + "\\111.frx");

    Спасибо я учту что надо полный путь писать, но я приложение копирую когда ношу между компами в определенную папку (также использую бд тож которая лежит в определенной папке) например на диске e:\appFiles\ и не меняю пути ... вот вопрос: в вин приложении есть appDataSet.xsd, если в какой то таблице поменялись поля что то добавилось итп я соответственно обновляю appDataSet.xsd то в report1 в "Выбрать источник данных" тож все таблицы сбросились ... я понимаю что в моем вопросе уже содержится ответ мол не меняй таблицы-поля ... но как быть я изначально не могу учесть некоторые тонкости задачи... чтобы хотя бы минимизировать повторные работы с манипуляцией с датасетом итп как надо поступить правильнее?
  • отредактировано 16:11
    sirius1984 написал: »
    Спасибо я учту что надо полный путь писать, но я приложение копирую когда ношу между компами в определенную папку (также использую бд тож которая лежит в определенной папке) например на диске e:\appFiles\ и не меняю пути ... вот вопрос: в вин приложении есть appDataSet.xsd, если в какой то таблице поменялись поля что то добавилось итп я соответственно обновляю appDataSet.xsd то в report1 в "Выбрать источник данных" тож все таблицы сбросились ... я понимаю что в моем вопросе уже содержится ответ мол не меняй таблицы-поля ... но как быть я изначально не могу учесть некоторые тонкости задачи... чтобы хотя бы минимизировать повторные работы с манипуляцией с датасетом итп как надо поступить правильнее?
    Я честно с DataSet.xsd не работал никогда. Но думаю не должно ничего сбиваться в отчёте. Посмотри вот это видео https://yadi.sk/d/nNCgFwJbrCWgT. я так тебя понял?
  • отредактировано 16:11
    CodeMAP написал: »
    Я честно с DataSet.xsd не работал никогда. Но думаю не должно ничего сбиваться в отчёте. Посмотри вот это видео https://yadi.sk/d/nNCgFwJbrCWgT. я так тебя понял?

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

    теперь как я это делал, ну ради инфы скажу что использую VS2010 , бд - sqlite. Далее: я прикрепил картинку и пронумеровал.
    Ну на форму кладу report1 с тулбокса студии. Выбираю источник данных (стрелка 1) (у меня есть некая БД с таблицами).
    Эту некую)) бд с таблицами я вижу в (списке стрелка 2) Доступные источники. Ну как бы не все таблицы мне нужны для отчета выбираю и добавляю в Выбранные источники (стрелка 3).
    Все на этом закрываем окно выбора источника. и жмем на Редактировать отчет (стрелка 4). тут уже открывается дизайнер и я вижу Без добавления как у Вас на видео уже готовые таблицы которые я выбирал ранее. это вот как на стрелка 5.

    я в ручную дата сет не создаю. обычно беру с источников данных VS точнее с сервер эксплорера. ну и соответсвенно если добавится поле обновляю DataSetMyData.xsd при этом у меня пропадает с Выбранные источники (стрелка 3) выбранные таблицы .. ну и соответственно отчет мой теряет подключение к базе данных и выводится чистый лист отчета, так скажем проблема то и была в этом.. если теряется подключение соответственно фильтры отчета таблицы вообщем вид заново над корректировать. Если учесть что вопрос к разработчику то не плохо было бы еслиб с (стрелка 3) не пропадали выбранные таблицы и информировалось что мол что то не так поле отсутствует либо их больше обновить или мол что то удали добавь.
    Премного Благодарен за пример!
    https://yadi.sk/i/6guM3kdNrFvmq
  • отредактировано 16:11
    Всегда пожалуйста :)

    интересная конечно ситуация получается с пропаданием источников данных. Может стоит написать в поддержку? там разработчики быстро отвечают, а тут на форуме их почти не бывает.
    Я давно для себя решил что удобнее и надёжнее такие вещи создавать в коде и в коде же привязывать и передавать. Оно так более гибко получается. Конечно не так наглядно как делать это же в дизайнере. Да и сложнее - надо хорошо знать что и в какой последовательности делать. Но оно себя оправдывает в результате.

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

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