Demo en línea de CodekaMX

Hace tiempo trabajé en la adaptación a México de un sistema español llamado Codeka y lo renombré como CodekaMX.

Con el tiempo surgieron varios sitios que hospedaban este sistema en línea, pero fueron desapareciendo, así que si quieren verlo trabajando pueden visitar esta dirección:

Codeka MX en línea

Codeka MX - Facturacion Web - Venta de mostrador
Venta de mostrador

Pueden ver todos los detalles de su instalación y descargarlo en este artículo: CODEKA MX, sistema de facturación web para México.

El sistema funciona bien tanto en linux como en windows (mejor en linux), funciona con PHP y MySQL pero les advierto que ya no trabajo en él y por el momento no pienso hacerle actualizaciones, lo comparto por si quieren empezar un proyecto similar, por si le quieren hacer algunas modificaciones o simplemente para aprender PHP.

Probablemente reinicie la base de datos con cierta frecuencia para evitar que se acumulen datos basura.

Recuerden utilizar un navegador decente como Chrome o Firefox, si me dicen que no pueden ver el demo en Explorer ni les voy a contestar ;).

Les advierto que ya no le doy soporte a este software, sin embargo, puede ser un buen punto de partida para otros proyectos o para analizar cómo funcionan sus componentes.

CodekaMX, cuando el software libre deja de serlo.

Hace tiempo hice algunas adaptaciones a un sistema español llamado Codeka y lo liberé con el nombre de CodekaMX, respeté lo más que pude los créditos anteriores y puse mi granito de arena corrigiendo algunos bugs y detalles menores.

Unos vivales, hicieron un sistema (que ni le cambiaron el nombre) basándose en el código que liberé.1 promoviéndolo como software libre.

Codeka Maximun - Filosofía - CodekaMX Software Libre
Codeka Maximun – Filosofía

En los foros de su proyecto mencionan:

Codeka MX ( Codeka Mexico) es un emprendimiento de Linuxman , este emprendimiento se llama CodeKa Mx (CodeKa Maximun) y este grupo no tiene ninguna relacion con el empredimiento de Linuxman por lo tanto te sugerimos que instales el programa que nosotros te enviamos y leas los tutoriales o veas los videos que existen para la instalacion en un Servidor local todo lo cual aparece en el Foro o se hace relacion a ellos en el propio programa”3
Relación entre Codeka MX y Codeka Maximun
Relación entre Codeka MX y Codeka Maximun

Aclaro que eso de “ninguna relación” quiere decir tomar todo el código ya desarrollado de mi página.

No tendría problema con esto, de hecho para eso lo liberé para que lo usaran de la forma que quisieran, pero ahora me entero que pretenden ¡Cerrar el código! y cito:

“nosotros como equipo de trabajo lamentamos tambien esta situacion pero fue la unica alternativa que nos quedo a mano para impedir que algunos usuarios usufructasen de este emprendimiento en desmedro de la comunidad .”“pronto volveremos a enviar este software pues estamos implementando un sistema con Zend Guard que va impedir o por lo menos dificultar enormente su distribucion con fines de lucro”2.
Hacer dinero no esta peleado con la licencia GPL.
Hacer dinero no esta peleado con la licencia GPL.

Software Libre

Entiéndase como “comunidad” a sus propios intereses. A estas personas les recuerdo que para ser software libre debe de cumplir con las 4 libertades.

  • 0 la libertad de usar el programa, con cualquier propósito. El software libre se puede usar para cualquier propósito… cualquiera !!!!, público, privado, no hay restricciones al respecto.
  • 1 la libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a tus necesidades. Si cierran el código, esta libertad se trunca. No se puede adaptar, ni mejorar o actualizar.
  • 2 la libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prójimo. Desde un principio limitan esta libertad, la descarga esta condicionada a una solicitud y envió por correo electrónico.
  • 3 la libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie. Otra vez, si cierran el código no se pueden hacer mejoras, mejoras que ellos mismos obtuvieron desde un software realmente libre.

El verdadero motivo para cerrar el código es que pretenden cobrar por su uso y esto afecta a sus propios interese$.

Pretenden cerrar el código y cobrar por su uso.
Pretenden cerrar el código y cobrar por su uso.

De que lo pueden cerrar y cobrar, lo pueden hacer, lo que no pueden hacer es salir a la calle y promoverlo con la bandera de software libre, cuando realmente no lo es.

Actualización 14-may-2012

He solicitado en los foros de Codeka Maximun(sic) el código de su última versión de su proyecto, sin embargo, me enviaron la versión de Codeka Maximun 16 mod 03, una versión anterior a la que menciono en este artículo.

Las razones para no enviarme el código del proyecto de la siguiente versión que esta en desarrollo las pueden leer aqui.

Mientras tanto, si ustedes gustan, pueden descargar directamente aquí la versión de Codeka Maximun 16 mod 03. En esta versión todavía se tiene acceso al código fuente.

Múltiples líneas en la descripción de los artículos

Ayer Roberto publicó este comentario en el artículo sobre Codeka MX:

“Hola ha todos este es un excelente programa CODEKA, me gustaría saber si hay una forma de realizar esto en la descripción al facturar, es decir escribir más en descripción del producto, por ejemplo ahora acepta como 50 carateres, y si escribo más, no hace el salto de línea, si no que se borran las demas letras, y se truncan en la misma linea. por ejemplo hace esto:

implantación y mantenimento de sold

y quiero esto:

implantación y mantenimento de soldura para rayos x de segunda generacion.

Que acepte mas en descripción, que se pueda describir mas el producto o servicio, y que de su salto de línea, en la misma descripción-Gracias a todos por sus aportaciones.”

Veamos como resolver esto, primero y antes que nada, no esta de más hacer un respaldo al archivo imprimir_factura.php que esta en el directorio fpdf de codeka mx. Si algo sale mal siempre podemos regresar a nuestra versión anterior.

Ahora si, manos a la obra !!!. Al abrir el archivo imprimir_factura.php, alrededor de la línea 96 nos encontramos con el código que se encarga de mostrar la descripción en la factura.

$acotado = substr(mysql_result($rs_articulos,0,"descripcion"), 0, 45);
$pdf->Cell(112,4,$acotado,0,0,‘L’);

El culpable de que aparezcan las descripciones recortadas es la función substr de PHP, esta se encarga de limitar el texto a 45 letras. Podríamos aumentar el tamaño pero eso ocasionaría que el texto se empalmara con el precio unitario y con el subtotal.

Así que cambiaremos el código anterior por este:

$y = $pdf->GetY();
$acotado = mysql_result($rs_articulos,0,"descripcion");
$pdf->MultiCell(115,4,$acotado,0,‘L’); $pdf->SetXY(149,$y);

La función GetY nos guardará la posición de Y dentro del documento y lo almacenamos en una variable, al terminar de escribir la descripción regresamos nuestra posición a este valor para que el precio unitario y el subtotal aparezcan alineados con el resto.

Para mostrar la descripción, en lugar de usar la función Cell ahora usamos MultiCell que permite varias líneas en una celda. Eso hará el truco.

Un poco más adelante nos encontraremos con este código:

$pdf->Cell(20,4,$importe2,0,0,‘R’);
$pdf->Ln(10);

En este caso cambié el parámetro de la función Ln de 5 a 10 para que hiciera un salto más grande y no se empalmaran los renglones.

Y eso es todo. Al final la factura debe de ser muy similar a esta:

Varias líneas en la descripción de las facturas

Siguiendo esta lógica podrás modificar cualquier reporte de Codeka MX para que muestre varias líneas en la descripción de los articulos o cualquier otro campo que necesites.