• Este debate está vacío.
Viendo 4 entradas - de la 1 a la 4 (de un total de 4)
  • Autor
    Entradas
  • #31230

    Hola, les vengo con una consulta un tanto compleja.
    Necesito realizar la siguiente configuracion.
    A determinados usuarios del sistema, al momento de realizar una compra, que solo pueda realizarla a ciertos proveedores. Por ejemplo los proveedores del grupo ‘Proveedores Locales’: Prov01, Prov02 y Prov03 y que no pueda realizar una compra al Prov06.
    Y al momento de una venta igual, que solo pueda realizar la venta a determinados clientes. Por ejemplo los clientes del grupo ‘Clientes Locales’: Cli01, CLi04, CLi05.
    Lo que necesito es limitar de alguna manera al usuario, ya sea por usuario o por perfil, para que este solo pueda realizar transacciones con ciertas entidades comerciales cuando estas son proveedores y/o clientes.

    De antemano muchas gracias!
    Hermann D. Schimpf

    #33903

    Milton,
    La manera mas simple es poner a las entidades comerciales en diferentes organizaciones y limitar el acceso por ORG.
    Otra manera es customizar el BeforeSAve de los comprobantes en cuestion y agregar lógica para asociar los grupos de entidades comerciales a los perfiles/usuarios, pero eso requiere agregar también alguna tablay codificar.

    Saludos
    Antonio.

    #33904

    Antonio, gracias por la respuesta!
    La primera opcion no me es valida porque necesito las Entidades Comerciales en todas las organizaciones.
    La segunda opcion la veo como mas valida para lo que necesito. Si podrias detallarme como deberia realizar la segunda opcion, con mas datos, voy a intentar realizar esa configuracion.

    Trato de explicate mejor lo que necesitamos:
    Necesitamos poder filtrar el acceso segun el perfil o el usuario, al los Grupos de Entidades Comerciales a fin de que un usuario y/o perfil XX no pueda realizar transacciones con determinadas Entidades Comerciales. Esta configuracion la necesitamos tanto para compras como para ventas.

    Gracias
    Hermann D. Schimpf

    #33908
    Federico Cristina
    Superadministrador

    Hermann,

    Como estás.
    Tu inquietud va a involucrar tocar código de la aplicación.

    Según el enfoque que quieras darle, vas a necesitar modificar distintos lugares de la aplicación: filtramos sólo las entradas válidas o validamos luego de que el usuario seleccione?.

    La opción de filtrado requerirá tocar la ventana InfoBPartner, inyectándole alguna cláusula WHERE extra para limitar las opciones de entidades comerciales a visualizar. Hay que tener cuidado que esa ventana se utiliza en muchos lados, pero nosotros solo queremos filtrar cuando estamos en una factura o pedido.

    La opción de validación requerirá modificar el método beforeSave() de MInvoice (o MOrder según donde inicien el circuito). Al momento de guardar el registro de encabezado de factura o pedido, verificamos si es correcta la E.C. seleccionada. Esto es bastante más rápido de realizar que implementar la alternativa anterior.

    Obviamente vas a necesitar además alguna tablita que permita relacionar los perfiles con los grupos de entidades comerciales. Los registros allí almacenados servirán para realizar el filtrado o las validaciones correspondientes.

    Suerte!
    Federico

Viendo 4 entradas - de la 1 a la 4 (de un total de 4)
  • Debes estar registrado para responder a este debate.