Hola Hernan.
Este problema lo tuve al principio cuando utilizaba bBrowser con
SetFilter().
Con esta dupla y sobre una base de 500.000 registros, al leer en
una terminal demoraba más de 5 minutos.
La solución fue utilizar OrderScope(), que de los 5 minutos bajó
a 20 segundos.
Te adjunto el código que hace la lectura que te menciono
METHOD Resumen(dDesde1,dHasta1) CLASS IVACombNoFacturados
LOCAL vMatriz:={} AS ARRAY
LOCAL cDetalle AS STRING
LOCAL nPosicion,nLazo AS INT
IF !SELF:lCambioControl
RETURN
ENDIF
SELF:lCambioControl:=FALSE
SELF:pointer := pointer{POINTERHOURGLASS}
//Aplica Filtro
/*******
cbFilter:=&([{||Left(NOMCOM_VTA,12)="NO
FACTURADO".AND.DTOS(FECHA_VTA)>="]+;
DToS(dDesde1)+[".AND.DTOS(FECHA_VTA)<="]+DToS(dHasta1)+["}])
SELF:oDCBB_NoFacturados:Server:SetFilter(
cbFilter )
*//////
SELF:oDCBB_NoFacturados:Server:OrderScope(TOPSCOPE
, "NO FACTURADO - "+DToS(dDesde1))
SELF:oDCBB_NoFacturados:Server:OrderScope(BOTTOMSCOPE,
"NO FACTURADO - "+DToS(dHasta1))
SELF:oDCBB_NoFacturados:Server:GoTop()
DO WHILE !SELF:oDCBB_NoFacturados:Server:Eof
cDetalle:=Right(SELF:oDCBB_NoFacturados:Server:NOMCOM_VTA,15)
nPosicion=AScan(vMatriz,{|x|
x[1]=cDetalle})
IF
nPosicion=0
AAdd(vMatriz,{Right(SELF:oDCBB_NoFacturados:Server:NOMCOM_VTA,15),;
SELF:oDCBB_NoFacturados:Server:GRAVA_VTA ,;
SELF:oDCBB_NoFacturados:Server:NOGRAV_VTA,;
SELF:oDCBB_NoFacturados:Server:EXENTO_VTA,;
SELF:oDCBB_NoFacturados:Server:IVAINS_VTA,;
SELF:oDCBB_NoFacturados:Server:NOINS_VTA ,;
SELF:oDCBB_NoFacturados:Server:TOTFAC_VTA })
ELSE
vMatriz[nPosicion,2]+=SELF:oDCBB_NoFacturados:Server:GRAVA_VTA
vMatriz[nPosicion,3]+=SELF:oDCBB_NoFacturados:Server:NOGRAV_VTA
vMatriz[nPosicion,4]+=SELF:oDCBB_NoFacturados:Server:EXENTO_VTA
vMatriz[nPosicion,5]+=SELF:oDCBB_NoFacturados:Server:IVAINS_VTA
vMatriz[nPosicion,6]+=SELF:oDCBB_NoFacturados:Server:NOINS_VTA
vMatriz[nPosicion,7]+=SELF:oDCBB_NoFacturados:Server:TOTFAC_VTA
ENDIF
SELF:oDCBB_NoFacturados:Server:Skip()
ENDDO
SELF:oDCBB_NoFacturados:Server:GoTop()
//////
//LLena la ListView de Totales
SELF:lCheckBoxLV:=FALSE
SELF:oDCLV_Totales:DeleteAll()
FOR nLazo=1 UPTO Len(vMatriz)
oItem
:= ListViewItem{}
oItem:SetValue(vMatriz[nLazo,1],#cDetalle_LV
)
oItem:SetValue(vMatriz[nLazo,2],#nGravado_LV
)
oItem:SetValue(vMatriz[nLazo,3],#nIInterno_LV)
oItem:SetValue(vMatriz[nLazo,4],#nExento_LV
)
oItem:SetValue(vMatriz[nLazo,5],#nIVAInsc_LV
)
oItem:SetValue(vMatriz[nLazo,6],#nNoInsc_LV
)
oItem:SetValue(vMatriz[nLazo,7],#nTotales_LV
)
SELF:oDCLV_Totales:AddItem(oItem)
NEXT
SELF:oDCLV_Totales:AutoSize()
SELF:lCheckBoxLV:=TRUE
SELF:pointer := pointer{POINTERARROW} //
dejamos el puntero como estaba
SELF:oCCSalir:SetFocus()
RETURN

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina
Mail: gjbiagiotti@...
MSN: gerardo_biagiotti@...
gjbiagiotti@...
gjbiagiotti@...
De: guvoaII@...
[mailto:guvoaII@...] En nombre de Hernÿffffe1n Sinclair
Enviado el: Lunes, 08 de Enero de 2007 04:15 p.m.
Para: guvoaII@...
Asunto: [guvoaII] Consulta sobre aplicacion en red (amplio aun mas el
contexto)
Hola que tal, creo que cada vez me acerco más al problema de
la lentitud de mi aplicación en Red. Acabo de realizar una prueba que la
verdad, me acaba de atar de pies y manos, dejándome inmóvil. Paso a comentar el
hecho:
Resulta que corrí dos veces mi aplicación (genero instancia
A y B) y luego hago el llamado de la ventana que me visualiza el Bbrowser de
CAJA en la instancia A y luego posterior a esta a B (sin cerrar A), las cual
tarda un tiempo de 10 segundos en abrirse (este tiempo es el mismo si solo
corriera una sola vez mi aplicación) lo cual me indica que por el momento todo
anda bien (los 10 segundos son de la funcion setFilter()).
Luego, encuentro que el problema surge si abro una instancia de la aplicación A
y dejo abierto el Bbrowser de CAJA y luego levanto la otra instancia B, ya que
al momento de intentar abrir la ventana que contiene el bbrowser de CAJA desde
B, toma un tiempo de apertura de mas de 1 minuto y medio…lo cual
ahora si no se para que lado correr. Solo había detectado que el filtrado
generaba mis 10 segundo de tiempo muerto, pero ahora si no se que factor puede
estar jugándome en contra. Les paso un poco de mi código para que vean que no
hago nada raro…es el PostInit y un método que luego yo utilizo para
configurar algunos aspectos de la ventana antes del llamado al show().
Las pruebas las estoy haciendo con una cantidad de 65.000
registros.
Saludos, y gracias por su tiempo.
Hernan
Hernÿffffe1n Sinclair <hernansinclair@...>
escribió:
Hola Claudio, te paso un poco las decripciones que me pedias (si son necesarias mas solo avisame):
Las maquinas tiene (tanto la terminal como el server):
- Windos XP SP2.
- 2.8 GHz, 512 MB de RAM
- y la red es de 1 Gbps
Lo raro es que tengo otras aplicaciones (no hechas por mi), que manejan DBF de hasta casi 1 GB y no tarna tanto en abrir (utilizando el mismo modo de cliente-servidor a travez de accesos directos al exe).
- Sumo como dato a mi problema, otra prueba mas que realice: corri esta vez 2 instancias de mi aplicacion desde mi propio server (a nivel local) y la verdad que funciona bien, lo cual todo me hace pensar que el problema esta al utilizar la aplicacion en red, lo cual me esta matando la cabeza ya que no estoy haciendo nada raro para la apertura de las tablas y su visualizacion en el Bbrowser :(... y mucha idea de redes no tengo, pero algo hace suponer que los recursos no estan siendo administrado de forma correcta :(
Bueno desde ya agredezco muchisimo tu tiempo.Saludos, Hernan
"[xCSA] Claudio Torrillo" <clipsupp@...> escribió:Hernan:
Lo primero que se me ocurre es que es muy raro lo que planteas.
El rdd de CAVO es similar al de Clipper por lo tanto si CAVO se comportara así …
Creo que el problema pasa más por el equipo servidor que por el sistema, pero para ayudar se necesitan conocer todos los datos.
Tómalo con calma y date unos minutos para explicar detalladamente el entorno de trabajo de la aplicación SO y Hard. Y que pruebas has realizado.
Ayudanos a ayudarte ;) decía un gran mentalista argentino Jejejejej…
Claudio Torrillo
PD: Bbrowse es un grana complemento, pero un browser de una tabla de 50000 registros para qué? Me parece que ese es el punto, nadie en sus cabales puede ver 50000 registro navegando una lista, o me equivoco?
De: guvoaII@... [mailto:guvoaII@...] En nombre de Hernÿffffe1n Sinclair
Enviado el: Miércoles, 27 de Diciembre de 2006 05:51 p.m.
Para: guvoaII@...
Asunto: [guvoaII] Consulta sobre aplicacion en redHola Gente, aprovecho para desearles a todos muy felices deseos para este nuevo año que esta a punto de comenzar y que se les cumplan con tuti.
Por acá, tratando de corregir el siguiente problema para terminar bien el año jejeje, paso a describirlo:
Resulta que estoy corriendo mi Aplicación en un sistema de red (la cual es rápida ;) ). Tengo instalada la aplicación en un disco compartido, el cual funciona como servidor (PC común en realidad solo para este fin) y desde las terminales (PCs en red) accedo a la misma creando accesos directos al ejecutable y corriendo la aplicación de las terminales de esa forma...si realizo la apertura de un Bbrowser con una tabla con 50000 registro desde una sola terminal el sistema funciona perfecto y abre la ventana que contiene el Bbrowser con los datos en tan solo 5 segundo, a mas tardar, pero si luego abro desde otra terminal la misma ventana para visualizar el Bbrowser con los datos esta demora 2 minutos o mas....por lo que puedo llegar a intuir es que existe un conflicto de reparto de recursos de red (que no se si será CAVO -uso 2.72b-), y querida saber si alguien tubo este problema....o si existe algún lugar donde se pueda configurar estos aspectos de red...la verdad necesito mucho una solución ya que mi cliente me esta por empezar a correr hasta debajo de la cama :(
Desde ya muchísimas gracias por su tiempo, y MUY FELIZ AÑO NUEVO PARA TODOS....EXITOS :)
Saludos, Hernan__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar