执行空操作后报错无法将类型为“System.String”的对象强制...
金蝶云社区-wu9531
wu9531
0人赞赏了该文章 2195次浏览 未经作者许可,禁止转载编辑于2016年11月01日 15:58:09

在单据维护页面,点击一个按钮,触发一个操作事件,操作事件改变了表体的值,在BOS中配置了操作完成后刷新字段。
经过监控,发现操作事件正常完成,进入了单据维护插件中,然后在单据维护插件中,触发了DataChanged事件,然后就直接报错了,还没有进入AfterDoOperation 中。这个报错不一定发生。如果直接在列表中执行该操作,不会报错,执行成功

[{"operation":"tm_renzheng.MBIClick.tbcreate"}]
发生时间:15:43:07
错误来源: Kingdee.BOS.Core
错误信息:无法将类型为“System.String”的对象强制转换为类型“Kingdee.BOS.Orm.DataEntity.DynamicObjectCollection”。
===================================================
调用堆栈:
在 Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.GetEntityDataObject(Entity entity, DynamicObject dataobj)
在 Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.GetEntityDataObject(Entity entity)
在 Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.GetEntityDataObject(Entity entity, Int32 row)
在 Kingdee.BOS.Business.Bill.ConvertTrackerEdit.GetLinkDataObjects(Field editField, Int32 row)
在 Kingdee.BOS.Business.Bill.ConvertTrackerEdit.AutoDistributeAmount(Field editField, Int32 row, Object editValue)
在 Kingdee.BOS.Business.Bill.ConvertTrackerEdit.DataChanged(DataChangedEventArgs e)
在 Kingdee.BOS.Core.DynamicForm.PlugIn.DynamicFormModelPlugInProxy.FireDataChanged(DataChangedEventArgs e)
在 Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.UpdateFieldValue(Field field, DynamicObject obj, Object value, Int32 row)
在 Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.UpdateField(Field field, DynamicObject activeRow, Object value, Int32 rowIndex, Object oldValue)
在 Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.SetValue(Field field, DynamicObject activeRow, Object value, Int32 rowIndex)
在 Kingdee.BOS.Model.Bill.BillModel.SynDataFromDB(List`1 keys)
在 Kingdee.BOS.Business.DynamicForm.Operation.DoNothing.ExecuteOperation()
在 Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormOperation.Operation(CallBackWfAfterOperation callbackwf, IOperationResult result)
在 Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormOperation.Execute(InvokeFormOperation4WfParam param, CallBackWfAfterOperation callbackwf)
在 Kingdee.BOS.Web.DynamicForm.AbstractDynamicWebFormView.InvokeFormOperation(String operationNumber)
在 Kingdee.BOS.Business.DynamicForm.BusinessService.ExcuteOperation.DoAction(FormBusinessServiceArgs e)
在 Kingdee.BOS.Core.DynamicForm.FormBusinessServiceUtil.InvokeServices(IDynamicFormView view, Object source, IEnumerable`1 services, Int32 actionType, String activeEntity, DynamicObject activeRow, Int32 rowIndex)
在 Kingdee.BOS.Web.DynamicForm.BusinessServiceCaller.InvokeFormBusiness(IDynamicFormView view, Object source, List`1 formBusinessServices, Int32 actionType, String entityKey, Int32 row)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.BarItemClick(String parentKey, String barItemKey, BarDataManager bar, Int32 bartype)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.MainBarItemClick(String barItemKey)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormController.MainBarItemClick(String itemKey, JSONArray postDatas)
错误数据: System.Collections.ListDictionaryInternal