单据打印1、 建立 UBF 切换为开发模式UBF 是开发模式时,不用再切换2、 建立“分析项目”的解决方案3、建立打印模板(报表)3.1、设置数据源3.2、设置数据查询3.3、设置根实体对象3.4、选择实体属性数据要打印的字段,双击实体属体即可选择到底部的表格中。3.5、设置模板布局8.1 将左边“字段”信息拖放到报表的表头区域;并可设置对齐方式、等高宽、水平垂直等距离、水平垂直排列。8.2 将“报表控件”的“表”控件拖到报表的表体区域,再将字段拖到表的表体行中。8.3 对于要汇总的字段,将字段的表体行属性设置为“Number 或”类型、设置“格式”;将字段的表尾行属性设置为“Number”类型、设置“格式”,设置“文本”。8.4 选择表后,点击表中某单元,最后点击表的左上角,对报表明细表进行设置。8.5 表头表尾设置背景色信息。4、发布打印模型(报表)4.1 打印预览4.2 建立打印分类目录实体 Key 命名要为实体全名以保证唯一。4.3 创建打印模型容器选择空白行,右击“新建”可以建立多个打印模型容器;4.4 发布打印模型5、建立打印参照5.1 创建打印参照右击“打印分类目录”,点击“创建打印参照”右击打印模版记录,点击“创建打印参照”创建打印参照。5.2 生成 SQL 脚本将生成的 SQL 脚本文件整理,在制作安装包时使用。6、导出打印模型(报表)将生成的 XML 文件整理,在制作安装包时使用。7、客开代码编写单据打印事件写在 WebPart 生成的 Action 事件中: CustSORecord record = this.CurrentModel.CustSO.FocusedRecord; IExportSettings settings = UFIDA.U9.UI.PDHelper.PDPrintHelper.GetExportSettings(record); if (settings != null) { settings.PrintTemplateCatalogType = "UFIDA.U9.Cust.Demo.CustSO"; settings.UserDataCallBack = new DataCallBackHandle(this.GetPrintData); e.Tag = settings; }//获取界面数据 private DataSet GetPrintDataSet(object sender, DataCallBackEventArgs args) { PrepareDataService prepareDataService = new PrepareDataService(); return prepareDataService.GetDataSet(this.CurrentModel.CustSO, this.CurrentModel.CustSO_CustSOLine, "CustSO"); }实体开发的打印模板,可以根据当前单据界面 ID 进行过滤显示数据,打开对应打印模板:如果打印取值数据不来源实体或者有些复杂运算,则无法使用上述 GetPrintDataSet 获取数据,需要自己写 sql 语句返回 dataset 作为数据源,返回给打印模板,Dataset 数据集中的Table 列名需要和打印模板字段名对应