Saltar al contenido principal
Versión: 20 R7 BETA

Export structure file

Export structure file ( rutaCarpeta {; opciones} ) -> Resultado

ParámetroTipoDescripción
rutaCarpetaTextRuta de la carpeta de destino para archivos de proyecto
opcionesObjectOpciones de exportar
ResultadoObjectEstado de validación y mensajes (si los hay)

Este comando no es hilo seguro, no puede ser utilizado en código apropiativo.

Descripción

El comando Export structure file divide la estructura actual de la base 4D en un conjunto de archivos de texto o archivos de imagen nativos y los almacena en la rutaCarpeta especificada. Por defecto, se exporta la totalidad de la estructura de la base (métodos, formularios, catálogo, etc.). Puede filtrar los contenidos a exportar utilizando el parámetro opciones (ver abajo).

Este comando le permite almacenar archivos de estructura de base de datos en un repositorio de control de fuente (es decir, Git, Perforce, etc.). Los cambios sucesivos o los cambios de varias fuentes se pueden comparar utilizando herramientas de control de fuente estándar.

Este comando solo se puede utilizar en los siguientes contextos:

  • 4D en modo local o 4D Server (se devuelve un error si se llama desde 4D en modo remoto),
  • Base de datos interpretada (el comando no hace nada si se llama desde una base de datos .4DC)

Tenga en cuenta también que cuando se llama desde un componente, el comando siempre exporta la estructura de la base local.

En rutaCarpeta, pase la ruta del sistema de la carpeta donde se deben guardar los archivos de exportación.

El parámetro opciones le permite personalizar el proceso de conversión. El objeto opciones puede contener las siguientes propiedades:

Nombre de la propiedadTipo de valorDescripción
withLogbooleano o cadena
true o "always": crea un archivo de registro de conversión en la carpeta de Registros de destino.
"ifNotEmpty": cree un archivo de registro de conversión solo si contiene algunos mensajes
false u omitido (predeterminado): no crea un archivo de registro de conversión
makeProjectbooleanotrue para generar un archivo.4DProject en la carpeta "Project"
filterobjetoContenidos para exportar. Si se omite (por defecto), todo se exporta
projectMethodsbooleanotrue para exportar métodos proyecto
databaseMethodsbooleanotrue para exportar métodos base
triggerMethodsbooleanotrue para exportar métodos trigger
formsbooleanotrue para exportar formularios
pageFormatbooleanotrue para incluir el formato de página de formulario como propiedad "pageFormat" de cada archvio json
catalogbooleanotrue para exportar definiciones de tabla y campo
foldersbooleanotrue para exportar las definiciones de las carpetas del Explorador
settingsbooleanotrue para exportar configuraciones de estructura
menusbooleanotrue para exportar menús
tipsbooleanotrue para exportar tips
listsbooleanotrue para exportar listas
filtersbooleanotrue para exportar filtros
picturesbooleanotrue para exportar imágenes desde la librería de imágenes
resourcesbooleanotrue para exportar la carpeta de Recursos
trashbooleanotrue para exportar métodos y formularios en la papelera (*)
windowPositionsbooleanotrue para exportar posiciones de ventana
methodPreferencesbooleanotrue para exportar las preferencias del editor de métodos
buildSettingsbooleanotrue para exportar el archivo buildApp.xml
dataPathbooleanotrue para copiar la última ruta de archivo de datos en el archivo de preferencias del usuario del proyecto
directorybooleanotrue para exportar usuarios y grupos 4D
styleSheetsbooleanotrue para exportar hojas de estilo como CSS
documentationbooleanotrue para exportar comentarios del Explorador en archivos markdown

(*) El filtro "trash" es útil solo si también se seleccionan los filtros "projectMethods" o "forms".

Atención: cuando se pasa el parámetro opciones y se usa el objeto "filtro", debe declarar explícitamente cada propiedad para exportar con el valor true. Cuando se pasa este objeto, 4D asume que todas las propiedades están en false por defecto.

Resultado

El comando devuelve un objeto que ofrece el estado final de la exportación, así como también información sobre problemas encontrados o errores, si los hay. Se devuelven las siguientes propiedades:

Nombre de la propiedadTipo de valorDescripción
successbooleanoTrue si la operación de exportación fue exitosa, de lo contrario false.
messagescolecciónColección de objetos que describen problemas encontrados durante la operación de exportación
[ ].severitytextoNivel de emisión. Valores posibles: "info", "error". Sólo el nivel de "error" establece la propiedad "éxito" en false.
[ ].messagetextoDescripción del problema o error, por ejemplo, "No compatible con el tipo de objeto"
[ ].errorscoleccionPila de errores (si existe)

Nota: los objetos de emisión pueden incluir propiedades adicionales según el contexto.

Los posibles errores incluyen:

  • elementos duplicados
  • errores de gestión de archivos (el archivo ya existe, archivo bloqueado, disco lleno, etc.)

Ejemplo 1

Desea exportar el archivo de estructura de la base en una carpeta "Export" con la configuración predeterminada:

 var $result : Object
 $result:=Export structure file("Export")
 If($result.success=True)
    ALERT("Export successful")
 Else
    ALERT("Error during export")
 End if

Ejemplo 2

Desea exportar solo los métodos proyecto y base, y un archivo de registro:

 var $option;$result : Object
 $option:=New object("filter";New object)
 $option.filter.projectMethods:=True
 $option.filter.databaseMethods:=True
 $option.withLog:="always"
 $result:=Export structure file("exportWithLog";$option)

Ver también

FORM Convert to dynamic