Formato de los ficheros XML para importar datos
En este apartado, reservado para programadores con los necesarios conocimientos técnicos, se describe el formato de los ficheros XML requeridos en la importación de datos.
La importación de datos en formato XML está directamente relacionada con la opción Exportación de datos de OfiPro, ya que en ambas coinciden los nombres de los ficheros tratados, los campos que contienen, y el formato interno del fichero XML.
Por tanto, ejecutando la opción Exportación de datos podrá ver qué ficheros se pueden importar, con qué nombres, qué campos contienen, etc. Podrá ver que la tabla de Albaranes de venta ha de denominarse Albaranes.xml, mientras que la de Albaranes de compra ha de denominarse Albaranes de compra.xml. En la pantalla de exportación, active la casilla Incluir los campos requeridos en la importación para ver qué campos de cada tabla son requeridos como mínimo para poder realizar la importación.
Por ejemplo, si desea importar Artículos, ejecute la opción Exportación de datos, seleccionando el fichero de Artículos, activando la casilla Incluir los campos requeridos en la Importación. Se habrá generado un fichero denominado Artículos.xml en la carpeta Datos exportados (situada en Mis Documentos\OfiPro). Haciendo doble clic sobre él, se podrá observar, en el navegador de Internet, la estructura y campos requeridos en la importación.

Formato de los ficheros de importación a OfiPro
Si Vd. trabaja con Delphi como lenguaje de programación, podrá generar fácilmente los ficheros XML necesarios para su importación en OfiPro.
Para generar un fichero XML en el formato requerido por OfiPro, utilice el componente TClientDataset:
ClientDataset.SaveToFile('ExportacionGesPro.xml', dfXMLUTF8);
|
La estructura del fichero tiene dos partes claramente diferenciadas: la definición de los campos (metadata) y los valores de los mismos (rowdata).
|
En este apartado se declara cada campo definiendo las características que tiene: tipo, anchura etc.
|
Los valores que ha de rellenar en cada campo deben estar en concordancia con su tipo de dato. Por ejemplo para el código de una Factura debe asignársele un valor numérico.
|
Existen una serie de campos especiales que sirven para identificar registros dentro de cada tabla y que son necesarios para realizar la importación de los datos. Son los campos ID (Identificadores).
Estos campos están compuestos por uno o más valores que identifican al registro de manera única, es decir, actúan como índices. En una tabla exportada pueden existir varios campos de este tipo (que a partir de ahora llamaremos Campos Id). Son fácilmente identificables ya que empiezan por ID_ (existe una excepción que es el campo Id_Cierre de la tabla Cierres de Caja que es un campo normal no ID).
Un Campo Id puede identificar al propio registro o a un registro de otra tabla y estará formado a su vez por uno o más campos separados por comas. Por ejemplo el campo ID_FACTURA_VENTA está formado por los campos Serie y Código.
Cuando el Campo Id es de la propia tabla se utiliza en la importación para saber si este registro ya está dado de alta en la BD. Con esto se consigue que se pueda repetir la importación tantas veces como se desee con los mismos ficheros ya que los valores que ya están dados de alta no se van a volver a insertar.
Cuando el Campo Id es de una tabla externa se utiliza en la importación para buscar dicho identificador en la tabla externa. Por ejemplo dentro de una Factura el identificador de Clientes se utiliza para buscar dicho cliente en la tabla Clientes.
Por ejemplo, si exporta la tabla de Albaranes, verá que el fichero generado tiene los siguientes campos Id:
En la mayoría de los casos los Campos Id sólo están formados por un campo (campo Código). Si está formado por más campos (por ejemplo Serie, Código) los valores deben estar separados por comas.
Existen una serie de normas de formateo para rellenar los valores de los Campos Id que son de tipo cadena (por ejemplo el ID_ARTICULO que contiene la Referencia del Artículo):
|
Algunas tablas donde no tienen ningún índice (formado por uno o varios campos) que tenga valores únicos y que identifique cada elemento de la misma. Para este tipo de tablas se crea un índice especial que es de tipo numérico y que la relaciona con las otras tablas que dependan de ella. Por ejemplo "Líneas de Facturas de Venta" y "Líneas de Facturas de Ventas Propiedades" se relacionan mediante un valor numérico interno, un campo común que contiene el mismo valor para ambas tablas. Además de tener el mismo valor este debe ser negativo para que OfiPro considere que estamos realizando una nueva alta.
|
Los campos de tipo Fecha deben estar en el formato yyyyddmm (año día mes).
Los campos Numéricos con decimales debe utilizar el punto como separador decimal.
|
A continuación se describen todos los identificadores necesarios para cada Fichero.
A continuación se muestran los identificadores Detalle-SubDetalle cuyos valores deben ser negativos y pueden ser cualquiera mientras mantengan la correcta relación Detalle-SubDetalle
A continuación se muestran los identificadores Detalle-SubDetalle cuyos valores deben ser negativos y pueden ser cualquiera mientras mantengan la correcta relación Detalle-SubDetalle
|
* Indica el Año del Ejercicio, no su Nombre.
A continuación se muestran los identificadores Detalle-SubDetalle cuyos valores deben ser negativos y pueden ser cualquiera mientras mantengan la correcta relación Detalle-SubDetalle.
|