Clipper/FiveWin - Actualizar Datos en ListBox

 
Vista:

Actualizar Datos en ListBox

Publicado por Gabriel Martin (31 intervenciones) el 07/01/2006 16:13:44
Hola a todos.

En esta ocasión si que no tengo ni idea de por donde atacar el tema. Ha habido algun compañero que me ha ayudado, pero la solucion dada no acaba de 'cuadrar' con mi sistema.

Para los que sepais de contabilidad, lo que pretendo hacer es un 'extracto de cuenta' a partir del fichero de asientos y sin ficheros auxiliares.

Pues bien, crear el extracto, filtrando la base en funcion de la cuenta contable+fecha de inicio+fecha del final del listado, no representa problemas. El problema está es que quiero mostrar en el Listbox la siquiente informacion

Nº Asiento / FECHA / TEXTO ASIENTO / DEBE / HABER / SALDO

Tanto nº Asiento, fecha, texto, debe y haber se toman del fichero de asientos, mostrandose tal cual.

La dificultad está en SALDO. ¿Como se calcula saldo? Es el resultado de sumar o restar en fucnion de donde esté la cantidad si en el Debe o Haber de la linea actual del listbox a el saldo de la linea anterior. Para la primera linea se toma como saldo anterior el que tenga la cuenta analizada en la fecha de inicio del listado.

Si alguien ha sido capaz de entender esto a la primera es que es un genio, porque explicanolo yo casi que no lo entiendo.

En Clipper puro y duro era muy facilito pero en Five no tengo manera. Si para que alguien puede ayudarme necesita que le envie la parte de fuente necesaria que me lo indique, que encantado lo hago

LPV Gabriel Martin
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:Actualizar Datos en ListBox

Publicado por Gaqbriel pascual (913 intervenciones) el 07/01/2006 23:04:26
Yo tuve el mismo problema que tu y lo solucione de una manera muy tonta:

Hice SCOPE sobre el fichero de asientos para obtener la cuenta que queria mostrar el extracto, luego meti esos datos en un array, le agregue una ultima columna al array vacia, luego, con un simple FOR ... TO LEN(array) calcule el saldo y lo puse en la ultima columna algo asi:

For x:= 2 to LEN(aExtracto)
aExtracto [x,5] := aExtracto de [x-1,5] + aExtracto[x-1,3] - aExtracto[x-1,4]
NEXT

y finalmente un listbox de un array hizo el resto del trabajo, en vez de poner la DBF en el list box puse el array, asunto arreglado:

REDEFINE LISTBOX oBrw FIELDS aExtracto[oBrw:nAt,1], aExtracto[oBrw:nat,2] ...... ALIAS "ARRAY"

Funciona muy bien y muy rapido, mas rapido incluso que trabajando directamente sobre el DBF
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:Actualizar Datos en ListBox

Publicado por Gabriel Martin (31 intervenciones) el 08/01/2006 20:41:26
Muy buena idea que me apunto... para mi siguiente version. Se me olvidó comentar que por problemas de 'actualizacion' y que las bases con las que se está trabajando estan con indices ntx.

por el momento y hasta que no esté a un 90% el programa no me es posible pasar a bases CDX.

No obstante si me indicas como pasar los datos a un array, quizas intentaría hacerlo tal cual utilizando un Filter

Mil gracias no obstante

LVP Gabriel Martin
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:Actualizar Datos en ListBox

Publicado por Gabriel Pascual (913 intervenciones) el 08/01/2006 21:03:30
facil:

aSaldos := {}
USE apuntes
SET FILTER TO .......
GO TOP
DO WHILE .NOT. EOF()
AADD(aSaldos, {campo1, campo, cargo,abono,0})
SKIP
ENDDO

y listo
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