domingo, 5 de agosto de 2012

Otro caso de "brujería"

Creo que debería abrir un blog especial de brujeria porque a raiz de mi ultima entrada comencé a acordarme de varios casos "sin solución"

Escenario:
Una empresa con cuatro sucursales.
En cada sucursal hay una impresora fiscal marca Hasar y un programa escrito en Visual Basic corriendo bajo windows xp en un caso y vista en el resto. Ese programa se conecta con la impresora fiscal para emitir las facturas.

El problema:
En dos de las sucursales el texto correspondiente a la razón social sale truncado.
La providencia quiso que se pueda descartar el sistema operativo pues la version y service pack de aquel en el que sí funciona (windows vista) es la misma que en donde funciona mal. Ademas tampoco funciona en un terminal con windows xp.
El programador le atribuye el problema a la impresora.
Los de la impresora, a su vez, le atribuyen el problema al programa.

Las pruebas:
Los de la impresora hicieron "enroque" de impresoras y verificaron que el corte de texto se produce exclusivamente en la sucursal, por lo tanto no es problema de la impresora.
El programador dice que la version del programa es exactamente la misma en todas las sucursales. Por lo tanto tampoco es el programa.
Me contratan para que encuentre la causa del problema.

Mis pruebas:
Los sospechosos son: el puerto serie y el driver.
Me enfoco en el driver de la impresora fiscal.
Se llama fiscal.ocx.
Tomo nota de la versión del ocx en una sucursal y la comparo con el homonimo de la otra sucursal. Son la misma versión: 1.0.0.1

La solución:
Sospechando de la veracidad del informe de versión, hago una copia del fiscal.ocx de la sucursal en la que sí funciona.
Me voy a una sucursal con problemas y comparo ambos archivos con el comando fc. A pesar de que MS informa que ambos tienen la misma versión, son distintos. Lo reemplazo. Problema resuelto.

Conclusión:
La brujería no existe. No crean en todo lo que dice MS. No es necesario tener grandes conocimientos para resolver problemas complejos.




No hay comentarios: