单据转换.常见问题.下推界面的默认单据类型不会走第三发下推导致的异常问题

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

单据转换.常见问题.下推界面的默认单据类型不会走第三发下推导致的异常问题

【场景】下推界面的默认单据类型不会走第三发下推的插件逻辑问题 【说明】默认单据类型不会走值更新事件,因此无法拿到真实的源单id 【变通方案】 (1)在单据用户参数模板BOS_BillUserParameter中,增加新的字段控制逻辑 假定字段标识为F_BHR_Text 逻辑:将表达标识更新到文本字段,不使用原来的下推操作默认单据 ![image.webp](/download/0100f544b1851ca74b0e8ab60e04ab0fe96a.webp) (2)在单据转换操作界面BOS_ConvertOpForm配置插件变通 ```python #引入clr运行库 import clr #添加对cloud插件开发的常用组件的引用 clr.AddReference("mscorlib") clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.ServiceHelper") clr.AddReference("Kingdee.BOS.Core") #导入cloud基础库中的常用实体对象(分命名空间导入,不会递归导入) from System import * from System.Collections.Generic import * from Kingdee.BOS.Util import * from Kingdee.BOS.JSON import * def OnInitializeService(e): ##准备可选目标单据列表 this.View.Session["Custom_OpType"] = e.Paramter.GetCustomParameter("OperationNumber"); this.View.Session["Custom_Bills"] = None; parentView = this.View.ParentFormView; if parentView == None: return; key = "ConvertBills"; if parentView.Session.ContainsKey(key): this.View.Session["Custom_Bills"] = parentView.Session[key]["Bills"]; def AfterBindData(e): opType = this.View.Session["Custom_OpType"]; if (opType == None or opType.ToString() != "Push"): return; formId = ""; paraData = this.View.ParentFormView.Model.ParameterData; if paraData == None: return; key = "F_BHR_Text"; if paraData.DynamicObjectType.Properties.ContainsKey(key): formId = paraData[key]; if formId == None or len(formId.strip())<=0: return; tgtBills = this.View.Session["Custom_Bills"]; tgtFormIds = List[str](); for tgtBill in tgtBills: tgtFormIds.Add(tgtBill.FormID); if tgtFormIds == None or len(tgtFormIds)<=0: return; if(tgtFormIds.Contains(formId)): ##切换值,以触发插件 this.View.Model.EndIniti(); this.View.Model.SetValue("FrdBills", formId); this.View.Model.BeginIniti(); jobj = JSONObject(); jobj.Put("key",formId.upper()); jobj.Put("value",True); this.View.AddAction("UpdateControlStates", jobj); ``` ![image.webp](/download/010023367791229540ac820bbd97447c0f40.webp) 【效果】 (1)用户参数中将目标下推类型放到文本字段中,可先录入下推操作默认单据,而后清空 ![image.webp](/download/0100b3c50d7b54434b31877e545f0cef88c6.webp)

单据转换.常见问题.下推界面的默认单据类型不会走第三发下推导致的异常问题

【场景】下推界面的默认单据类型不会走第三发下推的插件逻辑问题【说明】默认单据类型不会走值更新事件,因此无法拿到真实的源单id【变通方...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息