MyReport实践:为ERP系统添加打印功能

准备阶段

首先准备2个html页面分别集成myreport的预览和设计功能,作为预览页面和打印编辑页面。

集成方式参考:Js与flash交互:在html页面中用js与MyReport插件交互

打印相关API

加载数据和格式

页面初始化时,获取浏览器地址栏参数,然后加载配置文件,加载单据的数据和打印格式,调用OrderAPI.LoadPrintData方法。

private var _Params:UrlParams;

private function Init():void

{

//…

_Params = new UrlParams(url);

if(!_Params.HasParam("uid"))

{

hlib.MsgUtil.ShowInfo("URL缺少uid参数!");

return;

}

if(!_Params.HasParam("mid"))

{

hlib.MsgUtil.ShowInfo("URL缺少mid参数!");

return;

}

if(!_Params.HasParam("action"))

{

hlib.MsgUtil.ShowInfo("URL缺少action参数!");

return;

}

if(!_Params.HasParam("code"))

{

hlib.MsgUtil.ShowInfo("URL缺少code参数!");

return;

}

var configLoader:UrlLoader = new UrlLoader();

configLoader.DisposeAfterLoad = true;

configLoader.addEventListener(Event.COMPLETE, OnConfigLoadComplete);

configLoader.Load("Config.xml");

}

private function OnConfigLoadComplete(e:Event):void

{

var configLoader:UrlLoader = e.currentTargetas UrlLoader;

var settings:XML = XML(configLoader.Data);

common.net.APIUtil.Server = settings.ERPServicePath;

if(!APIUtil.Server)

{

MsgUtil.ShowInfo("Config.xml缺少配置ERPServicePath!");

}

OrderAPI.LoadPrintData(_Params.GetParam("mid"),_Params.GetParam("action"),

_Params.GetParam("uid"),_Params.GetParam("code"),

function(item:Object):void

{

var style:XML = null;

if(item.PRINT_STYLE)

style = new XML(item.PRINT_STYLE);

delete item.PRINT_STYLE;

var detail:Object = item.detail;

delete item.detail;

_Preview.Load(style,detail, item);//MyReport控件加载数据

});

}

打印完成通知

监控MyReport控件的打印完成事件MyReportEvent.PRINT,向后台发送打印完成通知,调用OrderAPI.ReportPrintCompleted方法

private function OnMyReportEvent(e:MyReportEvent):void

{

if(e.type == MyReportEvent.PRINT)

{

OrderAPI.ReportPrintCompleted(_Params.GetParam("mid"),_Params.GetParam("action"),

_Params.GetParam("uid"),_Params.GetParam("code"), new Date(), "", function(value:int):void

{

if(_Preview.ParameterData)

_Preview.ParameterData.PRINT_COUNT = value;

});

}

}

保存打印格式

监听MyReport设计控件的保存事件DesignEvent.SAVE,向后台保存打印格式,调用OrderAPI.SavePrintStyle方法。

private function OnDesignEvent(e:DesignEvent):void

{

if(e.type == DesignEvent.SAVE)

{

var content:String = _Design.GetSettingXML();

OrderAPI.SavePrintStyle(_Params.GetParam("mid"),_Params.GetParam("action"),

_Params.GetParam("uid"),content,

function(success:Boolean):void

{

hui.tooltip.ToolTipUtil.ShowToolTip("保存");

});

}

}

页面与后台服务器的接口交互

集成效果

在单据模块的工具栏增加打印相关按钮:打印、格式编辑、打印详情。

点击【打印】按钮,在新页面显示打印预览。

点击【格式编辑】,在新页面显示打印编辑。

点击【打印详情】,弹出窗体显示打印详情列表。

相关链接

MyReport演示、产品网站

相关文章

MyReport专栏

时间: 2024-08-26 12:04:46

MyReport实践:为ERP系统添加打印功能的相关文章

全面详细介绍一个P2P网贷领域的ERP系统的主要功能

一般的P2P系统,至少包括PC网站的前端和后端.前端系统的功能,可以参考"P2P系统哪家强,功能其实都一样" http://blog.csdn.net/fansunion/article/details/46817473.后端系统,之前我都把它看作是一个普通的"Web管理系统". 后来接触到北京专门做"类金融"系统的公司,他们的P2P后端,号称"ERP". 就整体功能而言,很不错,支持4种业务模式.可以参考"P2P网

解析大型.NET ERP系统 数据审计功能

数据审计,英语表达是Audit,是追踪数据变化的过程,记录数据变化前后的值,供参考分析.通过设置,ERP可以追踪一个表的所有字段的变化,也可以只记录指定的字段的值变化.欧美企业每年都有独立的审计部门,从总经理到下层部门员工,逐个审查过去发生的经济业务的帐面数据与实际是否一致.ERP中的审计功能,通常会记录下一个表字段的值的变化.ERP系统通过LLBL Gen Pro ORM框架做数据访问层,先了解ORM提供的数据审计功能. 审计功能的两个重要部分:记录的变化以及导致变化的动作,持久化变化的数据.

全面具体介绍一个P2P网贷领域的ERP系统的主要功能

一般的P2P系统,至少包含PC站点的前端和后端.前端系统的功能.能够參考"P2P系统哪家强,功能事实上都一样" http://blog.csdn.net/fansunion/article/details/46817473.后端系统.之前我都把它看作是一个普通的"Web管理系统". 后来接触到北京专门做"类金融"系统的公司,他们的P2P后端,号称"ERP". 就总体功能而言,非常不错.支持4种业务模式.能够參考"P2

解析大型.NET ERP系统 单据编码功能实现

单据编码是ERP系统中必备的功能,用于生成各种单据的流水号,常常借助于日期时间等字符来生成一个唯一的单据号码.从软件的角度来说,就是为生成数据表的主键值(参考编号),从用户的角度来说,就是给业务单据制定编码规范.之后做到见名知意,比如销售订单号是SO201508190001,采购订单号码是PO201508190001. 1 基础单据编码 Document serialization basic 单据编码主表,用于存放单据及其编码规则. CREATE TABLE [dbo].[DocumentSe

【技巧】如何选择生产行业ERP系统?主要功能是什么?

不知道从什么时候开始,大数据.商业智能开始成为热词,几乎所有的互联网行业都在有意跟这两个词扯上关系,同时,几乎所有的企业也都跟大数据.商业智能扯上了关系,尤其以生产行业为甚,都纷纷用上了能够实现大数据.商业智能的生产行业ERP系统. 其实一切都是有原因的,现下,科技发展迅速,很多企业面临着转型,对于不少的生产制造型实体企业来说,更是如此:这类企业想要转型,除了要在技术上实现突破,达到高效率.低消耗外,在企业整体资源把控和管理上,更是需要一个大的突破,来帮助企业在战略层面上,实现规范.统筹化管理,

JavaScript在表单页面添加打印功能,打印表单中的值并打印完成后不刷新页面

在一个项目中,有一个功能需求 在一个页面上,有一个表单,表单包括textbox, radiobutton, checkbox, textarea等控件 用户填写表单后,按下submit按钮提交表单 现在用户有个需求,他们希望在这个页面上增加一个print按钮或者链接 点击print时,可以打印 最简单的想法就是,加上一个print的链接,然后调用javascript中的window.print()能打印 我最初是这样写代码的 在网页上增加一个print的链接 <a href="javasc

解析大型.NET ERP系统 十三种界面设计模式

成熟的ERP系统的界面应该都是从模板中拷贝出来的,各类功能的界面有规律可遵循.软件界面设计模式化或是艺术性的创作,我认可前者,模式化的界面客户容易举一反三,降低学习门槛.除了一些小部分的功能界面设计特殊一些,ERP绝大部分的功能的界面都相似.以我接触和设计的ERP系统,总结常见的界面设计模式,供读者参考. 模式1 单据 Entry 常用于各种单据的输入界面,也可用于主文件/主档(客户,供应商,部门等)界面,参考下面的图片. 我在图中作了标识,A区是工具条按钮,所有的界面共享工具条按钮,接着是数据

C# 在PDF页面添加打印按钮

简述 在文档中设置按钮给我们提供了一种快速操作文档的方式,简洁省事,应用于程序中能够有效的提升客户满意度.在前一篇文章中讲述了如何在PDF文档中设置页面的跳转按钮,包括跳转至指定页,包括首页.下一页.上一页.最后一页,同时也可以自定义跳转页.本篇文章将介绍如何在PDF文档页面中添加打印按钮. 使用工具 Spire.PDF for .NET 版本 4.0注:安装该类库后,注意在项目程序中添加引用Spire.Pdf.dll.dll文件可以在安装路径下的Bin文件夹中获取. 代码示例(供参考)步骤 1

erp系统为什么要选稳定性强的?看完你就明白了

随着社会生产力的发展,企业对信息化管理需求也迅速增强,如此形势之下,纷纷开启了寻求erp管理系统的旅程,面对市场上大量涌现的ERP软件,企业该如何选择呢?下面小编就为大家分享一些选择ERP系统的建议和方法,希望对大家能有所帮助.选择ERP管理系统需考虑三大要素: 一.首先要立足自身业务,随着行业的不断细分,涉及到的业务模块越来越繁杂.这时候就要对自己公司的业务有清晰的认知,公司开展的业务复杂度如何,是否和ERP系统高度匹配.如果融合度低的话,是否可以通过扩展ERP业务模块来对公司业务进行具体实现