Проблема с параметрами при экспорте Crystal Reports - PullRequest
1 голос
/ 09 февраля 2009

Я пытаюсь экспортировать отчет Crystal в PDF, а затем отправить его по электронной почте, но каждый раз, когда я получаю команду экспорта, я получаю исключение ParameterFieldCurrentValue.

Я проследил значения коллекции Parameter в ReportDocument, и значения там устанавливаются. Также все четыре параметра являются строками. Первый из них настроен на использование более одного значения, а также дискретных значений или значений диапазона. Диалог, который я вызываю, устанавливает значения для выбора для этого параметра. Других полей параметров нет. Однако в отчете есть поля формулы.

Мой код:

SelectionDialog sd = new SelectionDialog(null, null, 
@"\\er1\common\bfi_apps\ReportMasterTwo\eds\custno.csv", true, false);
DialogResult dr = sd.ShowDialog();
string filename = @"c:\documents and settings\aap\desktop\salesanalysis.pdf";

if (dr == DialogResult.OK && sd.selectedVals != null)
{
    for (int i = 0; i < sd.selectedVals.Count; i++)
    {
        ar100SalesABC_edcustom1.Parameter_Customer_Number.CurrentValues.AddValue
    (sd.selectedVals[i]);
    }

    ar100SalesABC_edcustom1.Parameter_Fiscal_period.CurrentValues.AddValue("1");
    ar100SalesABC_edcustom1.Parameter_Fiscal_year.CurrentValues.AddValue("2007");
    ar100SalesABC_edcustom1.Parameter_Product_Type.CurrentValues.AddValue("F");


    ar100SalesABC_edcustom1.ExportToDisk
    (ExportFormatType.PortableDocFormat, filename); // ERROR HAPPENS HERE

    // .. emailing code and other stuff
}

Что я делаю не так? Есть ли другой способ сделать это, что лучше? Я пробовал варианты экспорта, я пробовал SetParameter, я получаю эту ошибку.

1 Ответ

0 голосов
/ 11 февраля 2009

В итоге я использовал SetParameter вместо метода текущих значений и использовал коллекцию значений для многозначного параметра.

Кроме того, вместо использования типизированного отчета я использовал нетипизированный отчетный документ.

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

Теперь это работает, хотя выглядит совсем не так, как в коде выше.

...