MES开发与应用 课件 3.5.10-11 工业管理软件开发基础-命令的使用-单据和标签打印_第1页
MES开发与应用 课件 3.5.10-11 工业管理软件开发基础-命令的使用-单据和标签打印_第2页
MES开发与应用 课件 3.5.10-11 工业管理软件开发基础-命令的使用-单据和标签打印_第3页
MES开发与应用 课件 3.5.10-11 工业管理软件开发基础-命令的使用-单据和标签打印_第4页
MES开发与应用 课件 3.5.10-11 工业管理软件开发基础-命令的使用-单据和标签打印_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.5命令的使用深圳市信息职业技术学院——单据和标签打印目

录平台打印模板设置介绍01单据打印开发示例02标签打印开发示例03单据和标签打印注意事项04知识回顾平台导入命令使用通用说明;导入命令框架实现介绍;导入命令开发示例-使用框架导入模板;导入命令开发示例-自定义导入模板学习目标通过本节学习可以:掌握单据和标签打印的模板配置;掌握单据打印的开发实现;掌握标签打印的开发实现;了解单据和标签打印的注意事项。01平台打印模板设置介绍平台打印模板设置介绍平台打印模板设置介绍单据和标签打印的模板是在平台功能“模板设置”中进行配置维护的。平台打印模板设置介绍平台打印模板设置介绍“添加标签模板”按钮介绍。平台打印模板设置介绍平台打印模板设置介绍“添加单据模板”按钮介绍。平台打印模板设置介绍平台打印模板设置介绍模板设计。平台打印模板设置介绍平台打印模板设置介绍单据和标签打印模板的区别:只模板的数据源存在差异。标签打印的数据源只加载自己实体部分的数据源,单据打印的数据源会加载自己和对应子属性的数据源及关系会一起加上生成出来。平台打印模板设置介绍模板页面设计创建新单据及标签模板,绑定对应的实体,输入对应的模板名称,确认后会生成空白的打印模板,包含上边距(TopMargin1),明细(Detail1),下边距(BottomMargin1)。平台打印模板设置介绍模板页面设计根据实际的模板首先设置报表report的大小和合适的上下左右边距,确保实际打印不会超出纸张大小,一般设置报表report的测量单位为0.1毫米,纸张大小为自定义(标准纸张可根据现有规格选择)。注意:纸张类型不为自定义时,页面宽度及页面高度不可编辑;标签模板需要设置Detail1的高度与Report的高度一致,确保标签正常打印平台打印模板设置介绍模板页面设计模板界面大概分布及大小设置。不分页设置,勾选之后模板预览不再分页,一页展示全部内容,但如果数据量过大会导致页面崩溃,仅适用于数据比较少的页面展示。平台打印模板设置介绍模板页面设计明细区域设置,用于显示明细数据,只有做了以下的设置才能显示一主表多明细格式的数据(适用于单据打印,标签打印无明细信息)。平台打印模板设置介绍模板页面设计了解对应的控件和页面设置,包含控件的用途和对应设置起到的作用。控件页面设置数据源报表结构02单据打印开发示例思考题图书分类中添加打印命令,要求同一笔主数据能显示多笔子数据,报表数据源的业务字段中文显示,如何实现?单据打印开发示例开发步骤在服务端工程,图书分类文件夹中新建一个类,以BillPrintable结尾,继承BillPrintable,关联的实体类为图书大类的实体;给打印类标记特性DisplayName,DisplayName的名称不要重名。单据打印开发示例开发步骤运行项目,在模板设置功能中,点击“添加单据模板”,弹出对话框的名称中会多一个“图书分类单据打印”的选择,录入对应的信息添加“图书分类单据打印”模板。单据打印开发示例开发步骤点击确定按钮,进入到“图书分类单据打印”设计界面。单据打印开发示例开发步骤切换到数据源部分,业务字段默认显示为实体的属性名,并未按要求显示为中文。单据打印开发示例开发步骤题目中要求数据源业务字段为中文显示,默认的不满足要求,我们需要重写处理数据源,在单据打印类中重写获取属性GetPropertys和数据转换ConverterData的方法。单据打印开发示例开发步骤获取属性GetPropertys方法的实现。单据打印开发示例开发步骤数据转换ConverterData方法的实现。单据打印开发示例开发步骤运行项目,进行单据打印模板设计,选择图书分类的这笔数据,点击“设计”按钮,进入设计界面。单据打印开发示例开发步骤因为更改了数据源,数据源需要重新构建。单据打印开发示例开发步骤运行查询生成器。单据打印开发示例开发步骤更新图书大类大类的数据源,按下图步骤操作完成后,点击“确定”按钮。单据打印开发示例开发步骤同样的操作更新图书小类数据源,更新完成后效果如下。单据打印开发示例开发步骤设计模板如下,样式部分未进行调整。单据打印开发示例开发步骤设计完成后,保存模板,并将模板设置为“可用”。单据打印开发示例开发步骤在图书大类实体中标记BillPrintable特性,关联单据打印类。单据打印开发示例开发步骤运行项目,在图书分类功能中会显示一个“打印”按钮。单据打印开发示例开发步骤选择一笔数据,点击“打印”按钮,查看效果。思考题单据打印从表要显示多笔数据,设计模板时数据源应该如何处理?03标签打印开发示例思考题读者管理中添加标签打印命令,要求标签模板的数据源属性中文显示,如何实现?标签打印开发示例开发步骤在服务端工程,读者管理文件夹中新建一个类,以LabelPrintable结尾,继承LabelPrintable,关联的实体类为读者管理的实体;给标签打印类标记特性DisplayName,DisplayName的名称不要重名。标签打印开发示例开发步骤重写获取属性的方法GetPropertys,实现如下。标签打印开发示例开发步骤重写数据转换的方法ConverterData,实现如下。标签打印开发示例开发步骤运行项目,在模板设置功能中,点击“添加标签模板”,弹出对话框的名称中会多一个“读者管理标签打印”的选择。标签打印开发示例开发步骤配置标签打印的模板。标签打印开发示例开发步骤标签打印按钮框架未进行封装,命令需要自定义实现,在客户端的读者管理文件夹中添加标签打印的命令。标签打印开发示例开发步骤标签打印命令前端实现。SIE.defineCommand('SIE.Web.LibMan.ReaderMans.Commands.ReaderManLabelPrintCommand',{meta:{text:"标签打印",group:"edit",iconCls:"icon-PrintDataicon-blue"},canExecute:function(view){

returnview.hasSelectedEntities();

},execute:function(view,source){

varme=this;view.execute({data:view.getSelectionIds(),success:function(res){

varparam={content:res.Result};CRT.Workbench.showPageDialog({id:'Label_rpt',text:"标签打印".t(),url:'/Modules/PrintTemplate/DevPrint',params:param,method:'POST'

});

}

});

}});存在选择的数据则按钮允许执行,可根据实际业务重写向后端请求数据调用框架的打印方法,这部分代码可共用标签打印开发示例开发步骤标签打印命令后端实现。

