Teniendo en cuenta que el proceso de impresión de reports de Crystal en la TPV sigue el siguiente esquema:
- La TPV realiza una petición de impresión a la API, añadiendo un registro en la tabla ServicioEnvioImpresion.
- El servicio (AHORA Servicio) lee el registro y genera el pdf en una ruta de red indicada por el parámetro de de configuración establecido en la instalación.
- La TPV pide a la API el pdf creado y lo manda a la impresora local.
Si no imprime correctamente puede ser debido a varios motivos:
- No existe el servicio instalado. Hay que verificar que el servicio (AHORA Servicio) está instalado y en ejecución.
- El servicio no tiene acceso a los reports del ERP. Esto se soluciona cambiando el usuario del servicio por un usuario con permisos. Si la carpeta de los informes, o la carpeta de generación del PDF, es una carpeta de red, el usuario por defecto del servicio no tendrá acceso a la misma.
- Las librerías de crystal no están debidamente instaladas en el mismo equipo que el servicio. En el Asistente de Instalación están incluidas. Es necesario tener en cuenta que las librerías de crystal del ERP no son las mismas que las librerías utilizadas por el Servicio.
- El directorio de reports/listados no es accesible. Por ejemplo, Program Files /Archivos de programa no suele un directorio válido o accesible a no ser que se le hayan dado permisos.
- El servicio está detenido.
- El parámetro del PATH del directorio DB no está indicado.
- El origen de datos del listado de Crystal Reports no se ha modificado.
En cualquier caso, en la propia TPV existe una opción para ver el estado de las impresiones (Crystal reports) con error.
Si existe algún registro de impresión con error se visualizará en esta opción (o en la tabla de la BBDD ServicioEnvioImpresion). En caso de no imprimirse, pero tampoco encontrar un error en esta tabla, lo más probable es que el servicio no esté instalado o en ejecución. Si se consulta la tabla directamente se podrá ver registros en estado 1 (Pendiente).
Posibles errores que se pueden encontrar en esta tablas son:
- Se produjo una excepción en el inicializador de tipo de CrystalDecisions.CrystalReports.Engine.ReportDocument": no están instaladas las librerías de Crystal o están instaladas las librerías incorrectas, de 32 bits en un equipo de 64 bits.