6月27日京東商城發(fā)布了中國電子商務(wù)領(lǐng)域首張電子發(fā)票,同時宣布相關(guān)系統(tǒng)正式上線,這標志著中國電子商務(wù)的步伐又向前邁出了重要的一步。目前“電子發(fā)票”覆蓋的服務(wù)范圍是在北京地區(qū)購買圖書、音像商品的個人消費者。消費者在進行指定品類網(wǎng)上消費時可選擇開具普通紙質(zhì)發(fā)票或電子發(fā)票。本文將揭秘如何通過 ActiveReports 報表實現(xiàn)電子發(fā)票的功能。
在使用 ActiveReports 報表控件實現(xiàn)發(fā)票打印、發(fā)貨單打印、物流清單打印、商品條碼印刷、員工工卡印刷之類的功能時,您只需在設(shè)計報表階段加載套打紙作為報表背景圖片,實際打印時僅將數(shù)據(jù)打印到套打紙的相應(yīng)位置。
1、創(chuàng)建報表文件
創(chuàng)建報表,添加背景圖片,并根據(jù)打印參數(shù)來顯示或者隱藏背景圖片
在工程中添加ActiveReports報表,報表模板選擇【ActiveReports 7頁面報表】,命名為rptInvoice.rdlx
報表添加完成之后,在報表資源管理器中的【嵌入式圖像】節(jié)點中添加增值稅發(fā)票背景圖片
從VS工具箱中將 Image 控件添加到報表設(shè)計界面,并設(shè)置 Image 控件的值,如下所示:
添加完背景圖片之后,我們在相應(yīng)文字添加 TextBox 控件用于顯示數(shù)據(jù),最終得到的設(shè)計效果如下:
2、自定義 WebViewer 控件
自定義 WebViewer 控件,在工具欄中添加【套打】按鈕,當(dāng)用戶點擊【套打】時運行報表(不顯示背景圖)并打印
在工程的ASPX頁面中添加兩個 WebViewer 控件,一個用于報表預(yù)覽,一個用于報表打印. 添加完成之后設(shè)置兩個WebViewer控件的ViewerType為FlashViewer,
并設(shè)置FlashViewerOptions中的UseClientApi為True.
在頁面中添加以下 JavaScript ,用于報表的打印操作:
<script language="javascript" type="text/javascript">
var viewer, viewerforprint;
var pages;
window.onload = function () {
GrapeCity.ActiveReports.Viewer.OnLoad("<%=WebViewer1.ClientID %>", function () {
viewer = GrapeCity.ActiveReports.Viewer.Attach("<%=WebViewer1.ClientID %>");
viewer.setEventsHandler({
OnToolClick: function (e) {
if (e.Tool == "套打") {
printreport();
return false;
}
},
OnLoadProgress: function (e) {
if (e.State == "Completed") {
pages = e.PageCount;
}
}
});
});
GrapeCity.ActiveReports.Viewer.OnLoad("<%=WebViewer2.ClientID %>", function () {
viewerforprint = GrapeCity.ActiveReports.Viewer.Attach("<%=WebViewer2.ClientID %>");
});
}
function printreport() {
var orient = "None";
var scale = "None";
var from = 1;
var to = pages;
var ops = viewerforprint.CreatePrintOptions();
ops.AdjustPaperOrientation = orient;
ops.ScalePages = scale;
ops.ClearPageRanges();
ops.AddPageRange(from, to);
viewerforprint.Print(ops);
}
</script>
切換到ASPX后臺代碼視圖, 添加以下代碼在 WebViewer 工具欄中添加[套打]按鈕:
private void CustomizeToolbar()
{
// 隱藏打印范圍按鈕
ToolBase btnRang = WebViewer1.FlashViewerToolBar.Tools["PageRangeButton"];
btnRang.Visible = false;
// 隱藏打印按鈕
ToolBase btnPrint = WebViewer1.FlashViewerToolBar.Tools["PrintButton"];
btnRang.Visible = false;
ToolButton btnCPrint = Tool.CreateButton("套打");
btnCPrint.Caption = "套打";
btnCPrint.ToolTip = "套打";
WebViewer1.FlashViewerToolBar.Tools.Insert(0, btnCPrint);
}
3、運行程序
在線演示及源碼下載地址:
http://www.gcpowertools.com.cn/products/activereports_demo.htm
ActiveReports 報表應(yīng)用教程 (5)---解密電子商務(wù)領(lǐng)域首張電子發(fā)票的誕生(套打報表)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
