Clarion - Mensajes al iniciar la aplicacion

 
Vista:

Mensajes al iniciar la aplicacion

Publicado por Alejandro (1 intervención) el 19/08/2009 18:51:40
hola, necesitaria ayuda, lo paso a explicar: dentro de una aplicacion tengo vencimientos de 30 dias 20,15,10 y 5 dias para cada caso; necesitaria que la aplicacion me avise dichos vencimientos ni bien se inicie la aplicacion. gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Mensajes al iniciar la aplicacion

Publicado por Marcelo Madelon (572 intervenciones) el 19/08/2009 19:45:22
Hola Alejandro:
Te cuento como lo hago yo y ves si te sirve.
En el OpenWindows del menú llamo a Reporte donde le habilito la vista previa y al zoom al 100%. (No te olvides de agregarlo en Procedures)
Cargo una queue y la muestro, el operador sabrá si la imprime o no.
Suponiendo que tenes los archivos:
Clientes donde tenes (el prefijo CLI)
CodCliente este es clave KeyCodCliente
ApellidoNombre
y el resto……..

MovCtas donde tenes (el prefijo MOV)
FechaEmision
FechaVencim Este es clave KeyFechaVencim
CodCliente
Numero
Importe

La Queue la llamo QVencim (el prefijo QV)
Armo un reporte de un archivo que tenga solo un registro para leer,
Modifico la Cabecera y la línea con los datos de la Queue
En TakeRecord uso un código parecido a este:
FREE(QVencim) ! Vacio e inicializo la Queue
I# = 0
Clear(MOV:Record)
SET(MOV:KeyFechaVencim, MOV:KeyFechaVencim)
LOOP UNTIL Access:MovCtas.Next() ! Lee MovCtas hasta el final
IF MOV:FechaVencim Not > Today()
Cycle ! Regreso al loop por que no me importan las que ya se vencieron
End
I# += 1
CLI:CodCliente = MOV:CodCliente
IF Access:Clientes.Fetch(CLi:KeyCodCliente) !Lee Clientes
CLI:ApellidoNombre = ‘INEXISTENTE’ ! Si no lo encuenta le mueve leyenda
END
QV:ApellidoNombre = CLI:ApellidoNombre
QV:FecEmi = MOV:FechaEmision
QV:FecVen = MOV:FechaVencim
QV:Numero = MOV:Numero
QV:Importe = MOV:Importe
QV:Dias = MOV:FechaVencim – Today() ! Calculo los dias al vencimiento
ADD(QVencim,I#) ! Grabo la Queue
IF ERRORCODE() THEN STOP(ERROR()).
END !Loop

La ordeno por cantidad de dias al vencimiento y alfabéticamente por nombre
Sort(QVencim, QV:Dias, QV:ApellidoNombre) ! Orden creciente
! Imprimir desde una Queue
Loop I#= 1 to Records(QVencim)
Get(QVencim,I#)
Print(RPT:Detalle) ! Este es el Detail de la Linea
End
EndPage(Report)

Si quisieras cambiar el orden agregale un signo menos
Sort(QVencim, QV:Dias, -QV:ApellidoNombre) ! Orden alfabetico decreciente

Avisa si te sirve

Saludos desde Venado Tuerto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar