¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como bloquear a modificação da condição de pagamento por um usuário específico em um Pedido de Venda

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

Olá a todos, gostaria de bloquear se um usuário específico alterar a condição de pagamento na Ordem de Venda, fiz esta transação mas quando coloco a validação do usersign não funciona, e se eu removê-la também consigo alterar a condição, não vejo o erro.

 
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='Não é permitida a alteração da condição de pagamento'
End
End

Alguém pode me ajudar?

Saudações

Alessandro.

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

4 Respuestas

0
Cargando...

Confira esta solução proposta.

[ ]

Se você tiver uma versão superior a 2007, a coluna usersign2 não existe na tabela OCRD ou ACRD.

A solução que proponho é bloquear mudanças no nome da empresa, mas pode ser útil para você.

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

Olá Alessandro

O UserSing é o usuário que cria o documento

O UserSing2 é quem modifica... Altera o SET do UserId para UserSing2

Saudações

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

Obrigado Floyola, mas obtive o mesmo resultado, ainda não consigo alterar as condições.

No entanto, se eu remover a validação do usersign, funciona. O_o

Cumprimentos

Alessandro

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

Olá Alessandro

Experimente o SP_TN desta forma


--  VALIDA CONDIÇÃO DE PAGAMENTO
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= 'Não é permitido alterar a condição de pagamento'
	END
END

Atenciosamente.

Felipe Loyola

Editado por: Floyola em 19 de junho de 2011 às 16:37

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?