Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / FR3: как не показать отчёт? / 2 сообщений из 2, страница 1 из 1
03.11.2010, 10:40
    #36935431
savosin_sergey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FR3: как не показать отчёт?
Добрый день! FR3. Необходимо после старта отчёта при некоторых условиях отказаться от формирования отчёта, чтобы даже пустые листы не отображались.
Проверка на вызывающей стороне не подходит.

В это FR2 было реализовано так:
1) добавлялась пустая форма
2) на её единственном событии OnActivate был такой скрипт:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
begin
  ReportData.Query1.Open;
  if Query1.ItemID =  0  then 
  begin
    Page2.Visible := False; 
    Page3.Visible := False; 
    Page4.Visible := False; 
    ModalResult:=[MRCANCEL]
  end
  else
    ModalResult:=[MROK]
end
Если аналогичное сделать на FR3, то форма тупо отображается и ждёт, пока её закроют (правда, для этого надо добавить на неё хотя бы один элемент, иначе события формы вообще не отрабатывают). Никакие листы не скрываются!

Вопрос: как на FR3 прервать отчёт в самом начале выполения и ничего не показывать?
...
Рейтинг: 0 / 0
03.11.2010, 13:46
    #36936228
savosin_sergey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FR3: как не показать отчёт?
Проблему удалось решить так:

Всё происходит в событии Report.OnRunDialogs:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
procedure frxReportOnRunDialogs(var Result: Boolean);
begin
  TfrxADOQuery(Query1).Open;
  if [Query1."ItemID"]= 0  then
    Result:=false
  else
    Result:=true;
end;

При этом формы диалога добавлять не надо.
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / FR3: как не показать отчёт? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]