Рефакторинг Crystal Reports: нужно ли, к чему и почему? - PullRequest
0 голосов
/ 30 марта 2009

Разработка, создание и обслуживание отчетов не сложно, но скучно. У нас есть несколько устаревших (в разной степени устаревших) отчетов в Crystal Reports XI. Они предназначены для формата A4 / PDF - не обязательно для печати, но для того, чтобы иметь предсказуемый формат, и мы не сможем их удалить в ближайшее время.

Все подключаются к существующим хранимым процедурам (SQL Server 2005) для получения своих данных. Много времени потрачено на то, чтобы эти отчеты выглядели просто так . Фактическое создание отчетов в основном выполняется с помощью API .NET / C # и экспортируется в PDF. Существует ряд локально разработанных и поддерживаемых приложений, которые стабильны и хорошо справляются с этим процессом.

Таким образом, нам нравится тот факт, что Crystal Reports является стабильным, что наши приложения надежно генерируют эти отчеты, что вывод в формате PDF согласован и что, когда шаблон Crystal Reports утвержден и установлен, он просто работает.

Однако в этой ситуации есть большие проблемы. Самое главное, что любые изменения в самих шаблонах отчетов - огромная боль; Получить шаблон Crystal Reports до такой степени, что пользователи будут довольны, - непростая задача, которая может включать в себя длительную итерацию DTP / graphics / database / выверки и множество других проблем.

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

Некоторые мысли, которые я начал рассматривать, и любые другие приветствуются!

  • Предоставляет ли Crystal Reports 2008 какие-либо преимущества по сравнению с XI?
  • Как другие справились с миграцией из ЧР? А что делать?
  • Учитывая, что слой доступа к данным хорошо сформирован, возможно, создать графики с помощью службы Excel и затем импортировать их в виде графики в шаблон фреймворка? Кристалл, другой - кто-нибудь пробовал что-нибудь подобное?
  • Службы отчетов лучше? (У нас есть некоторые навыки RS, но опять же, еще одна вещь, которую люди не хотят на самом деле знать о чем-либо.)
  • Существуют ли какие-либо инструменты верстки (желательно с .NET API) для того, что в прежние времена называлось Desktop Publishing? Если у нас есть графика / таблицы / другие объекты в виде изображений, которые затем могут автоматически отображаться,

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

Ответы [ 2 ]

2 голосов
/ 03 апреля 2009

Итак, какие еще проблемы у вас с Кристаллом? Похоже, вы хотите, чтобы пользователи обрабатывали отчеты ... (не все мы). Проблема в том, что они никогда не хотят использовать какую-либо модель данных. Кто-то должен знать, как запросить базу данных. У вас уже есть это с помощью хранимых процедур. Может быть, пусть пара пользователей изучит основные принципы Crystal (группирование, сортировка, суммирование и т. Д.), И вы напишите хранимую процедуру, и они отформатируют ее с помощью Crystal. Таким образом вы обойдете самый большой камень преткновения с кристаллом, который делает соединение столов в кристалле.

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

Я не пытаюсь защитить Кристалл, но если он не сломлен ...

1 голос
/ 03 апреля 2009

Мы недавно обновились до VS 2008 на XP. Наши пользователи по-прежнему работают с платформой .NET 2.0 на Windows 2000, и обновление в масштабах всей компании не в ближайшем будущем. Что мы не узнали, пока не обновили с 2005 по 2008 год, так это то, что распространяемые Crystal Reports, которые поставляются с VS 2008, работают только на XP или выше. К сожалению. Итак, теперь мы не можем редактировать наши старые отчеты, потому что CR автоматически обновит их до новой версии.

В итоге я использовал наш существующий XMLSerializer , создав класс, который содержит данные отчета (по существу, множество строк и свойств List ), и сериализовал их в файл XML. Вставьте объявление таблицы стилей XSL, преобразующее его в HTML / CSS, и откройте его в IE.

В итоге он работает немного быстрее Crystal Reports, особенно для разработки, и я могу, как правило, заставить его просто дать мне документ Word, какого бы черта он не выглядел, отчет должен выглядеть, экспортировать его как HTML, очистить его и затем использовать его как шаблон для того, что генерирует XSL.

Это далеко не так полнофункционально, как Crystal Reports, но для того, что нам нужно (отчеты и рабочие задания XRay и Lab), оно идеально.

...