zoukankan      html  css  js  c++  java
  • 用友u8 使用 api资源管理器新增单据的一些方法

    一般都使用传xml对象的方式。这种方式方便在只需传入正确的视图就行了。但是如果字段不全,或者字段的数据类型与api要求的不服,会报些莫名其妙的错误,比如这些:


    项目大类0不存在项目大类0不存在货位不合法!
    货位不合法!
    存货01019002069没有自由项1管理,不能输入
    存货01019002069没有自由项2管理,不能输入
    存货01019002069没有自由项3管理,不能输入
    存货01019002069没有自由项4管理,不能输入
    存货01019002069没有自由项5管理,不能输入
    存货01019002069没有自由项6管理,不能输入
    存货01019002069没有自由项7管理,不能输入
    存货01019002069没有自由项8管理,不能输入
    存货01019002069没有颜色管理,不能输入
    存货01019002069没有内存管理,不能输入
    存货01019002069输入项目大类不合法,请重新输入
    存货01019002069输入项目大类不合法,请重新输入
    存货01019002069没有设置为追踪管理,不能输入入库单号
    不是代管仓库,不能录入代管供应商!

    收发类别 14 在本系统中不存在收发类别 2a 在本系统中不存在转出仓库不能为空
    入库类别不合法
    转入仓库不能为空
    出库类别不合法

    解决办法是:

    1.构建一个和用友单据一摸一样的视图

    仿照单据对应的用友的视图写一个自己的视图,保证 自己写的字段名和用友的视图的字段名一摸一样。如果自己表有值的地方就保证自己的表里的这个字段数据类型和用友单据对应的表的字段类型一样。

    如果是自己表没有的字段,而用友视图上有的字段,就不能简单的赋值为NULL了,这样会得到莫名其妙的错误。

    2.构造正确的数据类型。

    比如要插入的单据是 其他出库单主表 ,视图名称:kcotherouth,首先在u8上录入一条其他出库单的数据。

    为了保证自己的视图数据类型一样,可以使用 select top 1 * into t_tempKcotherouth from kcotherouth 这条语句构建一个和其他出库单主表数据类型,字段名称都一样的临时表。

    然后在自己的视图里left join t_tempKcotherouth on 视图名称.关键字段=t_tempKcotherouth.不要和关键字段名称有关联的字段,保证这个 左连接不会查出临时表的任何记录。这样做的目的

    是为了使用这个临时表的数据结构,保证自己的视图和用友u8的视图数据结构一摸一样。

    这两步做完插入的成功率就会大大的提高。

  • 相关阅读:
    Clipper库中文文档详解
    JavaScript-Clipper.js
    安装Scrapy遇到的问题
    Python中if __name__ == '__main__'的使用
    写出一段Python代码实现删除一个list里面的重复元素
    Python 内置函数(反射类)
    Python 内置函数(集合操作,IO操作)
    Python 内置函数(数学运算类,逻辑判断类)
    Python 推导式(列表推导式,字典推导式,集合推导式)
    Python 闭包和装饰器
  • 原文地址:https://www.cnblogs.com/HelloQLQ/p/13577823.html
Copyright © 2011-2022 走看看