在采购申请单根据物料获取最近下订单的供应商

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

在采购申请单根据物料获取最近下订单的供应商

@[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://wenku.my7c.com/link/s/lbRPP](https://wenku.my7c.com/link/s/lbRPP)

厉害,大佬


大佬,希望改进一下,勾选的才更新;如果几十万条数据,那。。


非常不错,大佬呀

在采购申请单根据物料获取最近下订单的供应商

@[TOC](目录)### 背景需要在采购申请单列表,获取当前物料最近下过订单的供应商的信息。需要新增一个历史供应商字段,然后新增一个按钮,...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息