Esta web usa cookies propias y de terceros para mejorar tu experiencia de navegación y realizar tareas de análisis. Al continuar con tu navegación entendemos que das tu consentimiento a nuestra política de cookies.

MY NEW STATIC BLOG. WHY? BECAUSE FUCK YOU, THAT'S WHY!




He publicado la versión 0.5.1 de facturaScripts, mi software de gestión para la pequeña o mediana empresa.

facturaScript es un software escrito en PHP que desarrollé inicialmente como una simple interfaz web para FacturaLux (ahora Abanq), pero los resultados me han gustado tanto que he decidido sustituir completamente FacturaLux. Ambos trabajan sobre la misma base de datos, por lo que la instalación y migración de uno a otro es inmediata. Instalar facturaScript es tan sencillo como copiarlo al directorio de trabajo del apache, editar el config.php poniendo los datos de la base de datos (en este caso sólo soporto PostgreSQL), entrar en http:/ruta_servidor/facturascript/admin/install.php y listo.



Pero lo que quería destacar en esta entrada no es tanto el software sino lo que me ha aportado, lo que he aprendido durante el desarrollo. Para empezar, elegí PHP, es decir, un entorno web, porque creo que es más sencillo para el usuario final. Con saber navegar o usar el google, cualquiera sabe usar una aplicación web, y no me equivoqué, facturaScript es mucho más sencillo que el original facturaLux.

Durante el desarrollo he visto como mi código engordaba y he tenido que ir buscando formas de reaprovechar todo lo posible. He visto como cada página tenía gran parte en común con las demás, pero como a la vez algunas necesitaban de funciones que rompían con esa base compartida. Mi primera estrategia fue sacar todo ese código en común a un archivo y usar includes, pero pronto te das cuenta de que engorda demasiado y tienes que separar ... y se complica cada vez más, hasta que al final decidí hacerlo entero orientado a objetos. Tengo una clase base script, de la cual hereda cada página, y sólo reimplemento en cada página lo que necesito. Esto me obliga a usar php5, puesto que la versión 4 no lo soporta.

He necesitado generar documentos PDF, para lo cual he usado html2fpdf, puesto que es bastante más sencillo que fpdf a pelo. También he necesitado ofrecer acceso a dispositivos móviles, para lo cual en un principio usé WML, lenguaje de marcado especial para dispositivos móviles, pero el resultado fue desastroso, el soporte en PDA es penoso, es mucho mejor usar HTML y diseñar las interfaces teniendo en cuenta que se va a visualizar en una pantalla pequeña.

En cuanto a bases de datos, sólo doy soporte a PostgreSQL, puesto que tiene más características que MySQL (versión comunity) como vistas, triggers ... además de que se avanza más dando soporte sólo a una, y además es software libre y multi-plataforma, con lo cual nadie esta discriminado. Con cada nueva funcionalidad he tenido que modificar la estructura de la base de datos, puesto que en la base de datos de facturaLux no hay ni una puñetera clave ajena, con lo cual, a cada paso habría que comprobar la integridad de la base de datos manualmente. Ya he encontrado problemas de consistencia, uno de los problemas de los entornos web, ejemplo: un usuario puede modificar un articulo que no está actualizado (habiéndolo modificado ya otra persona). Es un problema que tengo que solucionar después de los exámenes ...

Uno de los problemas más complicados que me he encontrado es cuando tengo que hacer alguna operación que necesite mucho tiempo de proceso, eso no se como distribuirlo correctamente en PHP, en AJAX si, aunque igualmente tiene el problema de no poder leer archivos del cliente ... este problema, junto con el de imprimir en una impresora de tickets, es algo que tendré que hacer en otro lenguaje, como JAVA.

Y sin lugar a dudas el problema más complicado al que me he enfrentado es EL USUARIO, ese ser que dice que no sabe nada, que todo es complicado, pero que siempre encuentra ese error que no has visto y termina jodiendo más que trabajando. Ese ser que pone letras en los campos donde hay que introducir un precio, ese ser que busca "_aceite_5_w40 " y se queja porque en los resultados no aparece "bp10w40", ese que hace albaranes vacíos, ese que pregunta que si el botón modificar es para modificar, pero luego se las arregla para generar albaranes vacíos abriendo varias pestañas y vaciando el carrito justo antes de generar el albarán ... el usuario, el bug nº1 de cualquier aplicación.

Como bien dicen: La programación es una carrera entre los ingenieros de software, que tratan de crear mejores programas a prueba de tontos; y el Universo, que trata de crear mejores tontos. Por ahora el Universo va ganando.

La conclusión que saco es que con este proyecto he aprendido casi más que en la universidad, lo cual es una conclusión bastante mala, pero real ...
02-09-2007
david

Tienes constancia de que lo use alguien aparte de tí?

02-09-2007
neorazorx

Pues la verdad es que no, se que lo han descargado, pero ya no se si lo han llegado a probar ...

06-09-2007
Inagotable

Ya somos dos con la misma conclusión....

26-09-2007
Shawe

Donde tienes el link de descarga? Si te acuerdas de mi me pasaste el modulo de datos para hacer la migracion para la empresa hace ya algunos meses, aún no lo he conseguido hacerlo funcionar con exito al completo, pero por lo menos estoy corrigiendo los "posibles fallos" en la BD como letras con acentos o el uso de Ñ para evitarlo.

Por cierto, alguien podría ayudarme a migrar de FacturaPlus a AbanQ? Tengo lo necesario, pero me aparecen problemas. El que tengo y no consigo solucionar es que se traspasen todos los clientes, y a partir de ahí no puedo avanzar con exito con el resto de importaciones porque dependen de los clientes.

Yo si espero usar tu trabajo, y reaprovechar buena parte de lo que ya has hecho. Por mi parte sigue en pie la ayuda que te ofreci, aunque no se cuando podrá ser, porque primero tengo solucionar algunas cosas en el curro, entre una de ellas la correcta migracion de todos los datos :P

13-11-2007
miguel

pues mis felicitacion neo. en mi empresa uso el sistema facturascript peus es mucho mas facil q el ubunto mismo. sigue adelante.

07-11-2008
andres

Buenas noches! me parece muy bueno lo que haces, al respecto quise probar tu desarrollo, pero me sale el siguiente error al intentar instalar:

Parse error: syntax error, unexpected T_CLASS in /home/od000670/public_html/fac/clases/db/db.php on line....

Como se podria solucionar?? Saludos!

08-11-2008
neorazorx

Parece que usas una versión extremadamente antigua de php.

Se necesita php 5.

comments powered by Disqus

Powered by PussyPress.