YouTube

 

Посмотрите наши видеоурок по импорту отчета из Crystal Reports. Подписывайтесь на канал Stimulsoft и узнайте первыми о новых видеоуроках. Вопросы и предложения оставляйте в комментариях к видео.

 

 

 

Пункт Открыть (Open) меню Файл содержит команды загрузки отчета в дизайнер.

 

 

 

Отчет может быть загружен в дизайнер отчетов из:
strel11 Со вкладки Последние (Recent), где хранятся ссылки к последним загруженным отчетам;

strel11 Импортирован с других платформ разработки отчетов;

strel11 Из облачного хранилища Stimulsoft;

strel11 Из локального хранилища пользователя.

 

 

Импорт отчетов

Stimulsoft Reports предоставляет возможность импортировать отчеты из других платформ разработки отчетов. Импорт отчета может быть осуществлен в дизайнере отчетов или при помощи утилиты импорта. Для импорта отчетов, в дизайнере отчетов, в меню Файл (File) выберите пункт Открыть (Open), затем подпункт Импорт (Import) и определите платформу, с которой необходимо осуществить импорт:
 

 

 

Импорты отчетов, за исключением импорта из Crystal Reports и DevExpress XtraReports, являются встроенными. В этом случае, отчет может быть открыт прямо из дизайнера. В случае, с Crystal Reports и DevExpress XtraReports, отчеты необходимо сначала преобразовать при помощи утилиты импорта, а затем открыть в дизайнере отчетов Stimulsoft.

 

Информация

 

В некоторых дизайнерах отчетов, в пункте Открыть может отсутствовать подпункт Импорт. В этом случае, вы можете импортировать отчеты при помощи утилиты импорта, а затем использовать эти отчеты в продуктах Stimulsoft.

 

 

 

Запуск утилиты импорта

При помощи утилит импорта можно преобразовать отчеты с других платформ разработки отчетов. Для каждого типа файла соответствует своя утилита импорта. Для того чтобы запустить утилиту импорта выполните следующие шаги:
 
Шаг 1: Откройте интернет браузер и перейдите по ссылке https://github.com/stimulsoft/Importing.Tools
 

Шаг 2: Скачайте архив с проектами импортов и распакуйте его
 
Шаг 3: При помощи среды разработки, например Visual Studio, скомпилируйте проект.

 

 

Шаг 4: Выберите отчеты, которые необходимо преобразовать в отчеты Stimulsoft и укажите место сохранения результата преобразования.
 
Шаг 5: Нажмите кнопку Конвертировать (Convert). Результат преобразования, будет отображен пользователю.

 

 
 
Используйте преобразованные отчеты в продуктах Stimulsoft.

 

 

Импорт отчета из Crystal Reports

 

Утилита преобразует шаблоны Crystal Reports (*.rpt-файлы) в формат шаблонов отчетов Stimulsoft Reports (*.mrt-файлы). Инструмент поставляется только как исходный код C# и требует ссылки на некоторые библиотеки Crystal Reports. Для успешного запуска проекта необходимо версии не ранее чем Visual Studio 2010, .NET Framework 4.0.
 
Загрузите архив по ссылке ниже, распакуйте его и откройте в Visual Studio. Проект будет построен успешно, как только все необходимые библиотеки DLL будут найдены.

 

Проект был создан таким образом, чтобы все необходимые сборки были автоматически взяты из GAC (Global Assembly Cache). Если библиотеки *.dll Stimulsoft Reports не находятся в GAC, то они будут добавлены в проект с NuGet автоматически. Если у вас отсутствует интернет подключение, то необходимо вручную добавить сборки Stimulsoft.Base.dll  и Stimulsoft.Report.dll  в проект.

 

Формат файлов шаблонов отчетов Crystal Reports - это собственный формат. Поэтому для этого инструмента необходимы специальные управляемые сборки Crystal Reports. Инструмент взаимодействует с этими сборками через некоторые специальные интерфейсы Crystal Reports для специальных DLL, управляемых Visual Studio.

 

Эти сборки не всегда устанавливаются в системе вместе с Crystal Reports, как правило, дополнительная и официальная установка этих сборок требуется для корректной работы с инструментом импорта.

 

Например, для Crystal Reports 2013 требуется пакет поддержки (версия для разработчиков для VS: Обновления и время выполнения) и должен быть установлен первым. Только после этого инструмент импорта будет успешно запущен.

 

Текущая версия Crystal Reports требует дополнительной установки «SAP Crystal Reports runtime engine» (32 бит или 64 бит). Автоматический установщик скопирует необходимые сборки в GAC. Этот установщик должен быть загружен отдельно, он не входит в стандартный установочный пакет Crystal Reports.

 

В проекте используются следующие сборки Crystal Reports:

strel11 CrystalDecisions.CrystalReports.Engine
strel11 CrystalDecisions.ReportAppServer.DataDefModel
strel11 CrystalDecisions.ReportAppServer.ReportDefModel
strel11 CrystalDecisions.Shared
strel11 CrystalDecisions.Web
strel11 CrystalDecisions.Windows.Forms

 

Эти сборки не включены в инструмент. Пакеты не будут работать, если они просто ссылаются и копируются в проект без соответствующей установки официальным установщиком Crystal Reports.

