单据体明细菜单批量触发取价服务
@[TOC](目录)
### 背景
有客户想通过点击按钮批量触发单据体每一行的取价服务,并且每一行单独根据某个字段进行条件控制,例如采购订单新变更单上根据变更类型为【新增】时才取价,累计数量取价是一个批量操作,他的条件仅参考明细信息第一行,无法满足客户逐行根据字段条件批量取价的场景,需要在明细字段上新增值更新的取价服务,然后在明细单据体上新增按钮,通过python批量触发
### 步骤
1. 新增辅助字段,配置取价服务,按业务需要设置前提条件
2. 在明细单据体上新增按钮 ==(一定要在明细上新增按钮,在表头新增按钮本帖不适用)==
3. 注册表单插件(自行修改标识名称)
### python脚本
```python
import clr
clr.AddReference('mscorlib')
clr.AddReference('Kingdee.BOS.Core')
from System import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
def EntryBarItemClick(e):#明细菜单
if e.BarItemKey == "SXIM_tbButton":
count = this.View.Model.GetEntryRowCount("FPOOrderEntry")#获取明细总的行数
index = this.View.Model.GetEntryCurrentRowIndex("FPOOrderEntry")#获取当前分录行下标
for i in range(count):
this.View.Model.SetEntryCurrentRowIndex("FPOOrderEntry", i)#从0开始设置当前行下标
this.View.InvokeFieldUpdateService("F_SXIM_Text12345", i)#循环触发每一行文本的值更新事件
this.View.Model.SetEntryCurrentRowIndex("FPOOrderEntry", index)#重新恢复当前行下标为原始值
```
==说明:==
SXIM_tbButton:明细菜单按钮标识
FPOOrderEntry:单据明细信息单据体标识
F_SXIM_Text12345:自定义取价字段标识
**其他更多文章入口:**[https://wenku.my7c.com/link/s/lbRPP](https://wenku.my7c.com/link/s/lbRPP)
单据体明细菜单批量触发取价服务
@[TOC](目录)### 背景有客户想通过点击按钮批量触发单据体每一行的取价服务,并且每一行单独根据某个字段进行条件控制,例如采购订单新变...
点击下载文档
本文2024-09-16 19:00:33发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-25815.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章