电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

获取库存服务如何自定义条件

来源:金蝶云社区作者:金蝶2024-09-169

获取库存服务如何自定义条件

> **问题背景**:在获取即时库存信息的服务中能否考虑数据隔离,目前已设置人员不能看见某仓库的信息,但是使用获取即时库存后依旧会获取到其他仓库的数据。 1、获取库存服务希望可以设置不包含某一个仓库的库存,进行获取。 2、销售订单获取即时库存排除废品不核算仓和寄售仓的库存 【说明】 - 目前只能实现服务里绑定仓库字段之后,获取某一个仓库的库存;或者不绑定仓库,就获取所有仓库的库存。 - 为什么在服务里没有考虑数据隔离?导致和单据规则不一致 -> 每个维度针对不同单据都会涉及到不同的数据隔离规则,通用服务无法针对每个维度进行处理,数据规则一多,对性能也有很大影响,特殊数据的过滤可以通过二开插件去处理 【二开实现】:这里以"其他出库单"为例,说明具体的配置效果 1. 继承组件Kingdee.K3.SCM.App.Core中的抽象类AbstractGetInvStockPlugIn,重写ApplyExtFilter(IEnumerable<STK_Inventory> data, GetInvStockDetailArg item)方法,对获取到的即时库存数据做二次筛选 引用组件:Kingdee.K3.SCM.Common.BusinessEntity.dll ```Csharp using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.Permission.Objects; using Kingdee.BOS.Util; using Kingdee.K3.Core.SCM.Args; using Kingdee.K3.SCM.Common.BusinessEntity.STK; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; namespace Demo { public class LotPickReqGetInvStock : AbstractGetInvStockPlugIn { // 基础资料数据规则,隔离 public override IEnumerable<STK_Inventory> ApplyExtFilter(IEnumerable<STK_Inventory> data, GetInvStockDetailArg item) { List<long> dataRuleStockIds = new List<long>(); List<BaseDataTempTable> lstBaseTempTable = Kingdee.BOS.ServiceHelper.PermissionServiceHelper.GetBaseDataTempTable(this.Ctx, this.BillFormId); if (lstBaseTempTable != null && lstBaseTempTable.Count > 0) { string stockDataRuleTemp = (from p in lstBaseTempTable where p.BaseDataFormId.EqualsIgnoreCase("BD_STOCK") select p.TempTable).FirstOrDefault(); if (!stockDataRuleTemp.IsNullOrEmptyOrWhiteSpace()) { // 获取需要统计库存的仓库,根据业务需求修改过滤条件 string stockSql = string.Format(@"SELE

获取库存服务如何自定义条件

> **问题背景**:在获取即时库存信息的服务中能否考虑数据隔离,目前已设置人员不能看见某仓库的信息,但是使用获取即时库存后依旧会获取...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信