FoxPro/Visual FoxPro - mauricio - ctacte

   
Vista:

mauricio - ctacte

Publicado por marina (38 intervenciones) el 27/05/2009 00:51:59
estoy media pesada mauricio, pero me paso esto, cuando le agrege mas registros a la ctacte de esse cliente dentro de esas fechas no me genero el vector correctamente osea me deja bien los tres primeros registros y despues ya no me almacena mas los comprobantes me guarda 0 ¿?
te marco lo q yo veo medio feo

SELE ctacte
STORE 0 TO totrec, reg, s
SCAN for codcliente = codclientegen
IF BETWEEN(fecha,fechae,fechas)
totrec = totrec + debe && totrec no lo vi muy coincidente
s = s + 1
IF totrec > entrega
EXIT
ENDIF
ENDIF
ENDSCAN
PUBLIC valimp(s)
* Inicia el proceso de guardar en vector los comprobantes !!!!!!!
GO TOP
SCAN FOR codcliente = codclientegen
IF BETWEEN(fecha,fechae,fechas) AND reg < s
totrec1 = totrec1 + debe
reg = reg + 1
valimp(reg) = comp && me guarda bien solamente tres comprobantes
ELSE
EXIT
ENDIF
ENDSCAN

gracias y saludos
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 Mauricio

Mauricio - ctacte

Publicado por Mauricio (1368 intervenciones) el 27/05/2009 02:14:48
*Marina, tienes razon, por lo cual voy asumir que la tabla ctacte esta indexada por el codigo de cliente y tambien por fecha de comprobante, caso contrario le creas el indice.....

CLOSE TABLE ALL
USE ctacte IN 0 ORDER codclie_fecha
SELE ctacte
STORE 0 TO totrec, reg, s
IF SEEK(codclientegen,'ctacte') && Te posicionas al inicio de cod y fecha
SCAN for codcliente = codclientegen && barre por cod y fecha
IF BETWEEN(fecha,fechae,fechas) && fecha entre rango
totrec = totrec + debe && Para saber si cubre el pago
s = s + 1
IF totrec > entrega && ya cubre el pago, salir del scan
EXIT
ENDIF
ENDIF
ENDSCAN
PUBLIC valimp(s) && matriz para guardar comprobante
* Inicia el proceso de guardar en vector los comprobantes !!!!!!!
GO TOP
SEEK(codclientegen)&& se posiciona en el cliente y fecha a barrer
SCAN FOR codcliente = codclientegen
IF BETWEEN(fecha,fechae,fechas) AND reg < s
reg = reg + 1 && control para saber que ya cubre el pago
valimp(reg) = compro && guarda comprobantes
ELSE
EXIT &&ya cubrio el pago
ENDIF
ENDSCAN
ENDIF
RELE VALIMP
Marina, esta comprobado, te recomiendo que lo pases a VFP y lo indentes para poder entenderlo mejo, cualquier duda avisame, te tratare de explicar con mucho gusto......Saludos
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