FoxPro/Visual FoxPro - ayuda porfi!!! cta cte

   
Vista:

ayuda porfi!!! cta cte

Publicado por marina (38 intervenciones) el 22/05/2009 02:08:46
tengo este problema y ya no se mas q hacer para resolverlo por favor ayuda!!!!!!!
yo selecciono un determinado cliente con su cuenta corriente acotada por las fechas
por ej: cli fecha debe comp
21 07/05/09 100 011 - 44332423
21 08/05/09 200 011 - 48678454
21 14/05/09 300 011 - 98566522

y lo q deseo hacer es si por ej tiene esta deuda y me entrega 210 pesos
q me actualize la deuda y me guarde en un vector los comprobantes ya pagos
entonces me quedaria

nuevadeuda=390

y los comprobantes
011 - 44332423
011 - 48678454

SELECT ctacte
SCAN for ctacte.codcliente= codclientegen && filtro el cliente q determine
IF ctacte.fecha >= fechae AND ctacte.fecha <=fechas && comparo si esta dentro de las fechas q yo le

asigne
IF entrega > totrec && analizo la entrega si es mayor a una factura
reg=reg + 1 && lo guardo para saber la cant de comprob q voy a necesitar
totrec=totrec + debe
ELSE

ENDIF
nuevadda = totrec - entrega
endif
ENDSCAN
&& esto me funciona bien el problema es ahora cuando deseo GUARDAR LOS COMPROBANTES EN UN VECTOR!!!
SELECT ctacte
GO top
public valimp(reg)&& CREO UN VECTOR para guardar los comprobantes

SCAN for ctacte.codcliente= codclientegen && vuelvo a filtrar por cliente
IF ctacte.fecha >= fechae AND ctacte.fecha <=fechas && tomo devuelta las fechas q yo acote
s=s+1
&&sumo para terminar el proceso cuando los registros ya fueron suficiente
IF s=reg
valimp(reg)= ctacte.comp
&& le asigno el ultimo valor de la tabla q en este caso seria el segundo registro

thisform.release
ELSE
valimp(s)= ctacte.comp && voy cargando en el vector los comprobantes
aca me tira el error SUBSCRIPT IS OUTSIDE DEFINED RANGE

endif
ENDIF
ENDSCAN
les comento q el vector cuando lo pruebo me devuelve bien los valores, pero me tira ese error y no se mas q hacer
por favor necesito una ayudita de todos!!!
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

RE:ayuda porfi!!! cta cte

Publicado por es_binario (757 intervenciones) el 22/05/2009 16:14:57
Si te entendi bien seria asi.

*// creo un cursor con los datos de cuentas que estan entre las fechas
SELECT * FROM ctacte;
WHERE ctacte.fecha between Thisform.txtFechae.Value AND thisform.txtFechas.Value;
INTO CURSOR deudas_cte

*// de donde obtengo la entrega o pago del cliente
LOCAL entrega
entrega = thisform.txtEntrega.Value

*// creo un cursor con las cuentas ques se pueden pagar
*// con el pago del cliente en base al cursor de fechas
SELECT * FROM deudas_cte;
WHERE deudas_cte.debe <= entrega;
INTO CURSOR tmp_cur_ctas

IF RECCOUNT() > 0 && me aseguro que haya cuentas

SELECT tmp_cur_ctas && en este cursor estan las cuentas
*// creo un arreglo en base al numero de cuentas
PUBLIC valimp(RECCOUNT())
FOR a = 1 TO RECCOUNT()
*// lleno el arreglo con los comp, que cumplen la condicion
valimp(a) = tmp_cur_ctas.comp
ENDFOR
ELSE
MESSAGEBOX("no hay cuentas")
ENDIF

NOTA: creo que te seria mas util si en la tabla de clientes en deuda le agregaras un campo que (a_favor) para asi permitir pagos que no sean iguales a las facturas que debe.
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 Mauricio

Ayuda porfi!!! cta cte

Publicado por Mauricio (1368 intervenciones) el 22/05/2009 16:49:46
Marina, pruebalo y luego me cuentas, esta resumido y hay cosas como actualizar la deuda que no la he puesto!!!!!!!!!
*
RELE valimp
SELE ctacte
STORE 0 TO totrec, reg
PUBLIC valimp(10)
SELECT ctacte
SCAN for codcliente = codclientegen AND totrec <= entrega
IF BETWEEN(fecha,fechae,fechas)
totrec = totrec + debe
reg = reg + 1
valimp(reg) = compro && Guardo en matriz los comprobantes
ENDIF
ENDSCAN
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

RE:ayuda porfi!!! cta cte

Publicado por Cesar Diez Canseco (35 intervenciones) el 22/05/2009 20:07:45
Hola Marina tengo un ejemplo de cuenta corriente clientes. Mandame un correo a cdc0710@yahoo.com para poder enviartelo y lo revises quizas te puede servir o darte una idea.

Saludos desde Peru
Cesar
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