因为个人电脑环境可能有点什么问题,不能设置资源权限,我把出问题的过程描述一下,看你们能否复现。
1、页面设置为所有人可访问
2、表中字段设为用户类型
3、在查询条件或者更新值之类填入%CurrentUser.UserName%
然后再运行则会直接出这个错,但我尝试将%CurrentUser.UserName%改为%CurrentUser%后问题解决
为了找到并解决这个问题,我反复导入测试,花了三天时间才找到这个问题,太坑了
## Overview
- Version: 10.0.103.0
- Exception: `Newtonsoft.Json.JsonSerializationException`
- DateTime: 2025/1/15 13:26:09
- Email: guoqp@scchenguang.cn
- Tags: #CN
## Exception
```json
{
"ClassName": "Newtonsoft.Json.JsonSerializationException",
"Message": "Error getting value from 'Row' on 'Forguncy.Common.FormulaCellLocation'.",
"Data": {
"$type": "System.Collections.ListDictionaryInternal, System.Private.CoreLib",
"System.Object": null
},
"InnerException": {
"$type": "GrapeCity.CalcEngine.CalcParseException, GrapeCity.WPF.CalcEngine",
"Message": "The formula you typed contains an invalid token: '%'.
Error offset:0",
"ErrorOffset": 0,
"Data": {
"$type": "System.Collections.ListDictionaryInternal, System.Private.CoreLib"
},
"InnerException": null,
"HelpLink": null,
"Source": "GrapeCity.WPF.CalcEngine",
"HResult": -2146233088,
"StackTrace": " at GrapeCity.CalcEngine.CalcParser.ThrowParserError(FormulaToken token)
at GrapeCity.CalcEngine.CalcParser.ProcessTokens(FormulaTokenList tokens, Boolean throwError)
at GrapeCity.CalcEngine.CalcParser.ParseToTokens(String formula, Boolean throwError)
at GrapeCity.CalcEngine.CalcParser.Parse(String text, CalcParserContext context)
at jx.GetCellExpress(FormulaReferObject formulaReferObject)
at Forguncy.Common.FormulaCellLocation.get_Row()
at lambda_method5748(Closure , Object )
at Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(Object target)"
},
"HelpURL": null,
"StackTraceString": " at Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(Object target)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.CalculatePropertyValues(JsonWriter writer, Object value, JsonContainerContract contract, JsonProperty member, JsonProperty property, JsonContract& memberContract, Object& memberValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)
at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType)
at Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer)
at my.c.cmh()
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at my.clm(Worksheet a, mx b, Int32 c)
at my.clf(PublishType a, TaskInfo b, PublishSettingsViewModel c)
at my.GenerateAllPagesAsync(PublishType publishType, TaskInfo taskInfo, PublishSettingsViewModel settings)
at my.GenerateAllPagesAsync(PublishType publishType, TaskInfo taskInfo, PublishSettingsViewModel settings)
at Forguncy.Views.RibbonView.BrowserHomeExecutedWithProgressbarAsync(IBrowser browser, TaskInfo taskInfo, Boolean debug)
at Forguncy.Views.RibbonView.<>c__DisplayClass402_0.<<BrowserHomeExecutedWithProgressbarAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at WPFBase.Common.TaskInfoHelper.CreateAThreadCrossedAutoClosedWindowAsync(TaskInfo taskInfo, Window owner, Func`1 action)
at Forguncy.Views.RibbonView.BrowserHomeExecutedWithProgressbarAsync(IBrowser browser, TaskInfo taskInfo, Boolean debug)
at Forguncy.Views.RibbonView.eb.ExecuteCommandAsync(DesignerCommand command, Object[] parameters)
at Forguncy.Views.ObjectViews.PageItemViewModel.ViewInBrowser()
at Forguncy.Views.ObjectViews.PageItemContextMenu.ViewInBrowser_Click(Object sender, RoutedEventArgs e)
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)",
"RemoteStackTraceString": null,
"RemoteStackIndex": 0,
"ExceptionMethod": null,
"HResult": -2146233088,
"Source": "Newtonsoft.Json",
"WatsonBuckets": null
}
```
## EventLog
- 13:26:07 `MouseL`:ObjectViewMenuItem:在浏览器中查看->在浏览器中查看
- 13:26:05 `MouseR`:Window:设计院数据管理系统AD域认证版1.6.fgcc - 活字格 (10.0.103.0)->PagesObjectView->MyTreeViewItem:个人->MyTreeViewItem:URL
- 13:26:04 `MouseL`:Window:命令窗口->Button:确定->确定
- 13:26:02 `MouseL`:Window:命令窗口->CheckBox:showConfirm->弹出确认对话框
- 13:25:59 `MouseL`:Window:命令窗口->Image:/FormulaSelector.png
- 13:25:57 `MouseL`:Window:设计院数据管理系统AD域认证版1.6.fgcc - 活字格 (10.0.103.0)->Spread[21,34]:R1 ,C5 ,Page=URL
- 13:25:56 `MouseL`:Window:命令窗口->Image:/FormulaSelector.png
- 13:25:54 `MouseL`:Window:命令窗口->新建条件
- 13:25:52 `MouseL`:Window:快速选择单元格->Button:确定->确定
- 13:25:49 `MouseL`:Window:设计院数据管理系统AD域认证版1.6.fgcc - 活字格 (10.0.103.0)->Spread[21,34]:R5 ,C6 ,Page=URL,CellType=Forguncy.TextCellType
- 13:25:48 `MouseL`:Window:设计院数据管理系统AD域认证版1.6.fgcc - 活字格 (10.0.103.0)->Spread[21,34]:R3 ,C7 ,Page=URL,CellType=Forguncy.TextCellType
- 13:25:47 `MouseL`:Window:快速选择单元格->TextBox:
- 13:25:45 `MouseL`:Window:设计院数据管理系统AD域认证版1.6.fgcc - 活字格 (10.0.103.0)->Spread[21,34]:R2 ,C7 ,Page=URL,CellType=Forguncy.TextCellType
- 13:25:45 `MouseL`:Window:设计院数据管理系统AD域认证版1.6.fgcc - 活字格 (10.0.103.0)->Spread:FormulaSelection,ActiveSheet=URL
- 13:25:44 `MouseL`:Window:快速选择单元格->TextBox:
- 13:25:42 `MouseL`:Window:设计院数据管理系统AD域认证版1.6.fgcc - 活字格 (10.0.103.0)->Spread[21,34]:R3 ,C8 ,Page=URL,CellType=Forguncy.TextCellType
- 13:25:38 `MouseL`:Window:快速选择单元格->TextBox:
- 13:25:37 `MouseL`:Window:设计院数据管理系统AD域认证版1.6.fgcc - 活字格 (10.0.103.0)->Spread[21,34]:R2 ,C8 ,Page=URL,CellType=Forguncy.TextCellType
- 13:25:35 `MouseL`:Window:快速选择单元格->TextBox:
- 13:25:34 `MouseL`:Window:命令窗口->Image:/IntelligentIcon.png
- 13:25:32 `MouseL`:Window:命令窗口->DropdownListBoxItem:%CurrentUser.UserName%->%CurrentUser.UserName%
- 13:25:31 `MouseL`:Window:命令窗口
- 13:25:29 `MouseL`:Window:命令窗口->添加字段
- 13:25:28 `MouseL`:Window:命令窗口->添加字段
- 13:25:28 `MouseL`:Window:命令窗口->添加字段
- 13:25:28 `MouseL`:Window:命令窗口->添加字段
- 13:25:27 `MouseL`:Window:命令窗口->RadioButton:添加/更新
- 13:25:25 `MouseL`:Window:命令窗口->GroupDropDownSearchSelector:commandSelector->数据表操作
- 13:25:22 `MouseL`:Window:命令窗口->GroupDropDownSearchSelector:commandSelector
- 13:25:21 `MouseL`:Window:设计院数据管理系统AD域认证版1.6.fgcc - 活字格 (10.0.103.0)->Tab:单元格设置->编辑命令...
- 13:25:20 `MouseL`:Window:设计院数据管理系统AD域认证版1.6.fgcc - 活字格 (10.0.103.0)->Spread[21,34]:R5 ,C25,Page=URL,CellType=Forguncy.ButtonCellType
## ActionList
- SetCommandAction
- SetCommandAction
- UnMergeAction
- DeleteAction
- SetCommandAction
- CellTypeAction
|