<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410389&amp;view=findpost&amp;p=3778681</guid>
        <pubDate>Thu, 20 Sep 2018 12:42:56 +0000</pubDate>
        <title>Bag Crystal Reports</title>
        <link>https://forum.sources.ru/index.php?showtopic=410389&amp;view=findpost&amp;p=3778681</link>
        <description><![CDATA[Ludmilaon: Ищу &quot;правильную&quot; версию отчетов для С#: XtraReports, Stimul Reports или, если есть, какие-нибудь другие.]]></description>
        <author>Ludmilaon</author>
        <category>.NET: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410389&amp;view=findpost&amp;p=3707763</guid>
        <pubDate>Mon, 20 Feb 2017 09:34:10 +0000</pubDate>
        <title>Bag Crystal Reports</title>
        <link>https://forum.sources.ru/index.php?showtopic=410389&amp;view=findpost&amp;p=3707763</link>
        <description><![CDATA[jafru: Всем привет,<br>
у меня есть очень много отчетов Crystal Reports ввиде rpt-файлов. Для работы с этими файлами, я хочу частично автоматизировать свои действия.<br>
Например, я хочу выгрузить все SQL-скрипты из отчетов в один текстовый файл. Поэтому я сделал и протестировал программулину, которая выгружает SQL в отдельный файл. По началу все было ОК. Но потом обнаружилось, что программа падает (crash) на определенных rpt-файлах, именно в момент открытия файла:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>CrystalDecisions.CrystalReports.Engine.ReportDocument doc;<br>
doc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();<br>
try<br>
{<br>
	doc.Load(&quot;D:&#092;&#092;Temp_01&#092;&#092;Test.rpt&quot;);<br>
}<br>
catch (Exception ex)<br>
{<br>
	MessageBox.Show(&quot;ErrorTest&quot;);<br>
	return;<br>
}<br>
catch<br>
{  <br>
	MessageBox.Show(&quot;ErrorTest&quot;);  <br>
	return;<br>
}</div></div><br>
отчеты, на которых падает программа, содержат невалидные CR ф-ции. Эти отчеты нормально открываются в самой среде CR. И в них нет нечего плохого, они просто имеют невалидный статус, в процессе разработки. Мне бы хотелось обойти эти отчеты и продолжить обрабатывать следующие rpt-файлы, но прога полсе таких вот отчетов просто прекращает свою работу. Блок try{}catch{} в этом случае просто бесполезен. Действие doc.Load останавливает работу основной программы, даже если я эти отчеты обрабатываю в отдельном потоке.<br>
Я почти уверен, что это баг Crystal Report-а, так как считаю что rpt-файлы могут быть и поврежденными, и невалидными, а могут просто содержать другой формат файла, но это состояние файлов не должно останавливать работу основной программмы. Как можно в данной ситуации пропустить невалидные rpt-файлы, так чтоб прога не спотыкалась, а пропускала их и записывала информацию в лог?<br>
<br>
Я также этот вопрос задавал на офф. сайте SAP, но что то там не особо стараются отвечать за свой продукт :(]]></description>
        <author>jafru</author>
        <category>.NET: Базы данных</category>
      </item>
	
      </channel>
      </rss>
	