Я бы создал глобальную переменную отчета 'salessum'
var
salessum: extended;
procedure MYReportOnStartReport(Sender: TfrxComponent);
begin
salessum := 0.0;
end;
В событии OnBeforePrint полосы подробностей увеличьте salessum, если он является одним из желаемых продавцов.
procedure MYReportDetailBeforePrint(Sender: TfrxComponent);
begin
if (mydata.salesmankey = "key 1") or (mydata.salesmankey = "key2") or (...) then
begin
salessum := salessum + mydata.amount;
end;
end;
Если вы хотите получить дополнительную сумму в конце отчета, добавьте итоговую полосу отчета и в событии OnBeforePrint задайте значение соответствующего текстового поля для форматированной строки salessum.
procedure MYReportSummaryBeforePrint(Sender: TfrxComponent);
begin
txtMyBestSalesMenTotal.Text := FormatFloat('#,##0.00', salessum);
end;
В качестве альтернативы,если вы хотите получить дополнительную сумму сразу после промежуточной суммы продавца 3, добавьте текстовое поле в нижний колонтитул группы продавца и в событии OnBeforePrint установите для его свойства visible значение true / false в зависимости от того, какой ключ продавца вы обрабатываете в настоящее время, и установите его значение вценность салессума.Вам также нужно будет убедиться, что полоса растягивается автоматически.
Я начал делать почти все суммирование, используя переменную script и report, так как становится намного легче контролировать, когда и где их следует увеличивать или сбрасывать.или распечатаны и т. д. Использование встроенных функций сумм (в любой системе отчетности) полезно только для очень простых итогов, что по некоторым причинам очень мало из моих отчетов.
Надеюсь, что имеет смысл (ичего вы на самом деле пытаетесь достичь!).