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

获取库存服务货主类型过滤不生效的处理方案

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

获取库存服务货主类型过滤不生效的处理方案

一、【需求问题】

简单生产领料单上配置的获取库存的服务,匹配字段都维护了货主跟货主类型,当VMI简单生产领料时,获取到的库存是即时库存全部的库存,而不是按货主类型【供应商】进行匹配

image.webp

image.webp

从即时库存看当前物料货主类型为供应商的库存合计应该为749 + (-20) = 729, 获取库存服务返回的库存为754,将货主类型为业务组织的也一并统计了


二、【功能分析】

获取库存服务,根据服务配置上的维度字段从当前单据明细分录中取得对应值,匹配即时库存,单据字段为空时则不匹配,

但是货主和货主类型,保管者和保管者类型处理比较特殊,当货主为空时,货主类型有值也没法参与到数据过滤,即:货主类型和货主同时不为空才进行字段匹配过滤,导致出现问题


根据系统预留的库存查询插件入口,将匹配返回的库存数据做二次处理,将货主类型和货主,保管者类型和保管者分别进行过滤。

using Kingdee.BOS.Util;
using Kingdee.K3.Core.SCM.Args;
using Kingdee.K3.SCM.Common.BusinessEntity.STK;
using System.Collections.Generic;
using System.Data;
using System.Linq;

namespace Kingdee.K3.SCM.Stock.App.CustomizePlugIn
{
    public class OwnerGetInvStock : AbstractGetInvStockPlugIn
    {
        public override IEnumerable<STK_Inventory> ApplyExtFilter(IEnumerable<STK_Inventory> data, GetInvStockDetailArg item)
        {
            if (!item.OwnerTypeId.IsNullOrEmptyOrWhiteSpace())
            {
                data = from p in data
                       where p.OwnerTypeId == item.OwnerTypeId
                       select p;
            }
            if (item.OwnerId != 0)
            {
                data = from p in data
                       

获取库存服务货主类型过滤不生效的处理方案

一、【需求问题】简单生产领料单上配置的获取库存的服务,匹配字段都维护了货主跟货主类型,当VMI简单生产领料时,获取到的库存是即时库存...
点击下载文档文档为doc格式

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

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