on 08-23-2011 6:01 PM
hola a todos !!! existe la forma de que se restrinja que los usuarios solo puedan ver el saldo de cuenta y facturarle solo a los clientes que tienen a su nombre??? y como se tienen varias bodegas, restringirla a que factura solo de la bodega asignada????
el problema con esto es que solamente podra facturarse a nombre de el pero podra ver los datos de los demas clientes y podra recorrer todas las facturas con las flechas de registro anterior y posterior, me dijeron que trabajara las autorizaciones de propiedad de datos y armara grupos, pero la verdad nunca he trabajado esto y estoy algo confundida
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Mauricio intente con tu TN pero hice una pequeña modificacion...te explico
la idea es darle a los clientes especiales la forma de que ellos mismos se facturen, claro teniendo cuenta las seguridades pertinentes.
para esto cree un usuario invitado y asigne en un campo llamado responsable en el dato maestro del Socio de Negocio uno nuevo que se llama invitado
IF @transaction_type in ('A') AND @object_type IN ('13')
begin
declare @uservalido nvarchar (8)
set @uservalido=(select b.user_code from oinv a join ousr b on a.usersign=b.userid
where a.docentry=@list_of_cols_val_tab_del)--Obtenemos el usuario que esta creando la factura en SBO
if (select b.AgentCode from oinv a join OCRD b on a.CardCode=b.CardCode
where a.docentry=@list_of_cols_val_tab_del)!=(select U_NAME from ousr where user_code=@uservalido)
begin
set @error=1
set @error_message='No esta autorizado para este procedimiento'
end
end
pero me esta dejando crearlas y la idea es q no deje...que tendre mal???
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Pues es que tendrias que revisar que informacion traes en el AgentCode y el resto de los valores que estas comparando
El primer codigo que te puse era para que compararas valores como "Juan Perez" vs "Juan Perez", suponiendo que ambos valores son el nombre de usuario vs el empleado de ventas respectivamente
Revisa si esa comparacion es posible con los campos que metiste
sabes que pienso, que para eso de almacenes puedes generar un proceso de autorización por líneas, por ahi hay un documento interesante con respecto a eso, para que valides los almacenes, yo tengo un problema parecido pero yo manejo porusuario un virtual y un almacen principal...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
y como puedo hacer para que facture a un determinado cliente, recuerda que no la restriccion no es solo por el empleado sino por el usuario
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Intenta con este codigo
IF @transaction_type in ('A') AND @object_type IN ('13')
begin
declare @uservalido nvarchar (8)
set @uservalido=(select b.user_code from oinv a join ousr b on a.usersign=b.userid
where a.docentry=@list_of_cols_val_tab_del)--Obtenemos el usuario que esta creando la factura en SBO
if (select b.slpname from oinv a join OSLP b on a.SlpCode=b.SlpCode
where a.docentry=@list_of_cols_val_tab_del)!=(select U_NAME from ousr where user_code=@uservalido)
begin
set @error=1
set @error_message='Error'
end
end
La idea es que el nombre del empleado del departamento de ventas, sea el mismo nombre que tienes en la ventana de Definicion de usuarios, prueba a ver si te sirve
Carolina
Creo que deberias explorar las opciones internas que trae SAP para esto, asi no metes tanto codigo en el TN.
1) Ve a Gestion ---> Definiciones ---> General ---> Opciones de Usuario y crea por ejemplo en codigo VTerr-01 (vendedor en terreno 01).
2) En la pestaña Valores propuesto, asigna el almacen y empleado de ventas por defecto.
3) Luego en Gestion ---> Definiciones ---> General ---> Usuarios, ve al usuario y en el campo Valores propuestos, seleccionas la recien creada para ese usuario, en este caso por ejemplo Vterr-01
Entonces lo valores por defecto de ese usuario seran los que tengas definidos en ese grupo, eso no quiere decir que no lo puedan modificar.
4) Luego, puedes validar los clientes
Espero te sirva
Slds
Edited by: Floyola on Aug 23, 2011 8:59 PM
pero tambien tendria que hacerse una relacion entre el usuario y el nombre del empleado porque debe ser el mismo...bueno la idea es para unos vendedores que van a trabajar remotamente....
ellos solo deberan tener acceso a facturar a sus clientes y solo mirar la cartera de esos clientes y el inventario de los almacenes de donde puedan facturar
pero no a todos se les quiere aplicar esta restriccion solo a los remotos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Buenas,
Se me ocurre que podrias hacer algo con el transaction Notification por ejemplo
IF @ObjectType='13'
BEGIN
SET @DocEntry=@List_of_cols_val_tab_del
IF @transactiontype='A'
IF (
SELECT COUNT(*)
FROM OINV T0 INNER JOIN T1 INNER JOIN OCRD T2 ON T0.CardCode=T2.CardCode
WHERE T2.SlpCode<> T0.SlpCode AND T0.DocEntry=@DocEntry
)>0
BEGIN
SET @error=1
SET @error_message=@list_of_cols_val_tab_del+'El empleado de venta de la factura no es el mismo que el empleado de venta del SN'
END
prueba algo asi para validar que el vendedor sea el mismo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Cual es el escenario?
Necesitas usar el Transaction o autorizaciones o quizas autorizaciones adicionales y busquedas formateadas
Como es el requerimiento?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
110 | |
12 | |
11 | |
6 | |
5 | |
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.