用友TurboCRM - U8 - EAI数据接口常见问题 联系客服

发布时间 : 星期五 文章用友TurboCRM - U8 - EAI数据接口常见问题更新完毕开始阅读6d7eedb9c77da26925c5b0c5

21. 当EAI导出的xml超出IIS最大限制时,EAI返回的不是xml,而是IIS的

报错页面

IIS上传下载文件大小设置:

一、 解决SERVER 2003不能上传大附件的问题 在“服务”里关闭 IIS Admin Service 服务。

找到 windows\\system32\\inetsrv\\ 下的 metabase.xml 文件。

找到 ASPMaxRequestEntityAllowed 把它修改为需要的值(可修改为20M即:20480000,如果不够,可以继续增大)

存盘,然后重启 iis admin service 服务。

二、解决SERVER 2003无法下载超过4M的附件问题 在“服务”里关闭 IIS Admin Service服务。

找到 windows\\system32\\inetsrv\\ 下的 metabase.xml 文件。

找到 AspBufferingLimit 把它修改为需要的值(可修改为20M即:20480000,如果不够,可以继续增大)

存盘,然后重启 IIS Admin Service 服务。

22. 调用U8EAI服务,报错:“系统未找到指定的资源”,或“指定资源下载失

败”

? 问题原因:防火墙阻挡或操作系统问题。 ? 解决:

1) “系统未找到指定的资源”,即800c0005,解决办法是在防火墙中允许

dllhost.exe访问网络;

2) 返回错误是“指定资源下载失败”,即800c0008,解决办法是关闭防火墙;

3) 如以上均无效,则重装系统。

23. 查询订单接口,报错:另一程序正在使用此文件,进程无法访问

? 问题原因:IIS出现“另一个程序正在使用此文件,进程无法访问。”错误提示,说明

U8应用服务器的TCP 80端口已打开。一般情况下,可能是有另一个WEB服务已启动,它打开了80端口,另一种可能就是某个软件打开了80端口。

? 解决: 查看IIS网站下是否有其他WEB服务也占用了80端口,如果有则将其改为非

80端口,然后重启IIS。

? 具体操作:如下图所示。

图 8

24. 怎么看适配器正在工作

打开资源管理器,code\\www\\datacache\\org1,看是否有类似于EAI_OBJECT开头的xml文件生成,生成的时候系统会有些慢,请不要终止服务,造成无谓的数据丢失。

25. 为什么提示没有找到订单明细

主要体现在U8、外部系统两个适配器上,因为外部系统有可能不根据订单进行发货或核销,没有绑定订单,可通过数据库查询或系统查询来确认。

26. 数据库用企业管理器查询分析器都可以连接但适配器打不开

在命令行模式执行 >telnet 数据库服务器地址 1433

看是否可以连接上,因为查询分析器和企业管理器不需要通过tcp/ip即可连接。

27. 适配器报错:对象不存在

“对象不存在”的报错主要是由于数据错误造成,数据错误可能因为适配器配置错误。例如:产品中配置了产品类别ID(Product.FamilyID)对应到外部系统的ID上,两个系统的ID不一样,所以造成数据错误。另外如果没有数据权限也会造成“对象不存在”的报错。

28. 什么是中间表为什么要用

中间表名称为tc_*interfaceupdate,(*为任何字母)。我们经常往要交换数据的对方系统中放置一个中间表,它包括4个字段“ObjectName”,\,分别是对象名称,更新状态,编号,更新时间。对象名称其实就是对方数据库表名,为了以后适配器查找完整数据时用的,可以根据select * from 对象名称 where id=编号获取到更新的信息,更新状态分为1,2,3。 1新增,2修改,3删除。中间表应用在U8及外部适配器中。

29. 什么是识别码

识别码就是与其他系统做数据交换的中间桥梁,通过它与其他系统的主键作对应,达到一对一的目的。适配器是可以导入和导出的,我们把数据导入是如果不配置一个识别码这样的标

