管家婆财贸双全存货核算类型对应会计科目禁止删除
存货核算类型对应会计科目禁止删除
零售系统生成单据不能删除
本单据或后续单据已经生成了凭证,不能修改删除
不能删除一类会计科目。
该会计科目已经被删除。
此记录为系统会计科目
此为固定资产增减方式指定科目
该类型的科目不能全部删除。
此记录有对应的科目辅助核算项目的期初数据
该供应商在“期初业务数据—期初应付加工费”中有数据。
该往来单位在“期初业务数据—期初应付账款”中有数据。
该往来单位在“期初业务数据—期初应收账款”中有数据。
该职员有对应的科目辅助核算项目的期初数据。
该职员已作为开票人被使用过。
该职员在单据多级审核中被使用过,不能删除。
该职员在单据多级审核中被使用过,不能删除。
该职员在标准BOM中被使用过,不能删除。
该部门已在发票中被使用。
该部门有对应的科目辅助核算项目的期初数据。
该部门的部门主管已被设为审核人,不能被删除。
该工序在工序计划单中被使用
该工作组在工序中被使用过
该工序计划在存货中被使用过
该工序计划在单据中被使用过
该工序计划在单据中被使用过
该工序计划在草稿中被使用过
P_BAS_DeleteBaseInfo 存储过程 注意观察if判断语句
--删除辅助核算中全部为0的数据,以防止"删除基本信息的时候,会提示用户基本信息被使用不能删除。" Add By Guiyun 2008-03-05
DELETE FROM t_cw_atodini
WHERE qty = 0 and debitttl00 = 0 and lendttl00 = 0 and debitqty00 = 0 and lendqty00 = 0 and
debit00 = 0 and lend00 = 0 and debitlend = 0 and debitttl = 0 and lendttl = 0 and
qtyttl = 0 and wdebit00 = 0 and wlend00 = 0 and wdebitttl00 = 0 and wlendttl00 = 0 and
wdebitlend = 0 and wdebitttl = 0 and wlendttl = 0 and debitsy = 0 and wdebitsy = 0 and
lendsy = 0 and wlendsy = 0 and ((debitttl00 - lendttl00) = (debit00 - lend00)) and
((wdebitttl00 - wlendttl00) = (wdebit00 - wlend00))
-- 检查基本信息是否被业务使用过
EXEC P_BAS_BaseInfoUsed
@typeid ,
@dbname ,
@li_Used OUT,@prm_ErrorMsg OUT
IF @li_Used < 0
RETURN @li_Used
--判断插件中使用的基本信息能否删除
EXEC P_BAS_CheckBaseInfoUsed
@typeid,
@dbname,
@li_Used OUT,
@prm_ErrorMsg OUT,
1
IF @li_Used < 0
RETURN @li_Used
-- 检查ATYPE是否能够删除
IF @dbname= 'atypecw'
BEGIN
IF EXISTS(SELECT * FROM atypecw WHERE typeid = @typeid AND sonnum <> 0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类会计科目。'
RETURN -3
END
--检查会计科目是否已经被删除
IF NOT EXISTS(SELECT * FROM atypecw WHERE typeid = @typeid AND deleted = 0)
BEGIN
SELECT @prm_ErrorMsg='该会计科目已经被删除。'
RETURN -11
END
--开始判断系统科目
IF (EXISTS(SELECT * FROM atypecw WHERE typeid = @typeid AND sysrow<>0)) OR
(EXISTS(SELECT * FROM T_CW_SetAtypeList WHERE atypeid = @typeid))
BEGIN
SELECT @prm_ErrorMsg='此记录为系统会计科目'
RETURN -5
END
DECLARE @TradeId INT
SELECT @TradeId = CAST(SubValue AS INT)
FROM dbo.T_GBL_SysDataCW
WHERE SubName = 'TradeId'
SELECT ProjectNameEn, atypeID, LEN(atypeID) AS ATypeLen
INTO #DefaultSubjectContrast
FROM dbo.T_CW_TradeSubjectContrast
WHERE TradeID = @TradeId AND IsVisible = 1
IF EXISTS (SELECT * FROM T_CW_SubjectContrast WHERE atypeid = @typeid AND IsVisible = 1 AND LEN(@typeid) < 15)
BEGIN
SELECT @prm_ErrorMsg='此记录为系统会计科目'
RETURN -5
END
--进项税、销项税、应付、预付加工费等
if exists(select 1 from T_CW_SubjectContrast as t left join #DefaultSubjectContrast as t1 on t.ProjectNameEn = t1.ProjectNameEn
where t.atypeid = @typeid and t.IsVisible = 1 and Len(@typeid) <= IsNull(t1.ATypeLen, 0) and
t.ProjectNameEn in ('BuyTax_ID', 'SaleTax_ID', 'WWJG_ID', 'AP_ID', 'PRE_AP_ID', 'JBSCCB_ID',
'WeiWai_AP_ID', 'WeiWai_Pre_AP_ID', 'WWJG_FEE_ID'))
Begin
SELECT @prm_ErrorMsg='此记录为系统会计科目'
RETURN -5
End
IF (EXISTS(SELECT * FROM T_GD_FixBasic WHERE atypeid = @typeid))
BEGIN
SELECT @prm_ErrorMsg='此为固定资产增减方式指定科目'
RETURN -5
END
IF LEN(@typeid) = 10
BEGIN
SELECT @ls_kmgs = COUNT(*) FROM atypecw WHERE typeid LIKE (LEFT(@typeid,5)+'%')
AND leveal = 2 AND deleted = 0
IF @ls_kmgs <= 1
BEGIN
SELECT @prm_ErrorMsg=' 该类型的科目不能全部删除。'
RETURN -3
END
END
IF EXISTS(SELECT * FROM T_CW_Atodini WHERE atypeid = @typeid)
BEGIN
SELECT @prm_ErrorMsg='此记录有对应的科目辅助核算项目的期初数据'
RETURN -5 --t_cw_atodini 辅助属性的期初
END
EXEC [dbo].[P_XIWA_GetUpdateTag] 'ATypeCW', @UpdateTag OUTPUT
UPDATE atypecw SET deleted = 1, UpdateTag = @UpdateTag WHERE typeid = @typeid
IF @@ROWCOUNT = 0
RETURN -1
ELSE
BEGIN
SELECT @PRec = Rec, @parid = parid
FROM atypecw
WHERE typeid = @typeid
SELECT @sonnum = sonnum FROM atypecw
WHERE typeid = @parid
--把删除成功的基本信息保存下来
--insert into DeletedBaseInfo (TypeID,DelRec,dbname)values(@typeid,@PRec,'atypecw') --会计科目是非物理删除,以deleted区分就可以了
DECLARE @GPUpdateTag INT
EXEC [dbo].[P_XIWA_GetUpdateTag] 'T_GoodsProp', @GPUpdateTag OUTPUT
DECLARE @YearProfitId NVarchar(50), @FinancialId NVarchar(50)
IF (LEN(@typeid) > 10)
BEGIN
IF @sonnum = 1
BEGIN
UPDATE T_CW_SubjectContrast SET atypeid = @parid WHERE atypeid = @typeid
UPDATE t_goodsprop SET patypeid = @parid, UpdateTag = @GPUpdateTag WHERE patypeid = @typeid
UPDATE t_goodsprop SET iatypeid = @parid, UpdateTag = @GPUpdateTag WHERE iatypeid = @typeid
UPDATE t_goodsprop SET oatypeid = @parid, UpdateTag = @GPUpdateTag WHERE oatypeid = @typeid
UPDATE t_goodsprop SET catypeid = @parid, UpdateTag = @GPUpdateTag WHERE catypeid = @typeid
Update T_GD_FixDetail Set DepAtypeid = @parid where DepAtypeid = @typeid --处理固定资产相关科目(将客户端代码移过来) Add By Guiyun 2009-06-12
SELECT @FinancialId = atypeID FROM T_CW_SubjectContrast
WHERE ProjectNameEn = 'ForeignOver_ID'
UPDATE T_CW_Waibi SET HAtypeID = @FinancialId WHERE HAtypeID = @typeid
SELECT @YearProfitId = atypeID FROM T_CW_SubjectContrast
WHERE ProjectNameEn = 'YearProfit_ID'
UPDATE dbo.T_CW_JZSYCon SET NRAtypeID = @YearProfitId WHERE NRAtypeID = @typeid
UPDATE dbo.T_CW_JZSYCon SET SYAtypeID = @parid, NRAtypeID = @YearProfitId WHERE SYAtypeID = @typeid
END
ELSE IF (@sonnum > 1)
BEGIN
SELECT @tempid = MIN(usercode) FROM atypecw WHERE parid = @parid AND deleted <> 1
SELECT @tempid = typeid FROM atypecw WHERE usercode = @tempid AND deleted <> 1
UPDATE T_CW_SubjectContrast SET atypeid = @tempid WHERE atypeid = @typeid
UPDATE t_goodsprop SET patypeid = @tempid, UpdateTag = @GPUpdateTag WHERE patypeid = @typeid
UPDATE t_goodsprop SET iatypeid = @tempid, UpdateTag = @GPUpdateTag WHERE iatypeid = @typeid
UPDATE t_goodsprop SET oatypeid = @tempid, UpdateTag = @GPUpdateTag WHERE oatypeid = @typeid
UPDATE t_goodsprop SET catypeid = @tempid, UpdateTag = @GPUpdateTag WHERE catypeid = @typeid
Update T_GD_FixDetail Set DepAtypeid = @tempid where DepAtypeid = @typeid --处理固定资产相关科目(将客户端代码移过来) Add By Guiyun 2009-06-12
SELECT @FinancialId = atypeID FROM T_CW_SubjectContrast
WHERE ProjectNameEn = 'ForeignOver_ID'
UPDATE T_CW_Waibi SET HAtypeID = @FinancialId WHERE HAtypeID = @typeid
SELECT @YearProfitId = atypeID FROM T_CW_SubjectContrast
WHERE ProjectNameEn = 'YearProfit_ID'
UPDATE dbo.T_CW_JZSYCon SET NRAtypeID = @YearProfitId WHERE NRAtypeID = @typeid
END
END
ELSE
BEGIN
SELECT @YearProfitId = atypeID FROM T_CW_SubjectContrast
WHERE ProjectNameEn = 'YearProfit_ID'
SELECT @FinancialId = atypeID FROM T_CW_SubjectContrast
WHERE ProjectNameEn = 'ForeignOver_ID'
UPDATE dbo.T_CW_JZSYCon SET NRAtypeID = @YearProfitId WHERE NRAtypeID = @typeid
UPDATE dbo.T_CW_Waibi SET HAtypeID = @FinancialId WHERE HAtypeID = @typeid
END
--清除业务草稿中使用的业务类型(未在正式单据中使用的业务类型) Add By Guiyun 2009-05-05
update dlyndx set ifcheck = '' where IsNull(ifcheck, '') <> '' and exists (select 'Y' from DifAType where AType = @typeid) and draft = 1
--删除未在正式单据中使用的业务类型 Add By Guiyun 2009-04-13
delete from DifAtype where AType = @typeid --在P_JXC_BaseInfoUsed已判断业务类型是否在正式单据中被使用
--处理多栏账中的查询条件,多栏账只能选类
IF @sonnum = 1
BEGIN
DELETE T_CW_ASonColNdx WHERE AtypeID = @parid
IF @parid <> '00000'
INSERT INTO dbo.T_ATypeRight(GroupId, ATypeID, Deleted)
SELECT GroupId, @parid, 0 FROM T_ATypeRight WHERE ATypeID = @typeid AND Deleted = 0
END
--将该科目从多栏账查询条件会计科目列表中删除 Add By Guiyun 2010-08-06
DECLARE @li_orderidndx INT
SELECT @li_orderidndx = orderidndx
FROM T_CW_ASonCol
WHERE AtypeID = @typeid
DELETE FROM dbo.T_CW_ASonCol WHERE AtypeID = @typeid
IF NOT EXISTS ( SELECT 1 FROM T_CW_ASonCol WHERE orderidndx = @li_orderidndx)
DELETE FROM T_CW_ASonColNdx WHERE orderid = @li_orderidndx
UPDATE dbo.T_ATypeRight SET Deleted = 1 WHERE ATypeID = @typeid AND Deleted = 0
DELETE FROM dbo.T_CW_JZSYCon WHERE SYAtypeID = @typeid
UPDATE atypecw SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
Delete From T_CW_MoneyStreamEquivalentAtype Where AtypeId = @typeid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Atype'
GOTO DeleteBasicRelatedData
END
END
-- 检查PTYPE是否能够删除
IF @dbname='ptype'
BEGIN
IF EXISTS(SELECT * FROM ptype WHERE typeid = @typeid AND sonnum <> 0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类存货。'
RETURN -3
END
SELECT @PRec = Rec FROM ptype WHERE typeid = @typeid
SELECT @parid = parid FROM ptype WHERE typeid = @typeid
DELETE ptype WHERE typeid=@typeid
IF @@ROWCOUNT=0 RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'PType', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'ptype', @UpdateTag)
SELECT @sonnum = sonnum FROM ptype WHERE typeid = @parid
UPDATE ptype SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
IF @sonnum = 1 AND @parid <> '00000'
Begin
INSERT INTO dbo.T_Pright( PRightGroup, PTypeID, Deleted )
SELECT PRightGroup, @parid, 0 FROM T_Pright WHERE PTypeID = @typeid AND Deleted = 0
End
Delete From T_Pright Where PtypeId = @typeid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Ptype'
END
END
-- 检查BTYPE是否能够删除
IF @dbname= 'btype'
BEGIN
IF EXISTS(SELECT * FROM btype WHERE typeid = @typeid AND sonnum <> 0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类往来单位。'
RETURN -3
END
IF EXISTS(SELECT * FROM btype WHERE typeid = @typeid AND (
(ISNULL(WeiWaiPreAPTotal00 , 0) <> 0) OR (ISNULL(WeiWaiAPTotal00 , 0) <> 0)))
BEGIN
SELECT @prm_ErrorMsg='该供应商在“期初业务数据—期初应付加工费”中有数据。'
RETURN -3
END
--end
IF EXISTS(SELECT * FROM btype WHERE typeid = @typeid AND (
(ISNULL(APTotal00 , 0) <> 0) OR (ISNULL(PreAPTotal00 , 0) <> 0)))
BEGIN
SELECT @prm_ErrorMsg='该往来单位在“期初业务数据—期初应付账款”中有数据。'
RETURN -3
END
IF EXISTS(SELECT * FROM btype WHERE typeid = @typeid AND (
(ISNULL(ARTotal00,0)<> 0) OR (ISNULL(PreARTotal00,0)<> 0)))
BEGIN
SELECT @prm_ErrorMsg='该往来单位在“期初业务数据—期初应收账款”中有数据。'
RETURN -3
END
IF EXISTS(SELECT * FROM WeiWaiPrice WHERE btypeid = @typeid )
BEGIN
DELETE FROM WeiWaiPrice WHERE btypeid = @typeid
END
SELECT @PRec = Rec,@IsClient = isclient FROM btype WHERE typeid = @typeid
SELECT @parid = parid FROM btype WHERE typeid = @typeid
DELETE btype WHERE typeid=@typeid
IF @@ROWCOUNT = 0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'BType', @UpdateTag OUTPUT
if @IsClient = 0
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'bvtype', @UpdateTag)
else
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'bctype', @UpdateTag)
SELECT @sonnum = sonnum FROM btype WHERE typeid = @parid
UPDATE btype SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
IF @sonnum = 1 AND @parid <> '00000'
BEGIN
IF @IsClient = 0
INSERT INTO dbo.T_Sright( SRightGroup, STypeID, Deleted ) SELECT SRightGroup, @parid, 0 FROM T_Sright WHERE STypeID = @typeid AND Deleted = 0
ELSE
INSERT INTO dbo.T_Cright(CRightGroup, CTypeID, Deleted ) SELECT CRightGroup, @parid, 0 FROM T_Cright WHERE CTypeID = @typeid AND Deleted = 0
END
Delete From T_Sright Where STypeId = @typeid
Delete From T_Cright Where CTypeId = @typeid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Btype'
GOTO DeleteBasicRelatedData
END
END
-- 检查EMPLOYEE是否能够删除
IF @dbname= 'employee'
BEGIN
IF EXISTS(SELECT * FROM employee WHERE typeid = @typeid AND sonnum <> 0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类职员。'
RETURN -3
END
--IF EXISTS(SELECT 1 FROM T_CW_Atodini WHERE etypeid = @typeid)
--BEGIN
-- SELECT @prm_ErrorMsg='该职员有对应的科目辅助核算项目的期初数据。'
-- RETURN -3
--END
--IF EXISTS(SELECT 1 FROM T_jxc_InvoiceDlyndx WHERE ETypeid = @typeid)
--BEGIN
-- SELECT @prm_ErrorMsg='该职员已作为开票人被使用过。'
-- RETURN -3
--END
--IF EXISTS(SELECT 1 FROM [AuditDetail-E] WHERE ETypeid = @typeid)
--BEGIN
-- SELECT @prm_ErrorMsg='该职员在单据多级审核中被使用过,不能删除。'
-- RETURN -3
--END
--IF EXISTS(SELECT 1 FROM [AuditNdx-E] WHERE ETypeid = @typeid)
-- BEGIN
-- SELECT @prm_ErrorMsg='该职员在单据多级审核中被使用过,不能删除。'
-- RETURN -3
-- END
IF EXISTS(SELECT 1 FROM [T_SC_BOM_ndx] WHERE inputno = @typeid OR auditor = @typeid OR ModifyPerson = @typeid)
BEGIN
SELECT @prm_ErrorMsg='该职员在标准BOM中被使用过,不能删除。'
RETURN -3
END
SELECT @PRec = Rec FROM employee WHERE typeid = @typeid
SELECT @parid = parid FROM employee WHERE typeid = @typeid
DELETE employee WHERE typeid = @typeid
IF @@ROWCOUNT = 0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Employee', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'employee', @UpdateTag)
SELECT @sonnum = sonnum FROM employee WHERE typeid = @parid
UPDATE employee SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Employee'
GOTO DeleteBasicRelatedData
END
END
-- 检查STOCK是否能够删除
IF @dbname='stock'
BEGIN
IF EXISTS(SELECT * FROM stock WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类仓库。'
RETURN -3
END
SELECT @PRec = Rec FROM stock WHERE typeid = @typeid
SELECT @parid = parid FROM stock WHERE typeid = @typeid
DELETE stock WHERE typeid=@typeid
IF @@ROWCOUNT = 0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Stock', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'stock', @UpdateTag)
SELECT @sonnum = sonnum FROM stock WHERE typeid = @parid
UPDATE stock SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
IF @sonnum = 1 AND @parid <> '00000'
INSERT INTO dbo.T_Kright( KRightGroup, KTypeID, Deleted ) SELECT KRightGroup, @parid, 0 FROM T_Kright WHERE KTypeID = @typeid AND Deleted = 0
--删除基本信息权限数据
UPDATE dbo.T_Kright SET Deleted = 1 WHERE KTypeID = @typeid AND Deleted = 0
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Stock'
GOTO DeleteBasicRelatedData
END
END
-- 检查部门库能否删除
IF @dbname='department'
BEGIN
IF EXISTS(SELECT * FROM department WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类部门。'
RETURN -3
END
--IF EXISTS(SELECT * FROM T_jxc_InvoiceDlyndx WHERE ProjectID = @typeid)
--BEGIN
-- SELECT @prm_ErrorMsg='该部门已在发票中被使用。'
-- RETURN -3
--END
--IF EXISTS(SELECT 1 FROM T_CW_Atodini WHERE dtypeid = @typeid)
-- BEGIN
-- SELECT @prm_ErrorMsg='该部门有对应的科目辅助核算项目的期初数据。'
-- RETURN -3
--END
IF EXISTS(SELECT 1 FROM [AuditDetail-E] WHERE EtypeID = @typeid AND OperatorType = 1 )
BEGIN
SELECT @prm_ErrorMsg='该部门的部门主管已被设为审核人,不能被删除。'
RETURN -3
END
SELECT @PRec = Rec FROM department WHERE typeid = @typeid
SELECT @parid = parid FROM department WHERE typeid = @typeid
DELETE department WHERE typeid = @typeid
IF @@ROWCOUNT = 0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Department', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'department', @UpdateTag)
SELECT @sonnum = sonnum FROM department WHERE typeid = @parid
UPDATE department SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
IF @sonnum = 1 AND @parid <> '00000'
INSERT INTO dbo.T_Dright( DRightGroup, DTypeID, Deleted ) SELECT DRightGroup, @parid, 0 FROM T_Dright WHERE DTypeID = @typeid AND Deleted = 0
Delete From T_Dright Where DtypeId = @typeid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'DepartMent'
GOTO DeleteBasicRelatedData
END
END
-- 检查车间库能否删除
IF @dbname='WorkShop'
BEGIN
IF EXISTS(SELECT * FROM WorkShop WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类车间。'
RETURN -3
END
SELECT @PRec = Rec FROM WorkShop WHERE typeid = @typeid
SELECT @parid = parid FROM WorkShop WHERE typeid = @typeid
DELETE WorkShop WHERE typeid = @typeid
IF @@ROWCOUNT = 0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Workshop', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'WorkShop', @UpdateTag)
SELECT @sonnum = sonnum FROM WorkShop WHERE typeid = @parid
UPDATE WorkShop SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'WorkShop'
GOTO DeleteBasicRelatedData
END
END
-- 检查地区库能否删除
IF @dbname='Areatype'
BEGIN
IF EXISTS(SELECT * FROM Areatype WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类地区。'
RETURN -3
END
SELECT @PRec = Rec FROM Areatype WHERE typeid = @typeid
SELECT @parid = parid FROM Areatype WHERE typeid = @typeid
DELETE Areatype WHERE typeid = @typeid
IF @@ROWCOUNT = 0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Areatype', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'Areatype', @UpdateTag)
SELECT @sonnum = sonnum FROM Areatype WHERE typeid = @parid
UPDATE Areatype SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'AreaType'
GOTO DeleteBasicRelatedData
END
END
-- 检查品牌库能否删除
IF @dbname='Brandtype'
BEGIN
IF EXISTS(SELECT * FROM Brandtype WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类品牌。'
RETURN -3
END
SELECT @PRec = Rec FROM Brandtype WHERE typeid = @typeid
SELECT @parid = parid FROM Brandtype WHERE typeid = @typeid
DELETE Brandtype WHERE typeid = @typeid
IF @@ROWCOUNT = 0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Brandtype', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'Brandtype', @UpdateTag)
SELECT @sonnum = sonnum FROM Brandtype WHERE typeid = @parid
UPDATE Brandtype SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'BrandType'
GOTO DeleteBasicRelatedData
END
END
-- 删除结算方式
IF @dbname='Jtype'
BEGIN
IF EXISTS(SELECT * FROM Jtype WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类结算方式。'
RETURN -3
END
SELECT @PRec = Rec FROM Jtype WHERE typeid = @typeid
SELECT @parid = parid FROM Jtype WHERE typeid = @typeid
DELETE Jtype WHERE typeid = @typeid
IF @@ROWCOUNT=0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Jtype', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'Jtype', @UpdateTag)
SELECT @sonnum = sonnum FROM Jtype WHERE typeid = @parid
UPDATE Jtype SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Jtype'
GOTO DeleteBasicRelatedData
END
END
-- 删除项目信息
IF @dbname='Mtype'
BEGIN
IF EXISTS(SELECT * FROM Mtype WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类项目信息。'
RETURN -3
END
SELECT @PRec = Rec FROM Mtype WHERE typeid = @typeid
SELECT @parid = parid FROM Mtype WHERE typeid = @typeid
DELETE Mtype WHERE typeid = @typeid
IF @@ROWCOUNT=0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'MType', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'Mtype', @UpdateTag)
SELECT @sonnum = sonnum FROM Mtype WHERE typeid = @parid
UPDATE Mtype SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Mtype'
GOTO DeleteBasicRelatedData
END
END
IF @dbname='T_GOODSPROP'
BEGIN
IF EXISTS( SELECT GoodsProp FROM Ptype WHERE GoodsProp=@typeid)
RETURN -8021
ELSE
BEGIN
IF NOT EXISTS (SELECT 1 FROM T_GOODSPROP WHERE typeid = @typeid)
BEGIN
RETURN -1
END
SELECT @PRec = Rec FROM T_GOODSPROP WHERE typeid = @typeid
DELETE T_GOODSPROP WHERE typeid = @typeid
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'T_GoodsProp', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,ISNULL(@PRec,0),'T_GOODSPROP', @UpdateTag)
END
END
IF @dbName = 'Custom1'
BEGIN
IF EXISTS(SELECT * FROM Custom1 WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类自定义项1。'
RETURN -3
END
--清除存货中使用的自定义项1
UPDATE PType set [Custom1] = '' where [Custom1] = @typeid
--清除非正式单据的明细中使用的自定义项1
--UPDATE bakdly set [UserDefined01] = '' where [UserDefined01] = @typeid
SELECT @PRec = Rec FROM Custom1 WHERE typeid = @typeid
SELECT @parid = parid FROM Custom1 WHERE typeid = @typeid
--删除自定义项1
DELETE Custom1 where typeid = @typeid
IF @@ROWCOUNT=0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Custom1', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'Custom1', @UpdateTag)
SELECT @sonnum = sonnum FROM Custom1 WHERE typeid = @parid
UPDATE Custom1 SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
IF EXISTS(SELECT * FROM Custom1 WHERE TypeId = @parid AND sonnum = 0)
UPDATE PType set [Custom1] = '' where [Custom1] = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Custom1'
GOTO DeleteBasicRelatedData
END
END
IF @dbName = 'Custom2'
BEGIN
IF EXISTS(SELECT * FROM Custom2 WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类自定义项2。'
RETURN -3
END
--清除存货中使用的自定义项2
UPDATE PType set [Custom2] = '' where [Custom2] = @typeid
--清除非正式单据的明细中使用的自定义项2
--UPDATE bakdly set [UserDefined02] = '' where [UserDefined02] = @typeid
SELECT @PRec = Rec FROM Custom2 WHERE typeid = @typeid
SELECT @parid = parid FROM Custom2 WHERE typeid = @typeid
--删除自定义项2
DELETE Custom2 where typeid = @typeid
IF @@ROWCOUNT=0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Custom2', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'Custom2', @UpdateTag)
SELECT @sonnum = sonnum FROM Custom2 WHERE typeid = @parid
UPDATE Custom2 SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
IF EXISTS(SELECT * FROM Custom2 WHERE TypeId = @parid AND sonnum = 0)
UPDATE PType set [Custom2] = '' where [Custom2] = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Custom2'
GOTO DeleteBasicRelatedData
END
END
IF @dbName = 'Custom3'
BEGIN
IF EXISTS(SELECT * FROM Custom3 WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类自定义项3。'
RETURN -3
END
--清除存货中使用的自定义项3
UPDATE PType set [Custom3] = '' where [Custom3] = @typeid
--清除非正式单据的明细中使用的自定义项3
SELECT @PRec = Rec FROM Custom3 WHERE typeid = @typeid
SELECT @parid = parid FROM Custom3 WHERE typeid = @typeid
--删除自定义项3
DELETE Custom3 where typeid = @typeid
IF @@ROWCOUNT=0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Custom3', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'Custom3', @UpdateTag)
SELECT @sonnum = sonnum FROM Custom3 WHERE typeid = @parid
UPDATE Custom3 SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
IF EXISTS(SELECT * FROM Custom3 WHERE TypeId = @parid AND sonnum = 0)
UPDATE PType set [Custom3] = '' where [Custom3] = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Custom3'
GOTO DeleteBasicRelatedData
END
END
IF @dbName = 'Custom4'
BEGIN
IF EXISTS(SELECT * FROM Custom4 WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类自定义项4。'
RETURN -3
END
--清除存货中使用的自定义项4
UPDATE PType set [Custom4] = '' where [Custom4] = @typeid
--清除非正式单据的明细中使用的自定义项4
SELECT @PRec = Rec FROM Custom4 WHERE typeid = @typeid
SELECT @parid = parid FROM Custom4 WHERE typeid = @typeid
--删除自定义项2
DELETE Custom4 where typeid = @typeid
IF @@ROWCOUNT=0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'Custom4', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'Custom4', @UpdateTag)
SELECT @sonnum = sonnum FROM Custom4 WHERE typeid = @parid
UPDATE Custom4 SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
IF EXISTS(SELECT * FROM Custom4 WHERE TypeId = @parid AND sonnum = 0)
UPDATE PType set [Custom4] = '' where [Custom4] = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Custom4'
GOTO DeleteBasicRelatedData
END
END
-- 删除项目信息
IF @dbname='WorkProcess'
BEGIN
IF EXISTS(SELECT * FROM WorkProcess WHERE parid = @typeid)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类工序信息。'
RETURN -3
END
IF EXISTS(SELECT * FROM workplandetail WHERE GXtypeID = @typeid )
BEGIN
SELECT @prm_ErrorMsg='该工序在工序计划单中被使用'
RETURN -5
END
IF EXISTS(SELECT * FROM T_GZ_SalaryPiece WHERE GXtypeID = @typeid )
BEGIN
SELECT @prm_ErrorMsg='该工序在计件工资中被使用'
RETURN -5
END
select @PRec = Rec from WorkProcess WHERE typeid = @typeid
select @ParID=parid from WorkProcess WHERE typeid = @typeid
IF @@ROWCOUNT=0
RETURN -1
select @sonnum = sonnum from WorkProcess where typeid = @ParID
IF @@ROWCOUNT=0
RETURN -1
DELETE From WorkProcess WHERE typeid = @typeid
IF @@ROWCOUNT=0
RETURN -1
else
begin
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'WorkProcess', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'WorkProcess', @UpdateTag)
Update WorkProcess set sonnum = @sonnum-1 , UpdateTag = @UpdateTag where typeid = @ParID
IF @@ROWCOUNT=0
RETURN -1
Else
Begin
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'WorkProcess'
End
end
END
-- 删除工作组信息
IF @dbname='WorkGroup'
BEGIN
IF EXISTS(SELECT * FROM workprocess WHERE WorkGroupId = @typeid )
BEGIN
SELECT @prm_ErrorMsg='该工作组在工序中被使用过'
RETURN -5
END
IF EXISTS(SELECT * FROM WorkPlanDetail WHERE gztypeid = @typeid )
BEGIN
SELECT @prm_ErrorMsg='该工作组在工序计划单中被使用过'
RETURN -5
END
select @PRec = Rec from WorkGroup WHERE typeid = @typeid
select @ParID=parid from WorkGroup WHERE typeid = @typeid
IF @@ROWCOUNT=0
RETURN -1
select @sonnum = sonnum from WorkProcess where typeid = @ParID
IF @@ROWCOUNT=0
RETURN -1
DELETE WorkGroup WHERE typeid = @typeid
IF @@ROWCOUNT=0
RETURN -1
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'WorkGroup', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'WorkGroup', @UpdateTag)
Update WorkGroup set sonnum = @sonnum-1 , UpdateTag = @UpdateTag where typeid = @ParID
IF @@ROWCOUNT=0
RETURN -1
DELETE WorkGroupdetail WHERE GroupTypeId = @typeid
IF @@ROWCOUNT=0
RETURN -1
END
-- 删除工作计划信息
IF @dbname='WorkPlan'
BEGIN
select @DlyVchcode = vchcode from workplan where number = @typeid
IF EXISTS(SELECT * FROM ptype WHERE WorkPlanVchCode = @DlyVchcode )
BEGIN
SELECT @prm_ErrorMsg='该工序计划在存货中被使用过'
RETURN -5
END
IF EXISTS(SELECT * FROM DlyAudit WHERE WorkPlanVchCode = @DlyVchcode )
BEGIN
SELECT @prm_ErrorMsg='该工序计划在单据中被使用过'
RETURN -5
END
IF EXISTS(SELECT * FROM DlySC WHERE WorkPlanVchCode = @DlyVchcode )
BEGIN
SELECT @prm_ErrorMsg='该工序计划在单据中被使用过'
RETURN -5
END
IF EXISTS(SELECT * FROM BakDly WHERE WorkPlanVchCode = @DlyVchcode )
BEGIN
SELECT @prm_ErrorMsg='该工序计划在草稿中被使用过'
RETURN -5
END
DELETE WorkPlan WHERE number = @typeid
IF @@ROWCOUNT=0
RETURN -1
DELETE WorkPlandetail WHERE Vchcode = @DlyVchcode
IF @@ROWCOUNT=0
RETURN -1
DELETE WorkPlanAndP WHERE Vchcode = @DlyVchcode
IF @@ROWCOUNT=0
RETURN -1
END
--删除货位
IF @dbname='position'
BEGIN
IF EXISTS(SELECT * FROM position WHERE typeid = @typeid AND sonnum<>0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类货位。'
RETURN -3
END
SELECT @parid = parid FROM dbo.Position WHERE typeid = @typeid
DELETE position WHERE typeid=@typeid
IF @@ROWCOUNT = 0
RETURN -1
ELSE
BEGIN
SELECT @sonnum = sonnum FROM Position WHERE typeid = @parid
UPDATE Position SET sonnum = @sonnum - 1WHERE typeid = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'Position'
GOTO DeleteBasicRelatedData
END
END
-- 检查检验项目是否能够删除
IF @dbname= 'TestItem'
BEGIN
IF EXISTS(SELECT * FROM TestItem WHERE typeid = @typeid AND sonnum <> 0)
BEGIN
SELECT @prm_ErrorMsg='不能删除一类检验项目。'
RETURN -3
END
SELECT @PRec = Rec FROM TestItem WHERE typeid = @typeid
SELECT @parid = parid FROM TestItem WHERE typeid = @typeid
DELETE TestItem WHERE typeid = @typeid
IF @@ROWCOUNT = 0
RETURN -1
ELSE
BEGIN
--把删除成功的基本信息保存下来
EXEC [dbo].[P_XIWA_GetUpdateTag] 'TestItem', @UpdateTag OUTPUT
insert into DeletedBaseInfo (TypeID,DelRec,dbname,UpdateTag)values(@typeid,@PRec,'TestItem', @UpdateTag)
SELECT @sonnum = sonnum FROM TestItem WHERE typeid = @parid
UPDATE TestItem SET sonnum = @sonnum - 1, UpdateTag = @UpdateTag WHERE typeid = @parid
--查询条件
Exec P_Gbl_RefreshQueryParams @RefreshTypeId = @TypeId, @RefreshTableName = 'TestItem'
GOTO DeleteBasicRelatedData
END
END
DeleteBasicRelatedData:
begin
EXEC P_BAS_DeleteBasicRelatedData @typeid,@dbname
Return 0
END
管家婆财贸双全存货核算类型对应会计科目禁止删除相关推荐
- tplink连接服务器失败_管家婆财贸双全连接失败,服务器端没有找到加密狗
管家婆财贸双全连接失败,服务器端没有找到加密狗 管家婆财贸双全找不到狗判断步骤 1.先判断电脑能否识别管家婆财贸双全加密狗我的电脑--右键--属性--硬件--设备管理器--通用串行总线控制器(或人体学 ...
- 管家婆财贸双全使用说明(五)数据备份和恢复
数据备份与恢复 为了保证财贸双全软件数据的安全,用户需要定期对数据进行备份.财贸双全软件的备份方式有两种:一种是自动备份,一种是手工备份. 自动备份方便快捷,推荐用户使用:但由于某原因引起自动备份失败 ...
- 管家婆财贸双全提示此记录为系统会计科目禁止删除处理方法
P_BAS_DeleteBaseInfo删除判断的存储过程,重点检查EXISTS语句后面括起来的数据库记录,如果在数据库存在记录,先删除记录 开始判断系统科目 IF (EXISTS(SELECT * ...
- 管家婆财贸双全删除科目提示该会计科目已经在常用凭证中使用
P_CW_BaseInfoUsed存储过程判断,查看此表T_CW_OftenVouchers,让这个表不要出现要删除的科目 IF (EXISTS(SELECT * FROM T_CW_OftenVou ...
- 管家婆财贸Ⅱ无法绑定由多个部分组成的标识符“a.deleted”的解决办法
新增或删除客户.供应商.仓库报如下错误 复制另一个数据库的所有脚本 附常见其它错误提示 管家婆财贸双全 该会计科目已经在常用凭证中使用 此记录为系统会计科目禁止删除 存货核算类型对应会计科目 管家婆财 ...
- 奥丁软件管家解压密码汇总_管家婆财贸ERP如何做销售分析?
在日常企业运营过程中,销售分析是认识市场.理解市场的必经途径,过去某一段时间市场各种力量相互作用的结果形成的销售数字,记录了销售演变的轨迹. 那么很多使用管家婆软件的用户,都没有好好利用软件来进行数据 ...
- 管家婆辉煌版软件的使用方法_管家婆软件进销存的使用方法,管家婆软件使用教程_双全科技...
管家婆进销存软件包含进货管理.库存管理.销售管理.采购管理等四大部分.软件主要包括,入库单,出库单,库存查询,进货单,销售 单及基础信息管理.今天,我们就来讲究管家婆软件进销存的使用方法,管家婆软件使 ...
- ERP NC50的系统参数-存货核算
ERP NC50的系统参数-存货核算 已有 446 次阅读2009/5/21 10:55 | 参数编码:IA0001 参数名称:出库单据是否允许自定义单价 参数值类型及编辑方法:逻辑型参数,单击下拉列 ...
- 用友U8案例教程存货核算后台配置
目录 存货核算选项 存货核算模块凭证科目设置 期初余额 存货核算选项 存货核算模块主要进行材料入库成本和出库成本的核算.本案例采用按仓库核算,采购暂估方式为单到回冲.出库成本采用全月平均法,在核算材料 ...
- eas库存状态调整单不能反审核_金蝶EAS供应链管理标准操作规程(存货核算).doc
您所在位置:网站首页 > 海量文档  > 计算机 > 管理系统 金蝶EAS供应链管理标准操作规程(存货核算).doc8 ...
最新文章
- 高性能mysql主存架构
- 计算机组成原理实验认识多思网络虚拟实验系统_3D全息投影,裸眼3D,全息互动投影系统...
- python常见数据存储 csv txt pickle
- 如何检查MyISAM表的错误?
- FreeType, FFmpeg, SDL, 图像处理软件, Mac OS X, Objective-C
- 直面PHP微服务架构挑战
- 首次安装Linux,配置网络、换源一步到位
- web安全day11:进一步学习windows域的gpo
- Rust : utf8与unicode码
- RHEL 6.4 安装DNS服务(bind-9.8 )
- 怎么视频抠图?一键AI智能抠图,这招你一定要学会
- 简单介绍Fastboot
- 2015年4月9号和4月11号
- 飞书第三方ISV服务商应用开发及上架教程
- ping回显目标主机不可达destination host unreachable的含义及发生情况
- python绘制动态变化的图_用Jupyter Noteb中的matplotlib绘制动态变化图形
- js 截取指定字符后面/前面的所有字符串
- Web前端开发规范文档(更新于2013-01-13)
- 基于tornado服务器的文件上传和下载
- 财务自由之路——我的投资史