Skip to Content
author's profile photo Former Member
Former Member

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

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.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Jun 12, 2014 at 08:06 PM

    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.

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.