表单插件调用updateView报错:Int64 is not iterable
金蝶云社区-马拴宝
马拴宝
0人赞赏了该文章 2,982次浏览 未经作者许可,禁止转载编辑于2014年07月12日 23:55:02

表单插件调用updateView报错:Int64 is not iterable

二次开发新加的一个表单插件用于处理如下需求:
根据分录F7(在BeforeF7Select事件方法处理)选择数据做一些加工自动将加工后的数据回填到分录中,
这里是通过在分录绑定的DynamicObjectCollection中保存回填的数据,填完之后调用this.view.updateView()有如下错误:
从错误来看,是updatview的过程中对Int64类型的数据进行了迭代导致报错,而且是Python语法错误,不知道这个updateview做了什么操作?还是updateview不能在BeforeF7Select事件方法中使用?

[code]发生时间:23:41:39
错误来源: IronPython
错误信息:Int64 is not iterable
===================================================
调用堆栈:
在 IronPython.Runtime.Operations.PythonOps.GetEnumerator(CodeContext context, Object o)
在 IronPython.Modules.Builtin.filter(CodeContext context, Object function, Object list)
在 Microsoft.Scripting.Interpreter.FuncCallInstruction`4.Run(InterpretedFrame frame)
在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
在 Microsoft.Scripting.Interpreter.LightLambda.Run5[T0,T1,T2,T3,T4,TRet](T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
在 System.Dynamic.UpdateDelegates.UpdateAndExecute4[T0,T1,T2,T3,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3)
在 Microsoft.Scripting.Interpreter.DynamicInstruction`5.Run(InterpretedFrame frame)
在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
在 Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1)
在 IronPython.Compiler.PythonScriptCode.RunWorker(CodeContext ctx)
在 IronPython.Compiler.PythonScriptCode.EvalWrapper(CodeContext ctx)
在 IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)
在 Kingdee.BOS.Scripting.PyExpressionEvaluator.Run(Expression expression, ExpressionContext context)
在 Kingdee.BOS.Core.Metadata.Util.ConditionParser.VerifyExpression(BOSExpression expression, DynamicRowModel dynamicRow, FunctionManage funcLib)
在 Kingdee.BOS.Core.DependencyRules.EntityRule.Execute(BOSActionExecuteContext context)
在 Kingdee.BOS.Core.DependencyRules.RuleContainer`6.Execute(C executeContext, TaskCollection tasks)
在 Kingdee.BOS.Core.DependencyRules.RuleContainer`6.Resume(C executeContext)
在 Kingdee.BOS.Core.DependencyRules.RuleContainer`6.Raise(S arg, C executeContext)
在 Kingdee.BOS.Web.DynamicForm.DataBinder.UpdateView()
在 Kingdee.BOS.Web.DynamicForm.AbstractDynamicWebFormView.UpdateView()
在 Kingdee.BOS.Web.Bill.BillView.UpdateView()
在 Topview.SCM.STK.Business.PlugIn.TransferStockEditPlugIn.BeforeF7Select(BeforeF7SelectEventArgs e) 位置 D:\VS2010_WorkSpace\HTAL_Code\SCM\STK\Business\Topview.SCM.STK.Business.PlugIn\TransferStockEditPlugIn.cs:行号 120
在 Kingdee.BOS.Core.DynamicForm.PlugIn.DynamicFormViewPlugInProxy.FireBeforeF7Select(BeforeF7SelectEventArgs e)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.DoLookUpBuildParam(String key, Int32 row, String searchKeyword, ILookUpField lookUpField, FieldAppearance ap, DynamicFormShowParameter& param, String& oldSearchKeyWordValue, Boolean& enableUICache)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.DoLookUpFieldButtonClick(String key, Int32 row, String value, ILookUpField lookUpField, FieldAppearance ap, String combinedFieldKey)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.F7ButtonClick(String key, String value, Int32 row)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormController.F7ButtonClick(String key, String value, Int32 row, JSONArray postDatas)
错误数据: System.Collections.ListDictionaryInternal[/code]