在用友接口开发这条路上,走走停停过了好几年。对于如何选择哪种方式,目前总结几点,

对于开发,目前可以实现的有三种方式
 
    一、是通过用友官方提供的(EAI/API)接口
    这种方式的优点是准确,稳定。因为毕竟是官方提供的输入接口。但是缺点也很明显,速度慢,大量数据处理延时问题很严重,在一些复杂单据上表现尤为明显,因为其接口是在原部门封装的基础上做了二次封装。另外一个缺点就是文档信息不全,所以在其之上做的二次开发无法得到全面测试,这是因为用友自己的模块之间并不使用(EAI/API)。
 
   二、是通过直接操作用友数据库
   这种方式只有懂得数据库知识和开发技术并有用友的数据字典,就可以使用,这种方式的优点是速度快,数据处理可操作性强,也就是说你想要生成什么样的数据都可以,举个例子就是,做凭证时一些被系统限制的科目无法使用,但是用这种方式一样可以生成你要的凭证。这种方式的缺点也很明显,准确性和稳定性无法保证,也就是说你需要输入的数据可能存在各种隐性的小问题,正常在系统中录入时会被系统检测出来,而用这种方式就不会,这样的数据存在于用友系统就会对后期业务产生影响,也许后面的业务就无法进行,也许结帐不能成功,也许年结会失败,而且关键是用友的服务人员一旦得知你使用这种接口方式,将会对后面产生的一切问题拒绝做出解释,因为会告诉你你使用的这种接口输入方式对于用友而言是非法的。当然如果你的提供商做了很全面的测试,或许能给准确和稳定方面提高一些。
 
 
    三、是调用标准模块的后台接口
    这种方式是最优方式,这是用友本身各个模块间处理数据时使用的方式,优点是准确、稳定、速度也较快。缺点是只有官方人员或官方授权的金牌或银牌合作伙伴才能得到相关文档,并且需要产品源码协助调试和测试。用友产品每个模块都分前台和后台,前台就是你看到的界面,在界面上录入数据,保存时系统把录入数据传输给后台保存。还是举例来讲比较好,财务下有总帐模块和应收模块,凭证是总帐模块的内容,而在应收单审核时、制单处理时都可以生成总帐里的凭证,这里就是使用这种方式生成的,所以对于这种方式生成的内容其准确和稳定性无需怀疑。
 
 
以下更清晰: 具体其他疑问,可以联系我  Q:1101350716,详细分析了解
 

用友U8API 8.9-15.0接口开发前提,选好开发方式的更多相关文章

  1. 【Android】15.0 UI开发(六)——列表控件RecyclerView的网格布局排列实现

    1.0 列表控件RecyclerView的网格布局排列实现,关键词GridLayoutManager. LinearLayoutManager 实现顺序布局 GridLayoutManager 实现网 ...

  2. pythone函数基础(15)接口开发初识

    导入需要的第三方模块 import flaskimport toolsimport json,redisimport random server = flask.Flask(__name__)#新建一 ...

  3. Intellij Idea 编辑器使用之 安装、破解 版本15.0.1

    工欲善其事必先利其器. 早就听说了Intellij idea 这个编辑器.也曾尝试过,由于对eclipse,myeclipse用的比较习惯.顺手了,所以对于Intellij idea 也只是浅尝辄止. ...

  4. 达尔稳usb转RJ45的接口转换器(usb2.0接口)在ubuntu16.04中驱动(r8152)编译安装与使用

    淘宝买了usb转RJ45的接口转换器:https://detail.tmall.com/item.htm?id=524808012954&ali_refid=a3_430582_1006:11 ...

  5. 赢友网络通用框架V10.0.0(WinuAppSoft) 基础框架设计表

    /* * 版权所有:赢友网络(http://www.winu.net/) * 开发人员:新生帝(JsonLei) * 设计名称:赢友网络通用框架V10.0.0(WinuAppSoft) * 设计时间: ...

  6. FPGA —— Quartus II 15.0 使用 ModelSim SE-64 2019.2 软件进行仿真

    Quartus II 15.0 使用 ModelSim SE-64 2019.2 软件进行仿真 ModelSim 仿真 Verilog HDL 时需要编写一个 TestBench 仿真文件,通过仿真文 ...

  7. CentOS 7.5 通过kubeadm部署k8s-1.15.0

    kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验k ...

  8. 无法解决“Microsoft.SharePoint.Security, Version=15.0.0.0,”与“Microsoft.SharePoint.Security, Version=14.0.0.0”之间的冲突

    VisualStudio 2013创建控制台项目,.NetFramework选为4.5.生成目标平台:x64.然后添加对Microsoft.SharePoint.dll的引用. 生成项目时," ...

  9. class Solution(object): def fizzBuzz(self, n): a = [] i = 1 while(i <= n): if(i%15 == 0): a.append("FizzBuzz") elifleetcode day_01

    412. Fizz Buzz Write a program that outputs the string representation of numbers from 1 to n. But fo ...

随机推荐

  1. Shader专题:卡通着色(一)控制颜色的艺术

    什么是 Shader? 关于什么是 Shader ,各种百科各种教程都有说过,但是今天我们就从一个另一个角度去试着理解什么是 Shader? 我们先看下 Shade 的英文意思,如下: v.给...遮 ...

  2. 大厂程序员因厌恶编程,辞去月薪2w+的工作去当司机?

    世界好小啊,刚在一个 UP 主的群里看到一个视频,标题叫做:"失业了工作没找到,却稀里糊涂上了知乎热搜,2000 多万人围观,我--" 说实话,看到视频的封面,我的下巴当时就掉到了 ...

  3. Python线程池与进程池

    Python线程池与进程池 前言 前面我们已经将线程并发编程与进程并行编程全部摸了个透,其实我第一次学习他们的时候感觉非常困难甚至是吃力.因为概念实在是太多了,各种锁,数据共享同步,各种方法等等让人十 ...

  4. 平常我们是如何区分css中class和id之间有什么区别的?

    我们平常在用DIV+CSS制作html网页页面时,常会用到class 和id来选择调用CSS样式属性.对学习CSS的新手来说class和id可能比较模糊,同时不知道什么时候该用class,什么时候又用 ...

  5. 转载------一小时包教会 —— webpack 入门指南

    本文写的蛮好,转载地址:http://www.w2bc.com/Article/50764 其他的地址: http://webpack.github.io/docs/usage-with-gulp.h ...

  6. MySQL 你可能忽视的选择问题

    我们在 MySQL 入门篇主要介绍了基本的 SQL 命令.数据类型和函数,在局部以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我 ...

  7. Maven一键部署Springboot到Docker仓库,为自动化做准备

    1 前言 前面<Springboot整合MongoDB的Docker开发,其它应用也类似>讲解了如何做Docker开发.如何把Springboot应用打包成一个镜像,但它是手动的,本文将讲 ...

  8. windows jenkins下配置sonar-scanner

    windows jenkins下配置sonar-scanner 一.基本配置信息 ① jenkins版本:2.222.4 ② sonarqube scanner版本:4.4.0.2170 ③ 操作系统 ...

  9. Linux系统安装JDK8

    一.卸载现用的JDK 1.查看Linux自带的JDK是否已安装 查看是否安装openjdk,java  -version (yum安装的 一般都是 OpenJDK     命令:yum install ...

  10. POJO类中布尔类型为啥不让用isXxx命名

    源码面前,了无秘密 <阿里开发规范泰山版>(2020.04.22)-->编程规约-->(一) 命名风格-->第8条规定: [强制]POJO 类中的任何布尔类型的变量,都不 ...