Esta consulta es de hace 5 años. Tenga eso en cuenta.
nathoo_f13254
nathoo_f13254
España

No me carga el módulo de facturas y me sale este error...

No me carga el módulo de facturas y me sale este error en el log

[25/01/2016 20:20:41.867] (error) handler_fcgi.c:115 - PHP Fatal error:
Allowed memory size of 134217728 bytes exhausted (tried to allocate 79
bytes) in /var/www/dlrfs/plugins/facturacion_base/model/factura_cliente.php
on line 1288

Es un problema de memoria, voy a reiniciar el servidor por si hay algo saturado, porque sólo me pasa en ese, pero lo pongo por aquí por si hay un memory leak por ahí y alguien ha experimentado eso también con la última actualización. Voy poniendo lo que vaya encontrando
25-01-2016 20:44:53   27-01-2016 00:16:40   26   [NeoRazorX]
El problema está al calcular el número de factura (indica la línea en el propio error), porque en este caso el usuario está usando una numeración un poco especial (20160A20152XX) y antes de ir incrementando uno a uno desde la última, se queda sin memoria en el bucle que señala el error. Lo he solucionado temporalmente poniendo un break cuando llegue a 10.000 y luego quitándolo, pero entiendo que eso va a volver a saltar. ¿Es un error de programación o es porque no se deben usar así los números de factura?

Gracias
La función involucrada debe comprobar huecos en la numeración. Si me propones una solución, la añadiré.
¿Está usando letras como números?
Sí, lo he visto, que es el cálculo de huecos... no, no usa letras como números (las XX representan dígitos). Ha cambiado la numeración y se ha corregido. Si se me ocurre un algoritmo para optimizar ese cálculo te lo digo.

Gracias!
OK, de todas formas lo he modificado para limitarlo a 100.

$pasos = 0;
while($num < intval($d['numero']) AND $pasos < 100)
{
$huecolist[] = array(
'codigo' => $eje->codejercicio . sprintf('%02s', $codserie) . sprintf('%06s', $num),
'fecha' => Date('d-m-Y', strtotime($d['fecha'])),
'hora' => $d['hora']
);
$num++;
$pasos++;
}
Mejor, porque te quitas un pete de memoria interesante si al usuario le da por toquetear los números de factura.

Un saludo!


Copyright (c) 2013-2020 FacturaScripts