Здравствуйте.
В коде Вы используете перевод времени в строку через "TimeToStr" для имени файла. По умолчанию эта функция будет возвращать время в формате "09:44:00", т.е. с разделителем ":", который запрещён в Windows для использования в именах файлов и папок. Поэтому нужно избавиться от этих символов. Это можно сделать установив свой формат времени через процедуру SetTimeFormat. Лучше всего вместо функций конвертации даты времени в строку и использовать специальную
функцию DateTimeToFileName которая всегда генерирует уникальной имя из DateTime переменной исключая любые недопустимые символы.
Также при сохранении отчёта Вы указали путь 'C:\Отчеты_КП21'. Но путь обязательно должен заканчиваться символом "\". В результате правильный вариант скрипта должен быть таким:
var
f: string;
areport: TM_Report;
begin
SetTimeFormat('hh_nn_ss'); // устанавливаем допустимый для имён файлов формат времени
f := 'Отчет о работе комбайна '+ IntToStr(serial_number.Value) + ' c '+
DateToStr(time_begin_2.Value) + ' ' + TimeToStr(time_begin_2.Value) + ' по ' +
DateToStr(time_end_2.Value) + ' '+ TimeToStr(time_end_2.Value);
areport := ReportBuild('areport');
areport.View(GetClientName);
areport.Save(GetClientName, f, 'C:\Отчеты_КП21\', rfPDF);
end;
Также папка "Отчеты_КП21" обязательно должна существовать на момент сохранения отчёта, иначе отчёт не будет сохранён.
Далее, если Вы подключаетесь к серверу с удалённого клиента (через внешний IP-адрес, например через интернет), то для передачи файлов от сервера к клиенту нужно пробросить порт 8757, как
описано в руководстве здесь.
Если после вышеописанных действий отчет не строится и не открывается для просмотра то напишите нам об этом, можно будет проверить другие пункты.