打开采购订单列表Unexpected character encountered while parsing value: <. Line 1,position 1>
拿到二开插件发现如下三个问题点
1.用反编译ILSpy打开string text 文本字段中间空格太长导致的,
string text = "/*dialect*/ select s1.fnumber fnumber,t1.FLOT_TEXT,cast(t1.FREALQTY as int) fqty,convert(varchar(100),t1.FPRODUCEDATE,120) FPRODUCEDATE,convert(varchar(100),t1.FEXPIRYDATE,120) FEXPIRYDATE\r\n from T_STK_INSTOCKENTRY t1\r\n left join T_BD_MATERIAL s1 on s1.FMATERIALID=t1.FMATERIALID\r\n where t1.FID=@fid";
DataTable dataTable = DBUtils.ExecuteDataSet(((AbstractOperationServicePlugIn)this).get_Context(), text, list2).Tables[0];
2.插件开发需要依赖BOS部分组件,需要先在解决方案根目录创建文件夹K3CloudServer进行存放,方便引用,到本地金蝶云星空安装目录获取组件,引用组件版本必须和本地金蝶云星空版本一致,组件列表如下:
准备依赖组件
Kingdee.BOS.dll
Kingdee.BOS.App.dll
Kingdee.BOS.Core.dll
Kingdee.BOS.App.Core.dll
Kingdee.BOS.Contracts.dll
Kingdee.BOS.DataEntity.dll
Kingdee.BOS.ServiceHelper.dll
通过对比发现在Visual studio引用云星空核心组件少了几个,
具体可以参考 浅谈二开插件问题点,
3.发现引用的.net版本不对,云星空要求.net版本是4.0, 参考 简单二开插件创建,此处不再赘述,
All in all,在二次开发过程中,一定要注意细节,不然会引发各种bug,失之毫厘谬以千里!