Skip to Content
0

Bloquear un campo en orden de venta

Apr 25 at 01:53 PM

47

avatar image
Former Member

1. Hola buen dia

tengo una tarea y es impedir que los asesores puedan modificar el precio despues de crear la orden de venta, se que es con un Transation Notification pero no tengo el codigo,
me pueden ayudar por favor.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Best Answer
Agustin Marcos Cividanes Apr 25 at 02:32 PM
0

Hola

¿Qué precio quieres que no pueda ser modificado?

¿El precio unitario? ¿El total de la línea? ¿El total del documento?

Un saludo

Agustín

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

1.Hola Agustin,
el precio por unidad es el que quiero que el asesor no lo modifique despues de creado el documento

0
Agustin Marcos Cividanes Apr 25 at 04:02 PM
0

Hola

te adjunto un código SQL para bloquear el cambio de este campo. Tendrás que adaptarlo para que aplique la validación a los usuarios que te interesan:

if (@object_type = '17' and @transaction_type = 'U')
begin
if (select count(*) from adoc where docentry = @list_of_cols_val_tab_del) > 0
begin declare @instance int select @instance = isnull(maxloginstanc), 1) from adoc where doctype = '17' and docentry = @list_of_cols_val_tab_del
if (select count(*) from rdr1 T1 inner join ADO1 T3 on T1.docentry = T3.docentry and T1.linenum = T3.linenum and T3.loginstanc = @instance and T3.objtype = '17' where T1.price <> T3.price) >0 begin set @error = 1 set @error_message = 'El usuario no puede modificar el precio unitario' end end
end
Show 4 Share
10 |10000 characters needed characters left characters exceeded
Former Member

cuando ejecuto la consulta me sale el siguiente error
The isnull function requires 2 argument(s)
me señala esto en el codigo isnull(maxloginstanc),1)

me dices que lo tengo que adaptar para los usuario a los que me interesa, en que parte del codigo harias esto?


Gracias

0

Hola

cambia la sentencia por:

select@instance= isnull(max(maxloginstanc),1) from adoc where doctype ='17' and docentry = @list_of_cols_val_tab_del

Un saludo

Agustín

0
Former Member

hola Agustin, ya me funciono el bloqueo pero general, me puedes ayudar en que parte del codigo puedo especificar el bloqueo para ciertos usuarios?
te lo agradezco mucho.

0
Former Member

Hola Agustin, active el TN y me bloquea todo no solamente al editar el campo de precio unitario. al modificar cualquier campo y actualizar se ejecuta el codigo.

0