on 03-01-2010 6:08 PM
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?
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.