示字段,那么导入进来后我们想通过CRM修改外部系统的数据,在CRM导出时我们就会发现不知道要修改其他系统中是哪一条数据。 识别码特性:

1、唯一,不能够重复

2、可以是以0开头的字符串

3、不是所有对象都有这个属性,大部分标准对象及枚举字段都有识别码。

30. 什么是触发器在什么情况下需要用

触发器就是为数据库中表创建的一个工具,一般我们用到的触发器是在表做增、改、删操作的时候。记录下来操作的记录ID。放在tc_**interfaceupdate表(常称呼为中间表),这样接口以后就可以通过查询中间表数据来知道最近哪些需要导入到CRM

31. U8原价格、含税价格等字段与CRM对应公式

件数=主计量单位数量/换算率

原币无税单价=外币成交价/(1+税率) 原币含税单价=外币成交价

原币无税金额=外币金额/(1+税率) 原币税额=外币金额*税率/(1+税率) 原币价税合计=外币金额

本币无税单价=成交价/(1+税率) 本币无税金额 =税后金额 本币税额= 金额-税后金额 本币价税合计=金额

32. U8适配器中CRM创建的客户导出到U8,U8修改后仍然同步到CRM,相反流

向可通过适配器选项

U8适配器中CRM创建的客户导出到U8,U8修改后仍然同步到CRM,相反流向可通过适配器选项。

33. U8适配器为什么每次再不选择导入全部时导入都是全部数据

因为导入时哪怕有一条数据错误,系统也不会更新时间戳,那么始终会在当前时间戳的时间点开始导入数据,请将错误数据处理使其成功导入或手工修改时间戳。

34. U8适配器所有发货单导入CRM都提示订单明细必须填写的错误

请检查U8是否是新帐套,试着在UFMeta_00*数据库需要重新执行接口提供的脚本。 确认是否执行脚本的方法也可以通过如下操作:

1、打开U8EAI工具导出要到的发货单,看节点下最后一个后是否有

这个节点,如果没有说明脚本没有执行成功,如果有并且导入不成功,那么进入下一步操作

2、打开CRM路径code\\www\\datacache\\org1找到刚才导入的交付日志文件名类似\开头,打开里面看是否有节点,如果没有,那么重新启动一下U8服务器

35. U8适配器到处订单总提示“该数据已在对方系统存在,不能导出”

原因是因为U8接口报错:“拒绝访问”,原因确认可打开U8安装目录u8soft\\eai\\logs\\saleorder\\{英文字符串}\\response.xml进行查看。根据U8EAI-FAQ文档中针对reader用户处理方法解决,并将asp.net及来宾用户添加到管理员组中,重新启动iis,可执行命令iisreset。

36. U8适配器导入交付成功后中间表中数据不能够删除

请检查交付对应的是发货单还是出库单,确认后去u8帐套数据库中查找中间表select * from tc_ufinterfaceupdate ,看 roottag字段的内容是consignment还是storeout。consignment:发货单,storeout:出库单。

如果与适配器对应关系不相符那么肯定不会自动删除,需要将原来脚本更改,可以参照一下sql语句进行修改

--在U8数据库服务器中,每一个UFData库中执行 --CRM与U8的中间表

delete from tc_ufinterfaceupdate where roottag='consignment' GO

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'tc_dispatchlistinsert' AND type = 'TR') DROP TRIGGER tc_dispatchlistinsert GO

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'tc_dispatchlistupdate' AND type = 'TR') DROP TRIGGER tc_dispatchlistupdate GO

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'tc_dispatchlistdelete' AND type = 'TR') DROP TRIGGER tc_dispatchlistdelete GO

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'tc_rdrecordinsert' AND type = 'TR') DROP TRIGGER tc_rdrecordinsert GO

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'tc_rdrecordupdate' AND type = 'TR') DROP TRIGGER tc_rdrecordupdate GO

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'tc_rdrecorddelete' AND type = 'TR') DROP TRIGGER tc_rdrecorddelete GO

CREATE TRIGGER tc_rdrecordinsert ON rdrecord FOR INSERT