业务背景:
最近有一个客户在预计可发量这个功能上死磕了很久,最后不得不求助于金蝶这边,于是我整理了下面的使用技巧介绍。希望对以后的用户能起到引导作用。
关键步骤:
这里我给出四种解决方案供参考。
预计可发量二开获取:
Kingdee.K3.SCM.Contracts.IExpectQtyQueryService
Kingdee.K3.SCM.App.Core.ExpectQty.ExpectQtyQueryService
Kingdee.K3.SCM.ServiceHelper
/// <summary> /// 获取预计量(可发量) /// </summary> /// <param name="ctx">上下文</param> /// <param name="queryExpectQtyArgs">查询参数</param> /// <returns>预计量(可发量)列表</returns> List<GetExpectQtyResult> GetExpectQty(Context ctx, List<GetExpectQtyArgs> queryExpectQtyArgs);
预计可发量api获取:
// 1. webapi参数配置
string url = "站点地址";
string dataCenterId ="账套Id";
string userName ="用户名";
string userPwd ="用户密码";
// 2. 构造查询参数(查询某库存组织某仓库某物料的预计量)
string queryArgs = "[{\"StockOrgId\": {\"FNumber\": \"100\"},\"MaterialId\": {\"FNumber\":\"0.018\"},\"StockId\": {\"FNumber\":\"01\"}]";//查询参数
//3. 登录验权
var client = new Kingdee.BOS.WebApi.Client.K3CloudApiClient(url);
var ret = client.ValidateLogin(dataCenterId, userName, userPwd, 2052);
var jResult = JObject.Parse(ret);
var resultType = jResult["LoginResultType"].Value<int>();
if (resultType != 1 && resultType != -5) return;
// .调用获取预计量接口:
var result = client.Execute<string>("Kingdee.K3.SCM.WebApi.ServicesStub.ExpectQtyQueryWebApi.GetExpectQty", new object[] { pushData });
预计可发量界面功能:
这个功能位置如图,但是只支持8.0以上的版本
预计可发量报表查询:
预计可发量报表查询如下图,提供客户单独查询使用: