На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Bag Crystal Reports
    Всем привет,
    у меня есть очень много отчетов Crystal Reports ввиде rpt-файлов. Для работы с этими файлами, я хочу частично автоматизировать свои действия.
    Например, я хочу выгрузить все SQL-скрипты из отчетов в один текстовый файл. Поэтому я сделал и протестировал программулину, которая выгружает SQL в отдельный файл. По началу все было ОК. Но потом обнаружилось, что программа падает (crash) на определенных rpt-файлах, именно в момент открытия файла:
    Цитата
    CrystalDecisions.CrystalReports.Engine.ReportDocument doc;
    doc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
    try
    {
    doc.Load("D:\\Temp_01\\Test.rpt");
    }
    catch (Exception ex)
    {
    MessageBox.Show("ErrorTest");
    return;
    }
    catch
    {
    MessageBox.Show("ErrorTest");
    return;
    }

    отчеты, на которых падает программа, содержат невалидные CR ф-ции. Эти отчеты нормально открываются в самой среде CR. И в них нет нечего плохого, они просто имеют невалидный статус, в процессе разработки. Мне бы хотелось обойти эти отчеты и продолжить обрабатывать следующие rpt-файлы, но прога полсе таких вот отчетов просто прекращает свою работу. Блок try{}catch{} в этом случае просто бесполезен. Действие doc.Load останавливает работу основной программы, даже если я эти отчеты обрабатываю в отдельном потоке.
    Я почти уверен, что это баг Crystal Report-а, так как считаю что rpt-файлы могут быть и поврежденными, и невалидными, а могут просто содержать другой формат файла, но это состояние файлов не должно останавливать работу основной программмы. Как можно в данной ситуации пропустить невалидные rpt-файлы, так чтоб прога не спотыкалась, а пропускала их и записывала информацию в лог?

    Я также этот вопрос задавал на офф. сайте SAP, но что то там не особо стараются отвечать за свой продукт :(
      Ищу "правильную" версию отчетов для С#: XtraReports, Stimul Reports или, если есть, какие-нибудь другие.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0148 ]   [ 16 queries used ]   [ Generated: 28.03.24, 13:20 GMT ]