日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

从Delphi应用程序创建发票,可视化报告生成器FastReport VCL轻松搞定

發布時間:2024/8/1 c/c++ 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从Delphi应用程序创建发票,可视化报告生成器FastReport VCL轻松搞定 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

報表生成器FastReport VCL是用于在軟件中集成商務智能的現代解決方案。它提供了可視化模板設計器,可以訪問最受歡迎的數據源,報告引擎,預覽,將過濾器導出為30多種格式,并可以部署到云,Web,電子郵件和打印中。

近日,FastReport VCL更新至v6.7,在新版本中,添加了對最新版本IDE的支持,簡化了用于付款標準的條形碼的創建,新增從預覽窗口直接編輯RichView的功能,同時修復了多個Bug問題。歡迎下載體驗。(點擊下載)

隨著C和.Net平臺的出現,Delphi VCL的普及程度略有下降,但是世界各地有許多Delphi開發人員。許多應用程序都是用VCL編寫的,需要進行現代化。

如果想要實現商品周轉的會計信息系統,則需要從該應用程序生成一些文檔。這可以是報告,銷售和出納支票,發票。在本文中,將研究從創建應用程序到報表顯示,打印發票的整個過程。

本教程將使用Delphi 7開發環境來創建應用程序,并使用FastReport VCL報告生成器來創建報告。該應用程序的工作歸結為將必要的組件添加到表單并進行設置。

在組件面板上找到FastReport選項卡,然后將frxReport組件添加到表單中。我們還需要為報告創建數據源。例如,我們將使用FastReport VCL發行版中的demo.mdb數據庫。使用下表:訂單,客戶,物料,零件。將ADOConnection組件從組件面板的ADO選項卡拖放到窗體上。然后添加四個ADOTable組件。

在“數據訪問”選項卡中,添加四個數據源組件。在FastReport選項卡中,添加四個frxDBDataSet組件。現在我們得到了:ADOTable,DataSource,frxDBDataSet,還需要將它們配置為三個。

第一個三:

  • 對于ADOTable,設置屬性:
    • 連接– ADOConnection1;
    • 名稱–訂單;
    • TableName –訂單;
  • 對于數據源,設置屬性:
    • 數據集–訂單
  • 對于frxDBDataSet,設置屬性:
    • 數據集–訂單
    • 用戶名–訂單

第二個三:

  • 對于ADOTable,設置屬性:
    • 連接– ADOConnection1;
    • 名稱–客戶;
    • IndexFieldnames – CustNo;
    • MasterSource –數據源1;
    • MasterFields-客戶編號;
    • TableName –客戶;
  • 對于數據源,設置屬性:
    • 數據集–客戶
  • 對于frxDBDataSet,設置屬性:
    • 數據集–客戶
    • 用戶名–客戶

第三個三:

  • 對于ADOTable,設置屬性:
    • 連接– ADOConnection1;
    • 名稱–項目;
    • IndexFieldnames – 訂單號;
    • MasterSource –數據源1;
    • MasterFields-訂單號;
    • TableName –項目;
  • 對于數據源,設置屬性:
    • 數據集–項目
  • 對于frxDBDataSet,設置屬性:
    • 數據集–項目
    • 用戶名–項目

第四個三:

  • 對于ADOTable,設置屬性:
    • 連接– ADOConnection1;
    • 名稱–零件;
  • 對于數據源,設置屬性:
    • 數據集–零件
  • 對于frxDBDataSet,設置屬性:
    • 數據集–零件
    • 用戶名–零件

Customer和Items表與DataSource1(第一個表-Orders)有關系。這意味著它們通過密鑰(一對多關系)鏈接。許多訂單只能有一個客戶,等等。這是必要的,以便在報表中顯示特定訂單的信息時,將從與此訂單相關的鏈接表中提取數據。

讓我們在ADOTable中為Items表創建可計算字段,以簡化報表模板的進一步工作。雙擊該對象,然后看到一個帶有表字段的窗口。最初它是空的,但是您可以通過選擇添加字段來從上下文菜單中加載它們:

