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

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

Автор Тема: Отчеты. После обновления до 2.6.8.0  (Прочитано 2709 раз)

Серега

  • Старожил
  • ****
  • Сообщений: 287
    • Просмотр профиля
Отчеты. После обновления до 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'); )?

Жду вопросов и ответов!

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3215
    • Просмотр профиля
    • Simple-Scada
Re: Отчеты. После обновления до 2.6.8.0
« Ответ #1 : 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, как описано в руководстве. Чтобы удалить миллисекунды можно использовать функцию Copy и скопировать из имени всё, кроме миллисекунд.
« Изменён: 02 Октября 2023, 16:16:58 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3215
    • Просмотр профиля
    • Simple-Scada
Re: Отчеты. После обновления до 2.6.8.0
« Ответ #2 : 02 Октября 2023, 16:58:40 »
Нашли причину. При попытке скачивания файла из почты имя портится. Это из-за того, что расширение .pdf в имени файла теряется и нужно вручную исправлять имя и добавлять .pdf.
В ближайшее время сделаем исправление. 

Серега

  • Старожил
  • ****
  • Сообщений: 287
    • Просмотр профиля
Re: Отчеты. После обновления до 2.6.8.0
« Ответ #3 : 02 Октября 2023, 17:03:29 »
Ок. Писал ответ, но Вы быстрее ответили!
Ждем.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3215
    • Просмотр профиля
    • Simple-Scada
Re: Отчеты. После обновления до 2.6.8.0
« Ответ #4 : 09 Октября 2023, 10:14:05 »
Исправили добавление расширения во вложенных в e-mail отчетах в обновление 2.6.9.0.