本文最后更新于 2025-01-02,文章内容可能已经过时。

业务场景:费用报销单审批需要出纳审批,审批时出纳需要填写我方银行账号,并自动携带至付款单

解决方案:

一.费用报销单

  1. 单据头增加【我方银行账号】

    字段标识

    字段名称

    字段类型

    F_kd_EXPACCOUNTID

    我方银行账号

    基础资料

  2. 单据体增加【我方银行账号】

    字段标识

    字段名称

    字段类型

    F_kd_EXPACCOUNTIDE

    我方银行账号

    基础资料

  3. 单据体增加实体服务规则

规则描述:kd明细.我方银行账号=头.我方银行账号

规则条件:头.我方银行账号

F_kd_ACCOUNTID <> null OR F_kd_ACCOUNTID = null

注:此处规则条件只做值触发使用

条件成立时:

明细.我方银行账号=头.我方银行账号

F_kd_EXPACCOUNTID = F_kd_ACCOUNTID

条件不成立时:

明细.我方银行账号=头.我方银行账号

F_kd_EXPACCOUNTID = F_kd_ACCOUNTID

二.付款单

  1. 付款单源单明细增加字段

    字段标识

    字段名称

    字段类型

    F_kd_ACCOUNTIDsrc

    我方银行账号

    基础资料

三.单据转换

  1. 1字段映射中添加我方银行账号字段对应

  2. 单据转换插件策略中注册python脚本

import clr
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS.DataEntity")

from Kingdee.BOS.DataEntity import *
from Kingdee.BOS.Core.Metadata.FieldElement import *

def AfterConvert(e):
   headEntity = e.Result.FindByEntityKey("FBillHead")
   for item in headEntity:
#【data】为明细单据体 【src】为源单单据体
       data=item["PAYBILLENTRY"]
       src=item["PAYBILLSRCENTRY"]
       if len(data)!=len(src):
           continue
       for index in range(len(data)):
#基础资料需要两行,一行需要加_ID,文本,数字一行即可
           data[index]["FACCOUNTID_ID"]=src[index]["F_kd_ACCOUNTIDsrc"]
           data[index]["FACCOUNTID"]=src[index]["F_kd_ACCOUNTIDsrc"]

python脚本源文档:费用报销单明细携带字段至付款单明细Python脚本.txt