电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

泉州xx前端平台支持方案备忘

来源:金蝶云社区作者:金蝶2024-09-235

泉州xx前端平台支持方案备忘

上次编辑于2019年8月27日 17:30:59


泉州xx前端平台支持方案备忘:

(已在2019-01-24发布正式7.3第一个补丁 PT131268 中包含以下所有内容)
已发基于2018-10-26 PT128132 的临时补丁  【TempPatch_V7_BOS.7.0.553.5.kdpkg】  ,ClientVersion【7.2.983.9】 )

一、录入焦点跳转问题】方案:通过为单据体增加【指定焦点跳转模式】功能来实现具体某个单据的录入跳转的流畅体验(需要简单的插件二开Python即可)
--二开方法指引,  【表单业务插件】 : 
from Kingdee.BOS.JSON import *
def AfterBindData(e):
    #切换表格录入光标导航为服务端指定字段模式
    navCellOpts = JSONObject()
    #设置回车跳转模式为指定字段模式【specfields】
    #参数fields:导航字段列表,格式: 字段1,字段2,字段3,字段4,...,字段n

    navCellOpts["mode"] = "specfields"  

    #【 clientAuto】模式下,不需要指定字段,会在可编辑列之间自动跳转(动态锁定的除外)

    #设置字段的跳转顺序,如果字段在界面上不可见,就不要设置上去。否则会把光标跳没了。
    navCellOpts["fields"] = "FMATERIALID,FUNITID,FQTY,FPURNUMBER,FPRICEUNITID,FPRICEUNITQTY" 
    #设置是否为强制由服务器控制
    navCellOpts["isServerControl"] = False
    #在客户端跳转情况下(isServerControl=False才有效),个别字段可以设置为强制由服务器控制,如果全部无需服务端控制就不用设置
    #navCellOpts["ctrlBySvrFields"] = "FMATERIALID,FQTY,FPRICEUNITQTY"
    #参数autoChangeRow:自动跳下一行

    navCellOpts["autoChangeRow"] = True   
    #客户端跳转延迟ms数(isServerControl=False才有效)    
    navCellOpts["clientDelay"] =100
    #写入单据体参数
    this.View.GetControl("FPOOrderEntry").InvokeControlMethod("SpecNextFields", navCellOpts)
    #过于频繁的无必要事件要关闭,否则影响界面效率
    this.View.GetControl("FPOOrderEntry").SetCustomPropertyValue("FireCellSelectChangeEvent", False)

def CustomEvents(e):
    #通知客户端可以跳下个字段了 e.Key必须全大写
    if(e.Key=="FPOOrderEntry" and e.EventName=="Kingdee.BOS.Grid.SpecNavTo"):

        this.View.GetControl("FPOOrderEntry").InvokeControlMethod("SpecToNextField", None)

解决问题说明】原来的单据体回车跳转模式和人工指定字段回车跳转模式:
1、原来的跳转是不等服务端操作的响应,这时如果直接跳转会导致录入数据被比较慢的服务器返回数据覆盖,或者要跳转字段被更新或锁定,导致基础资料要敲两次回车;
2、现在这种人工指定模式是一定要等服务器返回才跳转,这样就不会有录入数据被服务器覆盖的风险,也不会存在需要敲两次回车的问题;
人工指定模式:录入[物料]-》回车-》服务的返回该行数据包括[数量]初始值,更新[单据体]字段-》跳转 [数量]-》录入50-》回车-》然后服务计算返回,更新[单据体]字段-》跳转下一个字段。
但说到底,都是服务器返回比录入操作慢。这个控制好服务器返回再0.5秒以内,应该就感受不到了;


二、组合显示字段的表头对齐问题】方案:通过增加【列头标题对齐设置】功能来实现插件制定列左右对其方式和标题的修改(需要简单的插件二开Python即可--预研基本可行--预计放入下个补丁)
--二开方法指引,  【表单业务插件】 : 
from Kingdee.BOS.JSON import *
def AfterBindData(e):
    #设置列标题对齐方式和列标题文本
    job = JSONObject()
    job["key"] = "FUNSHOWDESCRIPT"
    job["headeralignment"] = "left"
    job["header"] = "订单日期              |计划跟踪号               |客户                                                                 |物料"
    this.View.GetControl("FDetailEntity").InvokeControlMethod("UpdateFieldStates", job)
    job = JSONObject()
    job["key"] = "FSHOWDESCRIPT2"
    job["

泉州xx前端平台支持方案备忘

上次编辑于2019年8月27日 17:30:59泉州xx前端平台支持方案备忘:(已在2019-01-24发布正式7.3第一个补丁 PT131268 中包含以下所有内容)(...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信