Python实现:应收票据退票生成收款退款单表头二开字段携带明细字段
因为标准产品应收票据生成收款退款单不是走的单据转换,往往二开字段想携带,需要二开插件才可以。以下Python插件实现,简单注册即可。下面以应收票据退票生成收款退款单,表头携带明细结算方式为例:
在收款退款单表头增加结算方式字段,标识是 FBase 如下图
注册Python插件
效果如下
4.Python插件代码如下:
import clr
clr.AddReference('System')
clr.AddReference('Kingdee.BOS')
clr.AddReference('mscorlib')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('mscorlib')
from Kingdee.BOS.Util import *
from Kingdee.BOS.Util import ObjectUtils
from System import *
from Kingdee.BOS.App.Data import *
from Kingdee.BOS.Log import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from System.Collections.Generic import *
def OnPreparePropertys(e):
e.FieldKeys.Add("FSOURCESYSTEM");
e.FieldKeys.Add("FBase");
e.FieldKeys.Add("FSETTLETYPEID");
def EndOperationTransaction(e):
for dataEntity in e.DataEntitys:
entry=dataEntity["REFUNDBILLENTRY"]
sour= Convert.ToInt64(dataEntity["SOURCESYSTEM"])
baseSettle=Convert.ToInt64(dataEntity["fbase_ID"])
if baseSettle==0 and sour==3 :
id = Convert.ToInt64(dataEntity["id"]);
settle=Convert.ToInt64(entry[0]["SETTLETYPEID_id"]);
strUpdateSql = String.Format(" UPDATE T_AR_REFUNDBILL SET FBASE={0} WHERE FID={1} ", settle, id);
Logger.Info("CN", "这里执行了Python插件"+strUpdateSql);
DBUtils.Execute(this.Context, strUpdateSql);
Python实现:应收票据退票生成收款退款单表头二开字段携带明细字段
本文2024-09-23 01:57:55发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-149333.html