单据转换.常见问题.下推界面的默认单据类型不会走第三发下推导致的异常问题
【场景】下推界面的默认单据类型不会走第三发下推的插件逻辑问题
【说明】默认单据类型不会走值更新事件,因此无法拿到真实的源单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【变通方...
点击下载文档
上一篇:物料编码规则,流水号根据物料分组从1开始计数下一篇:采购入库未开票退料
本文2024-09-16 18:20:49发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-21548.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章