掌上报销,费用报销单保存时将发票金额汇总到指定字段
【应用场景】
掌上报销,费用报销单保存时将发票金额汇总到指定字段
【实现步骤】
<1>编写python插件,代码示例如下。
#引入clr运行库
import clr
#添加对cloud插件开发的常用组件的引用
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.ServiceHelper')
#导入cloud基础库中的常用实体对象(分命名空间导入,不会递归导入)
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from System import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from Kingdee.BOS.ServiceHelper import *
#重载插件事件,在保存前汇总发票金额
def BeforeDoOperation(e):
billObj = this.Model.DataObject;
if str(e.Operation.FormOperation.Operation.ToUpperInvariant())=="SAVE":
InvoiceEntity=billObj["RecInvInfo"];
sumAmt=0;
for r in InvoiceEntity:
invoice = r["RecInv"];
#根据需要,汇总发票对应的金额字段
amt=invoice["FSUMALLAMOUNT"];
sumAmt+=amt;
#将总金额写入指定字段
billObj["F_guan_Amount"]=sumAmt;
this.View.UpdateView("F_guan_Amount",0);
<2>BOSIDE扩展费用报销单,在表单插件中注册Python脚本,编辑框中输入上述插件代码。
点击确定时出现如下报错,不用理会,点击确定,保存即可。
(报错原因可参考帖子:Python插件 提示 缺少 Kingdee.BOS.App)
<3>保存元数据,开发完毕。
掌上报销,费用报销单保存时将发票金额汇总到指定字段
本文2024-09-23 03:54:19发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-161851.html