====== Exportar e importar a XML ====== ===== Exportar ===== En general existen dos maneras de exportar datos a un fichero XML. * En formato nativo, que crea un fichero xml en un formato propio de Smart, y sirve para posteriormente importar los datos en otra (o la misma) base de datos de SmartOffice. * En un formato definido por un esquema xml, que sirve para exportar los datos a un fichero xml de cualquier estructura. ==== Formato nativo ==== Para exportar en este formato, seleccionamos la rejilla con los datos a exportar, y después abrimos el menú ''Edición/Exportar/Exportar XML''. Nos abre el dialogo de exportación donde encontramos el botón ''Exportar formato nativo''. Nos pide el nombre del fichero xml y después de terminar la exportación vemos los posibles mensajes de errores en la rejilla del dialogo. Los datos que provocaron cualquier error se pueden ver en el campo //Datos//, que se abre con F6. Se cierra el mensaje con escape. ==== Esquema ==== Se definen los esquemas de exportación en el dialogo ''Herramientas/Esquema XML''. Existen dos formas de definir un esquema. * Definir una estructura jerárquica en las líneas del dialogo. * Definir el formato de exportación también con un texto de formato xml, en la pestaña //Exportación//. === Esquema jerárquico === La definición de una estructura jerárquica depende de una tabla o un procedimiento en concreto, que se tiene que definir en la cabecera del dialogo. Para usar un esquema jerárquico tenemos que seleccionar una rejilla que se basa en una tabla o procedimiento, por ejemplo cualquier informe. Después vamos a ''Edición/Exportar/Exportar XML'' y nos muestra las esquemas definidas para la tabla/el procedimiento actual. Elegimos uno y damos en el botón ''Exportar''. TODO: terminar por José Andrés. === Esquema XML === Se define el formato de exportación a través de otro documento xml, en la pestaña //Exportación//. Para usar un esquema XML abrimos el dialogo de exportación desde ''Archivo/Exportar''. El dialogo nos muestra todos los esquemas con un formato XML definido. Un ejemplo de un esquema xml sería el siguiente: <_SMAPARAMS> [_SMASQL1.CIF_NIF] [_SMASQL2.NRO_ALBARAN] [_SMASQL2.IMPORTE_EFECTIVO] Todos los nodos y atributos que empiezan con ''_SMA'' (por ejemplo ''_SMAPARAMS'' o ''_SMASQL1'' no pasan al fichero a exportar. En el nodo ''_SMAPARAMS'' se pueden definir parámetros para la exportación. Antes de empezar con la exportación se le pregunta al usuario automáticamente por sus valores. Los atributos ''_SMASQLn'' (n=1,2,3,...) definen los datos a exportar, y pueden tener parámetros que hacen referencia a los parámetros del nodo ''_SMAPARAMS'' (ej. '':COD_TERCERO_PR'') o a campos de un //select// de un nivel superior (ej. '':_SMASQL1.CODIGO''). Los datos a exportar también se definen con referencias a los selects anteriores. Hay que incluir las referencias a los campos en corchetes, por ejemplo ''[_SMASQL2.NRO_ALBARAN]'', que nos devuelve el número de albarán del select ''_SMASQL2''. El resultado de la exportación con el ejemplo de arriba puede ser B11111111 AC11-00311 0.00 ===== Importar ===== Se puede importar dos tipos de ficheros. * Ficheros generados con la exportación en formato nativo. * Ficheros generados con la exportación usando un esquema xml. La importación de momento esta restringida para el usuario SYSDBA. Se accede a la importación en ambos casos a través de ''Archivo/Importar''. Se abre el dialogo de importación. En caso de querer importar un fichero nativo podemos dar directamente en el botón ''Importar'', en caso contrario tenemos que elegir antes el esquema xml de importación. Cuando se acepta con el botón ''Importar'' elegimos el fichero a importar. El programa reconoce automáticamente, de qué tipo de fichero se trata. Al terminar la importación vemos cualquier error en la rejilla de errores. ==== Formato nativo ==== Se importan los datos a la tabla que está definida en el mismo fichero xml elegido. Si este fichero no contiene todos los campos de la clave primaria de la tabla de destino, se insertan todos los registros. En caso contrario se actualizan registros que ya existen. ==== Esquema xml ==== Se define el esquema xml de importación en la pestaña //Importación// del dialogo ''Herramientas/Esquema XML''. Después, en el dialogo de importación (''Archivo/Importar'') se elige el esquema definido y se da en el botón ''Importar''. Nos abre un dialogo para eligir el fichero y el proceso empieza. ** ESTA FUNCIÓN ESTÁ SIN IMPLEMENTAR **