自定义单据打印开发
- 建立UBF切换为开发模式
UBF是开发模式时,不用再切换
- 建立“分析项目”的解决方案或者直接基于已有解决方案,新建“分析项目”
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文件整理,在制作安装包时使用。
- 客开代码编写
单据打印事件写在WebPart生成的Action事件中:
private void PrintClick_Extend(object sender, UIActionEventArgs e)
{
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.DefaultPrintTemplateID = GetDefalutPrintTemplateID();//设置打印参照
settings.UserDataCallBack = new DataCallBackHandle(this.GetPrintData);
e.Tag = settings;
}
}
private void GetPrintData(object sender, DataCallBackEventArgs args)
{
args.ReturnData = GetPrintDataSet(sender, args);
}
private DataSet GetPrintDataSet(object sender, DataCallBackEventArgs args)
{
PrepareDataService prepareDataService = new PrepareDataService();
return prepareDataService.GetDataSet(this.CurrentModel.CustSO, this.CurrentModel.CustSO_CustSOLine, "CustSO");
}
private string GetDefalutPrintTemplateID()
{
string printTemplateID = "";
if (this.CurrentModel.CustSO.FocusedRecord != null
&& !string.IsNullOrEmpty(this.CurrentModel.CustSO.FocusedRecord.SODocType_PrintTemplate_TemplateID))
{
printTemplateID = this.CurrentModel.CustSO.FocusedRecord.SODocType_PrintTemplate_TemplateID;
}
return printTemplateID;
}
实体开发的打印模板,可以根据当前单据界面ID进行过滤显示数据,打开对应打印模板:
如果打印取值数据不来源实体或者有些复杂运算,则无法使用上述GetPrintDataSet获取数据,需要自己写sql语句返回dataset作为数据源,返回给打印模板,Dataset数据集中的Table列名需要和打印模板字段名对应
自定义单据打印开发
本文2024-08-20 16:23:34发表“u9cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/yonyou-u9cloud-1147.html