Consulta Tecnica sobre Array vs Dbf

Post Reply
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Consulta Tecnica sobre Array vs Dbf

Post by remtec »

Amigos muy buen dia.

Tengo un problema tecnico y necesito solucionarlo.

Tengo un sistema que permite el ingreso de datos por varias Secretarias, los datos corresponden a Detalle de un Documento tipo Factura.

Para ello, uso una dbf personal temporal, por cada digitadora que ingresa a esta opcion, este proceso mientras digita lo hace al archivo temporal, cuando termina la digitacion del dcto, graba los datos en las dbf maestras, este proceso se realiza toda la jornada. Por algunos problemas que se han producidos, pretendo cambiar este archivo Temporal por un Array.

Mi pregunta es, me presentara problemas de memoria el uso de tanta digitacion sobre este arreglo, el cual se cargara por cada digitacion un promedio de 20 registros y luego limpia y asi sucesivamente, para un promedio de 300 dctos por dia?

Se que para muchos mi pregunta es como basica, pero antes de hacer una modificacion al sistema, prefuero preguntar a los que saben.

Desde ya muchos saludos.

Antonio.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Consulta Tecnica sobre Array vs Dbf

Post by leandro »

Hago algo similar y nunca he tenido ningún problema.

Lo único es no olvidar de limpiar el array al fin de cada ciclo de factura.

Code: Select all


    oBrwItem : aArrayData := {}
    oBrwItem:refresh()
        oBrwFt:refresh()
 
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Consulta Tecnica sobre Array vs Dbf

Post by leandro »

Es mas si necesitas realizar búsquedas sobre el array te recomiendo utilizar los hash, son rapidísimos.

Code: Select all

Local hItem := hash()
ó
Local hItem := {=>}
 
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

Re: Consulta Tecnica sobre Array vs Dbf

Post by VitalJavier »

Antonio
Yo tambien lo hago con temporales dbf por una sola razón
si al perder comunicación ya sea por diferentes motivos
puedo recuperar el temporal y recuperar todo lo que lleva capturado.
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Consulta Tecnica sobre Array vs Dbf

Post by remtec »

Hola Leandro y VitalJavier.

Muchas gracias por sus sugerencias,en base a lo que me indican, le daré una vuelta mas al tema, para decidir que hace, en el caso de las DBF, lo que hago es que cuando creo la base temporal, uso el Nro ide de Usuario, por Ejemplo "Inf"+"01", este archivo esta mientras este en la opción de actualización al salir elimino físicamente este archivo, claro que cuando existe alguna caida del sistema o salida indebida, al tratar de entrar nuevamente, el sistema no se lo permite, por que se encuentra abierto en alguna estación, para peor, muchas veces el archivo queda protegido por el sistema y no permite borrarlo manualmente.

Perdon por la explicación, no se si a alguien mas le suceda, pero por lo menos a mi, me causa un problema.

Creo que considerando esto ultimo, tendría que inclinarme por Array, ojala que no se me presente problemas de memoria.

Muchas gracias y muchos saludos.

Antonio
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Consulta Tecnica sobre Array vs Dbf

Post by leandro »

Antonio, No se que versión de windows tengas.

Pero en el administrador de tareas puedes monitorear el estado de todo el equipo, memoria, cpu y disco, deberías crear un array con muchos datos y checar cual es el consumo.

Aunque con las maquinas de hoy en día no creo que tengas ningún problema.

Para guardar los datos temporales en disco, puedes utilizar las funciones hb_jsonEncode y hb_jsonDecode.

Code: Select all

cdnaJson := hb_jsonEncode( hFinal )
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
Post Reply