Transaction Notification Salidas de mercancias

Hola a todos estoy realizando un TransactionNotification que me permita bloquear por usuario el movimiento del almacen 10 en la salidas de inventarios

Lo he probado de esta manera y no me funciona alguna sugerencia?

IF @object_type = ‘60’ AND @transaction_type IN (‘A’, ‘U’)
BEGIN
DECLARE @UserId INT

SELECT @UserId = UserSign 
FROM OIGE 
WHERE DocEntry = @list_of_cols_val_tab_del

IF @UserId = 1
BEGIN
    IF EXISTS (
        SELECT 1
        FROM IGE1
        WHERE DocEntry = @list_of_cols_val_tab_del
          AND WhsCode = '10'
    )
    BEGIN
        SET @error = 9999
        SET @error_message = N'❌ El usuario 1 no está autorizado para hacer movimientos desde el almacén 10.'
        RETURN
    END
END

END

Hola @S-T2310

Yo probaria primero el SQL que posteas a ver si con una línea que cumpla las condiciones muestra resultados, la parte del exists.

Y si no lo ves claro, yo suelo usar un COUNT y si es mayor que 0 muestro el error.

Un saludo

Hola @Amarcos ya probe de esa manera y no funciona

Hola @S-T2310

prueba esta consulta:

BEGIN
DECLARE @UserId INT

SELECT @UserId = UserSign 
FROM OIGE 
WHERE DocEntry = @list_of_cols_val_tab_del

IF @UserId = 1
BEGIN
    IF (
        SELECT count(*)
        FROM IGE1
        WHERE DocEntry = @list_of_cols_val_tab_del
          AND WhsCode = '10'
    ) > 0
    BEGIN
        SET @error = 9999
        SET @error_message = N'❌ El usuario 1 no está autorizado para hacer movimientos desde el almacén 10.'
        RETURN
    END
END

Debes probarlo con el usuario manager, que es el que tiene el id 1

Un saludo

1 me gusta

Este tema se cerró automáticamente 2 días después de la última publicación. No se permiten nuevas respuestas.