cancel
Showing results for 
Search instead for 
Did you mean: 

SP para bloquear cambios de datos del socio de negocios en facturas

Former Member
0 Kudos

Buenos días, estoy tratando de crear un SP para evitar que los usuarios cambien los datos del socio de negocios en una factura, pero no logro que funcione, ya que el usuario solo podrá cambiar tales datos si el código del cliente es el del cliente mostrador, pero no podrá realizar el cambio en ningún otro socio de negocio.. alguna idea al respecto?

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

¿Que datos deseas que no se modifiquen?

¿Cuando dices cliente "mostrador" a que te refieres, cliente "lead"?

¿Podrías colocar el código con el que estas intentando bloquear los cambios?

Saludos

Felipe

Former Member
0 Kudos

Requiero modificar los campos de nombre del cliente y rfc, cuando me refiero al cliente mostrador, quiero decir, que solo a un código de cliente es el que pueden cambiarle tales datos y a todos los demás que no les permita.

Former Member
0 Kudos

tengo algo así, pero no funciona..

declare @codigo nvarchar(10)

declare @nombre nvarchar (100)

declare @real nvarchar (100)

if (@object_type = '13') and (@transaction_type= 'A')

begin

set @codigo = (SELECT T0.[CardCode] FROM OINV T0  INNER JOIN OCRD T1 ON T0.CardCode = T1.CardCode

WHERE T0.DocEntry = @list_of_cols_val_tab_del)

set @nombre = (SELECT T0.[CardName] FROM OINV T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del)

set @real = (select t1.cardname from OINV T0  INNER JOIN OCRD T1 ON T0.CardCode = T1.CardCode

WHERE T0.DocEntry = @list_of_cols_val_tab_del)

if (@codigo <> '01-MOST' OR @codigo <> '02-MOST' OR @codigo <> '03-MOST') AND ( @nombre <> @real)

begin

SET @error = 1

SET @error_message= 'No Tiene Acceso Para Modificar Datos Cliente'

end

end

felipe_loyolarodriguez
Active Contributor
0 Kudos

Coloca los DECLARE dentro del IF, nunca afuera de este en caso de quieras definir variables globales para todos los TN.

Así...

if (@object_type = '13') and (@transaction_type= 'A')

declare @codigo nvarchar(10)

declare @nombre nvarchar (100)

declare @real nvarchar (100)

...

...

Saludos

Felipe


Former Member
0 Kudos

Si son variables globales, ya que las utilizo en otro SP, pero ya le realice las modificaciones y ya me funciona perfectamente, Muchas gracias por el apoyo, dejo el código por si a alguien mas le sirve.

Saludos.

declare @codigo nvarchar(10)

declare @nombre nvarchar (100)

declare @real nvarchar (100)

if (@object_type = '13') and (@transaction_type= 'A')

begin

set @codigo = (SELECT T0.[CardCode] FROM OINV T0  INNER JOIN OCRD T1 ON T0.CardCode = T1.CardCode

WHERE T0.DocEntry = @list_of_cols_val_tab_del)

set @nombre = (SELECT T0.[CardName] FROM OINV T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del)

set @real = (select t1.cardname from OINV T0  INNER JOIN OCRD T1 ON T0.CardCode = T1.CardCode

WHERE T0.DocEntry = @list_of_cols_val_tab_del)

if (@codigo <> '01-MOST' AND @codigo <> '02-MOST' )

AND ( @nombre <> @real)

begin

SET @error = 1

SET @error_message= 'No Tiene Acceso Para Modificar Datos Del Cliente...'

end

end

Answers (1)

Answers (1)

former_member228470
Participant
0 Kudos

Me supongo que lo que quiere decir con cliente mostrador es como nosotros en la empresa que usamos Cliente Contado, que es generico porque es el que se usa para cualquier cliente que pague en el almacen, y ahi el facturador puede cambiar la descripcion.