Velocidad
Publicado por Marco (108 intervenciones) el 29/01/2009 18:20:58
Tengo una aplicacion que carga una factura y genera la financiacion de acuerdo a la forma de pago (puede ser 1 o mas registros dependiendo de la cantidad de cuotas), el problema es que es muy lento, esta hecho en clarion 6.3 con legacy
y el codigo es como sigue y esta insertado en el when completed, before writing to disk
If LocalRequest = InsertRecord and (aux:tipodoc = 2 or aux:tipodoc = 29)
cancuo = 1
FIN:Fecha_vto = aux:fecha
loop
if cancuo <= aux:cancuo
FIN:NroFactura = FAC:NroFactura
FIN:NroDocumento = aux:NroDoc
FIN:Nro_cuota = cancuo
FIN:Importe = round((aux:total / aux:cancuo),1)
FIN:saldo = round((aux:total / aux:cancuo),1)
FIN:Fecha_vto += aux:dias
FIN:Fecha_ultpago = 0
FIN:NroCliente = aux:cli
FIN:NroRecibo = ''
add(FINANCIACION)
if errorcode() then stop('ERROR AL AGREGAR FINANCIACION ' & error()).
cancuo += 1
else
break
.
.
.
Las tablas son .dat, ya use logout y lo mismo sigue siento muy lento, alguien tiene idea de lo que pueda estar pasando y como solucionarlo?
Desde ya muchas gracias
y el codigo es como sigue y esta insertado en el when completed, before writing to disk
If LocalRequest = InsertRecord and (aux:tipodoc = 2 or aux:tipodoc = 29)
cancuo = 1
FIN:Fecha_vto = aux:fecha
loop
if cancuo <= aux:cancuo
FIN:NroFactura = FAC:NroFactura
FIN:NroDocumento = aux:NroDoc
FIN:Nro_cuota = cancuo
FIN:Importe = round((aux:total / aux:cancuo),1)
FIN:saldo = round((aux:total / aux:cancuo),1)
FIN:Fecha_vto += aux:dias
FIN:Fecha_ultpago = 0
FIN:NroCliente = aux:cli
FIN:NroRecibo = ''
add(FINANCIACION)
if errorcode() then stop('ERROR AL AGREGAR FINANCIACION ' & error()).
cancuo += 1
else
break
.
.
.
Las tablas son .dat, ya use logout y lo mismo sigue siento muy lento, alguien tiene idea de lo que pueda estar pasando y como solucionarlo?
Desde ya muchas gracias
Valora esta pregunta
0