¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo bloquear la modificación de la condición de pago por un usuario específico en una Orden de Venta

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 12 Vistas
0
Cargando...

Hola a todos, me gustaría bloquear si un usuario en específico me cambia la condición de pago en la Orden de Venta, hice este transaction pero cuando le meto la validación del usersign no entra, y si se lo quito también me permite cambiar la condición, no veo el error.

 
Declare @cond_cli varchar
Declare @cond_doc varchar 
Declare @CodCli int
Declare @UserId int
If (@Object_Type = '17' and @transaction_type in ('A','U'))
Begin
Set @CodCli   =  (Select CardCode From ORDR Where DocEntry=@list_of_cols_val_tab_del)
Set @cond_cli = (Select GroupNum From OCRD Where CardCode=@CodCli)
Set @cond_doc = (Select GroupNum From ORDR Where DocEntry= @list_of_cols_val_tab_del)
Set @UserId = (select UserSign2 from ORDR where DocEntry = @list_of_cols_val_tab_del)
IF ((@cond_cli != @cond_doc) and @UserId in (50))
begin
select @error = 1234
select @error_message='No se Permite Cambiar la Condición de Pago'
End
End

¿Alguien me puede apoyar?

Saludos

Alessandro.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Revisa esta solución propuesta.

[ ]

Si tienes una versión superior a 2007, no existe la columna usersign2 en la tabla OCRD ni en la ACRD.

La solución que te propongo es bloquear cambios en la razón social, pero puede serte útil.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Alessandro

El UserSing es el usuario que crea el documento

El UserSing2 es quien modifica...Cambia el SET del UserId por el UserSing2

Slds

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Gracias Floyola, pero me da el mismo resultado, aún me permite cambiar las condiciones.

Sin embargo, si elimino la validación del usersign, sí funciona. O_o

Saludos

Alessandro

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Alessandro

Prueba el SP_TN de esta manera


--  VALIDA CONDICION DE PAGO
If @Object_Type = '17' AND @transaction_type IN ('A','U')
BEGIN
	DECLARE 
			@CardCode varchar(12),
			@Pago_OV SMALLINT,
			@Pago_SN SMALLINT,
			@UserId SMALLINT
			 
	SET	@CardCode = (Select CardCode From ORDR Where DocEntry=@list_of_cols_val_tab_del)
	SET	@Pago_OV = (Select GroupNum From ORDR Where DocEntry= @list_of_cols_val_tab_del)
	SET	@Pago_SN = (Select GroupNum From OCRD Where CardCode=@CardCode)
	SET	@UserId = (select UserSign from ORDR where DocEntry = @list_of_cols_val_tab_del)

	IF ((@Pago_OV != @Pago_SN)AND @UserId = 50)
	BEGIN
		SELECT @error = -600, @error_message= 'No se Permite Cambiar la Condicion de Pago'
	END
END

Atte.

Felipe Loyola

Edited by: Floyola on Jun 19, 2011 4:37 PM

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?