價格和說明字段將從零件表中獲取。在上下文菜單中選擇“新建字段”,然后添加“價格”字段:

以相同的方式添加產品描述(“描述”字段):

現在,一旦我們創建了數據源并配置了表之間的關系,就讓我們在表單中添加幾個按鈕:Design Report和ShowReport。第一個按鈕啟動報表設計器,第二個按鈕顯示報表。為每個按鈕添加一個單擊事件。這是顯示報表設計器的事件處理程序代碼:

frxReport1.DesignReport();

要打印完成的報告,可以將“打開文件”對話框添加到表單中以選擇在設計器中創建的報告。打印報告的代碼將如下所示:

OpenDialog1.Filter := 'FastReport VCL (*.fr3)|*.FR3';OpenDialog1.Execute();if Length(OpenDialog1.FileName)>0 thenbeginfrxReport1.LoadFromFile(OpenDialog1.FileName);frxReport1.PrepareReport();frxReport1.Print(); end

如果需要預覽報告,可以將“打印”功能替換為“報告”顯示:

frxReport1.ShowReport();

現在,可以運行該應用程序,單擊“設計報告”按鈕,然后繼續創建報告。現在該討論我們將要創建的報告。為了使文檔易于理解并避免客戶提出問題,您需要在文檔中填寫所有必要的信息。但是同時,不應該使文檔過載。讓我們嘗試保持這種微妙的平衡。因此,我們認為發票應包含以下信息:

此圖突出顯示了文檔的重要區域。

  • 有關賣方的信息。任何正式文件都應包含有關賣方的信息:姓名,地址,電話,電子郵件,其他信息(可選);
  • 有關買方聯系人的信息–必須指出實際負責付款的人;
  • 訂單和發票標識符,發票開具和到期日。這些標識符將有助于在數據庫中查找發票或訂單,以防客戶以后有任何疑問。
  • 有關訂單內容的信息。您的客戶必須了解他所支付的費用。必須指定貨物的名稱和數量,以及每單位的成本;
  • 總量。總金額不僅對于付款是必要的,而且對于理解計算也是必要的;
  • 付款詳情。由于這是付款發票,因此應包含收款人詳細信息;
  • 國外付款的銀行詳細信息。即使在這種情況下,客戶不是來自國外,也可以將這些數據保留為統一的格式。
  • 解釋性信息。如有疑問,提供聯系方式很重要。還應該警告延遲付款的后果。這將使客戶不耽誤它。
  • 我們將在已經啟動的報表設計器中創建這樣的文檔。首先,選擇報告數據集。

    我們在此報告中不需要“零件”表,因此無需選擇它。讓我們繼續創建模板。我們的報告中有兩個數據帶:MasterData和DetailData。在第一個數據段中,我們輸出有關客戶端的信息:

    • 名稱-Customer.Company
    • 地址-Customer.Addr1
    • 電話-客戶電話

    以及客戶的發票編號– Orders.OrderNo、發票日期-系統變量[日期]、到期付款–當前日期[日期] +天數。

    該范圍鏈接到“訂單”表。訂單的內容信息將顯示在下級數據帶中:產品名稱,數量,項目價格,指定數量的價格,某些國家/地區的價格中未包含的增值稅(示例所示),增值稅總額。增值稅金額,凈額,發票總額將顯示在頁腳中。付款細節也將顯示在此處。

    在頁面頁腳中添加一些說明性信息,以避免客戶提出一些問題:

    將報告保存在本地存儲中,然后關閉報告設計器。如果在按鈕代碼中使用了ShowReport(),則使用第二個按鈕選擇生成的報告并獲得“打印”對話框或預覽窗口。

    因此,我們創建了付款發票,并在半小時內將其顯示給用戶。現在,從報告預覽窗口中,我們可以將其發送以打印或導出為一種流行的電子文檔格式:PDF,DOCX,XLSX,RTF等。

    如果您有任何疑問或需求,請隨時加入FastReport技術交流群(783996712),我們很高興為您提供查詢和咨詢。

    總結

    以上是生活随笔為你收集整理的从Delphi应用程序创建发票,可视化报告生成器FastReport VCL轻松搞定的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。