cancel
Showing results for 
Search instead for 
Did you mean: 

Bloqueo para modificacion de orden de venta

former_member228470
Participant
0 Kudos

Hola a todos

Necesito realizar un bloqueo para que los vendedores no puedan modificar una orden venta después de haberla creado.  Sólo ciertos usuarios podrán realizar algún cambio

Lo que realicé hasta ahora no me resulta

If @Object_Type = '17' and @transaction_type in ('U')

Begin

If (Select 'True'  From ORDR T0

   Where T0.DocEntry=@list_of_cols_val_tab_del and (t0.UserSign  not in ('1','12','17','24', '58','70','76') ) 

  ) ='True'

Begin

Set @error='-1'

Set @error_message='ORDEN DE VENTA NO PUEDE SER MODIFICADO'

End

End

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenas tardes

Utiliza el campo UserSign2 ya que ahí se guarda el usuario que esta actualizando. El campo UserSign es usuario creador.

Saludos

Answers (2)

Answers (2)

former_member228470
Participant
0 Kudos

Gracias a ambos, si me funcionó con el UserSign2.  Pero ahora se me presenta otro inconveniente porque realmente son dos bloqueos:

1- Uno que al agregar o modificar un pedido,  ciertos usuarios les permita nada mas cambiar la descripción de artículos de lo contrario le mande error

2- El otro que sólo al modificar ningún vendedor pueda hacerlo excepto ciertos usuarios de los cuales no están incluidos en el primer bloqueo

Cuando hago las pruebas los usuarios del primer grupo pueden modificar la descripción cuando agregan un pedido, pero si ese mismo usuario entra a modificar el pedido manda el error aunque sea que haya modificado nuevamente la descripción (en el que si tiene autorización)

Adjunto ambos bloqueos a ver si se pueden unir o que me puedan sugerir

Bloqueo #1

/*Bloqueo que no permite modificar Pedidos*/

If @Object_Type = '17' and @transaction_type in ('U')

Begin

If (Select 'True'  From ORDR T0

   Where T0.DocEntry=@list_of_cols_val_tab_del and (t0.UserSign2 not in ('1','12','17','24', '58','70','76') ) 

   and DocType='I'  ) ='True'

Begin

Set @error='-1'

Set @error_message='ORDEN DE VENTA NO PUEDE SER MODIFICADO'

End

End

Bloqueo #2

/*Bloqueo que no permite modificar la descripcion de un articulo en pedidos*/

If @Object_Type = '17' and @transaction_type in ('A','U')

Begin

If (Select top 1 'True'  From ORDR T0,RDR1 T1

    INNER JOIN OITM T2 ON T2.ItemCode=T1.ItemCode

Where T0.DocEntry=@list_of_cols_val_tab_del and (t0.UserSign not in ('1','12','20', '58','126') or t0.UserSign2 not in ('1','12','20', '58','126')) and T1.DocEntry=@list_of_cols_val_tab_del

and DocType='I' and T1.TreeType !='I' AND T2.ItemName <> T1.Dscription

)='True'

Begin

Set @error='-1'

Set @error_message='Descripción del articulo no puede ser modificada, Linea '+(

Select top 1 Convert(Varchar,(LineNum+1))+' '+'Referencia: '+T1.ItemCode

From ORDR T0,RDR1 T1

INNER JOIN OITM T2 ON T2.ItemCode=T1.ItemCode

Where T0.DocEntry=@list_of_cols_val_tab_del and (t0.UserSign not in ('1','12','20', '58','126') or t0.UserSign2 not in ('1','12','20', '58','126')) and T1.DocEntry=@list_of_cols_val_tab_del

and DocType='I' and T1.TreeType !='I' AND T2.ItemName <> T1.Dscription

)

End

End

former_member188440
Active Contributor
0 Kudos

Prueba con

If @Object_Type = '17' and @transaction_type in ('U')

Begin

If (Select 'True'  From ORDR T0

   Where T0.DocEntry=@list_of_cols_val_tab_del and (t0.UserSign2  not in ('1','12','17','24', '58','70','76') )

  ) ='True'

Begin

Set @error='-1'

Set @error_message='ORDEN DE VENTA NO PUEDE SER MODIFICADO'

End

End