Clarion - NADIE ME AYUDA...Y SE ME ACABA EL TIEMPO

 
Vista:

NADIE ME AYUDA...Y SE ME ACABA EL TIEMPO

Publicado por Ale (5 intervenciones) el 20/07/2011 13:55:00
Hola a todos, necesito un poco de ayuda
Necesito hacer un reporte de deuda, son usuarios de internet que deben periodos, por ejemplo el usuario 1 debe el periodo 5, 6 y 7 del 2011, y el usuario 2 debe solo el periodo 7/2011. Yo quiero que me imprima solo el usuario 1 con los 3 periodos incluidos, y el usuario 2 que debe solo en periodo 7 no me lo imprima, no sé si se entiende.
El tema es que yo lo hago con un contador, el que tiene mas de un periodo que me lo imprima, incluyendo el ultimo periodo, pero no sé, no le doy en la tecla donde incrementar el contador o donde poner el embebido.

Bueno les agradezco a quienes puedan ayudarme
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
Imágen de perfil de ricardo net
Val: 78
Bronce
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

NADIE ME AYUDA...Y SE ME ACABA EL TIEMPO

Publicado por ricardo net (214 intervenciones) el 20/07/2011 23:31:37
hola y si sabes los periodos que debe porque no los cargas en un tabla temporal y confeccionar el reporte con esa taba
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

NADIE ME AYUDA...Y SE ME ACABA EL TIEMPO

Publicado por Ale (5 intervenciones) el 21/07/2011 13:58:54
El tema es ese, no sé como hacerlo, porque si lo hago de una forma me imprime los del usuario que debe por ejemplo 5,6,7 (como deberia ser) pero tambien el que debe solo el periodo 7 me lo imprime, y no deberia hacerlo. Y si lo hago de otra forma, me imprime 5,6 del que debe faltando el periodo 7, y el otro usuario no sale que seria lo correcto. No encuentro donde esta el error, yo hago el control en el TakeRecord del Report, pero no me funciona.
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
Imágen de perfil de ricardo net
Val: 78
Bronce
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

NADIE ME AYUDA...Y SE ME ACABA EL TIEMPO

Publicado por ricardo net (214 intervenciones) el 21/07/2011 18:30:56
hola me tendrias que enivar algun ejemplo
lo mas comun seria que el el reporte filtre que si el mes s mayor a 7 que no lo imprima y si haces un proceso en una tabla temporal tendrias que hacer los mismo
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

NADIE ME AYUDA...Y SE ME ACABA EL TIEMPO

Publicado por Ale (5 intervenciones) el 22/07/2011 13:18:43
Ricardo, es asi como decis, el tema que el que debe ademas del 7 , el 6, 5 y 4 en ese usuario si debe imprimirse el mes 7. En cambio el que solo debe el mes 7 no salga impreso.
Si fuera solamente que el mes 7 no salga seria barbaro, pero tiene que salir para los que deben mas de 1 periodo. Ahi es donde me complica, porque yo le pongo un contador que me va contando los periodos en deuda, si es mayor a 1 que imprima el mes 7. Si es igual a 1 y es igual al mes 7 que no lo imprima, pero no me funciona, yo creo que algo mal estoy poniendo en el codigo, me parece que es cuando incremento el contador. Necesitaria un ejemplo para ver como lo podria hacer y de ahi en mas yo probar con lo mio para ver donde le estoy errando.

Muchas gracias
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
Imágen de perfil de ricardo net
Val: 78
Bronce
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

NADIE ME AYUDA...Y SE ME ACABA EL TIEMPO

Publicado por ricardo net (214 intervenciones) el 22/07/2011 20:55:05
Hola tendrias que ver la manera de cuando inicas el contador y marcando los registros que queres imprimir y con eso solucionaria llo del filtro solo filtrarias lo marcado ej paso = 1 ; imprimo
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
sin imagen de perfil
Val: 14
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

NADIE ME AYUDA...Y SE ME ACABA EL TIEMPO

Publicado por Cristian Canteros (136 intervenciones) el 23/07/2011 16:53:05
Cuando se me complica el tema de los reportes, desde un browse o una vista, cargo los resultados a una QUEUE, y la mando como parametro al reporte. Entonces no tengo que usar embed en los reportes.
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

NADIE ME AYUDA...Y SE ME ACABA EL TIEMPO

Publicado por Isaias (7 intervenciones) el 03/08/2011 18:18:24
Lo que debe hacer, es lo siguiente suma los valores de los meses que debe, luego lo divide entre la tarifa mensual y si el resultado es igual a 1, no lo imprime. Solo los que sean mayores
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

NADIE ME AYUDA...Y SE ME ACABA EL TIEMPO

Publicado por Federico (43 intervenciones) el 14/09/2011 22:48:17
Tu solucion es my facil, lo que tenes que hacer es ver en tu diccionario una tabla de un solo registro y crear details dentro y renombrarlos como mejor te guste. Estos details deben ir en FALSE en las propiedades del report en el tab Filters.
Bueno, lees tu tabla con un set, loop y controlas la informacion con la clave de tu tabla y en takerecord antes del parentcall debes ir tirando por usuario los movimientos cvaculados que debe y cada vez que hay uno hacer un PRINT(RPT:DETAIL) o como lo hayas llamado, hace un corte por usuario y listo.
Ahi te va un ejemplo a ver si te da una idea:

