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.
Avalados por :
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.
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.
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
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
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
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute