Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Ожидание построения отчета  (Прочитано 1002 раз)

Izergill

  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Ожидание построения отчета
« : 08 Февраля 2019, 10:52:09 »
Добрый день! Использую в своем проекте отчеты, на построение которых уходит много времени. За это время оператор может начать беспокоиться, что ничего не происходит и что-нибудь нажать, что нажимать не надо. Как можно вывести какой-н индикатор того, что в данный момент строится отчет? Или деактивировать элементы управления на время построения отчета?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3146
    • Просмотр профиля
    • Simple-Scada
Re: Ожидание построения отчета
« Ответ #1 : 10 Февраля 2019, 14:08:57 »
Здравствуйте.
Для решения этой задачи нужно использовать скрипт с типом события "Отчет построен". Допустим отчет строится по нажатию на кнопку Button1. Тогда по событию OnClick пишем такой код:
Код: (delphi)
begin
  Button1.Enabled := False;  // делаем кнопку неактивной, чтобы её нельзя было нажать повторно
 
  { строим отчет и отмечаем его пользовательской отметкой равной 777 }
  ReportView(GetClientName, 'Мой отчет', rptNoPrint, 777);
end.
Теперь создадим новый скрипт с типом события "Отчет построен" и следующим кодом:
Код: (delphi)
begin
  if rbUserID = 777 then      // если наш отчет с отметкой 777 построился
    Button1.Enabled := True;  // делаем кнопку активной
end.
Также, если есть желание, можете выслать текущую версию проекта с отчетами на почту тех.поддержки, возможно мы могли бы дать рекомендации как увеличить скорость построения отчета.
« Изменён: 10 Февраля 2019, 14:10:24 от Simple-Scada »