【易飞9.0】利用触发器限定审核者

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lbhere/article/details/82177670

前几天业务部门提出需求,想限定501仓库的领料单只能让工号为A001和A002的用户审核。

问题点:

1.怎样能获取审核者编号。

2.触发器设定在哪里。

通过分别设置触发器给单头,单身,发现易飞领料单的审核逻辑是:审核单身-》插入INVLA-》审核单头。

另外,审核者编号获取如果是在取INVLA.CREATOR 就好办多了。

好了,结论出来了,在INVLA上面设定触发器。

CREATE TRIGGER [dbo].[INVLAINS] ON [dbo].[INVLA]
AFTER INSERT
AS
DECLARE @TC009 CHAR(1),
        @TC015 CHAR(10),
		@LA006 CHAR(4),
		@LA007 CHAR(11),
		@TE008 CHAR(10),
		@MODI CHAR(10)

SET NOCOUNT ON 

IF exists(SELECT * FROM MOCTC,inserted WHERE LA006=TC001 AND LA007=TC002)
begin
SELECT @LA006=LA006,@LA007=LA007,@TE008=TE008,@MODI=i.CREATOR  FROM INSERTED i INNER JOIN MOCTE ON LA006=TE001 AND LA007=TE002 AND LA008=TE003 INNER JOIN MOCTC ON TC001=TE001 AND TC002=TE002 
if @TE008='501' AND @MODI<>'A001' and @MODI<>'A002' 
BEGIN
   --raiserror是不能在前台显示的。
   --raiserror (N'501仓库只允许指定人员的审核',10,1)
   ROLLBACK
   return
END
end

猜你喜欢

转载自blog.csdn.net/lbhere/article/details/82177670