计划任务执行报错:未将对象引用设置到对象的实例。
金蝶云社区-nmgzjf
nmgzjf
0人赞赏了该文章 2,968次浏览 未经作者许可,禁止转载编辑于2015年11月17日 01:27:00

老师:我们做了自动拆单工作,方法时在计划任务里,每天晚上进行一次扫描,要按照销售出库单的物料、批号、数量与采购入库单内容一致时,并且出库单分录数少于入库单内容时,将对应的部分拆分成一张子单。

功能我们已经实现了,而且在计划任务里,使用“测试”按钮进行测试,一切正常,单据也可以正常拆分。

但问题来了,设置为自动定时任务后,执行时却报了错,引发错误的代码是下面的保存方法
Kingdee.BOS.Log.Logger.Info("拆分单据:", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " No:" + dyBosBill["BillNo"].ToString() + " 准备保存拆分结果!");
OperateOption saveOption = OperateOption.Create();
ISaveService savefunc = Kingdee.BOS.App.ServiceHelper.GetService();
IOperationResult saveSonResult = savefunc.Save(ctx, srcFormmeta.BusinessInfo, new DynamicObject[] { dyBosBill }, saveOption);

错误信息如下:
2015-11-17 01:13:48,580 [81] INFO - 拆分单据: - 2015-11-17 01:13:48 No:CGRK00020 准备保存拆分结果!
2015-11-17 01:13:52,097 [81] ERROR - K3CloudJob - RunSchedule
System.NullReferenceException: 未将对象引用设置到对象的实例。

Server stack trace:
在 Kingdee.BOS.App.Core.NetworkCtrl.NetworkCtrlService.CreateNetWorkCtrlMonitorInfo(Context ctx, NetworkCtrlObject networkCtrlObj, NetWorkRunTimeParam billParam)
在 Kingdee.BOS.App.Core.NetworkCtrl.NetworkCtrlService.BatchBeginNetCtrl(Context ctx, NetworkCtrlObject networkCtrlObj, List`1 billParamList, Boolean isSingleFail)
在 Kingdee.BOS.App.Core.BusinessFlow.WriteBackEngine.DoStartNetworkCtrl(DynamicObject[] billDataObjs)
在 Kingdee.BOS.App.Core.BusinessFlow.WriteBackEngine.StartNetworkCtrl(DynamicObject[] billDataObjs)
在 Kingdee.BOS.App.Core.BusinessFlow.WriteBackEngine.Do()
在 Kingdee.BOS.App.Core.BusinessFlow.BusinessFlowWriteBack.DoWriteBackEachRule(KeyValuePair`2 rule, WriteBackEngineContext engineContext)
在 Kingdee.BOS.App.Core.BusinessFlow.BusinessFlowWriteBack.DoWriteBack(Sheets`1 sheets, AED`1 aed)
在 Kingdee.BOS.App.Core.BusinessFlow.BusinessFlowTracker`1.WriteDataToDB(BusinessFlowInstanceCollection newInstances, BusinessFlowTrackerCollection trackerRows, Sheets`1 sheets, Sheets`1 snapshot, AED`1 aed)
在 Kingdee.BOS.App.Core.BusinessFlow.BusinessFlowTracker`1.Save(Sheets`1 sheets)
在 Kingdee.BOS.App.Core.BusinessFlow.BusinessFlowTrackerApply.Save(DynamicObject[] dataObjects, String operationNumber)
在 Kingdee.BOS.App.Core.Save.SaveConvertData(DynamicObject[] dataObject)
在 Kingdee.BOS.App.Core.AbstractOprerationService.CallOperation(DynamicObject[]& objs)
在 Kingdee.BOS.App.Core.AbstractOprerationService.CallOperatinTransaction(DynamicObject[] objs)
在 Kingdee.BOS.App.Core.AbstractOprerationService.DoExcete()
在 Kingdee.BOS.App.Core.AbstractOprerationService.Excute(DynamicObject[] dataEntities)
在 Kingdee.BOS.App.Core.SaveService.Save(Context ctx, BusinessInfo info, DynamicObject[] dataEntities, OperateOption option, String operationNumber)

Exception rethrown at [0]:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
在 Kingdee.BOS.Contracts.ISaveService.Save(Context ctx, BusinessInfo info, DynamicObject[] dataObject, OperateOption option, String operationNumber)
在 NCIC.K3.SCM.Stock.Business.PlugIn.SplitHelper.SplitBill(Context ctx, String FormId, String BillPKey) 位置 f:\ZJF2015\0日产项目\2Project\NCIC.K3.SCM.Stock.Business.PlugIn\publicFunc.cs:行号 227
在 NCIC.K3.SCM.Stock.Business.PlugIn.BosPurBill_Split_ServicePlugIn.EndOperationTransaction(EndOperationTransactionArgs e) 位置 f:\ZJF2015\0日产项目\2Project\NCIC.K3.SCM.Stock.Business.PlugIn\BosPurBill_PlugIn.cs:行号 195
在 Kingdee.BOS.App.Core.PlugInProxy.OperationServicePlugInProxy.FireEndOperationTransaction(EndOperationTransactionArgs e)
在 Kingdee.BOS.App.Core.AbstractOprerationService.CallOperation(DynamicObject[]& objs)
在 Kingdee.BOS.App.Core.AbstractOprerationService.CallOperatinTransaction(DynamicObject[] objs)
在 Kingdee.BOS.App.Core.AbstractOprerationService.DoExcete()
在 Kingdee.BOS.App.Core.AbstractOprerationService.Excute(DynamicObject[] dataEntities)
在 Kingdee.BOS.App.Core.SaveService.Save(Context ctx, BusinessInfo info, DynamicObject[] dataEntities, OperateOption option, String operationNumber)

Exception rethrown at [1]:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
在 Kingdee.BOS.Contracts.ISaveService.Save(Context ctx, BusinessInfo info, DynamicObject[] dataObject, OperateOption option, String operationNumber)
在 NCIC.K3.SCM.PUR.BILLSPLIT.PLAN.SplitPlan.SplitChecking(Context ctx) 位置 f:\ZJF2015\0日产项目\2Project\NCIC.K3.SCM.PUR.BILLSPLIT.PLANPlugIn\SplitPlan.cs:行号 147
在 NCIC.K3.SCM.PUR.BILLSPLIT.PLAN.SplitPlan.Kingdee.BOS.Contracts.IScheduleService.Run(Context ctx, Schedule schedule) 位置 f:\ZJF2015\0日产项目\2Project\NCIC.K3.SCM.PUR.BILLSPLIT.PLANPlugIn\SplitPlan.cs:行号 30
在 Kingdee.BOS.App.Core.ScheduleService.ScheduleService.RunSchedule(Context ctx, Schedule schedule)