值更新事件设置后,录入单据报错?
金蝶云社区-老冯
老冯
0人赞赏了该文章 463次浏览 未经作者许可,禁止转载编辑于2017年08月10日 19:15:34

问题:新增采购订单时,选择完“采购员”,提示如下错误:
发生时间: 19:22:27
错误编号: BOS_ExecuteReader
错误信息: 列名 'SZ0032' 无效。
===================================================
调用堆栈:

Server stack trace:
at Kingdee.BOS.App.Data.AbstractDatabase.ExecuteReader(DbCommand command, IEnumerable`1 paramList, CommandBehavior cmdBehavior, Boolean bNewCn)
at Kingdee.BOS.App.Data.AbstractDatabase.ExecuteReader(DbCommand command, IEnumerable`1 paramList, CommandBehavior cmdBehavior)
at Kingdee.BOS.App.Data.DBUtils.ExecuteReader(Context ctx, String strSQL, IEnumerable`1 paramList, CommandType cmdtype, CommandBehavior cmdBehavior, Boolean bNewCn)
at Kingdee.BOS.App.Data.DBUtils.ExecuteReader(Context ctx, String strSQL, IEnumerable`1 paramList, CommandType cmdtype, CommandBehavior cmdBehavior)
at Kingdee.BOS.App.Data.DBUtils.ExecuteObject[T](Context ctx, String strSQL, IDataEntityType dt, IDictionary`2 propertyTypeMaps, CommandType cmdType, SqlParam[] paramList)
at Kingdee.BOS.App.Data.DBUtils.ExecuteDynamicObject(Context ctx, String strSQL, IDataEntityType dt, IDictionary`2 propertyTypeMaps, CommandType cmdType, SqlParam[] paramList)
at Kingdee.BOS.App.Core.Query.QueryService.GetDynamicObjectCollection(Context ctx, QueryBuilderParemeter para, List`1 paramList)
at Kingdee.BOS.App.Core.BusinessDataReader.LoadPkValues(DynamicObjectType type, QueryBuilderParemeter queryParemeter)
at Kingdee.BOS.App.Core.BusinessDataReader.LoadFromCache(DynamicObjectType type, QueryBuilderParemeter queryParemeter, Boolean loadReferenceData)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Kingdee.BOS.Contracts.IViewService.LoadFromCache(Context ctx, DynamicObjectType type, QueryBuilderParemeter queryParemeter)
at Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.LoadFromCache(Context ctx, DynamicObjectType type, QueryBuilderParemeter queryParemeter)
at Kingdee.BOS.Model.DynamicForm.DynamicFormModel.LoadFieldDataWithCoreFilter(BaseDataField field, Object pkValue, DynamicObject activeRow)
at Kingdee.BOS.Core.Metadata.FieldElement.BaseDataField.SetFieldValue(IDynamicFormModel model, DynamicObject activeRow, Object value)
at Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.UpdateFieldValue(Field field, DynamicObject obj, Object value, Int32 row)
at Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.UpdateField(Field field, DynamicObject activeRow, Object value, Int32 rowIndex, Object oldValue)
at Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.SetValue(Field field, DynamicObject activeRow, Object value, Int32 rowIndex)
at Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.SetValue(Field field, Object value, Int32 row)
at Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormModel.SetValue(String key, Object value, Int32 row)
at Kingdee.BOS.Business.DynamicForm.BusinessService.TakeBasePropertyData.SetPropValue(Field field, Object oValue, Int32 row)
at Kingdee.BOS.Business.DynamicForm.BusinessService.TakeBasePropertyData.SetValue(String sKey, String sSourceKey, BaseDataField sourceFiled, DynamicObject obj, Int32 row)
at Kingdee.BOS.Business.DynamicForm.BusinessService.TakeBasePropertyData.SetPropertyData(String[] parameters, FormBusinessServiceArgs e)
at Kingdee.BOS.Business.DynamicForm.BusinessService.TakeBasePropertyData.DoAction(FormBusinessServiceArgs e)
at Kingdee.BOS.Core.DynamicForm.FormBusinessServiceUtil.InvokeServices(IDynamicFormView view, Object source, IEnumerable`1 services, Int32 actionType, String activeEntity, DynamicObject activeRow, Int32 rowIndex)
at Kingdee.BOS.Web.DynamicForm.BusinessServiceCaller.InvokeFormBusiness(IDynamicFormView view, Object source, List`1 formBusinessServices, Int32 actionType, String entityKey, Int32 row)
at Kingdee.BOS.Web.DynamicForm.BusinessServiceCaller.CallUpdateBusinessService(FieldAppearance fieldAppearance, Int32 row)
at Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.DoLookUpSetFieldValue(FieldAppearance ap, ILookUpField lookUpField, Int32 rowIndex, ListSelectedRow selectRow, String combinedFieldKey)
at Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.DoLookUpAfterShow(String key, Int32 row, ILookUpField lookUpField, FieldAppearance ap, FormResult result, String combinedFieldKey)
at Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.<>c__DisplayClass5d.b__5c(FormResult result)
at Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.<>c__DisplayClass40.b__3e() at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at Kingdee.BOS.App.Data.AbstractDatabase.DoExecuteReader(DbCommand command, CommandBehavior cmdBehavior)
at Kingdee.BOS.App.Data.AbstractDatabase.ExecuteReader(DbCommand command, IEnumerable`1 paramList, CommandBehavior cmdBehavior, Boolean bNewCn)

需求:采购订单打印时能够取“采购员”的对应员工的“移动电话”字段。值更新的内容有:在采购订单中新增了字段“员工”如下图:


“采购员”字段添加了一个值更新事件,如下图:


然后就出现了上面的问题。怎么解决呢?
接下来,