以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]foxtable更新后异常 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=174452) |
-- 作者:xubing051018 -- 发布时间:2022/1/16 13:43:00 -- [求助]foxtable更新后异常 昨天更新了最新版本的foxtable后,程序运行部分功能时候报错 |
-- 作者:有点蓝 -- 发布时间:2022/1/16 21:15:00 -- 不要使用第三方的Newtonsoft.Json.dll覆盖foxtable自带的Newtonsoft.Json.dll。 如果要使用其他版本Newtonsoft.Json.dll,参考这里设置:http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=137401&replyID=11825&skin=1
|
-- 作者:xubing051018 -- 发布时间:2022/1/17 9:00:00 -- 我并没有引用过第三方的Newtonsoft.Json.dll, 现在我要想用回foxtable自带的Newtonsoft.Json.dll,要怎么操作? 我已经把foxtable卸载掉,C盘foxtable文件夹删掉,重新安装了ft,程序运行还是不行。
|
-- 作者:有点蓝 -- 发布时间:2022/1/17 9:04:00 -- 自定义函数的代码发上来看看 |
-- 作者:xubing051018 -- 发布时间:2022/1/17 9:53:00 -- 是不是引用金蝶api的原因? 貌似在红色代码处报错。 金蝶api也同步提供了一个Newtonsoft.Json.dll, 这个文件我要不要引用? 刚才试了下,不引用金蝶提供的这个Newtonsoft.Json.dll,程序也是报错。 Dim e As RequestEventArgs
= args(0) Dim wb As New weui Dim nms() As String
= {"扫码对象","条码信息"} For Each nm As String In nms If e.PostValues.ContainsKey(nm) = False Then e.WriteString("NG") \'返回错误消息 Return "" \'必须返回 End If Next \'根据扫码单号,调用金蝶API,显示订单信息,并检查扫码事件的合理性. Dim Values() As String = e.PostValues("条码信息").split("/") Dim FilterString,FFlit,FieldKeys As String Dim FBaseQty As Double FieldKeys = "FOwnerName,FStockId.FName,FStockLocId.FF100001.fnumber,FMaterialId.FNumber,FMaterialName,FBaseQty,FMtoNo" FilterString = "FStockLocId.FF100001.fnumber=\'" & e.PostValues("条码信息") & "\' and FBaseQty > 0" Dim jo As New JObject \'api接口请求josn jo("FormId") = "STK_Inventory" jo("FieldKeys") = FieldKeys jo("FilterString") = FilterString jo("OrderString") = "" jo("TopRowCount") = 0 jo("StartRow") = 0 jo("Limit") = 50 Dim client As new Kingdee.BOS.WebApi.Client.K3CloudApiClient("https://wj.ik3cloud.com/k3cloud/") Dim loginResult
= client.ValidateLogin("2021679","admin","a",2052) Dim resultType As Integer = JObject.Parse(loginResult)("LoginResultType").tostring \'登录结果类型等于1,代表登录成功 Dim Names As New List(Of List(Of Object)) If resultType = 1 Names = client.ExecuteBillQuery(jo.ToString) For Each nm As List(of object) In Names MessageBox.Show(nm(1).Tostring) Next End If \'e.WriteString(wb.Build) Return ""
\'必须返回 [此贴子已经被作者于2022/1/17 9:55:52编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/1/17 10:08:00 -- 金蝶api用到了其它版本的Newtonsoft.Json.dll,参考2楼链接处理 |
-- 作者:xubing051018 -- 发布时间:2022/1/17 12:30:00 -- 引用金蝶的Newtonsoft.Json.dll,覆盖ft自带的? |
-- 作者:有点蓝 -- 发布时间:2022/1/17 13:36:00 -- 中文看不懂? 不要使用第三方的Newtonsoft.Json.dll覆盖foxtable自带的Newtonsoft.Json.dll。
如果要使用其他版本Newtonsoft.Json.dll,参考这里设置:http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=137401&replyID=11825&skin=1 |
-- 作者:xubing051018 -- 发布时间:2022/1/17 15:09:00 -- 中文能看懂,就是按着操作没弄好呀。 1.我把本机foxtable卸载了,C盘安装目录删了 2,重新安装了最新版本的ft 3,安装完成后,第一时间修改了Foxtable.exe.config,按http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=137401&replyID=11825&skin=1说明加了下面的 <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="10.0.0.0" newVersion="12.0.0.0" /> </dependentAssembly> 4,打开项目,引用了金蝶的api文件 :Kingdee.BOS.WebApi.Client.dll。 但是没有引用金蝶同步提供的 Newtonsoft.Json.dll 5,重新测试功能依然报错。 诚心请教,要怎么设置才对。
|
-- 作者:有点蓝 -- 发布时间:2022/1/17 15:31:00 -- 看提示金蝶引用的是4.0的版本 <bindingRedirect oldVersion="4.0.0.0" newVersion="12.0.0.0" />
|