Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Серега от 02 Октября 2023, 11:15:13

Название: Отчеты. После обновления до 2.6.8.0
Отправлено: Серега от 02 Октября 2023, 11:15:13
Добрый день!
Процесс формирования отчета не менялся.
1. Формируем отчет:
Код
aReport := ReportBuild('MotoRunHour');
2. Формируем имя отчета:
Код
NameFileForSend := 'MotoRunHour_'+ DateTimeToFileName(Now, '');
3. На всякий случай сохраняем его на сервере:
Код
aReport.Save(SS_SERVER_NAME, NameFileForSend, 'C:\GeneratedReports\', rfPDF);
4. Отправляем по почте:
Код
aMail := SendMail('Simple-Scada', 'Mail с отчетом', 'Отчет во вложении', 'user1@mail.com, user2@mail.com'); 
aMail.AttachReport(aReport, NameFileForSend);
И вот после обновления по почте присылается файл, но без расширения pdf.
Раньше:
MotoRunHour_01.10.2023 00.00.00 (542).pdf
Теперь:
MotoRunHour_01.10.2023 00.00.00 (542).00 (542.00 (542
Можете проверить у себя?

Дополнительно хотел бы уточнить следующее:
1. В скобках указываются миллисекунды?
2. Для удаления их из названия нужно перед началом изменить формат времени (SetTimeFormat('hh:nn:ss'); ), а в конце при необходимости вернуть обратно той же командой (SetTimeFormat('hh:nn:ss:zzz'); )?

Жду вопросов и ответов!
Название: Re: Отчеты. После обновления до 2.6.8.0
Отправлено: Simple-Scada от 02 Октября 2023, 15:58:47
Здравствуйте.

Просьба присылать сразу полный код, т.к. непонятно какие типы данных у переменных. Полный код такой, как описан ниже?
Код: (delphi)
var
  aMail: TM_Mail;
  aReport: TM_Report;
  NameFileForSend: string;
begin
  aReport := ReportBuild('MotoRunHour');
  NameFileForSend := 'MotoRunHour_'+ DateTimeToFileName(Now, '');
  aReport.Save(SS_SERVER_NAME, NameFileForSend, 'C:\GeneratedReports\', rfPDF);
  aMail := SendMail('Simple-Scada', 'Mail с отчетом', 'Отчет во вложении', 'user1@mail.com, user2@mail.com');
  aMail.AttachReport(aReport, NameFileForSend);
end.
Или у Вас с переменными выполняются ещё какие-то операции, либо есть разница в типах данных? Есть ли другие обращения к переменным aMail, NameFileForSend или aReport?
Такой код у нас работает правильно, отчет приходит с именем "MotoRunHour_02.10.2023 15.49.28 (548)"

Цитировать
В скобках указываются миллисекунды?
Да.

Цитировать
Для удаления их из названия нужно перед началом изменить формат времени (SetTimeFormat('hh:nn:ss'); ), а в конце при необходимости вернуть обратно той же командой (SetTimeFormat('hh:nn:ss:zzz'); )?
Формат функции DateTimeToFileName нельзя изменить. SetTimeFormat распространяется только на TimeToStr, DateTimeToStr, StrToTime, StrToDateTime, как описано в руководстве (https://simple-scada.com/help/script/settimeformat.html?q=SetTimeFormat). Чтобы удалить миллисекунды можно использовать функцию Copy (https://simple-scada.com/help/script/copy.html) и скопировать из имени всё, кроме миллисекунд.
Название: Re: Отчеты. После обновления до 2.6.8.0
Отправлено: Simple-Scada от 02 Октября 2023, 16:58:40
Нашли причину. При попытке скачивания файла из почты имя портится. Это из-за того, что расширение .pdf в имени файла теряется и нужно вручную исправлять имя и добавлять .pdf.
В ближайшее время сделаем исправление. 
Название: Re: Отчеты. После обновления до 2.6.8.0
Отправлено: Серега от 02 Октября 2023, 17:03:29
Ок. Писал ответ, но Вы быстрее ответили!
Ждем.
Название: Re: Отчеты. После обновления до 2.6.8.0
Отправлено: Simple-Scada от 09 Октября 2023, 10:14:05
Исправили добавление расширения во вложенных в e-mail отчетах в обновление 2.6.9.0.