用友软件客户服务热线:400-0909-311 欢迎来到用友软件营销服务中心

用友T+ Cloud教程

用友软件为您提供用友T+Cloud教程、用友T+Cloud视频教程、用友云软件教程、用友云ERP软件教程、T+Cloud视频教程财务软件教程,找用友T+Cloud财务软件教程,上用友软件网,更多用友软件教程点击查看

T+19.0升级报错:【库存(ST)】模块的SQL 脚本 19.000.000.0181 DATA33001

来源:用友软件  日期:2025-07-19 10:30:12

【问题现象】:

 

19.0升级182号以上补丁,报错:【库存(ST)】模块的SQL 脚本: 19.000.000.0181 DATA_DPRD_ST_Mix_SERVICE_177090_NL-33001 出错:子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。

 

【解决方案】:

 

先备份好账套,进入数据库,对应用账套库执行下列语句:(全部复制过去,一起执行)

执行完后,接着升级即可;

 

脚本:

 

----补丁脚本----

GO

--批量修改字段顺序

ALTER PROCEDURE [dbo].[EAP_SP_SearchItem_BatchSetLocation]

@SearchName nvarchar(200),

@PreFieldName nvarchar(200),

@FieldNames nvarchar(1000) --字段名称 以,分割

AS

BEGIN

declare @SearchId int

declare @PreOrderNum int

declare @UpdateNum int

declare @TEMPTable TABLE ( a varchar(100),b int )

SELECT @SearchId=[Id] FROM [EAP_SearchInfo_Ext] WHERE [name]=@SearchName

 

INSERT @TEMPTable(a,b) SELECT a,b FROM dbo.Str_Split(@FieldNames,',') order by b

SELECT @UpdateNum = count(*) FROM @TEMPTable

IF(@PreFieldName='')

BEGIN

SET @PreOrderNum = (select MIN([OrderNum]) FROM [EAP_SearchItem_Ext] where [SearchId]=@SearchId )

--@SearchName对应的所有查询项[OrderNum]字段值都加+ @UpdateNum

UPDATE [EAP_SearchItem_Ext]

SET [OrderNum]=[OrderNum]+ @UpdateNum

WHERE [SearchId]=@SearchId

 

--@SearchName中的查询项(@FieldName)的[OrderNum]设置为最小值

UPDATE si SET si.OrderNum = @PreOrderNum+ (t.b-1)

FROM [EAP_SearchItem_Ext] si,@TEMPTable t

WHERE si.[FieldName] = t.a

and si.[SearchId]=@SearchId

UPDATE EAP_SearchPlanItem_Ext

SET OrderNum = OrderNum + @UpdateNum

FROM EAP_SearchPlanItem_Ext

inner join EAP_SearchPlanInfo_Ext on EAP_SearchPlanItem_Ext.planid = EAP_SearchPlanInfo_Ext.id

WHERE OrderNum>@PreOrderNum and EAP_SearchPlanInfo_Ext.SearchId = @SearchId and EAP_SearchPlanInfo_Ext.SearchStyle<>3

RETURN

END

 

ELSE

BEGIN

SET @PreOrderNum = (select top 1 [OrderNum] from [EAP_SearchItem_Ext] where [SearchId]=@SearchId and [FieldName]=@PreFieldName)

UPDATE [EAP_SearchItem_Ext]

set [OrderNum]=[OrderNum]+@UpdateNum

where [OrderNum]>@PreOrderNum and [SearchId]=@SearchId

UPDATE si SET si.OrderNum = @PreOrderNum+ (t.b)

FROM [EAP_SearchItem_Ext] si,@TEMPTable t

WHERE si.[FieldName] = t.a

and si.[SearchId]=@SearchId

UPDATE EAP_SearchPlanItem_Ext

SET OrderNum = OrderNum + @UpdateNum

FROM EAP_SearchPlanItem_Ext

inner join EAP_SearchPlanInfo_Ext on EAP_SearchPlanItem_Ext.planid = EAP_SearchPlanInfo_Ext.id

WHERE OrderNum>@PreOrderNum and EAP_SearchPlanInfo_Ext.SearchId = @SearchId and EAP_SearchPlanInfo_Ext.SearchStyle<>3

END

 

UPDATE pitem set pitem.OrderNum = si.OrderNum

FROM EAP_SearchPlanItem_Ext pitem

join EAP_SearchPlanInfo_Ext sp on pitem.planid = sp.id

join EAP_SearchItem_Ext si on pitem.SearchItemId = si.id

WHERE sp.SearchId = @SearchId and si.FieldName in(select a from @TEMPTable) and sp.SearchStyle<>3

END ; ;

GO

相关信息

用友U9Cloud企业版免费下载:高效企业管理软件,
在当今快速变化的商业环境中,企业面临着前所未有的挑战和机遇。为了保持竞争力并实现可持续发展,企业必须拥抱数字化转型。在这一背景下,
yonBIP用友人力云操作手册:全面指南与实用技巧,
在当今快速变化的商业环境中,企业面临着前所未有的挑战,特别是在人力资源管理方面。为了保持竞争力,公司需要采用先进的技术来优化其人力
用友畅捷通T+Cloud云主机版操作说明
T+cloud 云主机版中云服务器套餐提供两位模式:1、业务规模小的客户使用【单应用服务器】模式;2、业务规模大、数据量大、对服务器效率性能要求高的客户使用【应用+数据服务器】模式;具体业务规模的匹配和推荐配置参考上市说明的描述。两种不同模式下的操作说明分别如下。
用友畅捷通T+软件多机构总部下发的往来单位如何修改
用友畅捷通T+多机构总部下发的往来单位如何修改?【问题现象】子机构在修改总部下发的档案的时候对应字段是灰色的修改不了,这个时候如果想

联系我们,用友竭诚为您提供数智化咨询服务

400-0909-311
  • 免费上门或线上产品演示
  • 专业客户顾问全程服务
  • 企业定制化解决方案
  • 全天候业务咨询服务