翻譯|使用教程|編輯:李顯亮|2020-07-02 10:43:51.800|閱讀 565 次
概述:如果想要實(shí)現(xiàn)商品周轉(zhuǎn)的會(huì)計(jì)信息系統(tǒng),則需要從該應(yīng)用程序生成一些文檔。這可以是報(bào)告,銷售和出納支票,發(fā)票。在本文中,將研究從創(chuàng)建應(yīng)用程序到報(bào)表顯示,打印發(fā)票的整個(gè)過(guò)程。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
報(bào)表生成器FastReport VCL是用于在軟件中集成商務(wù)智能的現(xiàn)代解決方案。它提供了可視化模板設(shè)計(jì)器,可以訪問(wèn)最受歡迎的數(shù)據(jù)源,報(bào)告引擎,預(yù)覽,將過(guò)濾器導(dǎo)出為30多種格式,并可以部署到云,Web,電子郵件和打印中。
近日,F(xiàn)astReport VCL更新至v6.7,在新版本中,添加了對(duì)最新版本IDE的支持,簡(jiǎn)化了用于付款標(biāo)準(zhǔn)的條形碼的創(chuàng)建,新增從預(yù)覽窗口直接編輯RichView的功能,同時(shí)修復(fù)了多個(gè)Bug問(wèn)題。歡迎下載體驗(yàn)。(點(diǎn)擊下方按鈕下載)
隨著C和.Net平臺(tái)的出現(xiàn),Delphi VCL的普及程度略有下降,但是世界各地有許多Delphi開發(fā)人員。許多應(yīng)用程序都是用VCL編寫的,需要進(jìn)行現(xiàn)代化。
如果想要實(shí)現(xiàn)商品周轉(zhuǎn)的會(huì)計(jì)信息系統(tǒng),則需要從該應(yīng)用程序生成一些文檔。這可以是報(bào)告,銷售和出納支票,發(fā)票。在本文中,將研究從創(chuàng)建應(yīng)用程序到報(bào)表顯示,打印發(fā)票的整個(gè)過(guò)程。
本教程將使用Delphi 7開發(fā)環(huán)境來(lái)創(chuàng)建應(yīng)用程序,并使用FastReport VCL報(bào)告生成器來(lái)創(chuàng)建報(bào)告。該應(yīng)用程序的工作歸結(jié)為將必要的組件添加到表單并進(jìn)行設(shè)置。
在組件面板上找到FastReport選項(xiàng)卡,然后將frxReport組件添加到表單中。我們還需要為報(bào)告創(chuàng)建數(shù)據(jù)源。例如,我們將使用FastReport VCL發(fā)行版中的demo.mdb數(shù)據(jù)庫(kù)。使用下表:訂單,客戶,物料,零件。將ADOConnection組件從組件面板的ADO選項(xiàng)卡拖放到窗體上。然后添加四個(gè)ADOTable組件。
在“數(shù)據(jù)訪問(wèn)”選項(xiàng)卡中,添加四個(gè)數(shù)據(jù)源組件。在FastReport選項(xiàng)卡中,添加四個(gè)frxDBDataSet組件。現(xiàn)在我們得到了:ADOTable,DataSource,frxDBDataSet,還需要將它們配置為三個(gè)。
第一個(gè)三:
第二個(gè)三:
第三個(gè)三:
第四個(gè)三:
Customer和Items表與DataSource1(第一個(gè)表-Orders)有關(guān)系。這意味著它們通過(guò)密鑰(一對(duì)多關(guān)系)鏈接。許多訂單只能有一個(gè)客戶,等等。這是必要的,以便在報(bào)表中顯示特定訂單的信息時(shí),將從與此訂單相關(guān)的鏈接表中提取數(shù)據(jù)。
讓我們?cè)贏DOTable中為Items表創(chuàng)建可計(jì)算字段,以簡(jiǎn)化報(bào)表模板的進(jìn)一步工作。雙擊該對(duì)象,然后看到一個(gè)帶有表字段的窗口。最初它是空的,但是您可以通過(guò)選擇添加字段來(lái)從上下文菜單中加載它們:
價(jià)格和說(shuō)明字段將從零件表中獲取。在上下文菜單中選擇“新建字段”,然后添加“價(jià)格”字段:
以相同的方式添加產(chǎn)品描述(“描述”字段):
現(xiàn)在,一旦我們創(chuàng)建了數(shù)據(jù)源并配置了表之間的關(guān)系,就讓我們?cè)诒韱沃刑砑訋讉€(gè)按鈕:Design Report和ShowReport。第一個(gè)按鈕啟動(dòng)報(bào)表設(shè)計(jì)器,第二個(gè)按鈕顯示報(bào)表。為每個(gè)按鈕添加一個(gè)單擊事件。這是顯示報(bào)表設(shè)計(jì)器的事件處理程序代碼:
frxReport1.DesignReport();
要打印完成的報(bào)告,可以將“打開文件”對(duì)話框添加到表單中以選擇在設(shè)計(jì)器中創(chuàng)建的報(bào)告。打印報(bào)告的代碼將如下所示:
OpenDialog1.Filter := 'FastReport VCL (*.fr3)|*.FR3'; OpenDialog1.Execute(); if Length(OpenDialog1.FileName)>0 then begin frxReport1.LoadFromFile(OpenDialog1.FileName); frxReport1.PrepareReport(); frxReport1.Print(); end
如果需要預(yù)覽報(bào)告,可以將“打印”功能替換為“報(bào)告”顯示:
frxReport1.ShowReport();
現(xiàn)在,可以運(yùn)行該應(yīng)用程序,單擊“設(shè)計(jì)報(bào)告”按鈕,然后繼續(xù)創(chuàng)建報(bào)告。現(xiàn)在該討論我們將要?jiǎng)?chuàng)建的報(bào)告。為了使文檔易于理解并避免客戶提出問(wèn)題,您需要在文檔中填寫所有必要的信息。但是同時(shí),不應(yīng)該使文檔過(guò)載。讓我們嘗試保持這種微妙的平衡。因此,我們認(rèn)為發(fā)票應(yīng)包含以下信息:
此圖突出顯示了文檔的重要區(qū)域。
我們將在已經(jīng)啟動(dòng)的報(bào)表設(shè)計(jì)器中創(chuàng)建這樣的文檔。首先,選擇報(bào)告數(shù)據(jù)集。
我們?cè)诖藞?bào)告中不需要“零件”表,因此無(wú)需選擇它。讓我們繼續(xù)創(chuàng)建模板。我們的報(bào)告中有兩個(gè)數(shù)據(jù)帶:MasterData和DetailData。在第一個(gè)數(shù)據(jù)段中,我們輸出有關(guān)客戶端的信息:
以及客戶的發(fā)票編號(hào)– Orders.OrderNo、發(fā)票日期-系統(tǒng)變量[日期]、到期付款–當(dāng)前日期[日期] +天數(shù)。
該范圍鏈接到“訂單”表。訂單的內(nèi)容信息將顯示在下級(jí)數(shù)據(jù)帶中:產(chǎn)品名稱,數(shù)量,項(xiàng)目價(jià)格,指定數(shù)量的價(jià)格,某些國(guó)家/地區(qū)的價(jià)格中未包含的增值稅(示例所示),增值稅總額。增值稅金額,凈額,發(fā)票總額將顯示在頁(yè)腳中。付款細(xì)節(jié)也將顯示在此處。
在頁(yè)面頁(yè)腳中添加一些說(shuō)明性信息,以避免客戶提出一些問(wèn)題:
將報(bào)告保存在本地存儲(chǔ)中,然后關(guān)閉報(bào)告設(shè)計(jì)器。如果在按鈕代碼中使用了ShowReport(),則使用第二個(gè)按鈕選擇生成的報(bào)告并獲得“打印”對(duì)話框或預(yù)覽窗口。
因此,我們創(chuàng)建了付款發(fā)票,并在半小時(shí)內(nèi)將其顯示給用戶。現(xiàn)在,從報(bào)告預(yù)覽窗口中,我們可以將其發(fā)送以打印或?qū)С鰹橐环N流行的電子文檔格式:PDF,DOCX,XLSX,RTF等。
還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport 報(bào)表2020最新資源盤點(diǎn)】,查找需要的教程資源。如果您有任何疑問(wèn)或需求,請(qǐng)隨時(shí)加入FastReport技術(shù)交流群(783996712),我們很高興為您提供查詢和咨詢。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn