Cuando pasamos albaranes a TREE, deberían ser albaranes firmados por la persona que recepcionó el material, con lo que no deberían existir duplicados. Tras introducir un albarán en TREE deberíamos sellarlo.
Sin embargo, en ocasiones, un albarán puede acabar en administración dos veces, ya sea porque el que lo introdujo no lo selló, o porque el proveedor ha enviado el mismo albarán dos veces (faltaría la firma de aceptación en ese caso ¿no?).
Por ello, hay usuarios de TREE que piden una comprobación por proveedor y referencia, o por proveedor y fecha, o por cualquier otro criterio.
Con este TRIGGER de SQL puedes personalizar la comprobación cada vez que se introduzca un albarán en TREE (en este caso se comprueba proveedor y referencia no duplicado):
USE [TREE] GO / Object: Trigger [dbo].[COMPROBAR_REFERENCIA] Script Date: 10/01/2018 17:41:19 / SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: STR Version: 2 -- Create date: 2020.04.27 -- Description: Comprobar REFERENCIA no duplicada -- ============================================= CREATE TRIGGER [dbo].[COMPROBAR_REFERENCIA] ON [dbo].[T_ALB_CAB] AFTER INSERT AS IF EXISTS (SELECT C.REFERENCIA FROM T_ALB_CAB AS C JOIN T_ALB_CAB AS i ON I.EMPRESA=C.EMPRESA AND I.OBRA=C.OBRA AND I.PROVEEDOR=C.PROVEEDOR AND I.REFERENCIA=C.REFERENCIA AND I.REFERENCIA<>'TRASPASO') BEGIN SET NOCOUNT ON; RAISERROR ('YA EXISTE LA REFERENCIA EN ESTE PROVEEDOR', 16, 1); ROLLBACK TRANSACTION; RETURN END
Si en el futuro modificamos el TRIGGER, por ejemplo para cambiar de criterio, deberemos reemplazar CREATE por ALTER:
CREATE TRIGGER [dbo].[C.. --> ALTER TRIGGER [dbo].[C..