Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Izergill от 08 Февраля 2019, 10:52:09

Название: Ожидание построения отчета
Отправлено: Izergill от 08 Февраля 2019, 10:52:09
Добрый день! Использую в своем проекте отчеты, на построение которых уходит много времени. За это время оператор может начать беспокоиться, что ничего не происходит и что-нибудь нажать, что нажимать не надо. Как можно вывести какой-н индикатор того, что в данный момент строится отчет? Или деактивировать элементы управления на время построения отчета?
Название: Re: Ожидание построения отчета
Отправлено: Simple-Scada от 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.
Также, если есть желание, можете выслать текущую версию проекта с отчетами на почту тех.поддержки, возможно мы могли бы дать рекомендации как увеличить скорость построения отчета.