Consulta Tecnica sobre Array vs Dbf

Consulta Tecnica sobre Array vs Dbf

Postby remtec » Fri Oct 25, 2019 3:58 pm

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.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Consulta Tecnica sobre Array vs Dbf

Postby leandro » Fri Oct 25, 2019 5:31 pm

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  Expand view  RUN


    oBrwItem : aArrayData := {}
    oBrwItem:refresh()
        oBrwFt:refresh()
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Consulta Tecnica sobre Array vs Dbf

Postby leandro » Fri Oct 25, 2019 5:44 pm

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

Code: Select all  Expand view  RUN

Local hItem := hash()
ó
Local hItem := {=>}
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Consulta Tecnica sobre Array vs Dbf

Postby VitalJavier » Fri Oct 25, 2019 6:57 pm

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.
User avatar
VitalJavier
 
Posts: 241
Joined: Mon Jun 10, 2013 6:40 pm

Re: Consulta Tecnica sobre Array vs Dbf

Postby remtec » Fri Oct 25, 2019 7:50 pm

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
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Consulta Tecnica sobre Array vs Dbf

Postby leandro » Sat Oct 26, 2019 3:05 pm

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  Expand view  RUN
cdnaJson := hb_jsonEncode( hFinal )
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 62 guests