Parece que ya está todo. Quedan cambios menores.
Funciona, aunque queda por evitar que pete en algunas entradas de datos.