Пожалуйста, смотрите объяснение, необходимое для установки:

 

Operational system

Platform Target, CPU

Installation package requirements

Windows x32

Any CPU

‘SAP Crystal Reports runtime engine 32 bit'.

Windows x64

Any CPU

‘SAP Crystal Reports runtime engine 64 bit'.

Windows x64 + runtime engine x32bit

X86

not required

Windows x64 + runtime engine x32bit

Any CPU

‘SAP Crystal Reports runtime engine 64 bit'.

 

 

Вышеупомянутые установщики можно загрузить, используя следующие ссылки:

http://www.crystalreports.com/crvs/confirm/

http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_32bit_13_0_20.zip
http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_64bit_13_0_20.zip

 

Пожалуйста, прочитайте больше о требованиях этих дополнительных установок в официальном ответе Crystal Reports:

https://archive.sap.com/discussions/thread/3675145

 

Можно ли запустить Crystal Reports на клиентской машине без установки этого пакета?

Нет, единственный способ сделать работу вашего приложения - запустить один из пакетов redist на ПК пользователя. Мы не поддерживаем и не можем вручную развернуть среду выполнения. Слишком много записей в реестре и регистрация DLL, чтобы сделать это вручную.

 

 

Параметры утилиты импорт

 

strel11 Параметр Использовать примитивы вместо форм для Line и Box (Use primitives instead of shapes for Line)

Если флажок не установлен, то компоненты Line и Box будут преобразованы в обычные графические примитивы (shapes, VerticalLine / Horizontal Line и Rectangle / Rounded Rectangle соответственно). Если этот флажок установлен, то компоненты Line и Box будут преобразованы в специальные примитивы (VerticalLine Primitive / Horizontal Line Primitive и Rectangle Primitive / Rounded Rectangle Primitive соответственно). При просмотре/печати отчетов большой разницы между графическими и специальными примитивами нет. При экспорте графические примитивы экспортируются как изображения, поэтому для экспортов легче работать со специальными примитивами. Однако из-за особенностей Crystal Reports на сложных шаблонах специальные примитивы иногда могут работать некорректно, поэтому введена возможность выбора.

 

strel11 Параметр Использовать функции для Formula Fields (Use functions for Formula Fields)

В каждом поле Formula Field может находиться выражение или просто строка данных. Каждое поле Formula Field преобразуется в переменную в словаре данных. Если флажок "Use functions for Formula Fields" установлен, то в переменной устанавливается флажок "Function", т.е. Stimulsoft Reports при построении отчета будет использовать значение переменной как выражение и будет пытаться рассчитать значение этого выражения. Если флажок "Use functions for Formula Fields" не установлен, то значение переменной будет использоваться как строка данных.

 

 

Основные проблемы при конвертации отчета

 

Одна из главных проблем при конвертации - при работе через managed dll доступны не все свойства объектов. Еще одна проблема - это различие в структуре генераторов отчетов, т.е. различие в структурах данных, в работе бэндов, и т.п. Поэтому полностью автоматически преобразовать отчет не всегда возможно, в этом случае необходимо его дорабатывать вручную.  Наиболее часто встречающиеся проблемы:

 

strel11 DataBase:

При работе с базами данных Crystal Reports часто использует свои внутренние библиотеки. Из .NET возможно получить только некоторые свойства этих соединений и невозможно получить ConnectionString. Поэтому не все базы данных можно распознать. По умолчанию, для нераспознанных баз используется тип базы StiOleDbDatabase и заготовка ConnectionString без указания конкретного провайдера. {При подключении к базам данных Crystal Reports часто использует свои внутренние библиотеки. Возможно получить только некоторые свойства подключения из .NET и невозможно получить ConnectionString. Поэтому не все базы данных могут быть определены. По умолчанию, для не определенных баз данных StiOleDbDatabase и ConnectionString используются без указания провайдера. }

 

strel11 DataBases:

В CrystalReports каждый отчет/подотчет имеет свой собственный словарь данных, и одна и та же база данных может быть описана в разных подотчетах по разному. В Stimulsoft Reports используется один общий словарь данных, поэтому все словари объединяются. Если база данных повторяется, то эти повторы не включаются в общий словарь.

 

strel11 Image:

Для изображений можно получить размеры и расположение, но невозможно получить содержимое изображения (если изображение сохранено в самом шаблоне).

 

strel11 FormulaField:

В этих полях могут находиться выражения и формулы. На данный момент парсинг и преобразование синтаксиса этих выражений не производится, выражения записываются "как есть". Поэтому в большинстве случаев требуется дальнейшая ручная корректировка этих выражений. {Crystal Reports позволяет использовать выражения и формулы в FormulaFields. На данный момент парсинг и конвертация синтаксиса не может быть проведена, выражения пишутся "как есть". Поэтому во многих случаях требуется дополнительная коррекция выражений.}

 

Информация

 

В Report SharpShooter v2.0+ поменялся внутренний формат файла шаблона отчета, и импорт делался именно под этот новый формат. Файлы старого формата ранее конвертировались в пустые отчеты, теперь сделана небольшая доработка, и частично конвертируются. Но всё равно лучше всего пересохранить старые отчеты в новом формате и уже новые импортировать.