2010-09-06 33 views
5

Tôi đang cố thực hiện các thao tác sau với fastreport và delphi. Tôi có một báo cáo có chứa ...FastReport - Cách tính tổng giá trị nhóm cụ thể cho một chân trang mới

GroupHeader -------> Key cho nhân viên bán hàng của khách hàng MasterData -------> CustomerName, Balance GroupFooter -------> Sum (Số dư) của Salesman-1 MasterData -------> CustomerName, Số dư GroupFooter -------> Sum (Số dư) của Salesman-2 MasterData -------> CustomerName, Balance Bộ phận tạo nhóm -------> Tổng (Số dư) của Salesman-3 . . . MasterData -------> CustomerName, Balance GroupFooter -------> Sum (Balance) của Salesman-N

====> Ở đây muốn có: Footer-2 - ------> SUM (Tổng (Số dư) của Người bán hàng-1, Tổng (Số dư) của Người bán hàng-2, Tổng (Số dư) của Người bán hàng-3) (CHỈ !!!)

ReportFooter --- -----> Tổng số dư khách hàng.

Có ai có ý tưởng giải quyết sự cố với công cụ tạo mã nhanh không?

Cảm ơn bạn.

Trả lời

2

tôi sẽ tạo ra một bản báo cáo toàn cầu biến 'salessum'

var 
    salessum: extended; 

procedure MYReportOnStartReport(Sender: TfrxComponent); 
begin 
    salessum := 0.0; 
end; 

Trong trường hợp OnBeforePrint của ban nhạc chi tiết increment salessum nếu nó là một trong những người bán hàng mong muốn.

procedure MYReportDetailBeforePrint(Sender: TfrxComponent); 
begin 
    if (mydata.salesmankey = "key 1") or (mydata.salesmankey = "key2") or (...) then 
    begin 
    salessum := salessum + mydata.amount; 
    end; 
end; 

Nếu bạn muốn số tiền thêm vào cuối của báo cáo sau đó thêm một ban nhạc tóm tắt báo cáo và trong trường hợp OnBeforePrint thiết lập giá trị của trường text phù hợp với chuỗi định dạng của salessum.

procedure MYReportSummaryBeforePrint(Sender: TfrxComponent); 
begin 
    txtMyBestSalesMenTotal.Text := FormatFloat('#,##0.00', salessum); 
end; 

Ngoài ra, nếu bạn muốn số tiền thêm ngay sau khi nhân viên bán hàng 3 tổng số phụ sau đó thêm một lĩnh vực văn bản trong ban nhạc chân nhóm nhân viên bán hàng và trong trường hợp OnBeforePrint thiết lập tài sản hữu hình của mình cho đúng/sai tùy thuộc vào chính nhân viên bán hàng bạn hiện đang xử lý và đặt giá trị của nó thành giá trị của salessum. Bạn cũng sẽ cần phải đảm bảo rằng ban nhạc trải dài tự động.

Tôi đã bắt đầu thực hiện khá nhiều việc tổng hợp bằng cách sử dụng tập lệnh và biến báo cáo khi nó trở nên dễ dàng hơn nhiều để kiểm soát thời gian và vị trí cần tăng hoặc đặt lại hoặc in vv.) chỉ hữu ích cho các tổng số rất đơn giản - vì một số lý do, rất ít báo cáo của tôi là.

Hy vọng rằng ý nghĩa (và đó là những gì bạn thực sự đang cố gắng đạt được!).

Các vấn đề liên quan