Esta consulta es de hace 9 años. No tome esta información como actualizada. Si tiene problemas con FacturaScripts, consulte la sección ayuda o la sección contacto
nathoo_f13254

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

nathoo_f13254   España   25-01-2016 20:44:53   27-01-2016 00:16:40   193   [NeoRazorX]
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
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!
¿Problemas con FacturaScripts?
Si tiene problemas con FacturaScripts consulte la sección ayuda o la sección contacto



Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2024 FacturaScripts
0.12957s

Soporte