{{indexmenu_n>1}} ===== OFFICE XONE ===== \\ ==== Descripción ==== \\ El presente documento expone las modificaciones que deben realizarse en un documento Word/Excel para el correcto tratamiento de este por parte de la interface Office2XOne. \\ Dicha interface toma documentos Word **(.doc/.docx)** y Excel **(.xls/.xlsx)** y los transforma en colecciones de XOne, que pueden ser usadas por los distintos frames XOne.\\ \\ ==== Configuración ==== \\ \\ La interface **Office2XOne** dispone de un fichero llamado** Office2XOneApp.exe.config** para su configuración, donde simplemente se deben configurar los siguientes parámetros:\\ |**PathDocs**| Se establece el path donde estarán los ficheros office.| |**PathOutXml**| Se establece el path donde la interface alojará los .xml resultantes.| |**PathMoveDocs**| Se establece el path donde la interface alojará los ficheros office una vez estén convertidos a xml.| |**FILE_PREFIX**| Se establece un prefijo para cada fichero .xml (pudiéndose usar macros del tipo **##DATE##** o **##NOW##**)| |**Sección connectionStrings**| Se establece la conexión a la base de datos.| |**Sección checks**| Se establece los posibles campos de tipo check (por ejemplo, P, N, N/A, C, NC, SI, NO…) como veremos más adelante.| |**Sistema de Log**| el programa dispone de un sistema de log, por si existiese algún problema, que pueda saber el usuario para resolverlo. El log se guarda en la misma ruta donde se instala el ejecutable, y el mismo tiene este nombre: **Log+fechadeldia.txt**. | \\ \\ ==== Documento Excell ==== \\ El documento Excell esperado por la interface **Office2XOne** es cualquier documento Excel que cumpla una serie de parámetros definidos.\\ El sistema detecta en los documentos Excel como campo de introducción de dato toda celda que está desbloqueada y como campo de texto (ya sea etiqueta o title de un campo) toda celda que esté bloqueada.\\ \\ El bloqueo/desbloqueo de cada celda se establece desde la opción //__**Formato de celdas**__//, //**__Proteger__**//, por lo tanto, toda la hoja de un Excel debe estar bloqueada salvo las celdas de introducción de datos. \\ A la hora de guardar el documento, se debe desde la opción //__**Formato**__//, usar la opción //__**Proteger hoja**__.// \\ \\ ==== Formato de tablas Excell ==== \\ La interface **Office2XOne** revisa la hoja recorriendo filas por columnas, por lo que no se pueden colocar dos tablas distintas a la misma altura (una al lado de la otra) ya que el sistema las combinaría erróneamente, es decir, dos tablas no pueden compartir las mismas filas.\\ El sistema puede leer los siguientes tipos de tablas:\\ \\ \\ {{ :wiki:office-xone:tabla.png?nolink&700 |}} \\ \\ Donde existen lo que llamamos **campo+valor**, es decir, celdas de introducción de datos con un title que es la celda que le precede. Como dijimos anteriormente, solo las celdas de introducción de datos van desbloqueadas.\\ \\ {{ :wiki:office-xone:tabla2.png?nolink&700 |}} \\ \\ Donde el sistema detecta la columna **B, C, D y E** como una etiqueta de título y las columnas** F, G y H** como celdas de introducción de datos donde su title es la primera celda con texto hacia arriba, es decir, la celda **F67** la considera como campo valor donde su title es el contenido de **F64**.\\ En este caso además, se establecen dichos campos como checks, eso lo veremos en los siguientes apartados.\\ Lógicamente el sistema permite la combinación de ambas tablas, con campos+valor y de tipo celdas con cabecera superior, siempre que se cumplan las reglas anteriormente comentadas.\\ \\ \\ ==== Documentos Word ==== \\ El documento Word esperado por la interface **Office2XOne** es todo aquel Word que se divide en tablas, ya que son éstas las que se recorren a través de todo el documento.\\ Como en Word no existe la posibilidad de detectar los campos de introducción de dato a través de __**bloquear/desbloquear**__ las celdas, se establece que toda celda vacía (sin texto) se considera campo de introducción de dato y toda celda con texto se trata como celda de etiqueta de texto o title del campo valor que le sigue.\\ \\ Como el sistema solo lee las tablas, si se quiere colocar un texto o párrafo entre dos tablas, basta con insertar una tabla de una sola celda entre las dos tablas he introducir el texto o párrafo (pudiendo eliminar los bordes para que no parezca una tabla).\\ \\ \\ ==== Formato de tablas en Word ==== \\ Los formatos de tablas aceptadas son las mismas que en formato Excel, y siguen las mismas características.\\ La única diferencia es el tratamiento de algunas celdas de texto, por ejemplo:\\ \\ {{ :wiki:office-xone:tabla3.png?nolink&700 |}} \\ \\ En este ejemplo se pueden apreciar tres celdas sin texto en las dos primeras columnas (debajo de la celda con texto **‘DI’** y a la derecha de la celda con texto **‘2’**). \\ En Excel para que no las tuviera en cuenta como celda de introducción de dato basta con ponerle el formato de celda bloqueado. En Word, para que no la tome como tal, debemos al menos introducir en esas celdas un ‘__espacio__’ para que no detecte dichas celdas como sin texto.\\ \\ =====USO DE MACROS ===== \\ ==== Formato de Celda ==== \\ \\ En **Excel** una celda de introducción de dato puede contener un formato de celda específico (formato fecha, numérico…), este formato es leído por la interface **Office2XOne** y es usado este dato para establecer el atributo type de dicho prop en la colección xml resultante.\\ En **Word** no es posible dar formato a las celdas, por lo que es necesario el uso de macros en el caso que se quiera especificar un formato en concreto.\\ \\ |Instalador|Fecha Revisión|##D##| |Número de licencia|##N##|Hora Revisión|##TT##| \\ En este ejemplo, //**‘Nº Licencia’**// se establece como formato numérico **(type=”N”)**, //**‘Fecha Revisión’**// como formato fecha **(type=”D”)** y //**‘Hora revisión’**// en formato hora **(type=”TT”)**. Toda celda que no contenga macro se usa el tipo de formato por defecto, texto **(type=”T”)**.\\ \\ \\ ==== Formato Check ==== \\ Si se configura el apartado check del fichero de configuración, cada vez que aparezca la cabecera preestablecida en esa configuración se considera que el campo es de tipo check, y es de tipo check donde solo una de esas opciones es posible señalar.\\ La configuración, a priori, sería para las cabeceras:** P, N, N/A, C, NC, SI, NO, SD, L, G y M.**\\ Si se desea que los checks sean multirespuesta o usar como check una celda donde la cabecera no corresponda con las configuradas, tenemos varias opciones.\\ \\ \\ {{ :wiki:office-xone:tabla4.png?nolink&700 |poner imágen}} \\ \\ En esta tabla tenemos tres columnas de checks, donde según su cabecera (si se configura así) serían del tipo ‘una única respuesta válida’.\\ Si se desea que sean multirespuesta, bastaría con poner en la cabecera la macro **##M2##**.\\ \\ {{ :wiki:office-xone:tabla5.png?nolink&700 |}} \\ \\ **##M2##** sirve para indicar que se puede seleccionar más de una respuesta.\\ \\ | Verificaciones |Comprobación documental ##M2## |Revisión técnica ##M2##|Inspección de la instalación ##M2## | |Tipo de control | | | | \\ \\ En este caso, indicamos que las tres columnas son checks, y que se permite multirespuesta. Si se desea que solo una respuesta sea posible, habría que poner la macro **##M1##** en las cabeceras de dichas columnas.\\ \\ |Verificaciones|Comprobación documental ##M1## |Revisión técnica ##M1##|Inspección de la instalación ##M1## | |Tipo de control | | | | \\ \\ Las macros pueden ir en color de fuente del fondo de la celda, para simular ser transparentes, y con un tamaño de fuente minúsculo, el sistema detecta el texto de cada celda indistintamente del color de fuente que tenga y de su tamaño.\\ El carácter  en Excel se obtiene con la fuente ** Wingdings** (letra **o**).\\ Lógicamente si en la tabla anterior no aparece el símbolo  en las celdas ni tiene en la cabecera las macros de checks:\\ \\ |Verificaciones|Comprobación documental |Revisión técnica |Inspección de la instalación | |Tipo de control | | | | \\ El sistema lo trata como tres columnas de introducción de textos, con una etiqueta **(type=”TL”)** previa con el texto //**‘Tipo de Control’**// y tres prop de type=”T” donde sus titles son, respectivamente, ‘Comprobación documental’, ‘Revisión técnica’ e ‘Inspección de la instalación’. \\ \\ ==== Contents ==== \\ Se comprende como contents una tabla donde se deben introducir una serie indeterminadas de filas.\\ \\ |Tipo Verificación |Comprobación Documental|Revisión técnica|Inspección de la instalación| | x | | | | \\ Para no indicarle al sistema un número fijo de filas y tener que rellenar todas o que ocupen espacio en la pantalla, se usa la macro **##Z##** para indicar que es un contents. \\ La macro se debe colocar en toda la cabecera.\\ \\ |Tipo Verificación ##Z##|Comprobación Documental##Z##|Revisión técnica ##Z##|Inspección de la instalación ##Z##| | x | | | | | x | | | | | x | | | | | x | | | | \\ Esto creará un contents con esos cuatro campos, pudiendo añadir el usuario tantas líneas como les sea necesarias.\\ \\ \\ ==== Multilínea ==== \\ En algunas situaciones es necesario establecer campos donde el texto a introducir sea mayor y requiera varias líneas (campos Notas u Observaciones). \\ Para ello se dispone de la macro **##MULTILINE##**.\\ \\ ===En Word === \\ |Fecha Revisión: | |Hora Revisión: | | |Observaciones |##MULTILINE##| \\ \\ ===En Excel=== \\ {{ :wiki:office-xone:tabla6.png?nolink&700 |}} \\ \\ En Excel la macro debe ir en el título de ese campo. \\ \\ \\ ==== Capítulos ==== \\ \\ Para crear un capítulo se necesita establecer el campo que indica el inicio del capítulo y el campo que lo termina. \\ Para ello usamos las macros **##INI_CAP## y ##END_CAP##.** Es indiferente que las macros se introduzcan en un campo de texto (title) o en un campo valor, así como que sea en una cabecera o en un campo check.\\ \\ {{ :wiki:office-xone:tabla7.png?nolink&700 |}} \\ En este caso el capítulo se establece para la tabla al completo.\\ \\ \\ ==== Secciones ==== \\ \\ Para establecer secciones se establece un sistema similar a los capítulos, usando las macros **##INI_SEC## y #END_SEC##.**\\ En las secciones podemos establecer valores por defecto a los campos que necesitemos, con la macro **##VAL:valor_por_defecto##**.\\ \\ |Código de instalador: ##INI_SEC## |##VAL:0123456##| |Normativa |##VAL:R.A.E. 1.966##| |Propietario | | |Dirección | #END_SEC## | \\ \\