调用服务获取例外信息调整界面数据

【应用场景】
存在客户场景,需要使用例外信息调整界面展示的数据,如调整建议数量,调整建议日期等。但因为该功能点采用动态表单展示,并没有在数据库中存储现成数据,因此没有现成的API接口获取,本贴旨在为这种场景提供解决方案,通过调用服务方式获取例外信息调整的数据。
【注意事项】
该实现方案主旨是说明例外信息调整界面的数据是可通过服务获取,但实际使用时须注意丰富条件,有针对性获取要使用的例外信息。
【案例演示】
本示例功能是获取调整建议表体中单据编号为的MO00001467,行号为1的生产订单的建议完工日期。
【实现步骤】
<1>编写表单插件,示例代码如下,示例是用点击菜单来调用,实际应用中可在其他地方调用。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using Kingdee.BOS;
using Kingdee.BOS.Util;
using Kingdee.BOS.Orm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.CommonFilter;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.ServiceHelper;
using Kingdee.K3.Core.MFG.PLN.ParamOption;
using Kingdee.K3.Core.MFG.EntityHelper;
using Kingdee.K3.MFG.ServiceHelper.PLN;
namespace Cust_ExpMsgAdjust231208
{
[Description("测试获取例外信息调整数据包")]
public class Cust_ExpMsgAdjust : AbstractDynamicFormPlugIn
{
public override void BarItemClick(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.EqualsIgnoreCase("tbGetData"))
{
this.GetExpMsgAdjustDatas();
}
}
/// <summary>
/// 调用服务获取例外信息调整数据包
/// </summary>
private void GetExpMsgAdjustDatas()
{
ExpMsgAdjustOption emaOption = new ExpMsgAdjustOption();
//运算编号,MRP002174只是举例
string computeNo = "MRP002174";
emaOption.ComputeNo = computeNo;
//运算标识
string computeId = MrpComputeServiceHelper.GetMrpComputeIdByBillNo(this.View.Context, computeNo);
emaOption.ComputeId = computeId;
//例外类型:10、部分提前;11、整单提前;16、部分延后;15、整单延后;21、部分取消;20、整单取消;
emaOption.ExceptionType = new List<string>() { "10", "11", "16", "15", "21", "20" };
//查询对象:PRD_MO生产订单,PLN_PLANORDER计划订单,PUR_Requisition采购申请单,SUB_SUBREQORDER委外订单,PUR_PurchaseOrder采购订单
emaOption.QueryObject = new List<string>() { "PRD_MO", "PLN_PLANORDER", "PUR_Requisition", "SUB_SUBREQORDER", "PUR_PurchaseOrder" };
//实例化一个过滤界面对象,无实际用途,纯粹接口参数需要
FilterParameter filterPara = new FilterParameter();
FormMetadata mySchemeMetadata = MetaDataServiceHelper.GetFormMetaData(this.Context, "PLN_ExpMsgAdjustFilter");
filterPara.CustomFilter = new DynamicObject(mySchemeMetadata.BusinessInfo.GetDynamicObjectType());
OperateOption option = OperateOption.Create();
//调用例外信息调整获取数据接口
IOperationResult result = ExpMsgAdjustServiceHelper.GetExpMsgAdjustDatas(this.Context, filterPara, emaOption, option);
if (!result.IsNullOrEmpty() && result.IsSuccess)
{
Tuple<Dictionary<string, DynamicObject>, Dicti
调用服务获取例外信息调整界面数据
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



