Пожалуйста, включите JavaScript для просмотра этого сайта.

Отчеты Simple-Scada

История: Примеры отчетов

Автоматическое формирование отчетов по времени

Пред. Вверх След. Еще

Допустим, требуется формировать отчёт за прошедшие сутки каждый день в 08:00, без вмешательства пользователя. И если в предыдущих примерах интервал времени для отчёта пользователь выбирал самостоятельно, то теперь интервал должен выставляться автоматически. Будем считать, что переменные начала и конца интервала времени называются как и в предыдущих примерах "vrTimeBegin" и "vrTimeEnd".

Создадим скрипт-таймер. Для этого перейдём в редактор скриптов, нажмём кнопку "Создать новый скрипт", введём имя скрипта, например "ReportTimer". Тип события выберем "Начало часа". В скрипте напишем следующий код:

var
  aReport: TM_Report;
begin
  // если сейчас не 8 часов, то прерываем выполнение скрипта
  if HourOf(Now) <> 8 then Exit;
  
  // берём текущее время и дату и сбрасываем минуты, секунды и 
  // миллисекунды в 0, т.к. нам важны только часы. Записываем 
  // полученное значение в переменную vrTimeEnd
  vrTimeEnd.Value := RecodeTime(Now, HourOf(Now), 000);
  
  // от значения vrTimeEnd отнимаем 24 часа и записываем
  // полученное значение в vrTimeBegin
  vrTimeBegin.Value := IncHour(vrTimeEnd.AsDateTime, -24);
 
  // Формируем отчет с именем "Отчет_1" и открываем его для просмотра 
  // на всех клиентах с именем "Client_1"
  aReport := ReportBuild('Отчет_1');
  aReport.View('Client_1');          
end.