Autorizacion SAP B1

Buenos días, estimados consultores. Espero ante todo que estén bien en estos difíciles momentos que estamos presentando en todo el mundo con respecto al corona virus.

Nuevamente acudo a ustedes ya que la compañía me ha pedido diseñar una autorización en el modulo de compras.

La idea es la siguiente:
Tengo una lista de artículos que solo se le pueden comprar a x proveedor. La idea es que cuando generen la orden de compra si en la orden de compra existe alguno de esos artículos que solo se le deben comprar a dicho proveedor me pida una autorización siempre y cuando se le estén comprando a un proveedor diferente.

Tengo la idea de crear una tabla en donde almacenar todos los artículos que solo se puedan comprar al proveedor especifico.
Pero no sabría como desarrollar el query para que me valide al proveedor que se le esta haciendo la compra.

Alguna idea?? Estaría muy agradecidos con los que deseen ayudarme.

Puedes usar la lupa y buscar “query proceso de autorizacion” y te saldran varios temas.
Si la relacion sera 1 Proveedor por defecto para 1 Item, no necesitas tabla, ya tiene un campo en el maestro del Item para el proveedor por defecto.

1 me gusta

Exacto, como dice @Willy_Caldero, podes armar una query que controle que los artículos que están en el detalle tengan como proveedor predeterminado (pestaña de compras) al que vos necesitas, devolviendo 1 o 0 según corresponda. Este control lo podes colocar dentro del modelo de autorización que necesites crear.

Buen día, gracias por sus orientaciones. estuve leyendo un poco sobre el tema ya que en este tema de autorizaciones soy nuevo. Pero no he encontrado una información concreta que me aclare mis dudas.
Este seria el query que he desarrollado, pero al momento de probar me genera error. Sinceramente no se si esta bien o le hace falta algo para que funcione.
Como les dije, no tengo mucho conocimiento sobre esto de autorizaciones :frowning_face:

SELECT DISTINCT'TRUE' FROM OITM T0 WHERE T0."CardCode" <> (SELECT T1."CardCode" FROM OPOR)

Los querys para procesos de autorizacion, son distintos a los normales, por que utilizan variables, o valores que aun no se han guardado en la base de datos, esto mismo se aplica para consulta de busquedas formateadas, mira el siguiente video:


el query para flujo de autorizaciones, tiene que devolver TRUE para activar, y si en el query estas usando una variable del detalle del documento, internamente realizara un bucle con cada linea, y parara hasta que terminen las lineas o alguna devuelva TRUE.

Espero te ayude la informacion.

Gracias estimado @Willy_Caldero el vídeo me hizo aclarar algunas dudas. Sin embargo trato de aplicar la consulta en el modelo de autorizacion, pero al momento de crear una orden de compra el sistema no la tiene encuenta. a continuación dejo el query que a mi parecer tiene la lógica correcta.

SELECT DISTINCT 'TRUE'
FROM OITM T0
WHERE T0."ItemCode" = $[$38.11.0] AND T0."CardCode" <> $[$4.1.0]

No se que error estoy cometiendo.

Al fin logre realizar la autorización después de tanto quebrajadero de cabeza :rofl: :rofl: :rofl:, a continuación dejo el query por si alguien mas padece de lo mismo.
Después de todo decidí usar una tabla definida por usuario donde almaceno los artículos los cuales serán tenidos en cuenta por la autorización.

SELECT DISTINCT'TRUE'
FROM "OPOR" T0
INNER JOIN "POR1" T1 ON T0."DocEntry" = T1."DocEntry"
WHERE $["OPOR"."CardCode"]<>'PN900519323'
AND EXISTS (SELECT * FROM "@LIF_ARTNORSTRAY" T2 WHERE T2."U_ItemCode"=$[$38.1.0])

@LIF_ARTNORSTRAY Es la tabla que se definio para los articulos.

Gracias a todos por la info, todos sus aportes sirvieron de mucho para despejar dudas

2 Me gusta