Передача переменной во Free Report

отредактировано 19:42 Раздел: FreeReport
Вернее, могу, все компилится, но прога не работает.
Условия: D6, FreeReport 233, файл отчета сохраняется не прямо в программе, а загружается из файла frf перед показом.
Файл frintrp подключен, код примерно такой

frVariables := DateToStr(...Тут дата из календаря на форме берется)
...
frReport.show или превью, не помню. Короче, показать.
В самом репорте заведена категория MyCat, в ней заведена переменная DBegin.

И хоть я в Delphi объявляю эту переменную до загрузки frf, хоть после - разницы нет. В отчете этот прямоугольник пуст. Хотя ошибок нет...
Может быть, эта фича во фрирепорте не действует? Хотя если сохранять репорт в дфм - мало-мальски работает, в демке вроде бы работает.

Комментарии

  • gpigpi
    отредактировано 19:42
    Должно работать.
    А значение
    написал:
    (...Тут дата из календаря на форме берется)
    присутствует? Не пустое?
    Для проверки можно попробовать frVariables := Date;
    А Update2 для Delphi6 установлен?
  • отредактировано 19:42
    gpi написал:
    Должно работать.
    А значение
    gpi написал:
    (...Тут дата из календаря на форме берется)
    присутствует? Не пустое?
    Для проверки можно попробовать frVariables := Date;
    А Update2 для Delphi6 установлен?
    А значение (...Тут дата из календаря на форме берется)[/QUOTE] присутствует? Не пустое?

    Не, не пустое, конечно :-) Да и без даты я пробовал, как в хелпе написано делал
    frVariables := 'Апрель' , пробовал и Integer (10), и строковый тип, и дату...

    Дельфи все апдейты стоят, с 1 по 3-й...

    Я все-таки думаю, что при загрузке из frf-файла этот прибамбас может не работать, только при сохранении репорта в ДФМ... :-( Жаль, если так...


  • отредактировано 19:42
    Покажи порядок вызова функций начиная от загрузки файла и кончая показом отчета.
  • отредактировано February 2006
    написал:
    Покажи порядок вызова функций начиная от загрузки файла и кончая показом отчета.
    Вот примерно так
    frReport1.Title:= 'Задолженность оплаты за услуги';
      //Загружаем файл квитанции Debt.frf
      frReport1.LoadFromFile('Reports\Debt.frf');
      //Обновляем Query задолженности
      QryDebtRefresh(QryDetailDebt, FmTheMain.QryTheMain.FieldByName('MID').AsInteger, VolgaPeriod1.StartDate);
      //Переключаем датасет репорта на Query задолженности
      frDBDataSet1.DataSet:= QryDetailDebt;
      QryDetailDebt.DisableControls;
      //чтобы показать в отчете дату TVolgaPeriod
      frVariables['VolPer'] := DateToStr(VolgaPeriod1.StartDate); //Или даже просто Date
      frReport1.ShowReport;
      QryDetailDebt.EnableControls;
    

    В самом отчете создана категория CatVolPer, в ней переменная VolPer, ну все это нормально, через пробел и т.д. По крайней мере в дизайн-тайме эта переменная показывается списке, вставляется и пр. То-есть тут все путем.
  • отредактировано 19:42
    И тишина...
  • gpigpi
    отредактировано 19:42
    Попробуйте frReport1.Dictionary.Variables := DateToStr(VolgaPeriod1.StartDate);
    или выбросьте из словаря данных отчёта VolPer и обращайтесь тогда через frVariables

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.