У CrystalReports есть диагностическая регистрация? Некоторые поля не будут отображаться при печати - PullRequest
2 голосов
/ 06 августа 2009

Я использую Crystal Reports, поставляемый с Visual Studio 2008

Вот моя проблема. У меня есть простая маленькая утилита командной строки, которая генерирует монокристаллический отчет. Это

  1. Подключается к базе данных
  2. Получает набор данных из хранимой процедуры. Набор данных - это всегда одна таблица с одной строкой.
  3. Устанавливает набор данных в качестве источника данных отчета
  4. В зависимости от флагов командной строки выводит на принтер по умолчанию, отправляет электронные письма или сохраняет отчет в формате PDF

В приложении используется что-то вроде этого:

c:\> GenerateReport 1000 1345 1 email=me@somewhere.com pdf=c:\temp\ print 

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

За исключением того, что с момента обновления отчетов о кристаллах (начиная с той версии, которая была с vs2003), он был немного вялым. ТОЛЬКО на производственной площадке и ТОЛЬКО при печати отчета, некоторые (но не все) поля отчета остаются пустыми!

Это особенно смущает, потому что отчет создается только один раз, а все данные в отчете поступают из набора данных - у меня нет полей параметров отчета. И набор данных выбирается и устанавливается как источник данных только один раз при запуске приложения. После этого я просто вызываю report.PrintToPrinter, report.Export или report.ExportToStream для одного и того же экземпляра в зависимости от того, хочу ли я распечатать, экспортировать или отправить по электронной почте соответственно.

Это означает, что если я запускаю утилиту с опциями print и email = me @ mycompany, получаемый мною адрес электронной почты и распечатанный отчет получаются из экземпляра EXACT SAME ReportClass. Тем не менее те же значения, которые постоянно отсутствуют при печати, видны при отправке отчета по электронной почте или сохранении на диск.

Еще хуже, я могу взять точно такой же исполняемый файл. Переместите его на мой компьютер для разработки, укажите файл конфигурации на производственную базу данных, и он напечатает на моем локальном принтере все заполненные значения!

Я действительно весьма озадачен тем, как исследовать это дальше - похоже, что-то происходит внутри CrystalReports. Есть ли какой-нибудь режим диагностики или режим регистрации, который я могу включить, что может дать мне подсказку, как это исправить?

1 Ответ

1 голос
/ 07 февраля 2011

Прежде всего, ответьте на ваш вопрос, НЕТ, нет записи диагностики, кроме того, что вы видите в отчете, и любых исключений, которые возникают.

Что касается того, что может быть не так, если проблема возникает ТОЛЬКО во время печати, она ДОЛЖНА быть связана с драйверами и / или шрифтами принтера. Больше ничего не может быть. Для надежного способа исправить отчет для печати на производственном принтере ... установите Crystal Reports на компьютер, на котором установлен производственный принтер, и откройте / отформатируйте / протестируйте / сохраните отчет на этом конкретном принтере. Это решит проблему. И, конечно же, удалите Crystal Reports, когда закончите исправление отчета.

Если отчет работает нормально, а вывод неверен с точки зрения того, что печатается, и никаких других ошибок не возникает, это ДОЛЖНО быть проблемой совместимости с принтером. Ничего другого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...