Python实现:应收票据退票生成收款退款单表头二开字段携带明细字段

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

Python实现:应收票据退票生成收款退款单表头二开字段携带明细字段

因为标准产品应收票据生成收款退款单不是走的单据转换,往往二开字段想携带,需要二开插件才可以。以下Python插件实现,简单注册即可。下面以应收票据退票生成收款退款单,表头携带明细结算方式为例:

  1. 在收款退款单表头增加结算方式字段,标识是 FBase 如下图

  2. 注册Python插件

  3. 效果如下



   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实现:应收票据退票生成收款退款单表头二开字段携带明细字段

因为标准产品应收票据生成收款退款单不是走的单据转换,往往二开字段想携带,需要二开插件才可以。以下Python插件实现,简单注册即可。下面...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息