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
前端创建一条同样的数据,测试下效果:
![](https://i-blog.csdnimg.cn/blog_migrate/e6928401718a0b4ad01ad44b39212758.png)