public

class

ReaderManLabelPrintCommand:ViewCommand

{

protected

override

objectExcute(ViewArgsargs,stringscope)

{List<double>ids=args.Data.ToJsonObject<List<double>>();

//1.获取打印模板

vartemplate=RT.Service.Resolve<ReaderManController>().GetReaderManPrintTemplate();

if(template==null)

throw

newValidationException("读者管理未维护标签模板或者是维护了标签模板但是未启用,请维护并启用后再进行打印操作!".L10N());

//2.根据类型获取报表处理对像

varreport=ReportFactory.Current.GetReportByExtension(template.Type);

//3.获取打印数据

varprintData=RT.Service.Resolve<ReaderManController>().GetReaderManData(ids);

//4.创建实体打印对像如果清楚实体打印对像自己NEW一个出来也行

varprintable=newReaderManLabelPrintable();

//5.调用打印处理函数返回打印模板BASE64字符串到前台,用于传输到打印预览页面

returnreport.PrintProcess(printable,template.Id,template.Content,()=>

{

returnprintData;

});

}

}获取打印模板,业务需求不同,实际实现会存在差异获取要打印的数据,实际业务不通,实现会存在差异这里的模板,与获取打印模板中的模板要一致返回前端的数据标签打印开发示例开发步骤GetReaderManPrintTemplate与GetReaderManData方法的实现。

///

<summary>

///获取读者管理标签模板

///

</summary>

///

<returns>返回打印模板</returns>

public

virtualPrintTemplateGetReaderManPrintTemplate()

{

vartemp=RT.Service.Resolve<PrintsController>().GetPrintTemplates(typeof(ReaderManLabelPrintable).GetQualifiedName(),true).FirstOrDefault();

returntemp;

}

///

<summary>

///根据id获取读者管理信息

///

</summary>

///

<param

name="ids">ids</param>

///

<returns>读者管理集合</returns>

public

virtualEntityList<ReaderMan>GetReaderManData(List<double>ids)

{

varreaderMans=Query<ReaderMan>().Where(p=>ids.Contains(p.Id)).ToList();

returnreaderMans;

}标签打印开发示例开发步骤在读者管理界面使用标签打印的命令。标签打印开发示例开发步骤运行项目,在读者管理功能中会多一个“标签打印”按钮。标签打印开发示例开发步骤将模板设置中的模板设置为可用,点击读者管理的标签打印按钮,效果如下。04单据和标签打印注意事项思考题做导入功能时,下载的模板是提前配置好的,点击导入时,也需要做数据的关联校验,该如何实现?单据和标签打印注意事项模板设置依赖于dev的控件、报表设计器和打印,做打印的时候需要将相关dll程序集依赖到调试工程。注意事项单据和标签打印注意事项模板设置的模板是保存到对应服务器的,需要配置附件相关信息。注意事项单据和标签打印注意事项关联的实体对应的数据源满足要求,则不需要重写GetPropertys和ConverterData方法。如果重写了GetPropertys和ConverterData方法,则GetPropertys的属性和ConverterData的数据处理是一对一的。打印模板的DisplayName特性是唯一的,可根据具体功能区分。模板中的数据源是读取缓存的,如果模板已经设置好后,再更改数据源和数据,需要重新构建,或者是删除再新建模板。报表设计器的属性如果是显示为英文,是缺少语言包。注意事项单据和标签打印注意事项不管是标签还是单据打印,一定要判空处理。在数据转换方法ConverterData中,尽量少去查数据库进行操作,否则会影响性能。如何选

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论