CLEAR(LOC:Promotor)
CLEAR(LOC:Prom)
CLEAR(LOC:NombrePromotor)
CLEAR(Variable_Contrato)
CLEAR(Variable_Bajas)
CLEAR(Variables_Totales)

LOOP X# = 1 TO RECORDS(QImpresion)
GET(QImpresion,X#)
LOC:Promotor = WHAT(QImpresion,1)

CLEAR(PROM:Record)
PROM:Codigo = LOC:Promotor
Access:Promotor.TryFetch(PROM:Pk_Promotor)
LOC:NombrePromotor = PROM:Nombres

IF WHAT(QImpresion,1) <> LOC:Prom THEN
PRINT(RPT:BandaPromotor)
END
LOC:Prom = WHAT(QImpresion,1)

PRINT(RPT:BandaContrato)

CLEAR(CTR:Record)
CTR:Fecha = GLO:Fecha_Ini
SET(CTR:PK_ContratoC,CTR:PK_ContratoC)
LOOP UNTIL Access:Contrato.NEXT()
IF ERROR() THEN BREAK END
IF ~INRANGE(CTR:Fecha,GLO:Fecha_Ini,GLO:Fecha_Fin) THEN BREAK END
IF CTR:Promotor <> LOC:Promotor THEN CYCLE END

CLEAR(Variable_Contrato)
Fecha = CTR:Fecha
FechaVigencia = CTR:FechaVig
Numero = CTR:Numero

CLEAR(CPL:Record)
CPL:Codigo = CTR:Plan
Access:CPlan.TryFetch(CPL:PK_CPlan)
Plan = CPL:Descripcion

CLEAR(CTP:Record)
CTP:Codigo = CTR:TipoPlan
Access:CTipPlan.TryFetch(CTP:PK_CTipPlan)
TipoPlan = CTP:Descripcion

Asegurado = CTR:Asegurado

CLEAR(ASE:Record)
ASE:Codigo = CTR:Asegurado
Access:Asegurado.TryFetch(ASE:PK_Asegurado)
NombreAsegurado = ASE:Apellidos

Importe = CTR:ImporteCuota
PrimerVencimiento = CTR:PrimerVenc
Cobrador = ASE:Cobrador

CLEAR(COBR:Record)
COBR:Codigo = ASE:Cobrador
Access:Cobradores.TryFetch(COBR:PK_Cobrador)
NombreCobrador = COBR:Nombres

CASE ASE:Activo
OF 1
Estado = 'ACTIVO'
OF 2
Estado = 'SUSPENDIDO'
OF 3
Estado = 'DE BAJA'
OF 4
Estado = 'BLOQUEADO'
ELSE
Estado = 'SIN ESTADO'
END
UltimoPago = ASE:UltimoVencimiento
PRINT(RPT:DetalleContrato)
END

PRINT(RPT:BandaBajas)

CLEAR(ASE:Record,-1)
ASE:Promotor = LOC:Promotor
SET(ASE:FK_Promotor,ASE:FK_Promotor)
LOOP UNTIL Access:Asegurado.NEXT()
IF ERROR() THEN BREAK END
IF ASE:Promotor <> LOC:Promotor THEN BREAK END

CLEAR(CTR:Record)
CTR:Numero = ASE:Codigo
Access:Contrato.TryFetch(CTR:Por_Contrato)

CLEAR(Variable_Bajas)
_Contrato = CTR:Numero
_Asegurado = CTR:Asegurado
_NombreAsegurado = ASE:Apellidos

CLEAR(CPL:Record)
CPL:Codigo = CTR:Plan
Access:CPlan.TryFetch(CPL:PK_CPlan)
_Plan = CPL:Descripcion

CLEAR(CTP:Record)
CTP:Codigo = CTR:TipoPlan
Access:CTipPlan.TryFetch(CTP:PK_CTipPlan)
_TipoPlan = CTP:Descripcion

IF ASE:Motivo

CLEAR(MOT:Record)
MOT:Codigo = ASE:Motivo
Access:Motivo.TryFetch(MOT:PK_Motivo)
_NombreMotivo = MOT:Descripcion
_FechaBaja = ASE:FechaAud

ELSE

CLEAR(BAG:Record)
BAG:Asegurado = ASE:Codigo
Access:BajasAseg.TryFetch(BAG:FK_Asegurado)

CLEAR(MBJ:Record)
MBJ:Codigo = BAG:Motivo
Access:MotBaj.TryFetch(MBJ:PK_MotBaj)
_NombreMotivo = MBJ:Descripcion
_FechaBaja = BAG:FechaBaja

END

_UltimoPago = ASE:UltimoVencimiento
_Importe = ASE:UltimaCuota
PRINT(RPT:DetalleBajas)

END

END
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