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.



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.




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.


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:




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.



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.



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).



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:



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.




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.

InstaladorFecha 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”).



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.


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##.



##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.

VerificacionesComprobació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:

VerificacionesComprobació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’.


Se comprende como contents una tabla donde se deben introducir una serie indeterminadas de filas.

Tipo Verificación Comprobación DocumentalRevisión técnicaInspecció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.



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




En Excel la macro debe ir en el título de ese campo.




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.


En este caso el capítulo se establece para la tabla al completo.




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##