on 10-01-2009 10:54 PM
Hola
Buen Dia a Todos
Quisiera saber como puedo bloquear que un usuario al dar de alta un SN no pueda tener acceso a las Condiciones de pago, es decir que deshabilite esa opción para ese usuario y que guarde el valor propuesto (el default de Parametrizaciones generales Ficha SN).
De antemano agradezco sus comentarios.
Saludos,
JCupa
Hola CupaJ1:
Los valores propuestos, pueden en este caso ser modificados (eso los hace ser valores de propuesta). No existe una opción en las Autorizaciones para bloquear este dato, mas bien se puede autorizar el no acceso a la tabla de definicion de condiciones de pago.
Yo te sugeriría trabajarlo como una validacion por Transaction, que compare el valor definido con el valor propuesto en las parametrizaciones generales.
Saludos Cordiales,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
CupaJ1:
Aquí esta la validación...este código debes incorporarlo en Transaction Notification. Para ello acudes a Microsoft SQL Server Management Studio...
Una vez que accedas al servidor SQL, podrás ver tus bases de datos, selecciona la base en la cual realizaras la validacion, la marcas y entras a Programacion --> Procedimientos Almacenados --> ....e identifica SBO_SP_TransactionNotification, le das modificar....al ingresar exxiste un parrafo que dice -- ADD YOUR CODE HERE,
y copia este código...
IF (@transaction_type = 'A' or @transaction_type = 'U') and @object_type = '2'
begin
declare @condpag as char(1)
declare @condefcli as char(1)
declare @condefpro as char(1)
declare @tipsn as nvarchar(10)
set @condefcli = (select DfCustTerm from oadm)
set @condefpro = (select DfVendTerm from oadm)
set @tipsn = (select cardtype from ocrd
where cardcode = @list_of_cols_val_tab_del)
set @condpag = (select groupnum from ocrd
where cardcode = @list_of_cols_val_tab_del)
if (@tipsn = 'S')
begin
if (@condpag <> @condefpro)
begin
set @error = 1
set @error_message = 'No esta respetando la condicion de pago del proveedor por defecto'
end
end
if (@tipsn = 'C')
begin
if (@condpag <> @condefcli)
begin
set @error = 1
set @error_message = 'No esta respetando la condicion de pago del cliente por defecto'
end
end
end
La validacion reconoce si es un cliente o un proveedor, y te enviara un mensaje que impide la creacion del SN, si no respeta la condicion de pago definida en las parametrizaciones generales.
Sin duda, esto te abrirá una puerta a eventuales requerimientos que en ocasiones deben ser abordados de esta forma.
Saludos Cordiales,
PD: Si considera que el caso ha sido resuelto, favor cerrar el mismo
Hola a todos, estoy teniendo el mismo inconveniente es decir que cuando se modifique la condicion de pago del la orden de compra o venta, el sistema mande un mensaje de autorizacion, se tomo el query se inserta en SBO_SP_TransactionNotification, cuando lo pruebo en el documento y cambio la condicion de pago, sistema me advierte que cambiare la condicion de pago, le digo que si, pero en ningun momento me pide o sale un mensaje diciendo que no se respetado la condicion de pago. y que ingrese una autorizacion.......
Dejo el query, haber si alguien me puede hechar una mano...
Saludos y gracias.
Oscar V
-- ADD YOUR CODE HERE--
" { IF ( @transaction_type = 'A' or @transaction_type = 'U') and @object_type = '17'
begin
declare @condpag as char(1)
declare @condefcli as char(1)
declare @condefpro as char(1)
declare @tipsn as nvarchar(10)
set @condefcli = (select DfCustTerm from oadm)
set @condefpro = (select DfVendTerm from oadm)
set @tipsn = (select cardtype from ocrd where cardcode = @list_of_cols_val_tab_del)
set @condpag = (select groupnum from ocrd where cardcode = @list_of_cols_val_tab_del)
if (@tipsn = 'S')
begin
if (@condpag != @condefpro)
begin
set @error = 1
set @error_message = 'No esta respetando la condicion de pago del proveedor por defecto'
end
end
if (@tipsn = 'C')
begin
if (@condpag != @condefcli)
begin
set @error = 1
set @error_message = 'No esta respetando la condicion de pago del cliente por defecto'
end
end
end }"
Hola..
No hay problema en revisar el caso, pero siempre es conveniente abrir un nuevo post, de modo de no mezclar algo que ya ha quedado como cerrado con un nuevo requerimiento.
Me parece que el tema es un tema conceptual... lo que hace esta validación Transaction, es impedir la creación del documento si la condición de pago no es la condición requerida. El procedimiento almacenado no es ejecutado hasta que reconoce el evento de crear el documento, por lo que no es posible que al momento de cambiar la condición le de un aviso, y menos solicitar autorización.
No es el objetivo de la validación.
Espero le sea de ayuda,
Saludos Cordiales,
Gracias, Paul por contestar.
Referente al procedimiento, la idea es que al momento de cambiar la condicion avise, ahora si esto no lo hace, entonces al momento de crear el documento, que envie un aviso,.... pero el procedimiento no lo esta realizando, me permite igualmente crear el documento habiendo cambiado la condicion del S/N.
No veo aun donde se esta callendo el procedimiento. y este se ve bien ..
O si hubiera otra forma de bloquera ese campo, tambien me serviria..
Saludos.
Oscar V
Hola Oscar:
Si comparo ambos códigos, veo exactamente lo mismo... con excepción de que tu código lo estás encerrando en un "{ }"
La verdad, es que entiendo que el procedimiento está OK, de hecho lo probé antes de dejarlo en el post, y como confirmación de que el mismo funcione, el caso había sido cerrado por la otra persona que fue quien generó el posteo original.
Te sugiero chequear 3 cosas, la primera es que en caso que efectivamente estés utilizando esos símbolos en el código ({}), los descartes...., la segunda es chequear que efectivamente estas trabajando sobre la base de datos que corresponde...y como última opción, toma el código y compruebalo como una consulta en la cual reemplaces el valor de
@list_of_cols_val_tab_
del por el número del documento, de modo de ver si efectivamente el código tiene aplicación sobre el mismo..
Espero te sea de ayuda,
Saludos Cordiales,
Hola Oscar:
Si comparo ambos códigos, veo exactamente lo mismo... con excepción de que tu código lo estás encerrando en un "{ }"
La verdad, es que entiendo que el procedimiento está OK, de hecho lo probé antes de dejarlo en el post, y como confirmación de que el mismo funcione, el caso había sido cerrado por la otra persona que fue quien generó el posteo original.
Te sugiero chequear 3 cosas, la primera es que en caso que efectivamente estés utilizando esos símbolos en el código ({}), los descartes...., la segunda es chequear que efectivamente estas trabajando sobre la base de datos que corresponde...y como última opción, toma el código y compruebalo como una consulta en la cual reemplaces el valor de
@list_of_cols_val_tab_del
del por el número del documento, de modo de ver si efectivamente el código tiene aplicación sobre el mismo..
Espero te sea de ayuda,
Saludos Cordiales,
Edited by: Paul Ponce on Nov 9, 2009 3:30 PM
User | Count |
---|---|
99 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.