1、保存时提示重复:
金蝶K3系统中的客户/供应商数据在创建的时候,如果存在同名数据,系统给予重复数据提示,但是不限制保存,这个需求在新增页面参数设置选项卡中勾选“核算项目名称”重复时提示,即可实现:
一旦录入重复的名称的用户数据,系统即可跳出如下提示:
2、重复名称不允许保存:
实际应用中,我们需要严格禁止系统出现多个同名的用户/供应商,以防止制单人选错数据导致财务后端挂账异常。要实现这个需求,我们可以通过在数据库增加一个触发器的方式来进行控制。
以下以客户数据为例,在t_Organization表上加一个触发器,语句如下:
-
USE [AIS20990809149999]--K3帐套
-
GO
-
/****** Object: Trigger [dbo].[tr_Ken_t_Organization] Script Date: 05/09/2018 20:59:52 ******/
-
SET ANSI_NULLS ON
-
GO
-
SET QUOTED_IDENTIFIER ON
-
GO
-
-- =============================================
-
-- Author: <Author,,Name>
-
-- Create date: <Create Date,,>
-
-- Description: <Description,,>
-
-- =============================================
-
create TRIGGER [dbo].[tr_Ken_t_Organization]
-
ON [dbo].[t_Organization]
-
for insert--新增时
-
,update--修改时
-
AS
-
BEGIN
-
-- SET NOCOUNT ON added to prevent extra result sets from
-
-- interfering with SELECT statements.
-
SET NOCOUNT ON;
-
declare @ErrorMsg nvarchar(300)
-
select @ErrorMsg=t1.fname
-
from t_Organization t1
-
join inserted t2 on t1.fname=t2.fname and t1.FItemID<>t2.FItemID
-
if isnull(@ErrorMsg,'')<>''
-
begin
-
raiserror('客户名称已经存在!',16,16)
-
end
-
-- Insert statements for trigger here
-
END
-
GO
前端创建一条同样的数据,测试下效果: