付款单往来单位输入有错误
金蝶云社区-150xxxx5339
150xxxx5339
0人赞赏了该文章 843次浏览 未经作者许可,禁止转载编辑于2016年04月20日 18:10:02


问题描述:
情况1:新增付款单-----------》在往来单位输入关键字(比如:杨 跳出模糊搜索框 杨XX 杨X 等多个名称) 用鼠标双击选择其中一个 跳出 上面的提示错误 但是如果点击确定后再次输入就是正常的
错误代码如下:

{"operation":"AP_PAYBILL.SetItemValueByIDFromClient"}]
发生时间:17:43:55
错误来源: mscorlib
错误信息:The value "Microsoft.Scripting.Runtime.DynamicStackFrame" is not of type "System.String" and cannot be used in this generic collection.
Parameter name: key
===================================================
调用堆栈:
at System.ThrowHelper.ThrowWrongKeyTypeArgumentException(Object key, Type targetType)
at System.Collections.Generic.Dictionary`2.System.Collections.IDictionary.set_Item(Object key, Object value)
at IronPython.Runtime.Operations.PythonOps.UpdateStackTrace(Exception e, CodeContext context, FunctionCode funcCode, Int32 line)
at (Closure , CodeContext , FunctionCode )
at Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1)
at IronPython.Compiler.PythonScriptCode.RunWorker(CodeContext ctx)
at IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)
at Kingdee.BOS.Scripting.PyExpressionEvaluator.Run(Expression expression, ExpressionContext context)
at Kingdee.BOS.Business.DynamicForm.BusinessService.Calculate.DoAction(FormBusinessServiceArgs e)
at Kingdee.BOS.Core.DynamicForm.FormBusinessServiceUtil.ExceuteServices(List`1 sers, DynamicObject activeRow, Int32 rowIndex)
at Kingdee.BOS.Core.DependencyRules.EntityRule.Execute(BOSActionExecuteContext context)
at Kingdee.BOS.Core.DependencyRules.RuleContainer`6.Execute(C executeContext, TaskCollection tasks)
at Kingdee.BOS.Core.DependencyRules.RuleContainer`6.Resume(C executeContext)
at Kingdee.BOS.Core.DependencyRules.RuleContainer`6.Raise(S arg, C executeContext)
at Kingdee.BOS.Core.DependencyRules.BOSRuleContainer.RaiseDataChanged(String fieldKey, Object dataEntity, BOSActionExecuteContext executeContext)
at Kingdee.BOS.Web.DynamicForm.DataBinder.FieldDataChanged(ModelDataChangedEventArgs e)
at Kingdee.BOS.Core.DynamicForm.ModelDataChangedHandle.Invoke(Object sender, ModelDataChangedEventArgs e)
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.Model.DynamicForm.DynamicFormModel.SetItemValueByIDFromClient(String key, Object id, Int32 row)
at Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.SetItemValueByIDFromClient(String key, Object id, Int32 row)
at Kingdee.BOS.Web.DynamicForm.DynamicWebFormController.SetItemValueByIDFromClient(String key, Object id, Int32 row, JSONArray postDatas)
错误数据: System.Collections.ListDictionaryInternal


情况2:新增付款单-----------》在往来单位输入关键字(比如:杨 跳出模糊搜索框 杨XX 杨X 等多个名称) 用键盘方向键选中其中一个 然后按回车键 跳出 上面的提示错误 但是如果点击确定后再次输入就是正常的

错误代码如下:

{"operation":"AP_PAYBILL.SetItemValueByNumber"}]
发生时间: 2016-04-20 05:48:10
错误编号: BOS_ExecuteReader
错误信息: 在应使用条件的上下文(在 ')' 附近)中指定了非布尔类型的表达式。
Sql语句: SELECT t0.FID fid FROM T_HR_EMPINFO t0 WHERE (((t0.FSTAFFNUMBER = '12' AND FUSERORGID108561) AND t0.FDOCUMENTSTATUS = 'C') AND t0.FFORBIDSTATUS = 'A')
===================================================
调用堆栈:

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.SetItemValueByNumber(String key, String number, Int32 row)
at Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.InnerSetItemValueByNumber(String number, Int32 row, FieldAppearance ap, ILookUpField lookUpField)
at Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.SetItemValueByNumber(String key, String number, Int32 row)
at Kingdee.BOS.Web.DynamicForm.DynamicWebFormController.SetItemValueByNumber(String key, String number, Int32 row, JSONArray postDatas)




情况3:如果我先输入收款单位 再输入往来单位就不会出现上面两种提示 就可正常使用