0
Отвечен

Визуализация или простое отображение процесса формирования отчета

Валерий 2 года назад в Генератор отчетов обновлен СИМП Лайт (тех поддержка) 2 года назад 3

Иногда отчет (в зависимости от количества информации) формируется довольно продолжительное время. Есть ли возможность как-то отображать момент его создания (хотя бы менять текст на кнопке с "Сформировать отчет" на "Идет формирование отчета")?

Отвечен

День добрый.

Иногда отчет (в зависимости от количества информации) формируется довольно продолжительное время. Есть ли возможность как-то отображать момент его создания (хотя бы менять текст на кнопке с "Сформировать отчет" на "Идет формирование отчета")?

Как вариант, можно в скриптах проверять наличие сформированного файла отчета и на основании этого менять надпись на кнопке, других вариантов на данный момент нет.

Здравствуйте. Хорошо, если в ответах, как в данном случае, будете приводить пример использования скрипта с условием наличия файла отчета. Либо давать ссылку на скрипт, согласно рекомендации, в базе знаний Симп, либо в примерах (если существует база примеров). Поскольку сервис поддержки имеет полезную возможность задавать вопросы не только в скрытом режиме, то более развернутый ответ будет полезным подспорьем пользователям подписанным на рассылку вопросов, для формировния личных баз знаний по Симп. Успехов.

+1

День добрый.

В самом простом варианте как то так:

https://simplight.ru/manual_next/razdel/fileexists

https://simplight.ru/manual_next/komandy-dlya-raboty-s-tekstovymi-faylami/deletefile

https://simplight.ru/manual_next/razdel/savereporttofile

Тип запуска скрипта - по событию записи в канал.

var
FileName: string;

begin
FileName := 'C:\Отчет.pdf';

// проверяем наличие файла отчёта
if FileExists(FileName) then
// если файл есть удалим его
DeleteFile(FileName);

// выставим состояние - отчет формируется
WriteValue('Статус', 'Формирование отчета');

// формирование отчета
SaveReportToFile('Имя отчета', FileName);

// ожидаем наличие файла готового отчета
while not FileExists(FileName) do
Delay(1000, true);

// выставим состояние - отчет сформирован
WriteValue('Статус', 'Отчет сформирован');
end.

Сервис поддержки клиентов работает на платформе UserEcho