表单插件--撤销按钮被点击后删除下游单据原创
12人赞赏了该文章
188次浏览
编辑于2024年08月08日 13:38:37
# 开发时间:2024/7/29 15:34 ##****************************表单插件--撤销按钮被点击后删除下游单据******************* #引入clr运行库 import clr clr.AddReference('System') clr.AddReference('System.Data') clr.AddReference('Kingdee.BOS.App') clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') clr.AddReference('Kingdee.BOS.WebApi.FormService') clr.AddReference('Kingdee.BOS.ServiceFacade.KDServiceFx') clr.AddReference('Newtonsoft.Json') from Kingdee.BOS.App.Data import * from Kingdee.BOS import * from Kingdee.BOS.Core.DynamicForm import * from Kingdee.BOS.Core.DynamicService import * from System import * from System.Data import * from System.Collections.Generic import * from Kingdee.BOS.WebApi.FormService import * from Kingdee.BOS.ServiceFacade.KDServiceFx import * from Newtonsoft.Json.Linq import * def BarItemClick(e): if e.BarItemKey=="tbCancelAssign":#自定义按钮的标识 Billid = this.View.Model.DataObject["Id"].ToString(); sql=("""/*dialect*/SELECT t2.FID FROM T_PRD_ISSUEMTRNOTICE t1 LEFT JOIN ( SELECT distinct FSourceBillId, fid = ( stuff( ( SELECT ',' + CAST ( FID AS VARCHAR ( 20 ) ) FROM PZEJ_PRD_ISSNOTICE WHERE FSourceBillId = a.FSourceBillId FOR xml path ( '' ) ), 1, 1, '' ) ) FROM PZEJ_PRD_ISSNOTICE a ) t2 on t1.Fid=t2.FSourceBillId WHERE t1.Fid = {0}""").format(Billid);#SQL语句,获取下游单据的FID,自行替换即可 BillIdstr = str(DBUtils.ExecuteScalar(this.Context, sql, None)) apiResult = DeleteBill(BillIdstr) def DeleteBill(BillIdstr): jsonData = """{"Ids":"BIllIds"}""" json = jsonData.Replace("BIllIds", BillIdstr) apiResult = WebApiServiceCall.Delete(this.Context, "PZEJ_PRD_ISSUEMTRNOTICE", json)#WebApiServiceCall调用接口具体的操作标识 return apiResult
最近写的一个python,分享出来,希望能给其他小伙伴提供到思路,也希望有大神能提出优化改进的地方。
赞 12
12人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *
10金币20金币30金币40金币50金币60金币
可用金币: 0