cancel
Showing results for 
Search instead for 
Did you mean: 

Bloquear campo de total en documentos de ventas

Former Member
0 Kudos

Buenas tardes

Alguien tiene alguna idea de cómo bloquear que un usuario pueda manipular el campo de descuento global así como el de total del documento en documentos de ventas

Sucede que los usuarios pueden cambiar este dato y no me doy cuenta

No encontré cómo bloquear el campo en las parametrizaciones

Supongo que con una autorización quedaría bien ya que meterlo a nivel de TransactionNotification no me gustaría porque puede ser que algún día pueda usar ese dato para algo en particular

¿Alguna idea?

Gracias de antemano

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenas tardes

Trata con este SP


IF @TRANSACTION_TYPE IN ('A','U') AND @OBJECT_TYPE IN ('18') 
-- Bloqueo campo descuento al documento en factura de proveedores

BEGIN
 
	DECLARE @DCTO as Nvarchar(10)
	SELECT @DCTO = DiscPrcnt FROM OPCH WHERE DocEntry = @list_of_cols_val_tab_del

	
	IF @DCTO != '0'
	BEGIN
		SET @error = 101
		SET @error_message = 'No puede modificar el campo descuento en el total documento'
	END
END

Aunque modifiquen el total del documento, tampoco podran guardarlo, ya que al hace eso agregan un descuento en el total del documento y a su vez este SP obliga a que este campo sea 0

Saludos

Former Member
0 Kudos

Gracias por tu ayuda. Efectivamente esta SP me bloquea el uso, pero si yo solamente quiero que se bloquee a algunos usuarios y no a todos, ¿se puede meter el campo user Id?

O bien, esta sintaxis funcionaría poniéndola en una autorización?

Saludos

felipe_loyolarodriguez
Active Contributor
0 Kudos

Hola

en ese caso se modifica un poco el SP agregandole el usuario, solo debes colocar en codigo de los usuarios que deseas bloquear


IF @TRANSACTION_TYPE IN ('A','U') AND @OBJECT_TYPE IN ('18') 
-- Bloqueo campo descuento al documento en factura de proveedores

BEGIN
 
	DECLARE @DCTO as Nvarchar(10)
	SELECT @DCTO = DiscPrcnt FROM OPCH WHERE DocEntry = @list_of_cols_val_tab_del

	DECLARE @USER as Nvarchar(10)
	SELECT @USER = UserSign FROM OPCH WHERE DocEntry = @list_of_cols_val_tab_del

	
	IF @DCTO != '0' AND @USER IN ('cod','cod','cod','cod') --agregar codigos de usuarios a bloquear
	BEGIN
		SET @error = 101
		SET @error_message = 'No puede modificar el campo descuento en el total documento'
	END
END

Ahora si deseas bloquear otros documentos, cambias la tabla OPCH y el ObjType y servira para otro documento

Ejemplo

Factura de clientes

tabla OINV

objtype 13

Saludos

Edited by: Floyola on Feb 4, 2011 4:19 PM

Former Member
0 Kudos

Excelente, déjame probar y te aviso

Muchas gracias

felipe_loyolarodriguez
Active Contributor
0 Kudos

OK, me comentas

saludos

Former Member
0 Kudos

Hola Felipe, como lo haces si la en la factura copias desde una oferta de ventas que trae un descuento, y lo que se necesita es que en la factura no modifiquen ese descuento autorizado.

Saludos

felipe_loyolarodriguez
Active Contributor
0 Kudos

Para eso debes comparar el descuento del documento base VS el documento de destino.

Saludos

Former Member
0 Kudos

Gracias, Felipe, me fue muy util tu respuesta.

Saludos

Answers (0)