单据体快速录入解决方案

最低版本要求:
已经在2019年1月24日之后的补丁中已包含此方案功能,建议打最新补丁
应用场景:
1、日常操作单据体录入中,习惯先批量录入物料编码,然后再补充录入数量信息(键盘向下键进行快速录入数量等)。
2、在操作数量依次向下录入的过程中,录入过快时,常会出现数字丢失现象。
原因分析:
向下键会触发行切换EntryRowClick事件至服务端,由于该事件在大多业务单据中,平台以及二开的一些列业务逻辑比较复杂,又加上某些网络延时的原因造成该次事件发送的请求响应时间稍长,以此同时,用户已经开始快速的敲键盘进行开始录入数字内容,由于事件请求时间过长后返回表格数据时,表格会进行刷新数据,这时会出现正在编辑的单元格失去焦点,偶发键盘录入数字丢失,或者已经快速录完的数字,被服务端后返回的值被覆盖等现象。
解决方案:
基于以上分析,列快速录入模式方案,是采用本地脱机的原理进行,也即当列开启快速录入模式时,向上/向下切换行录入时,不发任何事件至服务端,进行请求操作,当关闭快速录入模式时,会一次性将已经录入完的数字单元格一并批量提交给服务端进行服务端进行数值更新(发送CustomEvent事件,可用http数据监控进行查看数据提交过程)。
二开python插件实例:
import clr;
clr.AddReference('System')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from Kingdee.BOS.Core.Metadata.FieldElement import *
from System import *
def AfterBindData(e):
colkeys = ('FQty'.upper(),'FText'.upper());#如果是一个,写法是('FQty'.upper(),);
this.View.GetControl("FEntity").SetQuickInputColKeys(colkeys);操作:
登录客户端,点击单据体或者录入过程,按Ctrl+K快捷键调用此功能,对应的列列头会显示为红色,鼠标移至列头时,会提示“正在快速录入模式”的tooltip提示。效果图如下:

特别说明:
1、此方案功能只适
单据体快速录入解决方案
最低版本要求:已经在2019年1月24日之后的补丁中已包含此方案功能,建议打最新补丁应用场景:1、日常操作单据体录入中,习惯先批量录入物料...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



