您好,欢迎光临青岛用友软件销售公司网站!青岛友鹏源信息科技有限公司

关于我们 产品中心

欢迎来电咨询

18605320425

快速导航

全国服务热线

0532-66730821

客户至上、诚意为先

百科问答

当前位置:首页>>新闻中心>>百科问答

用友T3创建年度帐时提示:对象名 TAX_SB_NSSB_BJ_ZB 无效?

2021-06-06 06:34:32 已有182人浏览

问题现象:近期有一个用友通T+3财务软件的客户在进行年度数据结转时卡在了建立新的会计年度这边,主要错误现象为:用友T+3创建年度帐时提示:对象名 T+AX_SB_NSSB_BJ_ZB 无效?如下图所示:



确定后可能还会有如下提示:未准备命令,而且一直退不出去,关不掉系统管理。



首先想到的办法就是把这个账套降级后再升级试一下看,因为不少的建立年度账的问题试用这个方法都可以解决,于是开始进数据库中操作:use ufdata_010_2016

update accinformation set cvalue='8.213' where cid ='99' and csysid = 'AA'

可惜,降级后进系统管理升级SQLSERVER数据库时提示了更多的错误,发现不行。
后来想到之前发布过一款专门用于用友T+3升级问题之降级处理的工具,于是使用工具进行尝试,看是否可以成功。

1、打开工具后,可直接进行修复,如果是提示下面的报错,要考虑电脑上是否安装好了用友通T+3软件,另外解压后存在在C盘根目录下进行尝试。


2、连接数据库时,注意自己的SA口令别输入错误,如果不记得SA密码的话,可以参考教程进行修改:https://www.yyrjxz.com/xue/sa.html。


3、用友小助理比较喜欢研究工具,后来发现工具中的脚本并不仅仅是降级这么简单,大家可以一起看一下。update accinformation set cvalue='8.216',cdefault='8.216' where cname='versionflag'

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Rpt_FldDEF]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

select * into tempdb..yld1 from rpt_flddef

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Rpt_FldDEF]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[Rpt_FldDEF]

GO

CREATE TABLE [dbo].[Rpt_FldDEF] (

[ID_Field] [int] IDENTITY (1, 1) NOT NULL ,

[ID] [int] NULL ,

[Name] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,

[Expression] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,

[Condition] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,

[ModeEx] [int] NULL ,

[OrderEx] [int] NULL ,

[TopEx] [int] NULL ,

[LeftEx] [int] NULL ,

[Width] [int] NULL ,

[Height] [int] NULL ,

[Visible] [int] NULL ,

[Note] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,

[nameForeign] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,

[iColSize] [int] NULL ,

[FormatEx] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[iAlignStyle] [int] NULL ,

[iSize] [int] NULL

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Rpt_FldDEF] WITH NOCHECK ADD

CONSTRAINT [Rpt_FldDEF_PK] PRIMARY KEY  CLUSTERED

(

[ID_Field]

)  ON [PRIMARY]

GO

ALTER TABLE [dbo].[Rpt_FldDEF] ADD

CONSTRAINT [DF__Rpt_FldDe__iColS__76B76416] DEFAULT (0) FOR [iColSize],

CONSTRAINT [DF__Rpt_FldDe__iAlig__77AB884F] DEFAULT (0) FOR [iAlignStyle],

CONSTRAINT [DF__Rpt_FldDe__iSize__789FAC88] DEFAULT (0) FOR [iSize]

GO

CREATE  INDEX [ID] ON [dbo].[Rpt_FldDEF]([ID]) ON [PRIMARY]

GO

CREATE  UNIQUE  INDEX [ID_Field] ON [dbo].[Rpt_FldDEF]([ID_Field]) ON [PRIMARY]

GO

setuser

GO

EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_Height_D]', N'[Rpt_FldDEF].[Height]'

GO

EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_ID_D]', N'[Rpt_FldDEF].[ID]'

GO

EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_LeftEx_D]', N'[Rpt_FldDEF].[LeftEx]'

GO

EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_ModeEx_D]', N'[Rpt_FldDEF].[ModeEx]'

GO

EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_OrderEx_D]', N'[Rpt_FldDEF].[OrderEx]'

GO

EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_TopEx_D]', N'[Rpt_FldDEF].[TopEx]'

GO

EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_Visible_D]', N'[Rpt_FldDEF].[Visible]'

GO

EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_Width_D]', N'[Rpt_FldDEF].[Width]'

GO

setuser

GO

set identity_insert Rpt_FldDEF on

insert into dbo.Rpt_FldDEF(ID_Field, ID, Name, Expression, Condition, ModeEx, OrderEx, TopEx, LeftEx, Width, Height, Visible, Note, nameForeign, iColSize, FormatEx, iAlignStyle, iSize)

select iD_Field, ID, Name, Expression, Condition, ModeEx, OrderEx, TopEx, LeftEx, Width, Height, Visible, Note, nameForeign, iColSize, FormatEx, iAlignStyle, iSize

-- select *

from tempdb..yld1

set identity_insert Rpt_FldDEF off

go

if exists (select * from tempdb..sysobjects where name='yld1')

drop table tempdb..yld1

GO

通过上述SQL脚本可以看出来除了降级,还有操作是通过删除RPT开头的数据库表,再重建来解决此问题。