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.

El Flisol 2011 en Plaza 4 Caminos

El sábado fue el FLISOL 2011 en Plaza 4 Caminos. Creo que es la primera vez que llego tan temprano, alcancé a ver el final de la última conferencia y me gustó ver tanta gente en el evento.

Me dio gusto saludar a los amigos, platicar un poco, ver las novedades, por un momento en lugar de FLISOL parecía exhibición de gadgets, y es que había de todo!!! iphones, androides, galaxy tabs, yo no cambio mi ladrillote por nada.

Empezó la instalación y no se porque tengo la “fortuna” de encargarme de los casos difíciles. Llegó una persona intentando recuperar un equipo portátil old-fashion-retro-paleolitico, al parecer el equipo tenía 192 MB en RAM y eso reduce mucho las opciones. Arrancó bien con Puppy Linux y al parecer reconoció la tarjeta de red inalámbrica, pero por un problema local no teníamos internet, así que no pudimos comprobar su correcto funcionamiento.

Estimado Jorge (el dueño del equipo) si lees esto te puedo recomendar lubuntu, creo que te puede dar buenos resultados en tu equipo porque esta distro esta especializada en computadoras con poca memoria (requerimientos mínimos para lubuntu).

No recuerdo bien el modelo de tu equipo, pero creo que es muy similar a este…

hp pavillion ze5300 como sujeto de pruebas

La imagen corresponde al artículo Instalando Ubuntu sin CD – netinstall, a ese equipo logré instalarle Lxde y todavía funciona aunque lo utilizó solamente en emergencias.

La mayoría eligió a Ubuntu para la instalación, cerca de mi estaban instalando un Fedora y del otro lado estaba una computadora con Puppy funcionando.

Si se quedaron con ganas de asistir, no duden en acercarse al Gulag, ahí viene cuando será la próxima reunión o quizás se puedan dar pláticas en sus escuelas.

Encom Linux Console

No es un misterio que soy fan de la saga de Tron (ok solo son dos películas pero no importa), es por eso que todo lo relacionado con la película me interesa.

Estaba leyendo un artículo de Josh Nimoy sobre su trabajo en Tron Legacy un escrito plagado de imágenes interesantes que definitivamente no debes de dejar pasar.

Lo primero que llamó mi atención en esta imagen fue la pantalla de Emacs, y poco después en la esquina superior izquierda con unas letras pequeñitas la leyenda Encom Linux Console.

Encom Linux Console ¡Niceeee!

Me parecío un buen detalle para compartir. 🙂