cancel
Showing results for 
Search instead for 
Did you mean: 

PROCEDIMIENTO DE AUTORIZACIÓN AYUDA

former_member263548
Participant
0 Kudos

Buenas, estoy creando un proceso de autorización ligado a un UDF (U_BF4 tipo Numeric (19.6)) que contiene una búsqueda formateada pero no me funciona, les agradezco su ayuda, el código que tengo es el siguiente:

SELECT 'TRUE'

WHERE  ($[$29.0.Number]+ $[$U_BF4.1.Number] > (SELECT T0.[CreditLine] FROM OCRD T0 WHERE T0.[CardCode] = $[$4.0])

Accepted Solutions (0)

Answers (1)

Answers (1)

juancarlos_huerta
Contributor
0 Kudos

Si lo que necesitas es que no se pase del límite de crédito, te falta evaluar también el saldo actual del socio de negocio (campo OCRD.Balance). Si la búsqueda formateada de tu campo U_BF4 es la q te trae el saldo, tal vez no te serviría leerla en el query xq aún no se guarda.

Intenta con este query:

SELECT 'TRUE' WHERE

  ((SELECT T0.[Balance]+$[$29.0.Number] FROM OCRD T0 WHERE T0.[CardCode] = $[$4.0])

  > (SELECT T0.[CreditLine] FROM OCRD T0 WHERE T0.[CardCode] = $[$4.0])

  )

Otra opción es que reutilices el query de tu BF y lo sumes al campo de Total del documento. Algo así:

SELECT 'TRUE'

WHERE  ($[$29.0.Number]

               + (Aquí poner tu query de la BF)

     > (SELECT T0.[CreditLine] FROM OCRD T0 WHERE T0.[CardCode] = $[$4.0])

Saludos,

JC.

former_member263548
Participant
0 Kudos

Gracias Juan Carlos,

El query de la BF lo que hace es que me suma las órdenes de compra de la semana y el límite de crédito sería semanal, lo que trato es que a la BF le sume el monto de la OC actual y lo valide contra el límite de crédito para que aplique la autorización si corresponde, intenté con la segunda opción que me diste pero me muestra un error:

Could not commit transaction: Error -1 detected during transaction 'Vías de pago para asistente de pagos' (OPYM)

este es el código que estoy usando incluyendo la BF:

SELECT 'TRUE'

WHERE  ($[$29.0.Number]

               + (SELECT

    sum(T0.[DocTotal])

FROM

     OPOR T0

WHERE

     datepart(wk,T0.[DocDate]) = datepart(wk,getdate()) and

     datepart(yy,T0.[DocDate]) = datepart(yy,getdate()) and T0.CardCode=$[OCRD.CardCode])

     > (SELECT T0.[CreditLine] FROM OCRD T0 WHERE T0.[CardCode] = $[$4.0])