cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda SP Para Evitar que Empleado de Ventas Utilice una norma de Reparto Diferente al la Predefinida

Former Member
0 Kudos

buenas tardes, me cree este Sp para intentar evitar o restringir que cuando el empleado de ventas o vendedor cuyo SlpCode = '4' y utiliza la norma de reparto diferente a 007 osea el OINV.OcrCode<> '007' que le envie un mensaje indicando que este empleado de ventas no puede utilizar esta noram de reparto. dejo el query para que me ayuden a analizarlo debido que no m esta funcionando.

if @object_type in ('13') and @transaction_type in ('A', 'U')  -----------------factura de venta

begin

if (SELECT COUNT (*) FROM OUSR INNER JOIN (SELECT OINV.DocEntry,OINV.UserSign2,INV1.OcrCode,OINV.SlpCode,U_SingS_NormaR

FROM OINV INNER JOIN INV1 ON OINV.DocEntry = INV1.DocEntry

           INNER JOIN OSLP T1 ON OINV.SlpCode = T1.SlpCode

           INNER JOIN OUSR T2 ON INV1.OcrCode = T2.U_SingS_NormaR

GROUP BY OINV.DocEntry,OINV.UserSign2,OcrCode,OINV.SlpCode,U_SingS_NormaR) S ON OUSR.USERID = S.UserSign2 AND SlpCode = '4'

AND OUSR.U_SingS_NormaR <> S.OcrCode AND @list_of_cols_val_tab_del = S.DocEntry)>0

begin

set @error = 10

set @error_message = '*****SP: Norma de Reparto No Permitida Para Este Vendedor*****'

end

end​

------------------------------------------------------------------------ yo cree un campo de usuario en la tabla OUSR llamado U_SingS_NormaR para poder validar que el valor 007 sea igual al que el vendedor con el SlpCode = '4' pueda solo vender oa hacer una factura si utiliza la norma de reparto OINV.OcrCode = '007'

no se si me hice entender. adjunto imagenes para mejor entendimiento.

gracias.

atento a sus ayudas.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

aca tengo la solucion a este Sp que necesitaba.

if @object_type in ('13') and @transaction_type in ('A', 'U')  -----------------Factura De Ventas

begin

    if (select count(*)

         from oinv t0

inner join inv1 t1 on t0.DocEntry =t1.DocEntry

inner join OUSR t2 on t0.UserSign =t2.userid

where t1.OcrCode<>t2.U_SingS_NormaR and t0.SlpCode ='4'

        AND @list_of_cols_val_tab_del = T0.DocEntry )>0

    begin

            set @error = 10

            set @error_message = '*****SP: Norma de Reparto No Permitida Para Empleado de Ventas*****'

    end

end

---------------------------------------------------------------------------------------------------------------

ya saben que se deben crear un campo definido por usuario para poder hacer la validacion del OINV.OcrCode contra el campo de Usuario que ustedes mismo creen, este mi caso cree uno llamado

U_SingS_NormaR.

Gracias.

atento a sus comentarios.