单据联查库存查询二开插件
【业务背景】想控制比如做销售单据时库存查询只能选到A仓库的物料返回数据,做生产单据时库存查询只能选到B仓库的物料,避免做单人员误选。目前做单人员是仓管人员,在库存查询中还是要能看到所有物料
【需求分析】
1、"库存查询"根据不同的单据使用指定的仓库作为过滤条件获取数据,当前服务为通用服务,无法通过BOS做特殊配置
2、从单据联查库存的界面分析看, 通过选择表单上各库存维度的数据去做筛选,那么只要实现"仓库"的自动赋值,然后触发数据刷新,就能实现按照特定仓库去过滤即时库存数据
# 定义插件,重写AfterBindData事件处理
using Kingdee.BOS.Core.DynamicForm.PlugIn; using System; namespace Kingdee.K3.SCM.Stock.Business.PlugIn.Inventory { public class InvJoinQueryEditEx : AbstractDynamicFormPlugIn { public override void AfterBindData(EventArgs e) { object billFormId = this.View.OpenParameter.GetCustomParameter("QueryBillFormId"); if (billFormId != null) { string queryBillFormId = billFormId.ToString(); switch (queryBillFormId) { case "STK_MisDelivery": this.Model.SetValue("FStockIdH", 499413); break; case "SAL_SaleOrder": this.Model.SetValue("FStockIdH", 100022); break; } this.View.UpdateView("FStockIdH"); this.View.InvokeFieldUpdateService("FStockIdH", -1); this.View.GetMainMenu().ItemClick("tbRefresh"); this.View.SendDynamicFormAction(this.View); } } } }
Python版本:
clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') from Kingdee.BOS import * from Kingdee.BOS.Core import * from Kingdee.BOS.Core.Bill import * from Kingdee.BOS.Core.DynamicForm import * from Kingdee.BOS.Core.DynamicForm.PlugIn import * from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import * from System import * def AfterBindData(e): billFormId = this.View.OpenParameter.GetCustomParameter("QueryBillFormId") paraOrgId = this.View.OpenParameter.GetCustomParameter("QueryOrgId"); dict = {"STK_MisDelivery" : 499413, "SAL_SaleOrder": 100022} if billFormId is not None and paraOrgId is not None: if dict.__contains__(str(billFormId)): this.Model.SetValue("FStockOrgIdH", str(paraOrgId)) this.View.UpdateView("FStockOrgIdH") this.View.InvokeFieldUpdateService("FStockOrgIdH", -1) this.Model.SetValue("FStockIdH", dict[str(billFormId)]) this.View.UpdateView("FStockIdH") this.View.InvokeFieldUpdateService("FStockIdH", -1) this.View.GetMainMenu().ItemClick("tbRefresh") this.View.SendDynamicFormAction(this.View)
3、注册插件
【实现效果】
说明:该插件实现针对各单据指定了仓库,属于需求特殊化处理,大部分的业务场景不适用,系统标准功能即可满足。
单据联查库存查询二开插件
【业务背景】想控制比如做销售单据时库存查询只能选到A仓库的物料返回数据,做生产单据时库存查询只能选到B仓库的物料,避免做单人员误选。...
点击下载文档
本文2024-09-23 02:55:28发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-155572.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章