需求背景
公司内部有一套用友 U8 的 ERP 系统,里面有仓库库存管理的功能。
库管人员希望能够加上手持 PDA (比如这个商米的设备:https://www.sunmi.com/zh-CN/v2s/),或者手机 App 扫码入库/打印标签的功能。
但是本地代理公司的开发费用非常离谱,所以公司考虑内部实现这个功能。于是查了一下 U8 相关的接口方案。
网上搜索了一下,资料真是少,而且这个行业非常 low,大部分能看到文档都是软文,和误导,让你去加他们联系方式,获取一个他们封装好的接口。问题是这么敏感的内部数据,怎么敢使用这类小作坊的接口层(涉及到账号密码的提交)。
API 接入方式 1: OpenAPI
OpenAPI:这个用友 u8 官方有介绍
https://u8open.yonyou.com/documentCenter/developerGuide
但是这个需要企业一年缴纳 36000 的接口年费 (本地代理商说价格还能再谈,可以谈到 2 万多)。
OpenAPI 本身是为了方便三方软件公司开发用友软件市场中的三方应用开发的接口,类似钉钉平台上的三方工具,从文档看非常详细,而且提供了测试环境。
这个费用也太离谱了。感觉用友要完。
API 接入方式 2: 内部 API
即在 U8 安装之后,在 Windows Server 上会看到开始菜单中多了一个用友的文件夹,里面有个 API 资源管理器。
打开就能看到相关的内部 API,有具体的接口文档。
但是使用时需要导入相关的 DLL 文件。只能使用 .NET Framework,不能使用 .NET CORE 这类新框架。
从网上搜到的非官方说明称:
U8 版本16 以下安装 NET Framework 4.6 框架,16.x 版本安装 NET Framework 4.8。
而,我们要升级的目标版本是 v18,不知道是否还有此内部接口。得具体看看了。
至于 Android 手持扫码打印设备的接入,应该是需要在 U8 服务器上,写一个 .NET Framework 的中转层,将 Android 设备端的请求,转发到 U8 服务。
直接修改数据库
这个方案基本上是行不通的,主要是因为对用友 U8 ERP 不了解,以仓储为例,入库之后,是否会产生其他表的变更,例如入库记录,人工统计之类的不得而知的。
总结
目前看只有第二个方案,使用内部 API 的方案比较可行。
参考
- https://www.jianshu.com/p/26a16e515e00
- https://console-docs.apipost.cn/preview/b9674fcd9949865b/a5a249fb27736c15?target_id=82c2b863-f0f1-4cc9-bb45-8ea9da1f6fca
- https://blog.csdn.net/daniel_qsy/article/details/125351332
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式