viernes, 6 de mayo de 2011

Excel tiene la opcion de filtro avanzado (y es una maravilla)

En general Excel y demás aplicaciones de hoja de calculo, tienen un montón de funciones que no usamos, si acaso un 5% se usa habitualmente y el otro 95% no se usa no porque no se necesite si no por desconocimiento..

Seguramente muchos saben usar la opción de auto filtro que está bajo el menú dialogo. Opción muy util para organizar los datos y por supuesto filtrarlos según lo que se requiera.

Pero que onda Con filtro Avanzado? su uso no es muy intuitivo. Y si les paso como a mi, que me da pereza leer la documentación de ayuda, quizá lo hayan dejado de lado.

Hace poco me pidieron la lista de los datos de los clientes que saldrían en la facturación del mes. Un trabajo sencllo bajo el administrador de base de dados, si tuviera acceso a el; pero lo único que disponía era 2 libros de excel: uno con 2000 clientes y otro con 220.

¿"select * FROM Libro1 WHERE Libro1.cliente = Libro2.cliente"?
Una solución genial si tan solo se pudiera hacer en Excel. (o si se puede que alguien me diga cómo).

Mmmm, quizá importando los libros como tablas de SQL, ejecutar la consulta y exportar nuevamente a Excel. Factible pero debería haber una solución mas elegante: "Filtro avanzado".

Para no repetir como se usa dejo el link de un completísimo y claro tutorial de como hacerlo.
Por cierto hecar a una vista a los demás artículos de ese blog seguro le salvará la vida a más de uno que use Excel en su trbajo.

http://jldexcelsp.blogspot.com/2007/03/usando-filtro-avanzado-en-excel.html

martes, 3 de mayo de 2011

UNa impresora de red puede conectarse con linea de comandos

PAra añadir una impresora de red por medio de linea de comando se usa el script prnmngr.vbs: que viene con Windows.

Digamos que se quiere instalar la impresora HP laser jet p1005 que previamente se compartió con el nombre de HP1005. (Aunque pudo ser un mejor nombre como: "Impresora facturación primer piso"), que esta conectada al equipo FACTURACION.  Entonces usaríamos la siguiente linea:

CSCRIPT %windir%\system32\prnmngr.vbs -ac -p "\\FACTURACION\HP1005"
Lo anterior aplica apra Windows XP, en windows vista, 7 y server 2008, la ubicación del prnmngr.vbs cambia y se encuentra en: C:\Windows\System32\Printing_Admin_Scripts\es-Es
por lo cual el comando cambiaría a:
CSCRIPT %windir%\system32\Printing_Admin_Scripts\es-Es\prnmngr.vbs -ac -p "\\FACTURACION\HP1005"
Ahora bien es posible que el equipo que tiene la impresora exija algún tipo de autenticación. Si dispone de un usaurio y contraseña, puede especificarlos añadiendo al final de la linea:

-u nombredeusuario -w contraseña
Para mayor informcaion pueden consultar el sitio de Microsoft

http://technet.microsoft.com/es-mx/library/cc725868(WS.10).aspx

sábado, 16 de abril de 2011

cómo buscar los registros que empiecen por un número

Hasta ahora no he encontrado ningún metodo directo en Cakephp,  asi que la mejor solucion es usar una funcion de my sql por ejemplo:


SUBSTRING(LOWER(Modelo.campo),1,1) BETWEEN '0' AND '9'

Ahora bien simplemente se pasa la cadena completa como un array entre comillas dobles como argumento de paginate. Esto es importante ya que no se pueden escapar las comillas sencillas ya que la cadena es pasada tal cual a la clausula WHERE de la consulta SQL.


                      $this->set('modelo',$this->paginate(array("SUBSTRING(LOWER(Tercero.razon_social),1,1) BETWEEN '0' AND '9'")));
 y Voila! Muy útil para usar cualquier función MySQL.
                     

El símbolo # no es un parámetro valido como argumento en Cakephp

Y de hecho en ninguna otro framework php o aplicación web ya que es el símbolo que hace referencia a la misma pagina o a algún marcador en la misma.

Así que: el código:

$this->Html->link('#', array('action'=>'index'));

Realmente no dispara la acción index del controlador sino que te lleva a inicio de la pagina, nada más.

martes, 12 de abril de 2011

No debo cambiar los nombre de un archivo bajo subversion

Bueno realmente los nombres si se pueden cambiar si son diferentes.

El problema radica en que si por ejemplo cambias un archivo, digamos: Opcion.php a opcion.php,
Subversion asumirá que se borro Opcion.php y se creo opcion.php, realmente no habria problema con esto a menos que este en Windows pues como el S.O. no es caso sensitivo asumira que se trata del mismo archivo y generara un error al tratar de hacer update o commit al proyecto.

Yo tuve que borrar alguna de las copias directamente en el repositorio y quitar el directorio que las contenía y hacer nuevamente check out.

sábado, 2 de abril de 2011

De las primeras cosas a revisar cunado fala un servicio en linux es el espacio en disco.

Ya varias veces me ha ocurrido que cuando servicios  como el squid, apache o mySQL fallan, se trata de poco espacio en disco que impide que se modifique o creen archivos temporales que se requieren para el funcionamiento.

Y aunque uno supondria que al tratar de ejecutar la aplicación esta debería avisar con algo como: "Error tal y tal, me quedé sin espacio en disco, Pilas! muchas veces simplemente sale un "Error".

Verificar lo es fácil en sistemas Linux. (y en Windows si que más).

# df -h

Donde df viene de disk-free y el -h viene de "human" es decir que los tamaños puedan ser leídos por humano, osea en Kb, Mb y Gb según el caso.