Bloqueo duplicar documentos

Hola buenos días

Quiero quitarles la funcionalidad a mis usuarios de duplicar documentos (oferta de venta y pedido de venta), no sé que comparar en un transaction para realizar el bloqueo

¿Ustedes habrán hecho algo parecido?

Muchas gracias

Hola @RobertSoon

podrías probar con el campo NumatCard por ejercicio fiscal, que sólo exista uno.

La comprobación será:

  • El campo no podrá quedar vacío
  • Buscarás que no exista el mismo valor para el mismo ejercicio fiscal.

Son ideas, seguramente puedas añadir algún criterio más para restringir la creación de documentos y evitar duplicados. Aquí también deberás considerar los criterios de la empresa.

Un saludo

Hola @Amarcos

Muchas gracias por responder, voy a realizar pruebas con lo que me acabas de indicar

Saludos!

Hola, espero ser de ayuda con la siguiente información.

  1. Acceder a la transacción PFCG y crear un perfil de usuario nuevo o editar el perfil existente del usuario que necesita tener restringida esta funcionalidad.
  2. En la pestaña de “Autorizaciones”, agregar la autorización correspondiente a los documentos de oferta de venta y pedido de venta.
  3. En la pestaña de “Restricciones de objeto”, agregar una restricción de objeto para “duplicar” para los documentos correspondientes.
  4. Guardar los cambios y asignar el perfil actualizado al usuario.

Estos cambios limitarán la capacidad del usuario para duplicar los documentos de oferta de venta y pedido de venta.

1 me gusta

hola @RobertSoon

Checa este post, quizá te sea de ayuda h_tps://answers.sap.com/questions/12592927/deshabilitar-duplicar.html

Saludos.

1 me gusta

Para quitar la funcionalidad de duplicar documentos a los usuarios en SAP Business One, puedes emplear un par de métodos diferentes:

Método 1: Personalización del Menú

Puedes personalizar el menú de SAP Business One para deshabilitar o eliminar la opción de duplicar documentos para ciertos usuarios. Esto se hace mediante la personalización de la interfaz de usuario.

Pasos:

  1. Abrir el Menú de Personalización:

    • Ve a Gestión > Inicialización del Sistema > Personalización del Menú.
  2. Buscar las Opciones de Duplicar Documentos:

    • En el menú de personalización, busca las opciones relacionadas con la duplicación de documentos (oferta de venta y pedido de venta).
    • Estas opciones suelen estar en el menú contextual cuando se hace clic derecho sobre un documento.
  3. Deshabilitar o Eliminar las Opciones:

    • Selecciona las opciones de duplicar documentos y desactívalas o elimínalas.
    • Guarda los cambios y asegúrate de asignar esta configuración a los perfiles de usuario correspondientes.

Método 2: Uso del Transaction Notification

Otra forma de controlar esta funcionalidad es mediante el uso de Transaction Notification en SAP Business One. Este método involucra la creación de un script SQL en el procedimiento almacenado Transaction Notification para prevenir la duplicación de documentos específicos.

Pasos:

  1. Abrir SQL Server Management Studio:

    • Conéctate a la base de datos de SAP Business One.
  2. Modificar el Transaction Notification:

IF @transaction_type = 'A' AND @object_type IN ('17', '23') -- 17 = Oferta de Venta, 23 = Pedido de Venta
BEGIN
    DECLARE @OldDocEntry INT
    SELECT @OldDocEntry = (SELECT DocEntry FROM [dbo].[OQUT] WHERE DocNum = @list_of_cols_val_tab_del) -- OQUT es la tabla de Ofertas de Venta

    IF @OldDocEntry IS NOT NULL
    BEGIN
        -- Impedir la duplicación del documento
        SET @error = 1
        SET @error_message = N'No está permitido duplicar ofertas de venta.'
    END
END

IF @transaction_type = 'A' AND @object_type IN ('23') -- 23 = Pedido de Venta
BEGIN
    DECLARE @OldDocEntry INT
    SELECT @OldDocEntry = (SELECT DocEntry FROM [dbo].[ORDR] WHERE DocNum = @list_of_cols_val_tab_del) -- ORDR es la tabla de Pedidos de Venta

    IF @OldDocEntry IS NOT NULL
    BEGIN
        -- Impedir la duplicación del documento
        SET @error = 1
        SET @error_message = N'No está permitido duplicar pedidos de venta.'
    END
END

Descripción del Script:

  • IF @transaction_type = ‘A’ AND @object_type IN (‘17’, ‘23’): Verifica si se está creando un nuevo documento y si el tipo de documento es Oferta de Venta (17) o Pedido de Venta (23).
  • SELECT @OldDocEntry: Intenta seleccionar un documento existente con el mismo número de documento.
  • IF @OldDocEntry IS NOT NULL: Si encuentra un documento existente, bloquea la operación.
  • SET @error = 1: Establece un error para prevenir la duplicación.
  • SET @error_message: Proporciona un mensaje de error al usuario.

Método 3: Gestión de Permisos de Usuario

SAP Business One también permite gestionar los permisos de los usuarios para ciertas funciones a través del módulo de Gestión de Autorizaciones.

Pasos:

  1. Abrir Gestión de Autorizaciones:

    • Ve a Gestión > Inicialización del Sistema > Autorizaciones > Autorizaciones Generales.
  2. Seleccionar Usuario o Grupo de Usuarios:

    • Selecciona el usuario o grupo de usuarios al que deseas restringir el acceso.
  3. Configurar Permisos:

    • Busca las autorizaciones relacionadas con la duplicación de documentos y ajusta los permisos según sea necesario.

Resumen

Utilizando cualquiera de estos métodos, puedes restringir la capacidad de duplicar documentos en SAP Business One para ciertos usuarios. Personalizar el menú, utilizar Transaction Notification o gestionar permisos son formas efectivas de lograr esto. Selecciona el método que mejor se adapte a tus necesidades y configuración.

Si necesitas más ayuda con algún paso en particular o tienes preguntas adicionales, no dudes en preguntar. ¡Estoy aquí para ayudarte!