获取采购参考价后按单位换算率换算单价

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

获取采购参考价后按单位换算率换算单价

@[TOC](目录) ### 背景 物料在系统中存在多单位,在采购订单上录入的计价单位为A单位,在其他单据例如采购入库单上录入的计价单位为B单位,想在采购入库单上获取该物料在采购订单上基于A单位的最新价格,然后需要换算成B单位的价格使用 ### 步骤 1. 在采购入库单上新增两对单位和单价字段(【取价单位】、【取价单位单价】、【目标单位】、【目标单位单价】)! ![1、在取价单据上新增两对单位和单价字段.webp](/download/0100650a4820c613460ebdd6703a00cc8e61.webp) 2. 在取价单位字段上配置获取采购参考价服务 ![2、在取价单位字段上配置获取采购参考价服务.webp](/download/0100e718ac687c9044bb8cad9dcb55e32845.webp) 3. 表单插件注册python脚本,通过值更新事件获取物料转换率并计算【目标单位单价】 ![3、表单插件注册python脚本.webp](/download/0100d7e04fb7f0cf4bd89fb2627f71d4b333.webp) ### Python脚本 ```python import clr clr.AddReference('mscorlib') clr.AddReference('Kingdee.K3.Core') clr.AddReference('Kingdee.K3.BD.ServiceHelper') from System import * from Kingdee.K3.BD.ServiceHelper import * from Kingdee.K3.Core.BD.ServiceArgs import * def DataChanged(e): #判断是否【取价单位】、【取价单价】、【目标单位】三个中的任意一个字段发生改变 if e.Field.Key == "F_SXIM_UnitID" or e.Field.Key == "F_SXIM_Price" or e.Field.Key == "F_SXIM_UnitID1": mate = this.View.Model.GetValue("FMaterialId",e.Row)#物料编码 un1 = this.View.Model.GetValue("F_SXIM_UnitID",e.Row)#取价单位 un1P = this.View.Model.GetValue("F_SXIM_Price",e.Row)#取价单位单价 un2 = this.View.Model.GetValue("F_SXIM_UnitID1",e.Row)#目标单位 #判断上述4个字段是否都不为空 if mate != None and un1 != None and un1P > 0 and un2 != None: mate_id = mate["Id"]#物料Id un1_id = un1["Id"]#取价单位Id un2_id = un2["Id"]#目标单位Id #获取单位换算后的目标单位单价 un2P = getConvertRate(mate_id,un2_id,un1_id,un1P) this.View.Model.SetValue("F_SXIM_Price1",un2P,e.Row)#设置目标单位单价字段 def getConvertRate(materialId, sourceUnitId,desUnitId,sourceQty): if sourceUnitId == desUnitId: return sourceQty rateArg = GetUnitConvertRateArgs() rateArg.MaterialId = materialId rateArg.SourceUnitId = sourceUnitId rateArg.DestUnitId = desUnitId rate = UnitConvertServiceHelper.GetUnitConvertRate(this.Context,rateArg) return rate.ConvertQty(sourceQty) ``` ### 效果展示 1. 采购订单历史数据 ![4、参数价格.webp](/download/010020e104c8954342dfa48b4bb0dc740dec.webp) 2. 测试数据1:选择取价单位自动获取取价单位单价 ![5、测试数据1选择取价单位自动获取取价单位单价.webp](/download/0100810451e80b334c42ad1b18bd0efd8dbe.webp) 测试数据1:选择目标单位换算目标价格 ![6、测试数据1选择目标单位换算目标价格.webp](/download/010033509f30027c44e686ebd932b233db84.webp) 3. 测试数据2:选择取价单位自动获取取价单位单价 ![7、测试数据2选择取价单位自动获取取价单位单价.webp](/download/01002ba29e6d436e42749f3b24b300f0cb08.webp) 测试数据2:选择目标单位换算目标价格 ![8、测试数据2选择目标单位换算目标价格.webp](/download/01004521d5cf66034b4983d7e2b0fa3ef8e2.webp) **其他更多文章入口:**[https://wenku.my7c.com/link/s/lbRPP](https://wenku.my7c.com/link/s/lbRPP)

获取采购参考价后按单位换算率换算单价

@[TOC](目录)### 背景物料在系统中存在多单位,在采购订单上录入的计价单位为A单位,在其他单据例如采购入库单上录入的计价单位为B单位,...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息