复制单据,不改变单据界面上的任何字段值,通过python插件实现加载值更新事件

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

复制单据,不改变单据界面上的任何字段值,通过python插件实现加载值更新事件

在费用申请单的单据体上新增一个“金额”字段,单据体设置实体服务规则,当申请金额大于零时,金额=申请金额。业务场景,如下图:


由于在BOSIDE配置的“调用字段值更新服务”,仅在有字段改动时才会触发。界面加载单据时,不会触发这些服务,所以当客户仅仅是复制单据的时候,并不会触发实体服务规则给未报销金额字段赋值。

要实现该功能的解决方法如下:

1.首先,让修改单据体实体服务规则,将规则中的“新增”,“行删除”,“行选择”三个选项不勾选;

2.在对应单据的表单插件中注册一个Python插件,实现复制单据时,给单据体的“金额”赋值。

python脚本如下:

import clr

clr.AddReference('Kingdee.BOS')

clr.AddReference('Kingdee.BOS.Core')

from Kingdee.BOS import *

from Kingdee.BOS.Core import *

from Kingdee.BOS.Core.Metadata import *

def OnLoad(e):

if(this.View.OpenParameter.Status == OperationStatus.ADDNEW):

rows = this.View.Model.GetEntryRowCount("FEntity")

entity = this.Model.BillBusinessInfo.GetEntity("FEntity")

for i in range(0,rows):

row = this.Model.GetEntityDataObject(entity, i)

this.Model.SetValue("金额字段的标识", row["申请金额字段的绑定实体属性"], i)

this.View.UpdateView("FEntity")


复制单据,不改变单据界面上的任何字段值,通过python插件实现加载值更新事件

在费用申请单的单据体上新增一个“金额”字段,单据体设置实体服务规则,当申请金额大于零时,金额=申请金额。业务场景,如下图:由于在BOS...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息