Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.11.06;
Скачать: CL | DM;

Вниз

Fast Report 3, не передаются значения переменным   Найти похожие ветки 

 
Виталий Панасенко(дом)   (2010-04-12 22:35) [0]

Есть такой код:
 //-Формирование отчета по деньгам
if frmPeriod.ShowModal = mrOK then
 with dm do
  begin
   Period := Format("Период: %s по %s",[DateToStr(frmPeriod.detStart.Date), DateToStr(frmPeriod.detEnd.Date)]);
   Rep.Clear();//-Очищаем старые отчеты
   Rep.LoadFromFile(ExtractFilePath(ParamStr(0))+"ДЕНЬГИ.FR3");
   tMng.First();
   while not tMng.Eof do
    begin
      Rep.Variables["mng_id"] := tMngMNG_ID.AsInteger;
      Rep.Variables["mng_name"] := QuotedStr(tMngMNG_NAME.AsString);
      Rep.Variables["period"] := QuotedStr(Period);
      Rep.Variables["dat1"] := frmPeriod.detStart.Date;
      Rep.Variables["dat2"] := frmPeriod.detEnd.Date;
      Rep.PrepareReport(False);

      tMng.Next();
    end;
   Rep.ShowPreparedReport();//_Показываем подготовленные отчеты
  end;//-with

Я создаю отдельные кросс-таб отчеты для каждого менеджера. Все красиво работает.. Но только один раз. В дальнейшем, все попытки изменить период не оказывает на отчет никакого воздействия. Если заремировать вызов Clear, опять все красиво..Только страницы добавляются в общий отчет.
Я "обманул" фаст, ввел булвую переменную, истинную перед циклом и ложную сразу после первого прохода
   Clr := True;
   while not tMng.Eof do
    begin
      Rep.Variables["mng_id"] := tMngMNG_ID.AsInteger;
      Rep.Variables["mng_name"] := QuotedStr(tMngMNG_NAME.AsString);
      Rep.Variables["period"] := QuotedStr(Period);
      Rep.Variables["dat1"] := frmPeriod.detStart.Date;
      Rep.Variables["dat2"] := frmPeriod.detEnd.Date;
     
      Rep.PrepareReport(Clr);
      Clr := False;

      tMng.Next();
    end;

Но все-таки интересно, это я где-то "гоню" или все таки фаст...


 
Виталий Панасенко(дом)   (2010-04-12 22:42) [1]

Видимо, я неправильно понял назначение метода Clear... Судя из мануала

> Следующий пример показывает, как построить пакет из двух
> отчетов:
> frxReport1.LoadFromFile("1.fr3");
> frxReport1.PrepareReport;
> frxReport1.LoadFromFile("2.fr3");
> frxReport1.PrepareReport(False);
> frxReport1.ShowPreparedReport;
> Мы загружаем первый отчет и строим его, не показывая на
> экране

делается также, как я во втором случае



Страницы: 1 вся ветка

Текущий архив: 2011.11.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.006 c
15-1310424630
R_R
2011-07-12 02:50
2011.11.06
Как протестировать работу с интернетом?


15-1310284397
@!!ex
2011-07-10 11:53
2011.11.06
Как делать небольшие смс рассылки?


3-1265443339
lock95
2010-02-06 11:02
2011.11.06
SQL запрос ADODataSet.CommandText


2-1311147933
oleg_veles
2011-07-20 11:45
2011.11.06
Работа со строками в Мемо


2-1310622837
mamon
2011-07-14 09:53
2011.11.06
Не могу открыть РФ сайты