Главная страница
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.031 c
15-1310132490
oleg1963lora
2011-07-08 17:41
2011.11.06
Переход с Win на Lin через Kubuntu


2-1310773155
Германн
2011-07-16 03:39
2011.11.06
С чего бы возникает OnResize после OnShow


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


6-1245670490
FireMan_Alexey
2009-06-22 15:34
2011.11.06
Как получить список открытых портов на локальной машине


2-1310662885
Anthony
2011-07-14 21:01
2011.11.06
Простой RTF редактор для Delphi