吐槽一下用友U8的API开发
用友公司作为全国财务系统的一流企业,按理说在文档的编写上应该严谨、可靠。但是用友在这方面做的却不尽人意,不仅仅是文档写的简单、潦草,而且还错误百出。关键的是,没有客服支持。很多搞U8二次开发的朋友,因为遇到问题无法解决,最后都放弃了。
我最近开始做U8的二开,从最基础的C#开始学,一点儿一点儿研究。在开发过程中遇到了一些U8的坑,我列举出来供大家参考,今后有人再遇到同样的问题就可以避开了。
一、U8的ADODB:
在Visual Studio的IDE中,引入U8的ADODB时,并没有要求复制到本地,而且这个属性也是不可编辑的。
关键问题是,程序的编译也不报错。
但是程序的运行时报错:系统异常:未能加载文件或程序集“adodb, version=2.6.0.0, culture=neutral, publickeytoken=79a4e7ad54eeabca”或它的某一个依赖项。系统找不到指定的文件。
解决办法:将ADODB.DLL文件复制到程序目录下即可。
二、生成销售订单时报错
按照U8 API的开发文档,运行程序时,提示如下错误:
"系统异常:savebody:保存表尾数据时失败,不能保存!类型不匹配"
涉及到一百多个字段,所以这个错误提示毫无意义,根本不知道具体是哪个字段的问题。只能凭猜测,一点儿一点儿试,最后发现是dreleasedate这个字段的问题。
API文档里是这样写的:
注意看,这里注明的是必填字段,所以我在C#里是这样声明的:
public DateTime dreleasedate;
而实际上,这个字段并不是必填字段,声明语句修改成下面这样:
public DateTime? dreleasedate;
运行结果正常了。
上面只是我目前遇到的”坑“,预计未来还会有更多的坑等着我,在此,鄙视一下用友U8的文档编写者,你们也太不负责任了!