cancel
Showing results for 
Search instead for 
Did you mean: 

Procedimiento de autorizacion

Former Member
0 Kudos

Que tal, quiero hacer un procedimiento de autorizacion en donde me verifique 2 cosas, si el campo llamado "contado" dice 'Y' marcarlo como FALSE para que no pase por autorizacion pero en ese mismo query si el cliente tiene facturas vencidas que si pase a autorizacion.

Es decir solo 2 cosas, si me paga en efectivo que no pase a autorizacion, pero si no es efectivo que revise si tiene facturas vencidas para que lo envie a pedir autorizacion si es asi.

el query que estoy intentando hacer es este:


SELECT CASE WHEN ($[ORDR.U_Contado]='N') AND ($[ORDR.CARDCODE=$[$4.0.0]) then 'TRUE' else (CASE WHEN max(datediff(day, t0.docduedate, getdate()))>=1 AND T0.CARDCODE=$[$4.0.0] 
            THEN 'TRUE' ELSE 'FALSE' END) END
FROM OINV T0
WHERE T0.CARDCODE=$[$4.0.0]
AND t0.paidtodate<>t0.doctotal
GROUP BY T0.CARDCODE

Sin embargo no me funciona.......algun comentario/ayuda/pregunta/etc?

Accepted Solutions (1)

Accepted Solutions (1)

former_member188440
Active Contributor
0 Kudos

este codigo te sirve para las facturas vencidas, antes de esto ingresa el codigo que valide que sea en efectivo


declare @efectivo as nvarchar(1)
set @efectivo = (select $[ordr.U_contado])
if @efectivo ='N'
begin
SELECT Distinct 'TRUE'  
FROM OINV T0 
WHERE T0.DocStatus = 'O' AND 
DateDiff(dd, T0.DocDueDate, CONVERT(DateTime, CONVERT(nvarchar(11),GetDate(),112),112)) >= 5 --Dias que quieras validar
AND T0.CardCOde = $[$4.0.0]
AND (Select balance from ocrd where cardcode=$[$4.0.0]) > 0
end

Former Member
0 Kudos

Excelente Mauricio, pensaba hacer 2 autorizaciones pero con la modificacion que hiciste quedo excelente, he hecho unas pruebas y al parecer todo esta bien. Cree una factura de un SN y la puse como vecida ya, al crear un pedido sin decirle que es contado me pide autorizacion, si le digo que es contado me deja pasar. Muchas Gracias.

Answers (0)