【常见问题】Microsoft.Scripting.Interpreter.InterpretedFrameInfo 问题分析
【问题描述】
PT-151005 [8.2.0.20231109]版本之前,用户经常会被一下错误困扰,不知道问题出在哪里,比如下面的错误:
错误提示:
[{"operation":"SP_InStock.MBIClick.tbSplitSubmit"}]
发生时间:14:43:14
错误来源: Kingdee.BOS.ServiceHelper
错误信息:值“Microsoft.Scripting.Interpreter.InterpretedFrameInfo”不是“System.String”类型,不能在此泛型集合中使用。
参数名: key
===================================================
调用堆栈:
Server stack trace:
在 System.ThrowHelper.ThrowWrongKeyTypeArgumentException(Object key, Type targetType)
在 System.Collections.Generic.Dictionary`2.System.Collections.IDictionary.set_Item(Object key, Object value)
在 Microsoft.Scripting.Interpreter.Interpreter.HandleException(InterpretedFrame frame, Exception exception)
在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
在 Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1)
在 IronPython.Compiler.PythonCallTargets.OriginalCallTarget1(PythonFunction function, Object arg0)
在 System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
在 _Scripting_(Object[] , Object )
在 Kingdee.BOS.Core.Util.PythonUtil.InvokePy(ScriptScope scope, String name, Object args, Dictionary`2 dictMethodList)
在 Kingdee.BOS.App.Core.PlugInProxy.OperationServicePlugInProxy.FireAfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
在 Kingdee.BOS.App.Core.AbstractOprerationService.DoExcete()
在 Kingdee.BOS.App.Core.AbstractOprerationService.Excute(Object[] ids)
在 Kingdee.BOS.App.Core.Submit.Excute(Object[] ids)
在 Kingdee.BOS.App.Core.SubmitService.Submit(Context ctx, BusinessInfo businessInfo, Object[] Ids, String operationNumber, OperateOption option)
Exception rethrown at [0]:
在 Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.Submit(Context ctx, BusinessInfo businessInfo, Object[] Ids, String operationNumber, OperateOption option)
在 Kingdee.BOS.Business.Bill.Operation.Submit.DoSubmit(IOperationResult fullResult)
在 Kingdee.BOS.Business.Bill.Operation.Submit.ExecuteBillOperation(OperateOption option)
在 Kingdee.BOS.Business.Bill.Operation.Submit.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
【原因分析】
一般这种错误,都是Python插件或者表达式错误引起的。
PT-151005 [8.2.0.20231109]版本以及以后,平台已经支持对Python的内部异常抛出详细的信息,方便用户分析问题原因。
【常见问题】Microsoft.Scripting.Interpreter.InterpretedFrameInfo 问题分析
本文2024-09-23 04:16:52发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164295.html