Libreta de direcciones IIBm
El objetivo de este procedimiento es el escaneo de los documentos relativos a los ACF.
¿Qué es un ACF?
Un ACF viene a ser a SOROLLA2 lo que un DTO era a SAICI. Esto es; una agrupación de documentos de facturación (facturas, dietas y otras moviditas) al modo al que a la AGE, a través de su hija informática SOROLLA2, le gusta. Cada año se comienza con un primer ACF (01), y se van incrementando de uno en uno (02, 03...) hasta que se cierra el año, y entonces se reinicia el contador.
Por tanto los ACFs vienen especificados por su año y el número de ACF de ese año.
Estructura de carpetas para escanéo de ACF
Vamos a meter todos los documentos escaneados relativos a cada ACF dentro de una carpeta que lo identifique. Y todos los ACF de cada año los agruparemos por año. De este modo encontraremos una estructura como la que sigue:
├── 2017
│ ├── ACF_2017_01
│ │ ├── 001_0505011700246.pdf
│ │ ├── 002_0505011700001.pdf
[... ...]
│ │ ├── 096_0505011700001.pdf
│ │ ├── 103_0505011700015.pdf
│ │ ├── Justificantes_de_cuentas_justificativas_de_fondos_de_ACF_1.csv
│ │ ├── DTO_0505011700001_dto.pdf
│ │ └── info_ultimo.txt
│ ├── ACF_2017_02
│ │ ├── 001_0505011700146.pdf
│ │ ├── 002_0505011700154.pdf
[... ...]
│ │ ├── 102_0505011700400.pdf
│ │ ├── 103_0505011700402.pdf
│ │ ├── Justificantes_de_cuentas_justificativas_de_fondos_de_ACF_2_definitivo.csv
│ │ ├── DTO_0505011700002_dto.pdf
│ │ ├── info_201703281632.txt
│ │ ├── info_201703281647.txt
│ │ └── info_ultimo.txt
│ ├── ACF_2017_03
│ │ ├── 001_0505011700202.pdf
[... ...]
Como vemos la estructura consiste en una carpeta con cada año, en la que a su vez se encuentran los ACF en carpetas con nombre 'ACF_AAAA_NN', en las que se indica el año y el número del ACF, y en estas metemos los distintos documentos escaneados en formato PDF, así como alguna información que pasamos a describir.
Introducción de los documentos PDF y los nombres de éstos ficheros
Renombrar cada documento escaneado con el nombre que lo identifica sería un trabajo de chinos y, lo que es peor, daría lugar a muchos errores. Para evitar esto utilizamos un sistema de renombrado automático y lo único importante es que los nombres de los documentos estén en orden.
Por esta razón es muy importante que los docuementos se escaneen en el orden en el que están en las carpetas del ACF, que debe de coincidir con el orden que le da el SOROLLA2 a cada uno de los documentos. Al ordenar el escaneo de documentos en ese orden, se les darán nombres secuenciales o en base a la fecha/hora en la que se escanearon y por tanto sus nombres quedarán también ordenados.
Para el proceso de renombrado se necesita una información adicional que obtendremos de la propia aplicación de SOROLLA2 en un fichero CSV (separado por comas) que se llama algo así como "Justificantes_de_cuentas_justificativas_de_fondos_de_ACF_NN", y que colocaremos en el directorio 'ACF_AAAA_NN'
En este documento de CSV lo obtenemos de SOROLLA" en ... en la URL ....
Estos nombres consisten en una serie de números que identifican cada documento. Por ejemplo para un documento del IIBM (Centro 050501) del 2016 (AA=16) que le han adjudicado el número 4234 el nombre será:
0505011604234
Como éste, tiene que haber un número que lo identifique por cada documento, y quedará uno por cada entrada de la hoja de cálculo en el fichero 'Justificaciones..._NN.csv' dentro de la carpeta del ACF.
Proceso automático de renombrado y procesado
Cada 15 minutos se ejecuta de forma automática en el sevidor un proceso en dos pasos para meter los documentos al repositorio.
- Toma los nombres de los documentos del fichero 'Justificaciones..._NN.csv' y va renombrando de forma ordenada cada documento PDF del directorio con ese nombre
- Una vez finalizado se genera un fichero 'info_ultimo.txt' con la información de las acciones tomadas por el proceso.
- En caso de que falten ficheros por meter, se puede hacer más tarde pero siempre se añadirán en el orden que aparecen en el ACF.
- Cotejamos que los documentos se han renombrado correctamente comprobando que su nombre corresponde con el documento y que no hay errores.
- Si no hay errores, renombramos el fichero 'Justificaciones..._NN.csv' como 'Justificaciones...._NN_definitivo.csv' para que se suban los ficheros al repositorio
- Si hubiera errores en el renombrado de los ficheros, tendremos que subsanarlos. Para ello renmobraremos el fichero 'Justificaciones...._NN.csv' como 'Justificaciones...._NN_revertir.csv' para que los nombres no sean definitivos. En el fichero de información nos dirá si sobran o faltan ficheros y alguna otra información que nos puede ser de utilidad para arreglar los ficheros. Podemos por ejemplo insertar un fichero entre dos poniéndole un nombre que encaje entre ambos (el de el primero +1 es una idea)
-
Cuando hemos pasado al estado DEFINITIVO toma cada uno de los documentos PDF del directorio y los mete al repositorio donde se guardan en el servidor. Si ya existe un fichero con ese nombre, crea un directorio REPETIDOS y la versión antigua del fichero la mueve a ese directorio dejando el fichero nuevo en el servidor.
- Apartir de ese momento los ficheros ya no estan en el directorio, sino que solo son enlaces simbólicos a los mismos. De este modo si los eliminamos, solo eliminamos una referencia y no el fichero.
- Si queremos modificar algo (por ejemplo nos hemos equivocado y nos hemos dado cuenta después de pasarlo a definitivo), tendrémos que "empezar de nuevo". Éso no implica volvea a escanear, pero si copiar los ficheros a nuestro ordenador de forma local, eliminar (o renombrar) la carpeta errónea, arreglar el fichero con la información correcta, y volverlo a copiar de forma que comience de nuevo el proceso. En este caso, logicamente, se meterán los ficheros antiguos en la carpeta REPETIDOS al pasarlo de nuevo a definitivo.
En cualquier caso se recomienda siempre leer el fichero 'info_ultimo.txt' para ver en qué situación nos encontramos.