====== Importación masiva de documentos ====== En lugar de añadir documentos uno por uno en el dialogo de los perfiles de documentos (//Formularios/Documentación/Perfiles//), se puede usar el programa //SmartImportDoc// para insertar a la vez una serie de documentos guardados en el ordenador local. ===== Requisitos ===== El programa //SmartImportDoc// tiene que ser instalado en el ordenador del usuario. Eso se puede conseguir fácilmente guardando el ejecutable en la misma base de datos (eso se hace desde Smart). Entonces, al abrir SmartOffice, se baja el ejecutable a la carpeta predeterminada y queda listo para su uso. Los documentos importados tienen que pertenecer a alguna //entidad//, como un activo o un albarán de compra. Para poder asignar automáticamente un documento a una entidad, hace falta seguir una estructura predeterminada de carpetas, donde están guardados los documentos: * Carpeta de documentos * ENTIDAD * CÓDIGO * DOCUMENTO Un ejemplo: * Carpeta de documentos * ACTIVO * AF00001 * Doc1.doc * Doc2.doc * Doc3.pdf * AF00002 * Doc1.doc * AF00003 * Doc1.jpg * Doc1.doc * NRO_SERIE * 12345 * Doc1.doc * ALB_COMPRA * 09-00001 * Doc1.jpg * Doc2.jpg * 09-00002 * Doc1.doc De momento, //SmartImportDoc// reconoce automáticamente las siguientes entidades: ^Entidad ^Ej. código ^Descripción ^ |ACTIVO |AF00001 |El documento será vinculado a este activo. | |NRO_SERIE |123456 |Se busca el primer activo con este número de serie y usa el activo. | |FRA_COMPRA |09-000001 |Factura de compra. | |ALB_COMPRA |A09-000001 |Albarán de compra. | ==== Avanzado ==== También es posible, en lugar de usar carpetas, unir el nombre de la entidad, del código y del documento en un solo nombre de fichero, usando el símbolo '&' para separar los distintos partes. Así se puede definir un documento de tres maneras: 1. 3 niveles (igual que arriba) * Carpeta de documentos * ENTIDAD * CODIGO * DOCUMENTO 2. 2 niveles * Carpeta de documentos * ENTIDAD * CODIGO&DOCUMENTO (aquí se usa el símbolo ''&'' como separador en el nombre del fichero) 3. 1 nivel * Carpeta de documentos * ENTIDAD&CODIGO&DOCUMENTO (otra vez se usa el símbolo ''&'' para poder separar el nombre en los tres partes) Otro ejemplo: * Carpeta de documentos * Documentos mezclados * FRA_COMPRA&09-000001&Doc1.doc * FRA_COMPRA&09-000001&Doc2.jpg * ALB_COMPRA&A09-000001&Doc1.doc * ACTIVO * AF00001 * doc1.doc * doc2.doc * AF00002&doc1.doc * AF00003&doc2.doc ===== Funcionamiento ===== //SmartImportDoc// pide al abrirse la carpeta raíz con los documentos a importar. Al travesar por las sub-carpetas en búsqueda de documentos a importar, se ignorará los nombres de todas las carpetas hasta llegar a una carpeta con el nombre de una entidad. Al importar un documento se crea un //hash// (número de comprobación) sobre el contenido del documento y se guarda esta identificación junto con el documento en su perfil. De esta manera se puede averiguar, si un documento ha sido cambiado y tiene que ser actualizado cuando se repita la importación. ===== Importación desde el dialogo de perfiles de documentos ===== Si //SmartImportDoc// está instalado correctamente, se activa el menú //Importación// en los perfiles de documentos. Al escoger este menú, se pide al usuario el nombre de la carpeta con los documentos a importar, y después se arranca el programa //SmartImportDoc// que empieza directamente con la importación. {{:usu:smartimportdoc1.jpg|Carpeta a importar}} //SmartImportDoc// muestra, mientras lee los documentos, el estado de cada importación. {{:usu:smartimportdoc2.jpg|SmartImportDoc}} Al terminar se puede cerrar el programa //SmartImportDoc// para volver al dialogo de perfiles de documentos. Se debería refrescar (menú //Edición/Refrescar datos//) los datos para ver los documentos importados. ===== Ejecutar SmartImportDoc directamente ===== También se puede arrancar //SmartImportDoc// directamente (como cualquier programa con un clic doble). Entonces nos va a pedir los credenciales, como el nombre de la base de datos a la que nos queremos conectar, el usuario, clave y, igual que arriba, la carpeta a importar. ===== Información técnica ===== Las entidades permitidas se definen en la tabla ''TIPO_ENTIDAD''. {{:usu:smartimportdoc3.jpg|TIPO_ENTIDAD}} ^Campo ^Descripción ^ |CODIGO |El código de la entidad, que también es el nombre que se tiene que usar para los nombres de entidades en la estructura de las carpetas. | |DESCRICION |Se usa en los mensajes del programa //SmartImportDoc//. | |SQL_SELECT |La instrucción definida aquí tiene que devolver el valor, que se va a guardar en el campo definido en ''CAMPO_DOC_PERFIL'' de la tabla ''DOC_PERFIL''. Para buscar el valor correcto el select necesita un solo parámetro, al que se va a asignar el código encontrado en el camino hacia el documento a importar. | |CAMPO_DOC_PERFIL |El campo de ''DOC_PERFIL'' donde se guarda el código encontrado para el documento actual. |