Skip to Content
avatar image
Former Member

Modelo de Autorizacion por almacen para Ordenes de Compra

Que tal soy nuevo en esto y necesito hacer un modelo de autorizacion en el cual si el almacen no es "cuarentena" (que este almacen lo utilizamos para que todos los productos que se le dan entrada sean analizados antes de pasar al almacen de venta) mande un autorizacion al Director de Calidad para que este la autorice o rechace la orden de compra. EL modelo ya lo tengo, tengo los usuarios a los que se aplicaria la autorizacion, seleccione los documentos orden de compra y entrada de mercancias pero en la pestaña de conclusiones coloque el siguiente query pero no funciona,

SELECT Distinct 'TRUE' FROM OPOR T0 INNER JOIN POR1 T1 ON T0.DocEntry = T1.DocEntry WHERE T1.[WhsCode] <>'MEX-RETN'

donde MEX-RETN es el almacen de cuarentena

por que con cualquier almacen incluido el de cuarentena manda la autorizacion y solo la debe mandar cuando el almacen es diferente a cuarentena.

Gracias por el apoyo...

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

6 Answers

  • avatar image
    Former Member
    Mar 11, 2010 at 03:08 PM

    Hola.

    Existe una limitación con los queries que se pueden utilizar con el procedimiento de autorización: al aplicar el proceso de autorización sobre las líneas de un documento, sólo se evalúa la primera línea del documento.

    En el query que tiene creo que le haría falta comparar contra el número del documento actual:

    AND T0.DocNum=$[OPOR.DocNum]

    .

    Allí posiblemente se pueda aplicar un workarroud que consiste en crear un campo de usuario a nivel de encabezado del documento y un query o procedimiento almacenado que valide linea por línea el almacén y devuelva verdadero o algun otro valor al campo de usuario y dispare el procedimiento de autorización.

    Una manera fácil de arreglar esto es:

    - establecer por defecto el almacén de quarentena a todos los artículos que deben llegar a ese almacén. Así cuando se digiten las Ordenes de Compra, va a quedar automáticametne el de quarentena.

    - verificar el almacén de las listas de materiales para que se tome el artículo del almacén "aprobados".

    Otra opción podría ser crear una validación a nivel del objeto TansactionNotification que impida que se cree el documento hasta que se corrijan los almacenes.

    Saludos.

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 11, 2010 at 03:10 PM

    HOla, te comento que los modelos de autorizcion funcionan para datos de cabecera.

    Porque no mejor intentas con el TransactionNotification

    Has trabajado con el? si es asi, te comparto el siguiente codigo

    if (@Object_type in ('22') and @transaction_type in('A')) OR (@Object_type in ('22')
    	and @transaction_type in('U'))
      BEGIN
    declare @WHSCODE as int
    
    SET @WHSCODE=(SELECT count (whscode) from por1 
    where DocEntry=@list_of_cols_val_tab_del and whscode<>'MEX-RETN')
    if @WHSCODE >=1
    begin
    set @error=(123)
    set @error_message='Existen almacenes distintos al de cuarentena, guarde documento como preliminar'
    end
    end
    

    Este codigo debe servir, al mandar el error, obligara al usuario a que guarde el documento como preliminar

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Mar 11, 2010 at 03:41 PM

    Hola...

    ¿Existen casos en los que en la Orden de Compra, el almacén deba ser distinto al almacén de Cuarentena?

    Otra alternativa distinta sería que...

    Si todos los productos pasan por ese almacén, entonces lo que podrías hacer es simplemente asignar al usuario los valores por defecto, con el almacén de Cuarentena, y no permitirle modificar el almacén en los documentos.

    Saludos Cordiales,

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Mar 11, 2010 at 04:09 PM

    Muchas gracias por el apoyo, con la primer respuesta modificando el Query no me funciono, les comento que tenga definidos los almacenes de acuerdo al perfil de los usuarios, es decir, almacen de venta para los ejecutivos de venta y el almacen de cuarente al personal de compras, pero tengo dos usuarios que pueden realizar ordenes de compra y ordenes de venta por lo cual ellos tienen permisos para cambiar el almacen y son con ellos en lso que ehemos tenido algunos problemas ya que no siempre escogen el almacen correcto tanto para la orden de compra y orden de venta, d ehecho una vez que resuelva esto necesito hacer otro para las ordenes de venta.

    En el caso de la segunda respuesta no he ocupado TransactionNotification pero si me puedes decir como los utilizo te lo agradecere....

    Y en el caso de la tercera repsuesta todas las Ordenes de COmpra deben ingresar por el de cuarentena pero como dije hay un apr de usuarios que manejan el lamacne de cuarentena y de venta.

    Por otro lado me comentan que predefina el almacen pero si asi lo hago las ordenes de comrpa y de venta toman el mismo almacen y no me respeta el almacen que se le predefinio en el perfil del usuario.

    GRacias por el apoyo

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hola.

      Como ya mencioné antes no funcionará sino para la primera línea. Sólo aplicando el workarround sería funcional para todas las líneas.

      En cuanto al almacén para documentos de venta, ¿el mismo artículo que se compra se vende después?.

      Saludos.

  • avatar image
    Former Member
    Mar 11, 2010 at 04:25 PM

    ASi es el mismo producto que se compra se vende, de hecho el proceso es una vez que se hace la orden de compra, se hace la entrada de mercancias, fisicamente le producto se analiza y ela rea de claidad hace una transferencia de stock del almacen de cuarentena a disponible para que los ejecutivos puedan vender el producto, pero el producto no puede ingresar directo a disponible para vender ya que si hay algun problema con la calidad del producto y asi se vende nos podemos meter en broncas, estoy en una empresa del area farmaceutica.

    Perdona pero como soy novato en esto no entendi lo del workaround?

    Gracias

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hola.

      Si en absolutamente todas las ordenes de compra todos los artículosdeben entrar primero al almacén de cuarentena, sugiero lo siguiente:

      - Usar una Búsqueda Formateada (BF) que establezca el almacén en la Orden de compra la de cuarentena. La BF se activaría cada vez que cambie el Total del Documento.

      Esto se podría aplicar también a las Ordenes de venta, pero colocando el almacén de donde se deben tomar.

      También se puede realizar el workarround para habilitar el procedimiento de autorización o seguir la opción del Transaction Notification (como el que proporciona Mauricio Quintana), pero le aconsejo intentar primero con la búsqueda formateada y dejar el transaction como última alternativa.

      En cuanto al workarround, es una solución alterna que implica realizar algunas personalizaciones como tablas y campos de usuario para lograr cubrir alguna necesidad que con la función estándar no es posible.

      Saludos.

  • avatar image
    Former Member
    Mar 11, 2010 at 07:46 PM

    Ok voya realizar lo que me dices es buena idea...

    Gracias

    Add comment
    10|10000 characters needed characters exceeded