亿格用友软件

用友通系列的软件在采购管理,销售管理和库存管理中均有单据列表这个查询按钮,可以汇总查询各种单据明细信息。

用友t3采购单无法删除(用友T3单据列表点击无反应)(1)

打开单据列表的过滤条件界面,录入条件,点击确认后,无任何反应,无任何数据显示出来。

导致这种情况发生,一般有如下几个方面的情况:

  1. 单据列表定义表vouchlist 表问题
  2. 视图有问题
  3. 单据自定义项的问题
  4. 自定义数据类型有误
  5. 数据兼容级别的问题
单据列表定义表vouchlist 表问题

Vouchlist表单据列表定义,表如下:

用友t3采购单无法删除(用友T3单据列表点击无反应)(2)

除了账套中的一些自定义项不同外,此表一般和正常账套是一样的。

所以可以新建一套账,将新建账套中的自定义项设置和有问题的账套一致,然后删除有问题账套的vouchlist 表,将新建账套的vouchlist表导入到有误的账套中。

具体操作如下:

1、删除vouchlist表:deletevouchlist

2、导表(以sql2000数据库为例)

点击“导入和导出数据”:

用友t3采购单无法删除(用友T3单据列表点击无反应)(3)

点击“下一步”后,选择“源数据库”即新建的账套,如图:

用友t3采购单无法删除(用友T3单据列表点击无反应)(4)

然后再点击“下一步”,选择“目的数据库”,即有问题的账套,再点击“下一步”,选择“从源数据库复制表和视图”:

用友t3采购单无法删除(用友T3单据列表点击无反应)(5)

然后再点击“下一步”,选择表vouchlist:

用友t3采购单无法删除(用友T3单据列表点击无反应)(6)

然后再点击“下一步”进行导入即可。

视图的问题

在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。视图总是显示最近的数据。每当用户查询视图时,数据库引擎会通过使用 SQL 语句来重建数据。可以通过 DROP VIEW 命令来删除视图。

通过以上解释,可以理解为视图是通过sql语句得到的一张显示最近数据的表,本身并不存储任何数据。所以当视图有问题时会导致要显示的表显示不了,这时可以通过删除视图重新创建视图来解决。

  1. 采购相关视图:

采购订单zpurPOList,zpurpotail采购入库单zpurRkdList,zpurrkdtail采购发票zpurBillList, zpurbilltail。

  1. 销售相关视图:

SaleOrderListSales_FHD_ListSaleBillVouchZList。

  1. 库存相关视图:

销售出库单kcsaleoutlist 产成品入库单RecordInList材料出库单RecordOutList 生产加工单KCMatchList其他入库单KCOtherInList其他出库单KCOtherOutList。

  1. 视图删除

数据库中找开对应的账套数据库下的视图,

找到视图zpurpolist,点右键删除。

  1. 创建视图

从正常账套,打开视图(如999演示账套中)

用友t3采购单无法删除(用友T3单据列表点击无反应)(7)

打开视图,点右键,选择“在新窗口中编写对象脚本”-“创建”

用友t3采购单无法删除(用友T3单据列表点击无反应)(8)

这时会出现如下的窗口:

用友t3采购单无法删除(用友T3单据列表点击无反应)(9)

然后下图标示的位置选对需要创建视图的账套年度库,点击执行,在此账套创建此视图。

用友t3采购单无法删除(用友T3单据列表点击无反应)(10)

自定义项的问题

这种情况出现在:数据量较大,且单据列表中将此自定义项显示出来统计的时候,这时使用的自定义项名称一定不要和系统中的字段名称有重复。如下图中的件数,开单数量和开单金额均会导致单据列表打不开。把“开单数量”改成“开单数量1”,把“开单金额”改成“开单金额1”,把件数改为件数1 等,然后再打开相应的单据列表即可正常。

用友t3采购单无法删除(用友T3单据列表点击无反应)(11)

  1. 自定义项数据类型不正确

使用SQL数据库中的事件探查器来帮助确认单据列表打不开的原因。软件中找开单据列表,事件探查器跟踪如下:

用友t3采购单无法删除(用友T3单据列表点击无反应)(12)

找到Select Distinct '' as 'zz'…这条SQL执行语句,以及Select * From VouchList… 复制到查询分析器中,执行第一条语句

3、如果第一条Select Distinct '' as 'zz'…这条SQL语句执行出来的结果如下图:

用友t3采购单无法删除(用友T3单据列表点击无反应)(13)

将varchar值 '397WZ-578-0001'转换为数据类型为int的列时发生语法错误。通过软件确认后,发现新力编号这个自定义项有问题。

用友t3采购单无法删除(用友T3单据列表点击无反应)(14)

通过之前跟踪的第二条语句,Select * From VouchList Where cVouchCode='24' order by iColPos可以确认‘新力编号’在VouchList表中,单据类型为cVouchCode='24'。在查询分析器中执行以下语句:

select ifieldtype, * from vouchlist Where cVouchCode='24' and citemname='新力编号'

用友t3采购单无法删除(用友T3单据列表点击无反应)(15)

查询后确认数据类型(ifieldtype)是9,而不是int类型(int类型编号是5)

确认问题的原因后,执行以下语句:

update vouchlist set ifieldtype = 5 Where cVouchCode='24' and citemname='新力编号'

再进入软件,列表就可以打开了。

注:这种情况,也可以通过第一种情况的方法来解决,就是新建立一个自定义项和此账套一致的账套,然后通过导vouchlist表来解决。

数据库级别问题

以上为常见的单据列表打不开的问题,这个是比较不常见的现象,就是数据库兼容级别有问题。

正常的数据兼容级别如下图:

1、找到对应的账套数据年度库,点击右键,点“属性“:

“选项“页签中,数据库兼容级别为 80。

用友t3采购单无法删除(用友T3单据列表点击无反应)(16)

用友软件(广州)客服中心

广州市亿格科技有限公司

,