
**应用场景**:生产排产完成后,定时执行更新已排,更新对应的上线数
**实现方式**:二开执行计划
**实现步骤**:参考以下步骤实现
**1、创建执行计划对应的插件**
```C#
using Kingdee.BOS.Contracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kingdee.K3.Core.MFG.EntityHelper;
using Kingdee.BOS.Util;
using Kingdee.K3.Core.MFG.PRD.MOScheduling;
using Kingdee.K3.Core.MFG.Common;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.FormElement;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.K3.Core;
namespace Kingdee.K3.EK.App.ScheduleService
{
public class UpdateOnlineQtySchdule : IScheduleService
{
public void Run(BOS.Context ctx, BOS.Core.Schedule schedule)
{
if (!schedule.Parameters.IsNullOrEmptyOrWhiteSpace())
{
//读取自定义参数
string[] arrParas = schedule.Parameters.Split(',');
//更新已排需要的参数,具体赋值信息科通过读取到的自定义参数去处理
UpdateScheduleOption updateOption = new UpdateScheduleOption();
updateOption.OrgId =1 ;//"需要更新的组织";
updateOption.UpdateGroup = "1"; //"首次更新还是日常更新";
updateOption.FStarDate = System.DateTime.Now.BeginDateTimeOfDay();//"更新开始日期";
updateOption.CurrentDate = System.DateTime.Now.BeginDateTimeOfDay();
updateOption.BillNos = new List<string>();//"是制定对应生产订单";
TaskProxyService taskProxyService = new TaskProxyService();
TaskProxyItem taskProxyItem = new TaskProxyItem();
List<object> param = new List<object>() { updateOption, taskProxyItem.TaskId, ctx };
taskProxyItem.Parameters = param.ToArray();
taskProxyItem.ClassName = "Kingdee.K3.MFG.PRD.App.Core.MultiLineMoScheduling.MultiLineMoScheduleService,Kingdee.K3.MFG.PRD.App.Core";
taskProxyItem.MethodName = "UpdateScheduleQtyByUpdateOption";
taskProxyItem.ProgressQueryInterval = 1;
taskProxyItem.Title = "更新已排执行计划";
taskProxyService.StartTask(ctx, taskProxyItem);
}
else
{
//参数为空
}
}
}
}
```
**注意:以上为代码示例,具体需要更新的数据,需要通过配置参数后,在代码中获取具体的参数,再去执行更新操作**
**2、界面配置**

**3、通过以上处理,可将执行计划设置准备状态,手动点击测试可调试代码**