示例:通过二开代码设置HTML5的输出打印机类型(例如:浏览器打印)
一、发布补丁信息
# 发放补丁:K3Cloud V7.6 (3号补丁)(PT-146867)
# 发布时间:2021年03月11日
# 设置指定打印机驱动
# 1、单个用户范围 { targetType: 'user', target: userId, specH5PrintDrv:'xxx' }; //在前端相当于全局
# 2、单个表单范围 { targetType: 'form', target: formId, specH5PrintDrv:'xxx' }; //指定FormId
# 3、单个表单实例范围 { targetType: 'page', target: pageId, specH5PrintDrv:'xxx' }; //写在具体单据对象中
# 4、优先级: page > form > user > common;
二、二开指引
1、实例1 - 多租户特殊租户配置时可以参考:
1.1、扩展BOS_HtmlConsole 表单,编写二开逻辑实现HTML5端的指定打印机类型 ;
1.2、新增python插件 py_specHTMLPrinter插件;
1.3、编写插件逻辑 - 指定全局用户的列表打印和单据套打都使用浏览器打印机
# 强制指定当前用户的打印机为浏览器打印机 from Kingdee.BOS.Core import * from Kingdee.BOS.JSON import * def AfterBindData(e): # 定制自己的逻辑条件,然后确定那些场景需要运行下面代码 args = JSONArray() #设置单据套打为KDHTMLPrinter arg = JSONObject() arg['targetType']='user' arg['target']= this.Context.UserId arg['printType']='note' arg['specH5PrintDrv']='KDHTMLPrinter' args.Add(arg) #设置列表打印为KDHTMLPrinter arg = JSONObject() arg['targetType']='user' arg['target']= this.Context.UserId arg['printType']='list' arg['specH5PrintDrv']='KDHTMLPrinter' args.Add(arg) this.View.AddAction('setH5PrintDrv', args)
2、实例2-特殊单据通过按钮动态设置打印机类型:
2.1、扩展PUR_PurchaseOrder表单,增加按钮FSETTING;
2.2、新增python插件 py_specHTMLPrinter插件;
2.3、编写插件逻辑 - 指定PUR_PurchaseOrder单据套打都使用浏览器打印机
from Kingdee.BOS.JSON import * def ButtonClick(e): if(e.Key=='FSETTING'): args = JSONArray() arg = JSONObject() arg['targetType']='form' arg['target']='PUR_PurchaseOrder' arg['printType']='note' arg['specH5PrintDrv']='KDHTMLPrinter' args.Add(arg) this.View.AddAction('setH5PrintDrv', args)
3、单租户或私有云简单配置
common静态配置参考: https://vip.kingdee.com/article/146280?productLineId=1 中的【SpecH5PrintDrv】参数
--------------------
2022-12-08 15:35
示例:通过二开代码设置HTML5的输出打印机类型(例如:浏览器打印)
本文2024-09-23 03:47:18发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-161106.html