在采购申请单根据物料获取最近下订单的供应商
@[TOC](目录)
### 背景
需要在采购申请单列表,获取当前物料最近下过订单的供应商的信息。需要新增一个历史供应商字段,然后新增一个按钮,在插件中该按钮的点击事件中通过SQL更新数据
### 步骤
1. 新增字段
在采购申请单上新增一个【基础资料】字段,绑定基础资料类型为【供应商】,设置使用组织为【采购组织】
![image.webp](/download/010091581a15922940ce93216c62e28dce0b.webp)
在采购申请单上新增一个【单价】字段,命名为历史采购价,用来存放对应采购订单的含税单价字段
![image.webp](/download/0100f6cfc016b84040c28a931c0c13e562d1.webp)
2. 在采购申请单列表新增列表菜单
![image.webp](/download/0100454dfa7031524926b0c4a0c8489209dc.webp)
3. 注册列表插件
![image.webp](/download/01005d9edf0bb59b41a2907bb0c92f9dd732.webp)
### python代码
```python
import clr
clr.AddReference('mscorlib')
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.ServiceHelper')
from System import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from Kingdee.BOS.ServiceHelper import *
def BarItemClick(e):
if e.BarItemKey == "ABC_tbButton":
sql = """/*dialect*/UPDATE TT
SET TT.F_SXIM_BASE = UU.FSUPPLIERID,TT.F_SXIM_PRICE = UU.FTAXPRICE
FROM T_PUR_REQENTRY TT
INNER JOIN T_PUR_REQUISITION TU ON TT.FID = TU.FID AND (TU.FCREATEDATE BETWEEN DATEADD(yy,-1,GETDATE()) AND GETDATE())
INNER JOIN (SELECT T1.FCREATEDATE,T1.FSUPPLIERID,T2.FMATERIALID,T3.FTAXPRICE,ROW_NUMBER() OVER(PARTITION BY T2.FMATERIALID ORDER BY T1.FCREATEDATE DESC) AS RN FROM T_PUR_POORDER T1
INNER JOIN T_PUR_POORDERENTRY T2 ON T1.FID = T2.FID
INNER JOIN T_PUR_POORDERENTRY_F T3 ON T2.FENTRYID = T3.FENTRYID ) UU ON TT.FMATERIALID = UU.FMATERIALID AND UU.RN = 1"""
count = DBUtils.Execute(this.Context,sql)
this.View.ShowMessage("成功修改历史供应商行数:"+str(count))
```
==修改python代码中的【按钮标识】和【自己的历史供应商字段名】:==
![image.webp](/download/01005ff554718eff49568eca3baeb0f78959.webp)
**其他更多文章入口:**[https://vip.kingdee.com/link/s/lbRPP](https://vip.kingdee.com/link/s/lbRPP)
在采购申请单根据物料获取最近下订单的供应商
@[TOC](目录)### 背景需要在采购申请单列表,获取当前物料最近下过订单的供应商的信息。需要新增一个历史供应商字段,然后新增一个按钮,...
点击下载文档
本文2024-09-23 02:34:19发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-153305.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章