diff --git a/.github/workflows/i18n-auto-translate.yml b/.github/workflows/i18n-auto-translate.yml
index 189f33d1e127d2..8d08a28fa1d687 100644
--- a/.github/workflows/i18n-auto-translate.yml
+++ b/.github/workflows/i18n-auto-translate.yml
@@ -28,15 +28,18 @@ concurrency:
jobs:
translate:
+ # Fork-only guard applies to all runs, including manual dispatch.
# Loop prevention ([i18n-bot] commits) and Crowdin commits/merges (l10n_* branches) are ignored
if: >-
- github.event_name == 'workflow_dispatch' || (
- !contains(github.event.head_commit.message, '[i18n-bot]') &&
- !contains(github.event.head_commit.message, 'l10n_') &&
- !contains(github.event.head_commit.message, 'New Crowdin') &&
- !contains(github.event.head_commit.message, 'New translations') &&
- !contains(github.event.head_commit.author.name, 'crowdin') &&
- !contains(github.actor, 'crowdin')
+ github.repository == 'doc4d/docs' && (
+ github.event_name == 'workflow_dispatch' || (
+ !contains(github.event.head_commit.message, '[i18n-bot]') &&
+ !contains(github.event.head_commit.message, 'l10n_') &&
+ !contains(github.event.head_commit.message, 'New Crowdin') &&
+ !contains(github.event.head_commit.message, 'New translations') &&
+ !contains(github.event.head_commit.author.name, 'crowdin') &&
+ !contains(github.actor, 'crowdin')
+ )
)
runs-on: ubuntu-latest
timeout-minutes: 60
diff --git a/.github/workflows/i18n-cleanup.yml b/.github/workflows/i18n-cleanup.yml
new file mode 100644
index 00000000000000..e2b7bf3d226364
--- /dev/null
+++ b/.github/workflows/i18n-cleanup.yml
@@ -0,0 +1,83 @@
+name: i18n branch cleanup
+
+on:
+ pull_request_target:
+ types: [closed]
+
+permissions: {}
+
+jobs:
+ cleanup:
+ if: >-
+ github.repository == 'doc4d/docs' &&
+ github.event.pull_request.merged == true &&
+ github.event.pull_request.head.repo.full_name == github.repository
+ runs-on: ubuntu-latest
+ timeout-minutes: 5
+ permissions:
+ contents: write
+ steps:
+ # Metadata only: never check out or execute code from the PR.
+ - name: Delete merged translation branch
+ env:
+ GH_TOKEN: ${{ github.token }}
+ run: |
+ python3 - <<'PY'
+ import json
+ import os
+ from urllib.error import HTTPError
+ from urllib.parse import quote
+ from urllib.request import Request, urlopen
+
+ with open(os.environ["GITHUB_EVENT_PATH"]) as event_file:
+ event = json.load(event_file)
+ pr = event["pull_request"]
+ repo = event["repository"]
+ head = pr["head"]
+ branch = head["ref"]
+ prefix = "i18n/auto-pt-"
+ if (
+ repo["full_name"] != "doc4d/docs"
+ or not pr["merged"]
+ or (head.get("repo") or {}).get("full_name") != repo["full_name"]
+ or not branch.startswith(prefix)
+ or len(branch) == len(prefix)
+ or branch in ("main", repo["default_branch"], pr["base"]["ref"])
+ ):
+ print("Branch is not eligible for cleanup.")
+ raise SystemExit(0)
+
+ def api(method, path):
+ request = Request(
+ f'{os.environ["GITHUB_API_URL"]}/repos/{repo["full_name"]}/{path}',
+ method=method,
+ headers={
+ "Authorization": "Bearer " + os.environ["GH_TOKEN"],
+ "Accept": "application/vnd.github+json",
+ "X-GitHub-Api-Version": "2022-11-28",
+ },
+ )
+ with urlopen(request, timeout=30) as response:
+ body = response.read()
+ return json.loads(body) if body else None
+
+ ref = f"heads/{branch}"
+ # matching-refs returns [] for a missing branch; API/auth errors still fail.
+ refs = api("GET", f"git/matching-refs/{quote(ref, safe='')}")
+ current = next((item for item in refs if item["ref"] == f"refs/{ref}"), None)
+ if current is None:
+ print("Branch is already deleted.")
+ elif current["object"]["sha"] != head["sha"]:
+ print("Branch tip has changed; preserving it.")
+ else:
+ try:
+ api("DELETE", f"git/refs/{quote(ref, safe='')}")
+ except HTTPError as error:
+ # Another cleanup may have deleted the ref after our SHA check.
+ body = error.read()
+ if error.code != 422 or json.loads(body).get("message") != "Reference does not exist":
+ raise
+ print("Branch is already deleted.")
+ else:
+ print("Merged translation branch deleted.")
+ PY
diff --git a/docs/API/DataStoreClass.md b/docs/API/DataStoreClass.md
index ca480416fb69eb..f6661185ec8b85 100644
--- a/docs/API/DataStoreClass.md
+++ b/docs/API/DataStoreClass.md
@@ -17,14 +17,19 @@ A [Datastore](ORDA/dsMapping.md#datastore) is the interface object provided by O
|[](#dataclassname)
|
|[](#encryptionstatus)
|
|[](#flushandlock)
|
+|[](#generatefinegrainedtoken)
|
|[](#getallremotecontexts)
|
|[](#getglobalstamp)
|
|[](#getinfo)
|
|[](#getremotecontextinfo)
|
|[](#getrequestlog)
|
+|[](#listfinegrainedtokens)
|
+|[](#listoauthgrants)
|
|[](#locked)
|
|[](#makeselectionsalterable)
|
|[](#providedatakey)
|
+|[](#revokefinegrainedtoken)
|
+|[](#revokeoauthgrant)
|
|[](#setadminprotection)
|
|[](#setglobalstamp)
|
|[](#setremotecontextinfo)
|
@@ -299,6 +304,82 @@ ds.unlock() //Our copy is over, we can now unlock the datastore
[.locked()](#locked)
[.unlock()](#unlock)
+
+## .generateFineGrainedToken()
+
+History
+
+|Release|Changes|
+|---|---|
+|21 R6|Added|
+
+
**.generateFineGrainedToken**( *privileges* : Collection ; *name* : Text ; *expiry* : Date {; *info* : Object} ) : Object
**.generateFineGrainedToken**( *settings* : Object ; *name* : Text ; *expiry* : Date {; *info* : Object} ) : Object
+
+
+
+
| Propiedad | Tipo | Descripción |
|---|---|---|
| nombre de host | texto | Dirección IP o nombre del datastore remoto + ":" + número de puerto |
| tls | booleano | True si se utiliza una conexión segura con el datastore remoto |
| idleTimeout | número | Tiempo de inactividad de la sesión (en minutos) |
| usuario | texto | Usuario autenticado en el almacén de datos remoto |
\| \| Lanza 4D, 4D Server, la aplicación fusionada o tool4d en modo sin datos. El modo sin datos es útil cuando 4D ejecuta tareas sin necesidad de datos (compilación de proyectos, por ejemplo). En este modo: - No se abre ningún archivo que contenga datos, aunque se especifique en la línea de comandos o en el archivo `.4DLink`, o cuando se utilicen los comandos `CREATE DATA FILE` y `OPEN DATA FILE`.
- Los comandos que manipulen datos generarán un error. Por ejemplo, `CREATE RECORD` muestra el mensaje “no hay tabla a la cual aplicar el comando”.
**Nota**:- si se pasa en la línea de comandos, el modo dataless se aplica a todas las bases de datos abiertas en 4D, siempre y cuando la aplicación no se cierre.
- Si se pasa utilizando el archivo `.4DLink`, el modo dataless solo se aplica a la base de datos especificada en el archivo `.4DLink`. Para más información sobre los archivos `.4DLink`, ver [Atajos para abrir proyectos](../GettingStarted/creating.md#project-opening-shortcuts).
|
-| `--webadmin-settings-file` | Ruta del archivo | Ruta del archivo `.4DSettings` personalizado para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
-| `--webadmin-access-key` | Text | Llave de acceso para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
-| `--webadmin-auto-start` | Boolean | Estado del lanzamiento automático del [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
-| `--webadmin-store-settings` | | Utilice el argumento `--webadmin-store-settings` para guardar esta configuración si es necesario. Almacena la llave de acceso y los parámetros de inicio automático en el archivo de parámetros actualmente utilizado (es decir, el archivo [`WebAdmin.4DSettings`](webAdmin.md#settings) por defecto o un archivo personalizado designado con el parámetro `--webadmin-settings-path`). No disponible con [tool4d](#tool4d). |
-| `--utility` | | \|
\|--utility\| \| Sólo disponible con 4D Server. Sólo disponible con 4D Server. |
-| `--skip-onstartup` | | Lanza el proyecto sin ejecutar ningún método "automático", incluyendo los métodos base `On Startup` y `On Exit` |
-| `--startup-method` | Nombre del método proyecto (cadena) | Método proyecto a ejecutar inmediatamente después del método base `On Startup` (si no se omite con `--skip-onstartup`). |
+| Argumento | Valor | Descripción |
+| :-------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `applicationPath` | Ruta de 4D, 4D Server, aplicación fusionada o tool4d | Lanza la aplicación.
Si no es sin interfaz: idéntico a hacer doble clic en la aplicación; cuando se llama sin argumento de archivo de estructura, la aplicación se ejecuta y aparece el cuadro de diálogo "seleccionar base de datos". |
+| `--version` | | Muestra la versión de la aplicación y sale |
+| `--help` | | Muestra el mensaje de ayuda y sale. Argumentos
alternativos: -?, -h |
+| `--project` | projectPath
| packagePath | 4dlinkPath | Archivo de proyecto
a abrir con el archivo de datos actual. No aparece ninguna
caja de diálogo. |
+| `--data` | dataPath | Archivo de datos a
abrir con el archivo de proyecto designado. Si no se especifica, se utiliza el último archivo de datos
abierto. |
+| `--opening-mode` | interpreted
| compiled | Base de datos de
peticiones a abrir en modo interpretado o compilado. No se lanza ningún
error si el modo solicitado no está disponible. |
+| `--create-data` | | Crea automáticamente
un nuevo archivo de datos si no se encuentra un archivo de datos válido. No aparece ninguna
caja de diálogo. 4D utiliza el nombre
del archivo pasado en el argumento "--data" si lo hay (genera un error si ya
existe un archivo con el mismo nombre). |
+| `--user-param` | Cadena usuario
personalizada | Una cadena que estará disponible en la aplicación a través del comando [`Get database parameter`](../commands/get-database-parameter) (la cadena no debe comenzar por un carácter "-", que está reservado). |
+| `--headless` | | Lanza 4D, 4D Server o la aplicación fusionada sin interfaz (modo headless). En este modo:- El modo Diseño no está disponible, la base de datos se inicia en modo Aplicación
- No se muestra la barra de herramientas, la barra de menú, la ventana MDI ni la pantalla de presentación
- No se muestra ningún icono en el dock o la barra de tareas
- La base de datos abierta no se registra en el menú "Bases de datos recientes"
- Se inicia automáticamente el registro de diagnóstico (ver [SET DATABASE PARAMETER](../commands/set-database-parameter), selector 79)
- Se intercepta cada llamada a una caja de diálogo y se suministra una respuesta automática (por ejemplo, OK para el comando [ALERT](../commands/alert), Abort para un diálogo de error...). Todos los comandos interceptados(\*) se registran en el registro de diagnóstico.
Para las necesidades de mantenimiento, puede enviar cualquier texto a los flujos de salida estándar utilizando el comando [LOG EVENT](../commands/log-event). Tenga en cuenta que las aplicaciones 4D sin interfaz sólo pueden cerrarse mediante una llamada a [QUIT 4D](../commands/quit-4d) o utilizando el administrador de tareas del sistema operativo. |
+| `--dataless` | | \|
\|--dataless\| \| Lanza 4D, 4D Server, la aplicación fusionada o tool4d en modo sin datos. El modo sin datos es útil cuando 4D ejecuta tareas sin necesidad de datos (compilación de proyectos, por ejemplo). En este modo: - No se abre ningún archivo que contenga datos, aunque se especifique en la línea de comandos o en el archivo `.4DLink`, o cuando se utilicen los comandos `CREATE DATA FILE` y `OPEN DATA FILE`.
- Los comandos que manipulan datos arrojarán un error. Por ejemplo, `CREATE RECORD` lanza "no hay tabla a la que aplicar el comando".
**Nota**:- si se pasa en la línea de comando, el modo dataless se aplica a todas las bases de datos abiertas en 4D, mientras no se cierre la aplicación.
- Si se pasa utilizando el archivo `.4DLink`, el modo dataless sólo se aplica a la base de datos especificada en el archivo `.4DLink`. Para más información sobre los archivos `.4DLink`, ver [Atajos para abrir proyectos](../GettingStarted/creating.md#project-opening-shortcuts).
|
+| `--webadmin-settings-file` | Ruta del archivo | Ruta del archivo `.4DSettings` personalizado para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
+| `--webadmin-access-key` | Text | Llave de acceso para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
+| `--webadmin-auto-start` | Boolean | Estado del lanzamiento automático del [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
+| `--webadmin-store-settings` | | Utilice el argumento `--webadmin-store-settings` para guardar esta configuración si es necesario. Almacena la llave de acceso y los parámetros de inicio automático en el archivo de parámetros actualmente utilizado (es decir, el archivo [`WebAdmin.4DSettings`](webAdmin.md#settings) por defecto o un archivo personalizado designado con el parámetro `--webadmin-settings-path`). No disponible con [tool4d](#tool4d). |
+| `--utility` | | \|
\|--utility\| \| Sólo disponible con 4D Server. Sólo disponible con 4D Server. |
+| `--skip-onstartup` | | Lanza el proyecto sin ejecutar ningún método "automático", incluyendo los métodos base `On Startup` y `On Exit` |
+| `--startup-method` | Nombre del método proyecto (cadena) | Método proyecto a ejecutar inmediatamente después del método base `On Startup` (si no se omite con `--skip-onstartup`). |
(\*) Algunos diálogos se muestran antes de abrir la base de datos, por lo que es imposible escribir en el [archivo de registro de diagnóstico](Debugging/debugLogFiles.md#4ddiagnosticlogtxt) (alerta de licencia, diálogo de conversión, selección de bases de datos, selección de archivos de datos). En este caso, se
lanza un mensaje de error tanto en el flujo stderr como en el registro de eventos sistema,
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
index 068dda3b47f39c..a72b083131c203 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
@@ -195,7 +195,7 @@ Function getFullname()->$fullname : Text
$fullname:=This.firstName+" "+Uppercase(This.lastName)
```
-Para una función clase, el comando `Current method name` devuelve: `.`, por ejemplo "MyClass.myFunction".
+Para una función de clase, el comando `Current method name` devuelve: `.`, por ejemplo "MyClass.myFunction".
En el código de la aplicación, las funciones de clases se llaman como los métodos miembros de las instancias de objetos y pueden recibir [parámetros](#parameters) si los hay. Se soportan las siguientes sintaxis:
@@ -735,7 +735,7 @@ Se declaran clases singleton añadiendo la(s) palabra(s) clave(s) apropiada(s) a
:::
-La clase singleton está instanciada en la primera llamada de la propiedad [`cs..me`](../API/ClassClass.md#me). El singleton instanciado de la clase se devuelve siempre cuando se utiliza la propiedad [`me`](../API/ClassClass.md#me).
+El singleton de la clase se instanciará en la primera llamada de la propiedad [`cs.[.me`](../API/ClassClass.md#me). El singleton instanciado de la clase se devuelve siempre cuando se utiliza la propiedad [`me`](../API/ClassClass.md#me).
Si necesita instanciar un singleton con parámetros, también puede llamar la función [`new()`](../API/ClassClass.md#new). En este caso, se recomienda instanciar el singleton en algún código ejecutado al inicio de la aplicación.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/components.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/components.md
index 3356433af1284f..f28007cb1a60c2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/components.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/components.md
@@ -9,7 +9,7 @@ Un componente 4D es un conjunto de código y de formularios 4D que representan u
La instalación y carga de componentes en sus proyectos 4D se manejan a través del [gestor de dependencias de 4D](../Project/components.md).
-Several components are [developed by 4D](../Extensions/overview.md#components-developed-by-4d), but a lot of 4D components are also proposed by the 4D community. Utilice la [plataforma 4D Corner](https://corner.4d.com/) para obtener una lista detallada de todos los componentes 4D disponibles.
+Varios componentes han sido [desarrollados por 4D](../Extensions/overview.md#components-developed-by-4d), pero muchos otros componentes 4D también han sido propuestos por la comunidad 4D. Utilice la [plataforma 4D Corner](https://corner.4d.com/) para obtener una lista detallada de todos los componentes 4D disponibles.
Varios componentes son [desarrollados por 4D](../Extensions/overview.md#components-developed-by-4d), pero muchos componentes 4D de la comunidad 4D [se pueden encontrar en GitHub](https://github.com/topics/4d-component).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/error-handling.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/error-handling.md
index 06918d141a9e3b..c0e4a8bb2138a1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/error-handling.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/error-handling.md
@@ -98,7 +98,7 @@ Dentro de un método de gestión de errores personalizado, tiene acceso a varios
:::
- el comando [`Last errors`](../commands/last-errors) que devuelve una colección de la pila actual de errores ocurridos en la aplicación 4D.
-- el comando `Call chain` que devuelve una colección de objetos que describen cada paso de la cadena de llamadas a métodos dentro del proceso actual.
+- the [`Call chain`](../commands/call-chain) command that returns a collection of objects describing each step of the method call chain within the current process.
#### Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
index 25560f085eabc5..7d9a2f5198bcad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
@@ -106,7 +106,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-No confunda las **declaraciones de parámetros** con las [**declaraciones de variables**](variables.md#declaring-variables). Usar la palabra clave 'var' con parámetros generará errores.
+No confunda las **declaraciones de parámetros** con las [**declaraciones de variables**](variables.md#declaring-variables). El uso de la palabra clave `var` con parámetros generará errores.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/paths.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/paths.md
index ce320b7a616f3a..0d0911521bfd5d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/paths.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/paths.md
@@ -18,7 +18,7 @@ Además, los objetos archivo y carpeta soportan los `fileSystems`, que ofrecen u
Las rutas de los filesystem son útiles por dos razones principales:
- Independencia: puede trasladar su solución de un lugar a otro independientemente del sistema operativo, sin tener que preocuparse por las rutas,
-- Seguridad: ningún código puede acceder a los elementos situados por encima de la raíz del sistema de archivos en el disco (sandboxing).
+- Seguridad: ningún código puede acceder a los elementos situados por encima de la raíz del sistema de los file system en el disco (sandboxing).
Se soportan los siguientes nombres de rutas de filesystem:
@@ -39,7 +39,7 @@ Con esta sintaxis:
- las carpetas están separadas por "/"
- los nombres de ruta absolutos empiezan por "/"
-- para subir un nivel en una ruta relativa, utilice "../" delante del nombre de la ruta (por seguridad, no puede subir por encima de la raíz del sistema de archivos).
+- para subir una carpeta en una ruta relativa, utilice "../" delante del nombre de la ruta (por seguridad, no puede subir en el sistema de archivos).
En la sintaxis POSIX, generalmente usará los nombres de ruta `filesystem` con comandos [`File`](../commands/file) y [`Folder`](../commands/folder), por ejemplo:
@@ -86,7 +86,7 @@ Ejemplos con [`Folder`](../commands/folder):
```4d
$ok:=Folder("macintosh hd:";fk platform path).create()
-$ok:=Folder("Monday:Tuesday";fk platform path).create() //un volumen debe llamarse Monday
+$ok:=Folder("Monday:Tuesday";fk platform path).create() //un volume debe llamarse Monday
```
## Rutas absolutas y relativas
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/plug-ins.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/plug-ins.md
index f001652d2c9122..b9bb37c4b26ff8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/plug-ins.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/plug-ins.md
@@ -7,9 +7,9 @@ A medida que desarrolle una aplicación 4D, descubrirá muchas funcionalidades d
## ¿Qué es un plug-in y qué puede hacer?
-Un plug-in es una pieza de código, escrita en cualquier lenguaje como C o C++, que 4D lanza al inicio. Añade funcionalidad a 4D y aumenta así su capacidad. Un plug-in contiene generalmente un conjunto de rutinas para el desarrollador 4D. Puede manejar áreas externas y ejecutar procesos externos.
+Un plug-in es una pieza de código, escrita en cualquier lenguaje como C o C++, que 4D lanza al inicio. Añade funcionalidad a 4D y aumenta así su capacidad. Un plug-in contiene generalmente un conjunto de rutinas dadas al desarrollador 4D. Puede manejar las áreas externas y ejecutar los procesos externos.
-## ¿Dónde encontrar plug-ins?
+## ¿Dónde encontrar los plug-ins?
La comunidad 4D ya ha escrito múltiples plug-ins. Los plug-ins publicados [están disponibles en GitHub](https://github.com/search?q=4d-plugin&type=Repositories). Adicionalmente, puede [desarrollar sus propios plug-ins](Extensions/develop-plug-ins.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md
index 194fc290327390..f00cec81f61daf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md
@@ -60,23 +60,23 @@ Si se omite `varType`, se crea una variable de tipo **variant**.
La siguiente tabla enumera todos los valores `varType` soportados:
-| varType | Contenido |
-| --------------------------- | ------------------------------------------------------ |
-| `Text` | Valor texto |
-| `Date` | Valor fecha |
-| `Time` | Valor Hora |
-| `Boolean` | Valor booleano |
-| `Integer` | Valor entero largo |
-| `Real` | Valor real |
-| `Pointer` | Valor puntero |
-| `Picture` | Valor imagen |
-| `Blob` | Valeor Blob escalar |
-| `Collection` | Valor colección |
-| `Variant` | Valor variant |
-| `Object` | Objeto con clase por defecto |
-| `4D.` | Objeto del nombre de la clase 4D |
-| `cs.` | Objeto del nombre de la clase usuario |
-| `cs.` | Objeto del componente `` nombre de la clase |
+| varType | Contenido |
+| ---------------------------------------------- | ------------------------------------------------------ |
+| `Text` | Valor texto |
+| `Date` | Valor fecha |
+| `Time` | Valor Hora |
+| `Boolean` | Valor booleano |
+| `Integer` | Valor entero largo |
+| `Real` | Valor real |
+| `Pointer` | Valor puntero |
+| `Picture` | Valor imagen |
+| `Blob` | Valeor Blob escalar |
+| `Collection` | Valor colección |
+| `Variant` | Valor variant |
+| `Object` | Objeto con clase por defecto |
+| `4D.` | Objeto del nombre de la clase 4D |
+| `cs.` | Objeto del nombre de la clase usuario |
+| `cs.`cs. | Objeto del componente `` nombre de la clase |
:::note Compatibilidad
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugLogFiles.md b/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugLogFiles.md
index 5fc486715a806f..b19d7dba2314bb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugLogFiles.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugLogFiles.md
@@ -71,9 +71,9 @@ Para cada petición, se registran los siguientes campos:
| bytes_in | Número de bytes recibidos |
| bytes_out | Número de bytes enviados |
| server\_duration | exec\_duration | Depende del lugar donde se genere el registro:- _server\*duration\* cuando se genera en el cliente --Time tomado en microsegundos para que el servidor procese la solicitud y devuelva una respuesta. B a F en la imagen de abajo, O
- _exec\*duration\* cuando se genera en el servidor --Tiempo empleado en microsegundos para que el servidor procese la petición. B a E en la imagen de abajo.
|
-| write\_duration | Tiempo tomado en microsegundos para enviar la:- Petición (cuando se ejecuta en el cliente). A a B en la imagen debajo.
- Respuesta (cuando se ejecuta en el servidor). E a F en la imagen de abajo.
|
+| write\_duration | Tiempo tomado en microsegundos para enviar la:- Petición (cuando se ejecuta en el cliente). A a B en la imagen inferior.
- Respuesta (cuando se ejecuta en el servidor). E a F en la imagen de abajo.
|
| task_kind | Apropiativo o cooperativo (respectivamente "p" o "c") |
-| rtt | Tiempo estimado en microsegundos para que el cliente envíe la solicitud y el servidor la acuse de recibo. A a D y E a H en la imagen de abajo.- Solo medido al utilizar la capa de red ServerNet, devuelve 0 cuando se usa con la capa de red antigua.
- Para versiones de Windows anteriores a Windows 10 o Windows Server 2016, la llamada retornará 0.
|
+| rtt | Tiempo estimado en microsegundos para que el cliente envíe la solicitud y el servidor la acuse de recibo. A a D y E a H en la imagen inferior.- Sólo se mide cuando se utiliza la capa de red ServerNet, devuelve 0 cuando se utiliza con la capa de red heredada.
- Para las versiones de Windows anteriores a Windows 10 o Windows Server 2016, la llamada devolverá 0.
|
| extra | Información adicional relacionada con el contexto, por ejemplo el nombre de la clase de datos y/o el nombre del atributo en caso de petición ORDA |
Flujo de solicitudes:
@@ -315,21 +315,21 @@ Esta ruta al historial es devuelta por el comando `Get 4D file`.
Para iniciar este historial:
-```4d
-$server:=New object
-...
-//SMTP
-$server.logFile:="MySMTPAuthLog.txt"
-$transporter:=SMTP New transporter($server)
-
-// POP3
-$server.logFile:="MyPOP3AuthLog.txt"
-$transporter:=POP3 New transporter($server)
-
-//IMAP
-$server.logFile:="MyIMAPAuthLog.txt"
-$transporter:=IMAP New transporter($server)
-```
+ ```4d
+ $server:=New object
+ ...
+ //SMTP
+ $server.logFile:="MySMTPAuthLog.txt"
+ $transporter:=SMTP New transporter($server)
+
+ // POP3
+ $server.logFile:="MyPOP3AuthLog.txt"
+ $transporter:=POP3 New transporter($server)
+
+ //IMAP
+ $server.logFile:="MyIMAPAuthLog.txt"
+ $transporter:=IMAP New transporter($server)
+ ```
#### Contenido
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/building.md b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/building.md
index be1e125532e99d..7556387b70e4a8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/building.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/building.md
@@ -202,7 +202,7 @@ Los elementos deben ser instalados:
## Página Cliente/Servidor
-En esta pestaña, puede generar aplicaciones cliente y servidor personalizadas que son homogéneas, multiplataforma y con una opción de actualización automática.
+En esta pestaña, usted puede construir aplicaciones cliente y servidor personalizadas que son homogénicas, multiplataforma y con una opción de actualización automática.

diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
index 96e72b09bdec10..204ad446f6257d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
@@ -1,11 +1,11 @@
---
id: structure-fields
-title: Propiedades de los campos
+title: Campos
---
-Para otras propiedades de campos, consulte [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
+
-## Class
+### Class

@@ -29,8 +29,23 @@ En su código, al asignar un valor a un campo de tipo clase de objeto, 4D verifi
Para recuperar el nombre de la clase asociada en tiempo de ejecución, utilice la propiedad [`classID`](../API/DataClassClass.md#attributename), por ejemplo `ds.MyTable.MyField.classID`.
-### Ver también
+:::tip Entrada de blog relacionada
-- [Articulo de blog: tipificación más estricta de objetos basada en clases](https://blog.4d.com/stricter-class-based-typing-for-objects/)
+[Stricter class-based typing for objects](https://blog.4d.com/stricter-class-based-typing-for-objects/)
+:::
+
+### `4D.Vector` class
+
+If you assign `4D.Vector` as the class of an Object type field, you define a **vector field**. Such fields store embessings and can be used to query data using AI features. See the [`4D.Vector` class](../API/VectorClass.md) documentation to see how to query with vectors.
+
+Note that the [**4D Embedding Studio** component](corner.4d.com/component/4d-embedding-studio) can help you configuring and updating your 4D.Vector fields.
+
+When you assign `4D.Vector` as the class of an Object type field, a specific icon is displayed as field type in the Structure editor: 
+
+:::tip Entrada de blog relacionada
+
+[Vector Indexing in 4D: Faster Similarity Search for 4D.Vector Fields](https://blog.4d.com/vector-indexing-in-4d-faster-similarity-search-for-4d-vector-fields)
+
+:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-editor.md b/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-editor.md
new file mode 100644
index 00000000000000..19a113e4529d4f
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-editor.md
@@ -0,0 +1,248 @@
+---
+id: structure-editor
+title: Editor de estructura
+---
+
+You use the Structure editor to manage the database structure — the tables and their relations. It gives you control over tables, table properties, fields, field properties including indexes, and table relations.
+
+You can access the **Structure editor** by choosing the **Database Structure** command in the **Design** menu or by clicking on the Structure button  in the 4D toolbar.
+
+The Structure editor provides a graphic view of a database’s structure as well as a toolbar and context menus that you can use to carry out database design operations. Each table is represented by a table image. It shows the fields and their types in the form of icons. An information bar displays the characteristics of tables and fields as the mouse moves over them.
+
+A floating **Inspector palette** can be used to view and modify the properties of structure objects and of the structure editor itself. This window is described in the [Inspector palette](#inspector-palette) section.
+
+## Toolbar (Barra de herramientas)
+
+The structure editor has a toolbar containing functions like the addition of objects, as well as navigation and display options:
+
+
+
+From left to right, the icons perform the following actions:
+
+- add objects (tables, fields, index, relations)
+- search in editor
+- hide/display tables according to folders defined in the Home page of the Explorer
+- display filters
+- Tools (size, alignment, sort)
+- colores
+- Index list window
+- Primary key manager
+
+### Información sobre el bloqueo
+
+A closed lock icon  is displayed if the structure file is locked.
+Locking can occur in both project and client/server modes when:
+
+- The `catalog.4DCatalog` file is *Read-only* (Projects only). Clicking on the lock icon will display an alert to unlock it, if possible.
+- Two or more users attempt to modify the same structure at the same time. The structure cannot be used until the first user frees it by closing the window. *(Cliente/servidor únicamente)*
+
+In both cases, the structure can be opened in *Read-only*, but cannot be used until the lock is removed.
+
+## Information bar
+
+The lower part of the editor window is an information bar displaying data corresponding to the area the mouse is over: table, field or relation.
+
+#### Information about a table
+
+- Table name and number
+- Table triggers:
+ - **NEW:** On saving new record
+ - **SAVE:** On saving existing record
+ - **DEL:** On deleting a record
+
+#### Information about a field
+
+- Table name and number
+- Field name and number
+- Tipo de campo
+- Field attributes:
+ - **NUL:** Map null values to blank values
+ - **UNI:** Unique
+
+#### Information about a relation
+
+- Origin table and field (many field)
+- Destination table and field (one field)
+- Relation type and ORDA name:
+ - **N→1** (many to one) and `relatedEntities` relation attribute name
+ - **1→N** (one to many) and `relatedEntity` relation attribute name
+
+:::note
+
+For more information on ORDA names, refer to the [Data Model Objects](../ORDA/dsMapping.md#structure-mapping) page.
+
+:::
+
+## Inspector palette
+
+The properties of the Structure editor objects (tables, fields and relations) can be viewed and modified via the Inspector palette:
+
+
+
+This palette appears when you double-click on an object. When it is displayed, its contents are updated dynamically depending on the objects selected. The Inspector displays the [general properties of the Structure editor window](#customizing-the-editor-window) when you click in an empty area of the window.
+
+The different areas of the palette can be expanded/collapsed. You can click on the adjacent triangles to display or hide the corresponding information.
+
+The following shortcuts can be used:
+
+- **Shift+click** on the title bar of a collapsed panel expands that panel and collapses all the others.
+- **Alt** (Windows) or **Option** (macOS) + **click** on the title bar of a collapsed panel expands all the panels.
+- **Alt** (Windows) or **Option** (macOS) + **click** on the title bar of an expanded panel collapses all the panels.
+
+The position of the palette and the expanded/collapsed states of its panels are saved.
+
+## Selecting an object
+
+To work with an image of an object in the Structure editor, you must first select it. You can then specify its properties, move it, resize it, delete it, etc. You can select several objects of the same type simultaneously to modify their common properties in the Inspector palette.
+
+To select:
+
+- **A table:** Click the image of the table, or press `Tab` / `Shift+Tab` to select each table successively.
+- **A field or relation:** Click the field or relation, or use the arrow keys to navigate.
+- **Several objects:** Use `Shift+Click` for adjacent objects, `Ctrl+Click` (Windows) or `Command+Click` (macOS) for non-adjacent ones.
+
+## Working with table images
+
+You can resize or move the table images in the Structure editor according to your requirements.
+
+**4D Server**: In [development mode](../Desktop/clientServer.md#development-mode), any modification in table images (resize, location...) is propagated to all developers in the Design environment.
+
+### Scrolling the field list
+
+When you add fields to a table or when you reduce the size of a table, there may be more fields in the table than the image can display. When this happens, 4D automatically adds a cursor than you can use to scroll through the list of visible fields:
+
+
+
+### Resizing a table image
+
+You can resize a table image to display more field names or reorganize your screen.
+
+- **Manual resizing**: Simply click and drag the bottom of the table image or its lower right corner.
+
+
+
+- **Optimal Size**: This option automatically resizes the selected table(s) so that their size corresponds exactly to the number of fields they contain (no empty lines are displayed). To apply the **Optimal Size** command to one or more tables, select **Optimal Size** from the menu associated with the toolbar button of the editor or from the editor’s context menu (click on a table).
+
+- **Collapse**: The **Collapse** function collapses the selected table image(s) so that only their names are visible. This is useful for large structures.
+
+To apply the **Collapse** command to one or more tables, you can:
+
+ ```
+ - Select **Collapse** from the editor’s context menu (click in the title area of the table).
+ - **Shift+Double-click** in the table name area to toggle through the same sequence *original size → collapse.*
+ ```
+
+:::note Notas
+
+- A standard double-click on the table name area opens the **Inspector**.
+- **Alt** (Windows) or **Option** (macOS) + double-click opens the trigger method of the table in the **Method editor**.
+- **Ctrl** (Windows) or **Command** (macOS) + double-click opens the **Explorer** on the Form page.
+
+:::
+
+### Moving table images
+
+You can move table images to regroup them according to function or to reorganize the Structure editor window. You can also align them to improve the readability of the structure. Any relations are redrawn automatically to correspond with the new table locations.
+
+To move a table image manually, click on the name of a table and drag it using the mouse cursor. Drag the table name bar only. Dragging other parts of the table image may produce different effects, such as creating a new table relation or changing the size of the table image.
+
+To align two or more tables, select the tables to align and choose an alignment option in the tools menu:
+
+
+
+These commands are only active when at least two tables are selected.
+
+## Scrolling
+
+Specific scrolling functions facilitate navigation among large structures:
+
+- The mouse wheel can be used to scroll the contents of the editor window vertically. This will also scroll through the fields of a table when the cursor is placed above it.
+- Holding down **Shift** while using the mouse wheel scrolls the contents of the window horizontally.
+- Pressing **Shift** activates the "hand" tool which can be used to drag the entire contents of window by clicking in the empty area.
+
+## Zoom
+
+You can modify the display scale of the database structure using the **Zoom** menu in the right side of the information bar. 100% is the default value when opening a database. Zoom action is focused on the selection if there is one.
+
+The current zoom setting is specific to each user and is memorized when the window is closed.
+
+:::note
+
+You can [configure the graphic rendering of the Structure editor during a zoom](../Preferences/structure.md#graphic-quality-of-the-structure) using a preference.
+
+:::
+
+## Object type display
+
+The **Display** button in the toolbar of the Structure editor is associated with a menu and lets you choose the objects to be displayed in the structure according to their type:
+
+
+
+By default, all objects are displayed. This feature allows various representations or views — from the simplest to the most complete — and provides an analysis tool for the structure based on the level of information required.
+
+The choices are applied to all tables and fields. They are saved per user and memorized when the window is closed. Hiding objects does not change the position of the tables.
+
+- When several types of fields are checked, a logical OR operator is used to determine the objects to be displayed. For example, if *Invisible Fields* and *Not Indexed Fields* are both checked, all the non-indexed and invisible fields (indexed or not) are displayed.
+- Tables have priority over fields: if a table is not displayed, its fields are not displayed.
+- If you add an object whose type is not displayed (table, field, or relation), it becomes visible. To hide it again, you must uncheck the corresponding option in the **Display** menu.
+
+## Highlight/dim tables by folder
+
+You can hide groups of tables in the Structure editor based on folders defined in the **Home Page** of the Explorer window. You configure this display using the **Folders** button in the Structure editor toolbar.
+
+The menu associated with this button displays commands that manage the display as well as the list of folders in the database. A check mark appears next to each folder displayed. You can modify the current display by selecting or deselecting a folder from this menu.
+
+The **Highlight All Folders** and **Dim All Folders** commands can be used to display or hide all the tables in folders of the database.
+
+Each click on the toolbar's folder button inverts the display of the tables: highlighted tables are dimmed and vice versa.
+
+When the tables are dimmed, only their outlines appear in the Structure window. Tables that are not dimmed remain fully visible.
+
+
+
+:::note
+
+You can set the appearance of dimmed tables in the Structure editor to either *Dimmed* or *Invisible* using an [option in the **Structure** page of the Preferences](../Preferences/structure.md#when-a-folder-is-dimmed-its-contents-are). It is necessary to close and reopen the Structure editor window for this preference to take effect.
+
+:::
+
+## Customizing the editor window
+
+The Structure editor window has specific properties that can be set using the **Inspector**.
+
+To display these properties, you can either:
+
+- Double-click (or click, if the window is already displayed) in an empty area of the window, or
+- Right-click in an empty area and choose **Structure Properties** from the context menu.
+
+The Inspector palette displays the Structure properties.
+
+
+
+The following properties can be set:
+
+- **Background Picture:** You can add or modifiy the background picture used as well as its display format. To add or modify the picture, click on the **Open** button or right-click in the preview area and choose **Open** from the context menu; then select the file containing the picture to be displayed. You can use any picture format. The selected picture is displayed immediately in the preview area and in the editor window.
+ To change the display format of the picture, choose a value from the Picture Format menu. The formats provided are the standard picture display formats of 4D.
+ To delete a custom picture, click on the **Clear** button or right-click in the preview area and choose **Clear** from the context menu.
+- **Fill Color:** You can change the color used for the background of the editor window. To do this, click in the color selection area and choose a color from the selection menu.
+- **Default Font:** To change the default font used for table and field names, choose a vaue from this menu. You can also use the Size menu to change the default font size.
+
+## Find in Structure
+
+4D lets you carry out searches directly in the Structure editor window. Searches can be among the following elements:
+
+- Table names and/or field names
+- Table numbers
+
+To perform a search, enter a text or table number in the **Search** field of the Structure editor. As you type, a bar appears below where you can specify search options:
+
+
+
+- **Scope**: *Tables & fields* or *Tables* (i.e. tables only).
+- **Types**:
+ - *Contains* (default): typing "le" finds "Table", "Letter", etc.
+ - *Starts with*: typing "pa" finds "paper", "paid", but not "repair".
+ - *Number*: typing "2" finds tables numbered 2, 12, 20, etc.
+
+Searches are performed in real time as you type. Tables and fields that match are highlighted. If nothing is found, the search area turns red. To exit **Search** mode, click the **X** button in the search bar or delete all the characters in the search area.
+
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-indexes.md b/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-indexes.md
new file mode 100644
index 00000000000000..0f30ac45b441df
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-indexes.md
@@ -0,0 +1,174 @@
+---
+id: structure-indexes
+title: Indexes
+---
+
+You can associate indexes with fields that you frequently use for searching and sorting. For example, you might index LastName, CompanyName, or ProductName if you plan to search or sort entities using these attributes. You also use this property for fields that establish relations between tables.
+
+When an index is associated with a field, 4D creates an internal index table for the field. This table allows 4D to perform rapid searches and sorts on the field. When searching or sorting on an unindexed field, 4D moves through data sequentially, examining each record in order. Indexing allows 4D to search and sort without going through every record.
+
+You can index fields of the Alpha, Text, Date, Time, Boolean, Integer, Long integer, Integer 64 bits, Real, Picture and Object type. As you add and delete records, 4D automatically updates its index table. If you create an index for a field that already exists, 4D automatically indexes the existing data. You can specify as many indexed fields as you want. Indexes are also rebuilt during specific operations such as conversion of earlier databases or [data compacting](../MSC/compact.md).
+
+Each index table can contain up to:
+
+- 128 billion keys for Alpha, Text, and Float indexes
+- 256 billion keys for other index types (scalar data)
+
+Do not index every field. An index increases the size of the database, using more space on disk. Using many indexes also increases the time needed to save a record since 4D updates the index table with each record validation.
+
+Indexed fields are displayed in **bold** type in the Structure editor.
+
+## Tipos de índices
+
+4D provides different types of indexes. Choosing between the different types is generally based on the result expected and the type of data present in the field. There are four main types of indexes:
+
+- **Standard indexes:** These are single-field indexes used to accelerate standard database operations (searches and sorts). 4D lets you choose the internal architecture of this type of index (except for Object fields): B-Tree or Cluster B-Tree.
+- **Composite indexes:** This index stores the combined values of two or more fields that are often searched for together, for example LastName+FirstName.
+- **Keyword indexes:** These indexes are only available for Alpha, Text and Picture type fields. They are intended to facilitate fast searching inside text or, in the case of pictures, among the keywords associated with the pictures.
+- **Vector indexes**: These indexes are designed to accelerate AI-based queries on Object fields storing [embeddings](./field-properties.md#4dvector-class).
+
+### Índices estándar
+
+A standard index is intended to accelerate database operations (a standard index refers to a generic index as opposed to a keyword or composite index). 4D offers two types of architectures for standard indexes: B-Tree and Cluster B-Tree.
+
+- **B-Tree:** Standard B-Tree type index. This multipurpose index type meets most indexing requirements.
+- **Cluster B-Tree:** B-Tree type index using clusters. This architecture is more efficient when the index does not contain a large number of keys, i.e. when the same values occur frequently in the data.
+
+:::note
+
+A B-Tree index associated with a Text type field stores the first 1024 characters of the field (maximum). Therefore in this context, searches for strings containing more than 1024 characters will fail.
+
+:::
+
+When you choose the index architecture, 4D also provides the Automatic option. In this case, 4D automatically selects the architecture according to the type of data concerned.
+The **Automatic** option is the only option available for Object type fields, except if you associated a 4D.Vector class to the field ([see below](#vector-index)). In fact, with the **Automatic** option, all attribute paths are automatically indexed.
+
+### Composite indexes
+
+Composite indexes store the combined values of two or more fields for each entry. The classic example is a composite index based on the FirstName+LastName fields. Searching for “Peter Smith” will therefore be optimized compared with a standard search (searching for “Smith” then searching for “Peter”).
+
+4D automatically takes advantage of composite indexes during queries and sorts. For example, if a composite index “City+ZipCode” exists, it will be used in the case of a query of the type “lastname=carter and city=new york and zipcode =102@”.
+
+In the structure editor, composite indexes can only be created using the index creation dialog box. For a detailed description of this dialog box, refer to the “Creating an index” section below.
+
+### Keywords index
+
+You can use a specific type of index with Alpha, Text and Picture fields: a keyword index.
+
+- When you associate this type of index with an Alpha or Text field, the text stored in the field will be indexed word by word. All the words will be indexed even if they have only 1 or 2 characters. This type of index will accelerate subsequent keyword searches among text fields in a dramatic manner.
+ It is possible to associate both a standard index and a keyword index with Alpha and Text fields (when stored in the records). 4D will use the appropriate index depending on the context.
+
+- When you associate this type of index with a Picture field, searches among keywords associated with pictures (metadata) are greatly accelerated. Warning: Picture keyword indexes are exclusively based on metadata of the IPTC/Keywords type. These types of metadata are supported in particular by the TIFF and JPEG formats (note that BMP, PNG and GIF do not support them). Other types of metadata are not managed by indexing.
+ Keyword indexes for pictures are updated automatically by 4D each time the Picture field is saved (when a record is created or modified, when data is imported, and so on). Metadata of the IPTC/Keywords type are indexed automatically by 4D when they are found in the picture (you do not have to call the [`SET PICTURE METADATA`](../commands/set-picture-metadata) command to include them in the index of the Picture field).
+
+You can use the [`DISTINCT VALUES`](../commands/distinct-values) command to get the list of keywords contained in an keywords index.
+
+You use picture or text keyword indexes through the [`%` operator](../Concepts/dt_string.md#keywords): this operator must be placed in the query or sort formulas in order to specifically use an index value. Por ejemplo:
+
+```4d
+QUERY([PICTURES];[PICTURES]Photos %"cats")
+// busca fotos relacionadas con la palabra clave gatos
+```
+
+This works the same way for all the query and order by commands: [`QUERY BY FORMULA`](../commands/query-by-formula), [`QUERY SELECTION`](../commands/query-selection), [`ORDER BY`](../commands/order-by), etc.
+
+### Vector index
+
+A vector index can be associated to an Object type field that was configured as a `4D.Vector` [class](./field-properties.md#4dvector-class). In this case, the following options are available:
+
+
+
+- **Cosine**: the vector index is optimized for [cosine similarity](../API/VectorClass.md#understanding-the-different-vector-computations) computations.
+- **Dot**: the vector index is optimized for [dot similarity](../API/VectorClass.md#understanding-the-different-vector-computations) computations.
+- **Euclidean**: the vector index is optimized for [euclidean distance](../API/VectorClass.md#understanding-the-different-vector-computations) computations.
+- **Automatic**: standard object index type ([see above](#standard-indexes)). You can select this index type to handle null vectors, it will be automatically used in this case.
+
+You can select one or more index types for your vector fields, the appropriate index will be automatically used depending on the actual computation. For optimization reasons, it is recommended to only select necessary index types.
+
+:::tip Entrada de blog relacionada
+
+[Vector Indexing in 4D: Faster Similarity Search for 4D.Vector Fields](http://blog.4d.com/vector-indexing-in-4d-faster-similarity-search-for-4d-vector-fields)
+
+:::
+
+:::warning Limitation: Vector indexes and transactions
+
+Vector indexes are not compatible with [transaction processing](../Develop/transactions). When vector-indexed records are inserted, updated, or deleted within a transaction, the corresponding index changes are not committed or rolled back with the transaction. As a result, the vector index may become inconsistent with the database state after a rollback, and search results may not reflect the persisted data.
+
+:::
+
+## Index List
+
+The  button of the toolbar in the Structure editor displays the Index List window. This window displays the list of all the indexes of the structure, regardless of their type:
+
+
+
+The Index List can be used to view the main properties of the indexes:
+
+- **Type:** Index type. Each type of index (B-tree, Cluster B-tree, Keyword, Euclidean, Cosine, Dot) is depicted with a different icon.
+- **Description:** Table and field(s) of index. For a composite index, this list contains all the fields of the index.
+- **Name:** Index name. This property is used in particular by the language commands. You can change or add an index name by double-clicking in this column.
+
+The **[+]** button displays the index property dialog box and allows you to edit the selected index or to add a new index when no index was selected.
+The **[-]** button deletes the selected index (a confirmation dialog box appears).
+This button can be used more particularly to delete composite indexes.
+
+Two additional commands are available in the menu associated with the tool button (enabled when an index is selected:
+
+- **Edit:** Displays the properties of the selected index in the index property dialog box (see next paragraph). This command has the same effect as double-clicking on a row of the list (except for in the name area).
+- **Rebuild:** Can be used to delete and rebuild the selected index. A confirmation dialog box appears when you select this command.
+
+## Creating an index
+
+To create a **standard index** directly:
+
+1. Select a field then choose a value from the "Index" menu of the **Inspector palette**.
+ **OR**
+ Right-click on the field then select a value from the **Index>** submenu of the context menu.
+
+To create a **composite index** or any other type of index using the index creation dialog box:
+
+1. Select several fields while holding down the **Shift** key (for adjacent selection) or **Ctrl** (Windows) or **Command** (macOS) button then right click on one of the fields and select **New Composite Index...** in the context menu.
+ **OR**
+ Select the **New Index...** in the context menu of the table or select **Index** in the add objects menu of the Structure editor tool bar.
+
+The index configuration dialog box then appears.
+
+
+
+It contains the following elements:
+
+- **Table:** List of all the database tables. Choose the table to which the index will belong from this menu.
+- **Name:** Index name entry area. This name is used by the 4D language commands.
+- **Type:** Selection menu for type of index to be created. If you keep the "Automatic" option, 4D will automatically choose the index type according to the contents of the field.
+- **List of Fields:** This area is used to specify the field(s) associated with the index. It can contain a field by default depending on the current selection in the editor.
+
+To add a field to the index, click on the **[+]** button. The list of fields of the selected table is displayed so that you can indicate the field to be added to the index.
+
+- If you want to create a composite index, add each field to be included in the index successively. Once the list is completed, you can reorder the fields using the arrow buttons or using drag and drop.
+- If you create a composite index based on primary key fields, make sure you put the fields in the same order in the primary key and in the index.
+- If you have chosen the “Keyword Index” type, only Alpha or Text fields can be selected. Also in this case, you cannot include only one field in the index.
+
+To delete a field from the index, select it in the list and click on the **[-]** button.
+
+Once the index has been configured, click on **OK** to generate the index.
+
+## Deleting an index in the Structure editor
+
+You can delete indexes that are no longer useful at any time. This can be carried out directly in the Structure editor or using the [Index List](#index-list) window.
+
+To delete a standard index in the Structure editor:
+
+1. Select the field associated with the index you want to delete, then choose the **None** or uncheck the **Keyword Index** option (for a keyword index) in the Index menu of the **Inspector palette**
+ **OR**
+ Right-click on the field associated with the index, then choose the **None** or uncheck the **Keywords** option from the **Index>** submenu of the context menu.
+
+The deletion (and viewing) of a composite index can only be carried out from the List Index window, see above.
+
+## Reindexing a field
+
+You can reindex a field at any time; in other words, rebuild the index table(s) associated with it, in accordance with the data present. This can be useful in the case of application maintenance.
+
+Reindexing can be carried out using the **Rebuild** command in the [Index List](#index-list) window.
+
+Note that modifying the [data language](../settings/database.md#text-comparison) or maintenance operations such as [compacting](../MSC/compact.md) will also cause the indexes to be rebuilt.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-tables.md b/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-tables.md
new file mode 100644
index 00000000000000..6eab440f60dbfb
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-tables.md
@@ -0,0 +1,368 @@
+---
+id: structure-tables
+title: Tablas
+---
+
+Tables are the foundation of every 4D database. Each table defines a collection of records that share the same set of fields and properties. In the Structure editor, tables are represented as graphic objects that you can create, rename, or delete, and whose attributes you can configure individually.
+
+Using the tools provided by 4D, you can:
+
+- Define tables and manage their primary keys and relations
+- Set and edit table-level properties such as triggers, visibility, and replication
+- Control naming rules and organize tables into folders for easier maintenance
+
+## Creating a table
+
+You can create a new table either directly in the Structure window, or via a dialog box. Direct creation is faster; but creation using the dialog box lets you specify certain parameters of the table and cancel the operation when necessary. You can also create tables using copy-paste.
+
+- Para crear una nueva tabla directamente:
+
+1. Right-click an empty area of the Structure editor window, then choose **Add Table...** from the context menu.
+ **OR**
+ In the add objects menu of the [Structure editor toolbar](./structure-editor.md#toolbar), choose the Table option.
+
+4D creates the table directly in the Structure editor. You can then change its name, add fields, etc.
+
+:::note
+
+If you want to put the table in a specific folder, you need to use the Home Page of the Explorer.
+
+:::
+
+- To create a new table using the "New table" dialog box:
+
+1. Choose **New > Table...** in the **File** menu (or in the **New** button of the 4D tool bar).
+ **OR**
+ On the Tables Page of the Explorer, click on the **\[+]** button.
+
+The "New table" dialog box appears. 4D names the first table `Table_1` and then numbers them sequentially:
+
+
+
+2. (optional) Modify the [name of the table](../Concepts/identifiers.md#tables-and-fields) you want to create.
+3. (optional) Specify the folder in which you want to place the new table.
+ By default, the table is placed at the highest level of the folder hierarchy ("Top Level"). Folders are handled in Home Page of the Explorer.
+4. Click **OK** to validate.
+ 4D creates a new table image. It becomes the selected table image in the Structure editor window.
+
+- To create a new table by copy-paste:
+
+1. Select and copy the table(s) to be duplicated.
+2. Paste the table(s) in the Structure editor window.
+
+The table is pasted with all its fields and properties.
+
+## Renaming a table
+
+You can rename tables at any time. If you have used the old table name in a method, 4D automatically changes it to the new name provided the method is closed. If the method is open, you must make the changes yourself. Each table name must be unique in the database.
+
+You can rename a table directly in the Structure editor, in the Explorer, or using the Inspector palette.
+
+To rename a table directly (Structure editor or Tables page of the Explorer), **click twice** on the table name (if the table is already selected, click once), so that it switches to editing mode:
+
+
+
+Enter the new name and click outside of the table.
+
+To rename a table using the Inspector palette of the Structure editor, double-click on the table name (or select **Table Properties...** in the context menu of the table) and enter the new name in the "Name" area.
+
+
+
+4D displays the name and properties of the selected table in the Inspector palette. This palette also indicates the table number. If the Inspector palette is already open but is displaying the properties of another table or another object, just select the desired table image and the palette will then display its properties.
+
+## Deleting a table
+
+You can delete tables from your database. There are two ways of deleting tables in 4D: **permanent deletion** (the table and its data are actually removed from the database) and **non-permanent deletion** (the table is simply put into the Trash of the Explorer and may be recovered subsequently).
+
+:::info
+
+You can also remove tables using the [SQL engine of 4D](https://doc.4d.com/4Dv21/4D/21/4D-SQL-Reference.100-7649299.en.html).
+
+:::
+
+### Permanent deletion
+
+To permanently delete one or more database tables in the Structure editor:
+
+Select the table(s) to be deleted then choose **Clear** from the **Edit** menu or choose **Delete** from the context menu of the table.
+
+A warning dialog box will ask you to confirm the operation. When you click **OK**, 4D carries out the following operations:
+
+- The table is permanently deleted from the structure. All the data associated with the table are deleted permanently from the data file.
+- Any trigger method associated with the table is deleted.
+- The forms and lists associated with the table are transformed into project forms and are placed in the Trash of the Explorer.
+
+### Non-permanent deletion
+
+Non-permanent deletion of a table consists in putting it in the Trash of the project (which can be accessed via the Explorer), just like the file deletion mechanisms implemented by Windows and macOS.
+
+The table then no longer appears in the 4D editors and its contents become inaccessible but it can still be recovered so long as the Trash is not emptied.
+
+To put one or more tables into the Trash from the Structure editor, choose the **Move to Trash** command from the context menu of the table or select the table(s) to be deleted then press the **Delete** or **Backspace** key. A confirmation dialog box appears. If you click **OK**, the table is put into the Trash. It can be recovered at any time from the Trash Page of the Explorer.
+
+### Numbers of deleted tables
+
+When a table is deleted, the other tables of the database are not renumbered, so as to avoid endangering the stability of the database. It is therefore possible, for example, to have a database with three tables numbered 2, 4 and 5.
+
+Note that the numbers of permanently deleted tables are reused when new tables are created subsequently.
+
+## Table properties
+
+You can set several properties for tables using the **Inspector palette** or, for certain properties, using the context menu for the tables.
+
+### Triggers
+
+A [trigger](./triggers) is a method that runs automatically when certain events related to the table occur. Trigger events can be set in the **Inspector palette** or using the context menu associated with the table (right-click on the title area of the table). Check each event for which you want to [activate the trigger](./triggers#activating-and-creating-a-trigger).
+
+You can access the trigger of a table directly from the Structure editor by clicking on the **Edit...** button in the Inspector palette or by selecting **Edit Method...** in the context submenu. You can also create and display triggers with the **Methods Page** of the Explorer.
+
+The [information bar](./structure-editor.md#information-bar) of the **Structure editor** indicates the triggers that are activated for each table.
+
+### Atributos
+
+You can set different attributes to configure the appearance and general behavior of each table.
+
+#### Invisible
+
+This option lets you make a table invisible in the Application mode and for plug-ins. You can activate this option for utility tables or tables that are not being used temporarily.
+
+Making a table invisible allows you to limit the operations that a user can perform on a table by making the table and its fields invisible in all editors and some dialog boxes that appear in the Application environment. It can also not be used by plug-ins.
+
+The editors and dialog boxes concerned in the Application environment include the following:
+
+- All query editors
+- Order by editor
+- [Editor de etiquetas](../Desktop/labels.md)
+- Quick report editor
+- Exporting and importing data dialog boxes
+- Formula editor
+
+In each of these editors, the user is unable to see or choose the table or any of its fields. For instance, the user cannot include any fields from an invisible table in a report or label.
+
+:::note Notas
+
+- When using these editors, users have the option of saving their specifications (e.g., the query or sort they created) to disk files. In this case, any specified tables or fields that are subsequently made invisible may still be used in the operation.
+- Users can type the names of invisible tables and fields in the dialog box.
+- It is also possible to set this attribute for each field individually.
+
+:::
+
+Invisible tables and fields are displayed in *italics* in the Structure editor window.
+
+#### Color of the table image
+
+A color can be attributed to each table. Using colors helps to organize the structure of a large database. For example, you could use one color for all tables that relate to customers and another for tables that relate to inventory.
+
+:::note
+
+It is also possible to attribute a color to each field individually as well as to each relation.
+
+:::
+
+To set the color of one or more tables, make your selection and then choose the color using:
+
+- The **Color** button of the Structure editor toolbar
+- The **Color** command in the context menu of the tables
+- The **Color** option in the **Inspector palette**
+
+The **Automatic** option can be used to apply the standard original color to the table.
+
+#### Expose as REST resource
+
+This option controls whether the [table is exposed to REST requests](../REST/configuration.md#exposing-tables).
+
+:::note Notas
+
+- You can also set this option at the level of each field of the table.
+- This option is used in the context of [ORDA remote datastore features](../ORDA/remoteDatastores.md).
+
+:::
+
+#### Records definitively deleted
+
+This option lets you optimize the deletion of a selection of records made using the [`DELETE SELECTION`](../commands/delete-selection) command.
+
+When 4D deletes a selection, the record markers are also deleted. A record marker is a header attached to the record that contains information relating to this record. Deleting both markers and records is slower than deleting only records. In certain cases, it may be desirable to not automatically delete the record markers.
+
+To accelerate the deletion of a large selection made using the [`DELETE SELECTION`](../commands/delete-selection) command, deselect the **Records definitively deleted** option. Record markers will then not be deleted. This option cannot be set by programming.
+
+#### Enable replication
+
+:::info Obsoleto
+
+Replication and synchronize mechanisms using SQL are deprecated as of 4D 20 R3. They are still supported but it is now recommended to use the [ORDA-based Global Stamp feature](../ORDA/global-stamp.md), providing a flexible and robust solution to implement replication and synchronization in 4D.
+
+:::
+
+#### Include in Log File
+
+By default, this option is checked for all new tables created and for all tables in converted databases. Check this option in order for operations performed on the table’s data to be included in the [database log file](../Backup/log.md) (when it is generated).
+
+This option must generally be checked for most tables. However, for optimization purposes, you can uncheck it, for example for temporary tables or tables used for importing data.
+
+It is important to note that this option only indicates that the table’s data must be journaled if the database uses a log file; it does not enable the journaling procedure itself at the database level.
+
+:::note Notas
+
+- This option is grayed out when the table does not have a primary key.
+- 4D displays a warning icon to the right of the **Include in Log File** option when the required conditions are not met. As long as this icon is shown, journaling is not yet enabled.
+
+:::
+
+#### Encryptable
+
+This option controls whether the data stored in the table must be encrypted on disk when [data file encryption is enabled](../MSC/encrypt.md).
+
+Since encrypting/decrypting can be time consuming, selecting the tables to encrypt allows you to optimize the performance of encrypted databases. For example, you could set only the tables that contain personal data as **Encryptable**.
+
+Note that this option flags table(s); it does not perform any encryption or decryption operation. To actually encrypt or decrypt selected table(s) in the data file, you must use the [MSC](../MSC/encrypt.md) or call the [`Encrypt data file`](../commands/encrypt-data-file) command.
+
+:::warning
+
+- When you modify the value of this option for a table in an already encrypted database, you must also use the [MSC](../MSC/encrypt.md) or call the [`Encrypt data file`](../commands/encrypt-data-file) command to preserve data consistency. Otherwise, you will not be allowed to save data in the modified table (errors will be returned by 4D when trying to save records).
+- Encryption of data stored outside of the data file is not managed by this option.
+
+:::
+
+### Comentarios
+
+The **Comments** area of the **Inspector palette** lets you store additional information about the table. These comments are available for all the developers. Note that each field and each relation has its own comments area.
+
+### SQL
+
+- The "Schemas" menu lists all the SQL schemas specified in the database. You can use this menu to set the schema to which the table will belong (it is also possible to modify this property via SQL commands). Every database has at least one schema, named **DEFAULT_SCHEMA**. By default, all the tables belong to this schema. For more information about SQL schemas, refer to the [**Schemas** section](https://doc.4d.com/4Dv21/4D/21/4D-SQL-engine-implementation.300-7649386.en.html#148386) in the *4D SQL Reference guide*.
+- The information area indicates whether the name of the table respects the rules regarding SQL nomenclature (for example, unlike 4D, SQL does not allow a field name to contain spaces).
+
+### Primary keys
+
+A primary key designates the field(s) used for uniquely identifying the records in a table. Setting a primary key is necessary for the [journaling features](../Backup/log.md).
+
+You create, edit and/or remove primary keys directly using the context menu of the Structure editor or the [Primary key manager](#primary-key-manager).
+
+> **Note:** Primary keys can also be set using the SQL language by means of the **PRIMARY KEY** clause followed by the list of columns.
+
+#### Rules for using primary key fields
+
+Primary key fields should be handled with care to ensure data integrity at all times. In particular, a primary key field must respect the following rules:
+
+- it must not be empty,
+- debe ser único,
+- once created, it should (in principle) never be modified, especially if:
+ - [Global stamp features](../ORDA/global-stamp.md) are enabled,
+ - [REST (or similar) feature](../REST/gettingStarted.md) is enabled,
+ - the database is periodically synchronized (backup or logical mirror using the [log file](../Backup/log.md)).
+
+Modifying primary key field value is highly discouraged, even if 4D allows it for specific use cases.
+If you absolutely need to modify a primary key value (e.g. you used a social security number field as primary key and incorrect values have been entered), it is preferable to disable (remove) the current primary key and to add a new field used as primary key with automatic assignment.
+
+Primary key fields can be long integer type or UUID format (alpha type). In most cases, we recommend the UUID format with the Auto UUID option enabled. Even though the long integer type takes up less disk space, UUIDs have many advantages, for example, facilitating the merge of independent databases, data import/export, implementation of elaborate mirror/replication strategies or synchronization with external systems.
+
+#### Setting primary keys
+
+To create a primary key from the Structure editor:
+
+1. Select the field(s) that make up the table’s primary key.
+2. Right-click and choose **Create primary key** in the context menu (this command is only displayed for fields whose type is eligible for primary keys).
+
+You cannot have more than one primary key for each table. If a primary key is already specified, a warning dialog box appears indicating that the existing primary key will first be disabled.
+
+The primary key is created immediately. Fields included in the primary key are *underlined* in the editor and their SQL description displays the **PRIMARY KEY** keyword.
+
+When you create a primary key in a table that already contains records (using an existing field or adding a new one), 4D checks the conformity of all the values present or automatically performs updating operations:
+
+- The field(s) belonging to the primary key cannot contain any duplicated values. If any duplicated values for the key exist in the table records, a warning dialog box appears to indicate that it is not possible to create the key because of this.
+- If the duplicated values are blank or null values (case of an added key field), you can check the corresponding automatic generation option (for Alpha fields in or for Longint fields).
+ In this case, 4D examines all the records of the table and automatically assigns a calculated value to each primary key. Note that this process is sequential and may require a significant amount of time if there are a sizable number of records.
+
+> **Note:** The column(s) belonging to the primary key do not accept NULL values.
+
+#### Removing primary keys
+
+To remove a primary key from a table:
+
+1. Right-click on the table containing the primary key and choose **Remove primary key** in the context menu:
+
+[imagen aquí]
+
+A confirmation dialog box appears. Click **OK** to remove the primary key.
+
+#### Default primary key field
+
+Every new table created in the database contains a primary key by default. This field, named **"ID"** by default, is of the Longint type, and has, in particular, the following attributes:
+
+- Unique,
+- Reject NULL value input,
+- Autoincrement,
+- Automatic index.
+
+You can use this field as is, or change its name and/or its properties if you want (for example, you may want to use an UUID field). You can also delete it if you want to use another field (or fields) as primary key(s). However, it is strongly recommended to keep at least one primary key in each 4D table.
+
+:::note
+
+In the [Structure page of the Preferences](../Preferences/structure.md), you can modify the name and type of the primary keys that are created by default.
+
+:::
+
+:::info
+
+Default primary keys are not added to tables that are created using the SQL **CREATE TABLE** command, or tables that are imported into the database.
+
+:::
+
+## Primary key manager
+
+The **Primary key manager** is an assistant intended to facilitate the resolution of errors related to the presence of tables without primary keys, particularly in the context of a journaled database:
+
+
+
+You can use this assistant to:
+
+- diagnose the compatibility of each database table with the 4D journaling mechanism,
+- propose a correction for each table found that is not compatible, more particularly by creating a primary key.
+
+### Accessing assistant
+
+There are two ways to display the **Primary key manager** window:
+
+- From the **Primary key error window**: click on the **Run assistant** button to display the assistant window.
+
+**Note:** The Primary key manager is displayed in Design mode. If the database starts in Application mode, the assistant does not appear right away and you will need to switch to Design mode.
+
+- From the **Structure editor**: click on the button in the [toolbar](./structure-editor.md#toolbar) of this window to display the assistant.
+
+### Using the assistant
+
+The **Primary key manager** window displays a line for every table in the database:
+
+
+
+The assistant does not take tables placed in the Trash into account.
+
+The icon at the head of each line indicates whether the table requires the attention of the user:
+
+| Icono | Estado | Descripción |
+| -------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|  | OK | A valid primary key is set for the table. |
+|  | No primary key, eligible field(s) | The table does not have a primary key but contains at least one field that could become the primary key. |
+|  | No primary key, no eligible fields | The table does not have a primary key and does not have any fields that could become one (you will have to create a primary key field). |
+|  | Atención | The table does not have a primary key but it is not journaled ("Include in Log File" option disabled for the table). It is possible to hide tables that have this status by unchecking the option to display warnings. |
+
+For each journaled table that does not have a primary key, the assistant displays a menu to set the action to be performed. You can choose from the following options:
+
+- **Ignore:** does not modify the table. The errors are not corrected and the status of the table is not changed. Use this option if you wish to intervene later, or if you want to create the primary key outside of the assistant. This option is necessary in particular when you want to create a primary key based on several fields in the table.
+
+- **Use existing field** (only shown for tables with at least one field eligible to be a primary key): designates one of the table fields as the primary key. When you choose this option, the assistant suggests the most appropriate field by default. If you want to use another field or if the assistant fails to identify a particularly suitable field (the assistant displays *Select a field*), click on the second menu in the row to display the list of eligible fields.
+
+- **Create a new field:** creates a new primary key field in the table. This field will have the same characteristics as the one [added by default when a new table is created](#default-primary-key-field). By default, the assistant proposes to create a field of the Longint type, named “ID”. You can modify the name and type of default primary key fields in the [Preferences](../Preferences/structure.md#primary-key). You can also change the name and/or type of the field directly in the Primary key manager window.
+
+- **Do not log this table:** unchecks the [**Include in Log File**](#include-in-log-file) option for the table. You can choose this option in the case of temporary tables. After you validate this dialog box, a “Warning” status is assigned to the table.
+
+Once you have made your settings, click on **Apply...** to apply the changes to the database or **Close** to close the dialog box without modifying the database. When you click on **Apply...**, a confirmation dialog box appears listing the operations to be performed; you can either confirm or cancel the operation.
+
+If you have designated existing fields as primary keys, 4D checks each table to make sure that its existing data respects the rules concerning uniqueness and null values for this type of field. If, for example, a field contains duplicate values or null values, an error is generated. You will need to find and remove these anomalies before you can enable journaling for the data.
+
+:::note
+
+In order to facilitate the correction of errors related to primary keys, the primary key values are displayed in the [**Activity analysis** page of the Maintenance and Security Center](../MSC/analysis.md).
+
+:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md b/i18n/es/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md
index 9d86720ac84610..15f09e846b708e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md
@@ -65,8 +65,8 @@ En función del valor de la propiedad `action`, el [objeto evento](overview.md#e
| Propiedad | Tipo | Descripción |
| ------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| fillRange | object | Gama utilizada para el relleno |
-| autoFillType | entero largo | Valor utilizado para el llenado.- 0: las celdas se llenan con todos los datos (valores, formato y fórmulas)
- 1: las celdas se llenan con datos secuenciales automáticamente
- 2: las celdas se llenan solo con formato
- 3: las celdas se llenan con valores pero no con formato
- 4: los valores se eliminan de las celdas
- 5: las celdas se llenan automáticamente
|
-| fillDirection | entero largo | Dirección del llenado.- 0: se llenan las celdas a la izquierda
- 1: se llenan las celdas a la derecha
- 2: se llenan las celdas de arriba
- 3: se llenan las celdas de abajo
|
+| autoFillType | entero largo | Valor utilizado para el relleno.- 0: las celdas se llenan con todos los datos (valores, formato y fórmulas)
- 1: las celdas se llenan con datos secuenciales automáticamente
- 2: las celdas se llenan solo con formato
- 3: las celdas se llenan con valores pero no con formato
- 4: los valores se eliminan de las celdas
- 5: las celdas se llenan automáticamente
|
+| fillDirection | entero largo | Dirección del relleno.- 0: Las celdas a la izquierda se llenan
- 1: las celdas a la derecha se llenan
- 2: las celdas de arriba se llenan
- 3: las celdas de abajo se llenan
|
#### action = formulaChanged
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/develop-components.md b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
index 82e8ae856f776c..4d9a4d087013cb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
@@ -33,7 +33,7 @@ La creación e instalación de los componentes 4D se realiza directamente desde
:::note
-Interpreted component code can be [edited](#editing-components) and [compiled](../Project/compiler.md#compile-components) directly from the host project if the context is supported.
+El código de los componentes interpretados se puede [editar](#editing-components) y [compilar](../Project/compiler.md#compile-components) directamente desde el proyecto anfitrión, siempre que el contexto lo permita.
:::
@@ -200,7 +200,7 @@ Por defecto, las clases de los componentes no pueden ser llamadas desde el edito
### Declaración del namespace
-Para permitir que las clases de su componente se expongan en los proyectos locales y sus componentes cargados, introduzca un valor en la opción [**namespace del componente en la class store** en la página General](../settings/general.md#component-namespace-in-the-class-store) de las Propiedades del proyecto matriz. By default, the area is empty (except when the component is [created from the host](#default-namespace)): component classes are not available outside of the component context.
+Para permitir que las clases de su componente se expongan en los proyectos locales y sus componentes cargados, introduzca un valor en la opción [**namespace del componente en la class store** en la página General](../settings/general.md#component-namespace-in-the-class-store) de las Propiedades del proyecto matriz. De forma predeterminada, el espacio de nombres está vacío (excepto cuando el componente se [crea desde el anfitrión](#default-namespace): las clases del componente no están disponibles fuera del contexto del componente.

@@ -210,7 +210,7 @@ Un *namespace* garantiza que no surja ningún conflicto cuando un proyecto local
:::
-Al introducir un valor, se declara que las clases de los componentes estarán disponibles en el [almacén de clases de usuario (**cs**)](../Concepts/classes.md#cs) del proyecto principal, así como sus componentes cargados, a través del espacio de nombres `cs.`. Por ejemplo, si introduce "eGeometry" como namespace del componente, asumiendo que ha creado una clase `Rectangle` que contiene una función `getArea()`, una vez que su proyecto se instala como componente, el desarrollador del proyecto local puede escribir:
+Al introducir un valor, se declara que las clases de los componentes estarán disponibles en el [almacén de clases de usuario (**cs**)](../Concepts/classes.md#cs) del proyecto principal, así como sus componentes cargados, a través del `cs.`. Por ejemplo, si introduce "eGeometry" como namespace del componente, asumiendo que ha creado una clase `Rectangle` que contiene una función `getArea()`, una vez que su proyecto se instala como componente, el desarrollador del proyecto local puede escribir:
```4d
//en el proyecto principal o en uno de sus componentes
@@ -235,7 +235,7 @@ Las clases ORDA de un componente no están disponibles en el proyecto local. Por
Cuando se [crea un nuevo componente desde el host](#creating-components), se le asigna automáticamente un espacio de nombres por defecto.
-The default namespace is the component's name, without characters that do not comply with [property naming rules](../Concepts/identifiers.md#object-properties), if any. Por ejemplo, para un componente llamado "My Component-2", el espacio de nombres por defecto será "MyComponent2".
+El espacio de nombres predeterminado es el nombre del componente, sin caracteres que no cumplan con las [reglas de nomenclatura de propiedades](../Concepts/identifiers.md#object-properties), si los hay. Por ejemplo, para un componente llamado "My Component-2", el espacio de nombres por defecto será "MyComponent2".
### Clases ocultas
@@ -497,7 +497,7 @@ Las llaves soportadas en los archivos `Info.plist` de los componentes son en su
Se pueden definir las siguientes teclas:
-| tecla | descripción |
+| key | description |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| CFBundleName | Nombre del componente (interno) |
| CFBundleDisplayName | Nombre del componente a mostrar |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
index 3e0ad463f6f073..992daf3bf22c44 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
@@ -16,7 +16,7 @@ La [arquitectura del proyecto] 4D (../Project/architecture.md) es abierta y pued
## Componentes desarrollados por 4D
-4D propone diferentes componentes a la comunidad 4D, cubriendo muchas necesidades de desarrollo. Todos los componentes de 4D se pueden encontrar en la [**plataforma 4D Corner**](https://corner.4d.com/).
+4D propone varios componentes a la comunidad 4D, cubriendo muchas necesidades de desarrollo. Todos los componentes de 4D se pueden encontrar en la [**plataforma 4D Corner**](https://corner.4d.com/).
Un subconjunto de estos componentes se muestra por defecto en el panel de Github del [Administrador de dependencias](../Project/components.md#adding-a-github-or-gitlab-dependency), incluyendo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/createStylesheet.md b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/createStylesheet.md
index fdb7216520893a..6dca598f10285b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/createStylesheet.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/createStylesheet.md
@@ -306,6 +306,7 @@ Los atributos listados a continuación pueden aceptar el nombre 4D o el nombre C
| 4D | CSS |
| ---------------- | ------------------ |
| `borderStyle` | `border-style` |
+| `borderColor` | `border-color` |
| `fill` | `background-color` |
| `fontFamily` | `font-family` |
| `fontSize` | `font-size` |
@@ -377,27 +378,27 @@ Durante la ejecución, 4D prioriza automáticamente las hojas de estilo en el si
- un archivo para ambas plataformas:
-```json
-"css": ""
-```
+ ```json
+ "css": ""
+ ```
- o una lista de archivos para ambas plataformas:
-```json
-"css": [
- "",
- ""
- ],
-```
+ ```json
+ "css": [
+ "",
+ ""
+ ],
+ ```
- o una lista de archivos por plataforma:
-```json
- "css": [
- {"path": "", "media": "mac"},
- {"path": "", "media": "windows"},
- ],
-```
+ ```json
+ "css": [
+ {"path": "", "media": "mac"},
+ {"path": "", "media": "windows"},
+ ],
+ ```
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md
index 5cc65b12778099..6419ab1e9dc934 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md
@@ -56,12 +56,12 @@ La barra de herramientas contiene los siguientes elementos:
| Icono | Nombre | Descripción |
| ------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|  | Ejecutar el formulario | Se utiliza para probar la ejecución del formulario. Al presionar este botón, 4D abre una nueva ventana y muestra el formulario en su contexto (lista de registros para un formulario lista y página de registro actual para un formulario detallado). El formulario se ejecuta en el proceso principal. |
-|  | [Herramienta de selección](#selecting-objects) | Permite seleccionar, desplazar y cambiar el tamaño de los objetos del formulario
.**Nota**: cuando se selecciona un objeto de tipo Texto o Cuadro de Grupo, presionando la tecla **Enter** se pasa al modo edición. |
+|  | [Herramienta de selección](#selecting-objects) | Permite seleccionar, mover y redimensionar los objetos del formulario.
**Nota**: cuando se selecciona un objeto de tipo Texto o Área de Grupo, al presionar la tecla **Intro** se pasa al modo de edición. |
|  | [Orden de entrada](#data-entry-order) | Pasa al modo "Orden de entrada", donde es posible ver y cambiar el orden de entrada actual del formulario. Tenga en cuenta que las marcas permiten ver el orden de entrada actual, sin dejar de trabajar en el formulario. |
|  | [Mover](#mover-objetos) | Pasa al modo " Desplazamiento ", en el que es posible llegar rápidamente a cualquier parte del formulario utilizando la función de arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de navegación es especialmente útil cuando se hace zoom en el formulario. |
|  | [Zoom](#zoom) | Permite modificar la escala de visualización del formulario (100% por defecto). Puede pasar al modo "Zoom" haciendo clic en la lupa o pulsando directamente en la barra correspondiente a la escala deseada. Esta función se detalla en la sección anterior. |
-|  | [Alineación](#alineación-objetos) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. Está activado (o no) dependiendo de los objetos seleccionados.
Desactivado si la posición de un objeto seleccionado está bloqueada por una propiedad CSS |
-|  | [Distribución](#distribución-objetos) | Este botón está asociado a un menú que permite repartir los objetos en el formulario. Está activado (o no) dependiendo de los objetos seleccionados.
Desactivado si la posición de un objeto seleccionado está bloqueada por una propiedad CSS |
+|  | [Alineación](#alineación-objetos) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. Se activa (o no) en función de los objetos seleccionados.
Desactivado si la posición del objeto seleccionado está bloqueada por una propiedad CSS |
+|  | [Distribución](#distribución-objetos) | Este botón está asociado a un menú que permite repartir los objetos en el formulario. Se activa (o no) en función de los objetos seleccionados.
Desactivado si la posición del objeto seleccionado está bloqueada por una propiedad CSS |
|  | [Nivel](#layering-objects) | Este botón está asociado a un menú que permite cambiar el nivel de los objetos en el formulario. Se activa (o no) en función de los objetos seleccionados. |
|  | [Agrupar/Desagrupar](#grouping-objects) | Este botón está asociado a un menú que permite agrupar y desagrupar la selección de objetos del formulario. Se activa (o no) en función de los objetos seleccionados. |
|  | [Visualización y gestión de páginas](forms.html#form-pages) | Esta área permite pasar de una página de formulario a otra y añadir páginas. Para navegar entre las páginas del formulario, haga clic en los botones de flecha o en el área central y elija la página que desea visualizar en el menú que aparece. Si pulsa el botón flecha derecha mientras se muestra la última página del formulario, 4D le permite añadir una página. |
@@ -146,11 +146,11 @@ Antes de poder realizar cualquier operación en un objeto (como cambiar el ancho
Para seleccionar un objeto utilizando la barra de herramientas:
-1. Haz clic en la herramienta Flecha en la barra de herramientas.

+1. Haga clic en la herramienta Flecha de la barra de herramientas.

Cuando mueve el puntero en el área del formulario, se convierte en un puntero estándar con forma de flecha.
-2. Haga clic en el objeto que desea seleccionar. Las asas de redimensionamiento identifican el objeto seleccionado.

+2. Haga clic en el objeto que desea seleccionar. Las manillas de redimensionamiento identifican el objeto seleccionado.

Para seleccionar un objeto utilizando la Lista de propiedades:
@@ -247,7 +247,7 @@ Para agrupar los objetos:
Para desagrupar un grupo de objetos:
1. Seleccione el grupo de objetos que desea desagrupar.
-2. Seleccione **Desagrupar** en el menú **Objeto**.
O
Haga clic en el botón **Desagrupar** (variante del botón **Agrupar**) en la barra de herramientas del editor de formularios.
Si la opción **Desagrupar** aparece atenuada, significa que el objeto seleccionado ya está separado en su forma más simple. 4D marca los bordes de los objetos individuales con marcas.
+2. Seleccione **Ungroup** en el menú **Object**.
OR
Haga clic en el botón **Ungroup** (variante del botón **Group**) en la barra de herramientas del editor de formularios.
Si **Desagrupar** está atenuado, significa que el objeto seleccionado ya está separado en su forma más simple. 4D marca los bordes de los objetos individuales con marcas.
### Alinear objetos
@@ -275,7 +275,7 @@ El Asistente de Alineación permite realizar cualquier tipo de alineación y/o d
Para mostrar esta caja de diálogo, seleccione los objetos que desee alinear y, a continuación, elija el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor.
-- En las áreas "Alineación izquierda/derecha" y/o "Alineación superior/inferior", haga clic en el icono que corresponda a la alineación que desee realizar.
El área de ejemplo muestra los resultados de su selección.
+- En las áreas "Alineación izquierda/derecha" y/o "Alineación superior/inferior", haga clic en el icono que corresponde a la alineación que desea efectuar.
El área de ejemplo muestra los resultados de su selección.
- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla.
@@ -314,7 +314,7 @@ Para repartir los objetos con igual espacio:
1. Seleccione tres o más objetos y haga clic en la herramienta Distribuir correspondiente.
-2. En la barra de herramientas, haga clic en la herramienta de distribución que corresponda a la distribución que desea aplicar.

O
Seleccione un comando de distribución del submenú **Alinear** del menú **Objeto** o del menú contextual del editor.
+2. En la barra de herramientas, haga clic en la herramienta de distribución que corresponde a la distribución que desea aplicar.

O
Seleccione un comando del menú de distribución en el submenú **Alinear** del menú **Objeto** o en el menú contextual del editor.
4D distribuye los objetos consecuentemente. Los objetos se distribuyen utilizando la distancia a sus centros y se utiliza como referencia la mayor distancia entre dos objetos consecutivos.
Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir:
@@ -325,7 +325,7 @@ Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir:
3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: 
(Icono de distribución horizontal estándar)
El área de ejemplo muestra los resultados de su selección.
-4. Para realizar una distribución que utiliza el esquema estándar, haga clic en **Vista previa** o *Aplicar*.
En este caso, 4D realizará una distribución estándar para que los objetos estén espaciados de manera equitativa entre ellos.
O bien:
para ejecutar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente:
+4. Para efectuar una repartición estándar que utilice el esquema estándar, haga clic en **Previsualización** o *Aplicar*.
En este caso, 4D realizará una distribución estándar, de modo que los objetos se dispongan con la misma cantidad de espacio entre ellos.
O:
Para efectuar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente:
- Horizontalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los lados izquierdos, centros (hor.) y los lados derechos de los objetos seleccionados.
- Verticalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los bordes superiores, centros (vert.) y los bordes inferiores de los objetos seleccionados.
@@ -390,7 +390,7 @@ Para ver o cambiar el orden de entrada:
El puntero se convierte en un puntero de orden de entrada y 4D dibuja una línea en el formulario mostrando el orden en que selecciona los objetos durante la entrada de datos. Ver y cambiar el orden de entrada de datos son las únicas acciones que puede realizar hasta que haga clic en cualquier herramienta de la paleta Herramientas.
-2. Para cambiar el orden de entrada de datos, ubique el puntero sobre un objeto del formulario y mientras mantiene presionado el botón del ratón, arrastre el puntero hasta el objeto que desee a continuación en el orden de entrada de datos..

4D ajustará el orden de entrada en consecuencia.
+2. Para cambiar el orden de entrada de datos, sitúe el puntero sobre un objeto del formulario y, mientras mantiene presionado el botón del ratón, arrastre el puntero hasta el objeto que desee que siga en el orden de entrada de datos.

4D ajustará el orden de entrada en consecuencia.
3. Repita el paso 2 tantas veces como sea necesario para establecer el orden de entrada de datos que desee.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/pictures.md b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/pictures.md
index dc7b3a582a1b9b..fabf129a13e17d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/pictures.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/pictures.md
@@ -57,10 +57,10 @@ Las imágenes de alta resolución con la convención @nx pueden utilizarse en lo
Aunque 4D prioriza automáticamente la resolución más alta, existen, sin embargo, algunas diferencias de comportamiento en función de los ppp de la pantalla y de la imagen\*(\*)\*, y del formato de la imagen:
-| Operación | Comportamiento |
-| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Soltar o pegar | Si la imagen tiene:- **72dpi o 96dpi** - La imagen es "[Center](FormObjects/properties_Picture.md#center--truncated-non-centered)" formateado y el objeto que contiene la imagen tiene el mismo número de píxeles.
- **Otro dpi** - La imagen es "[Escalada para encajar](FormObjects/properties_Picture.md#scaled-to-fit)" formateado y el objeto que contiene la imagen es igual a (número de píxeles \* screen dpi) / (imagen dpi)
- **Sin dpi** - La imagen es "[Escalada para ajustar](FormObjects/properties_Picture.md#scaled-to-fit)" formateado.
|
-| [Tamaño automático](https://doc.4d.com/4Dv20/4D/20.2/Setting-object-display-properties.300-6750143.en.html#148057) (menú contextual del editor de formularios) | Si el formato de visualización de la imagen es:- **[Escalado](FormObjects/properties_Picture.md#scaled-to-fit)** - El objeto que contiene la imagen se redimensiona según (número de píxeles de la imagen \* dpi de la pantalla) / (dpi de la imagen)
- **No escalado** - El objeto que contiene la imagen tiene la misma cantidad de píxeles que la imagen.
|
+| Operación | Comportamiento |
+| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Soltar o pegar | Si la imagen tiene:- **72dpi o 96dpi** - La imagen tiene formato "[Centro](FormObjects/properties_Picture.md#center--truncated-non-centered)" y el objeto que contiene la imagen tiene el mismo número de píxeles.
- **Otros dpi** - La imagen tiene el formato "[Escalado para encajar](FormObjects/properties_Picture.md#scaled-to-fit)" y el objeto que contiene la imagen es igual a (número de píxeles \* pantalla dpi) / (dpi)
- **Sin dpi** - La imagen tiene el formato "[Escalado para encajar](FormObjects/properties_Picture.md#scaled-to-fit)".
|
+| [Tamaño automático](https://doc.4d.com/4Dv20/4D/20.2/Setting-object-display-properties.300-6750143.en.html#148057) (menú contextual del editor de formularios) | Si el formato de visualización de la imagen es:- **[Escalado](FormObjects/properties_Picture.md#scaled-to-fit)** - El objeto que contiene la imagen se redimensiona según (número de píxeles de la imagen \* dpi de la pantalla) / (dpi de la imagen)
- **No escalado** - El objeto que contiene la imagen tiene la misma cantidad de píxeles que la imagen.
|
*(\*) Generalmente, macOS = 72 dpi, Windows = 96 dpi*
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/properties_FormProperties.md b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/properties_FormProperties.md
index a066945d826ba3..da128e6c8bdc7c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/properties_FormProperties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/properties_FormProperties.md
@@ -34,9 +34,9 @@ Un archivo CSS definido a nivel de formulario anulará la(s) hoja(s) de estilo p
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| css | cadena o colección | Ruta(s) del archivo CSS proporcionada(s) como:- una cadena (un archivo para ambas plataformas)
- una colección de cadenas (una lista de archivos para ambas plataformas)
- una colección de objetos {"path":string; media":"mac" | "win"}
|
+| Nombre | Tipos de datos | Valores posibles |
+| ------ | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| css | cadena o colección | CSS file path(s) provided as:- a string (a file for both platforms)
- a collection of strings (a list of files for both platform)
- a collection of {"path":string;"media":"mac" | "windows"} objects
|
---
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/properties_Markers.md b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/properties_Markers.md
index 652323e6a8d6e2..e75188f8ffa790 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/properties_Markers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/properties_Markers.md
@@ -79,9 +79,9 @@ El formulario puede contener [áreas de encabezado adicionales](#additional-area
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ------------ | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| markerHeader | integer | integer collection | Posición del marcador de encabezado o colección de posiciones del marcador de encabezado en píxeles.
Valor mínimo: 0 |
+| Nombre | Tipos de datos | Valores posibles |
+| ------------ | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| markerHeader | integer | integer collection | Posición del marcador del encabezado o colección de posiciones del marcador de encabezado en píxeles.
Valor mínimo: 0 |
## Áreas adicionales
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/buttonGrid_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/buttonGrid_overview.md
index 9dc6b75e2543fc..3d289581a8853f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/buttonGrid_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/buttonGrid_overview.md
@@ -28,7 +28,7 @@ Puede asignar la [acción estándar](/Desktop/standard-actions) `gotoPage` a una
## Propiedades soportadas
-[Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Fondo](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Columnas](properties_Crop.md#columns) - [Altura](properties_CoordinatesAndSizing.md#height) - [Mensaje de ayuda](properties_Help.md#help-tip) - [Dimensionamiento horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Nombre del objeto](properties_Object.md#object-name) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Filas](properties_Crop.md#rows) - [Acción estándar](properties_Action.md#standard-action) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Ancho](properties_CoordinatesAndSizing.md#width) - [Visibilidad](properties_Display.md#visibilidad)
+[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Standard action](properties_Action.md#standard-action) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Width](properties_CoordinatesAndSizing.md#width) - [Visibility](properties_Display.md#visibility)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md
index a78b3b6b1c465a..6b16c7e06d3d0b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md
@@ -304,10 +304,10 @@ En el tema Windows Classic UI, este estilo no es compatible.
The Custom button style accepts a personalized background picture and allows managing [additional properties](#additional-properties-for-custom-buttons) such as [icon offset](properties_TextAndPicture.md#icon-offset) and [margins](properties_TextAndPicture.md#horizontal-margin).
-
-
#### Ejemplo JSON:
+
+
```code
"myButton": {
"type": "button",
@@ -339,7 +339,7 @@ Todos los botones comparten el mismo conjunto de propiedades básicas:
[Negrita](properties_Text.md#bold) - [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Fondo](properties_CoordinatesAndSizing.md#bottom) - [Estilo de botón](properties_TextAndPicture.md#button-style) - [Clase](properties_Object.md#css-class) - [Soltable](properties_Action.md#droppable) - [Enfocable](properties_Entry.md#focusable) - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Tamaño de fuente](properties_Text.md#font-size) - [Altura](properties_CoordinatesAndSizing.md#height) - [Consejo de ayuda](properties_Help.md#help-tip) - [Alineación horizontal](properties_Text.md#horizontal-alignment) - [Tamaño horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Cursiva](properties_Text.md#italic) - [Título de abrazos de imagen](properties_TextAndPicture.md#image-hugs-title)(1) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [No renderizado](properties_Display.md#not-rendered) - [Número de estados](properties_TextAndPicture.md#number-of-states)(1) - [Nombre del objeto](properties_Object.md#object-name) - [Nombre de la ruta de la imagen](properties_TextAndPicture.md#picture-pathname)(1) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Acceso directo](properties_Entry.md#shortcut) - [Acción estándar](properties_Action.md#standard-action) - [Título](properties_Object.md#title) - [Posición del título/imagen](properties_TextAndPicture.md#titlepicture-position)(1) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#tipo) - [Subrayado](properties_Text.md#underline) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width) - [Con menú emergente](properties_TextAndPicture.md#with-pop-up-menu)(2)
-> (1) No soportado por el estilo [Help](#help).
+> (1) No soportado por el estilo [Ayuda](#help).
> (2) No soportado por los estilos [Help](#help), [Flat](#flat) y [Regular](#regular).
### Propiedades adicionales para botones personalizados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/checkbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/checkbox_overview.md
index 56de5fc2a40103..d462d4ced17a99 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/checkbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/checkbox_overview.md
@@ -126,7 +126,7 @@ El estilo plano del botón casilla de selección tiene una apariencia minimalist
}
```
-The Flat style offers an [additional property](#additional-properties-for-flat-and-regular-check-boxes): the [Three-States](properties_Display.md#three-states) property.
+El estilo Plano ofrece una [propiedad adicional](#additional-properties-for-flat-and-regular-check-boxes): la propiedad [Tres estados](properties_Display.md#three-states).
### Botón barra de herramientas
@@ -389,8 +389,8 @@ Todas las casillas de selección comparten un mismo conjunto de propiedades bás
[Negrita](properties_Text.md#bold) - [Abajo](properties_CoordinatesAndSizing.md#bottom) - [Estilo de botón](properties_TextAndPicture.md#button-style) - [Clase](properties_Object.md#css-class) - [Editable](properties_Entry.md#enterable) - [Tipo de expresión](properties_Object.md#expression-type) - [Enfocable](properties_Entry.md#focusable) - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Tamaño de fuente](properties_Text.md#font-size) - [Alto](properties_CoordinatesAndSizing.md#height) - [Mensaje de ayuda](properties_Help.md#help-tip) - [Alineación horizontal](properties_Text.md#horizontal-alignment)(1) - [Tamaño horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Título de la imagen](properties_TextAndPicture.md#image-hugs-title)(2) - [Itálica](properties_Text.md#italic) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Número de estados](properties_TextAndPicture.md#number-of-states)(2) - [Nombre del objeto](properties_Object.md#nombre_objeto) - [Ruta de la imagen](properties_TextAndPicture.md#nombre_de_imagen)(2) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Guardar valor](properties_Object.md#save-value) - [Acceso directo](properties_Entry.md#shortcut) - [Acción estándar](properties_Action.md#standard-action) - [Título](properties_Object.md#title) - [Posición del título/imagen](properties_TextAndPicture.md#titlepicture-position)(2) - [Arriba](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Subrayado](properties_Text.md#underline) - [Variable o expresión](properties_Object.md#variable-o-expresión) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibilidad) - [Ancho](properties_CoordinatesAndSizing.md#ancho)
-> (1) No soportado por los estilos [Regular](#regular) y [Flat](#flat).
-> (2) No soportado por los estilos [Regular](#regular), [Flat](#flat), [Disclosure](#disclosure) y [Collapse/Expand](#collapseexpanded).
+> (1) No compatible con los estilos [Regular](#regular) y [Plano](#flat).
+> (2) No soportado por los estilos [Regular](#regular), [Flat](#flat), [Disclosure](#disclosure) y [Collapse/Expand](#collapseexpand).
### Propiedades adicionales para las casillas de selección personalizadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/dropdownList_Overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/dropdownList_Overview.md
index adefc36b975593..4fdbc1dd3d2b46 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/dropdownList_Overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/dropdownList_Overview.md
@@ -166,7 +166,7 @@ Puede crear automáticamente una lista desplegable utilizando una acción están
## Propiedades soportadas
-[Formato Alfa](properties_Display.md#alpha-format) - [Negrita](properties_Text.md#bold) - [Abajo](properties_CoordinatesAndSizing.md#bottom) - [Estilo de botón](properties_TextAndPicture.md#button-style) - [Lista de selección](properties_DataSource.md#choice-list) - [Clase](properties_Object.md#css-class) - [Tipos de datos (tipo expresión)](properties_DataSource.md#data-type-expression-type) - [Tipos de datos (lista)](properties_DataSource.md#data-type-list) - [Formato Fecha](properties_Display.md#date-format) - [Tiipo expresión](properties_Object.md#expression-type) - [Enfocable](properties_Entry.md#focusable) - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Tamaño de fuente](properties_Text.md#font-size) - [Altura](properties_CoordinatesAndSizing.md#height) - [Mensaje de ayuda](properties_Help.md#help-tip) - [Alineación horizontal](properties_Text.md#horizontal-alignment) - [Dimensionamiento Horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Itálica](properties_Text.md#italic) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [No renderizado](properties_Display.md#not-rendered) - [Nombre de objeto](properties_Object.md#object-name) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Acción estándar](properties_Action.md#standard-action) - [Guardar valor](properties_Object.md#save-value) - [Formato Hora](properties_Display.md#time-format) - [Arriba](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable o Expresión](properties_Object.md#variable-or-expression) - [Dimensionamiento Vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Alpha Format](properties_Display.md#alpha-format) - [Bold](properties_Text.md#bold) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#css-class) - [Data Type (expression type)](properties_DataSource.md#data-type-expression-type) - [Data Type (list)](properties_DataSource.md#data-type-list) - [Date Format](properties_Display.md#date-format) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Not rendered](properties_Display.md#not-rendered) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Standard action](properties_Action.md#standard-action) - [Save value](properties_Object.md#save-value) - [Time Format](properties_Display.md#time-format) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md
index ace2e2670fb002..7472a059598f85 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md
@@ -9,7 +9,7 @@ Usted crea y personaliza los formularios de su aplicación manipulando los objet
Los formularios 4D soportan una gran cantidad de objetos **activos** y **estáticos** integrados:
-- **Los objetos activos** realizan una tarea o una función de la interfaz. Los campos son objetos activos. Los otros objetos activos (objetos editables (variables), combo box, listas desplegables, botones imagen, etc.) almacenan los datos temporalmente en la memoria o realizan alguna acción, como abrir un cuadro de diálogo, imprimir un informe o iniciar un proceso en segundo plano.
+- **Los objetos activos** realizan una tarea o una función de la interfaz. Los campos son objetos activos. Los otros objetos activos -objetos editable (variables), combo box, listas desplegables, botones imagen, etc.- almacenan los datos temporalmente en la memoria o realizan alguna acción, como abrir una caja de diálogo, imprimir un informe o iniciar un proceso en segundo plano.
- **Los objetos estáticos** se utilizan generalmente para definir la apariencia del formulario y sus etiquetas, así como para la interfaz gráfica. Los objetos estáticos no tienen variables asociadas como los objetos activos. Sin embargo, se pueden insertar objetos dinámicos en objetos estáticos.
## Gestión de objetos de formulario
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md
index 3f8bea298a8f2e..4cbc50fad21420 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md
@@ -147,7 +147,7 @@ Puede controlar si los elementos de la lista jerárquica pueden ser modificados
## Propiedades soportadas
-[Negrita](properties_Text.md#bold) - [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Inferior](properties_CoordinatesAndSizing.md#bottom) - [Lista de opciones](properties_DataSource.md#choice-list) - [Clase](properties_Object.md#css-class) - [Arrastrable](properties_Action.md#draggable) - [Soltable](properties_Action.md#droppable) - [Editable](properties_Entry.md#enterable) - [Filtro de entrada](properties_Entry.md#entry-filter) - [Rellenar color](properties_BackgroundAndBorder.md#background-color--fill-color) - [Enfocable](properties_Entry.md#focusable) - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Tamaño de fuente](properties_Text.md#font-size) - [Alto](properties_CoordinatesAndSizing.md#height) - [Ayuda](properties_Help.md#help-tip) - [Ocultar rectángulo de foco](properties_Appearance.md#hide-focus-rectangle) - [Barra de desplazamiento horizontal](properties_Appearance.md#horizontal-scroll-bar) - [Tamaño horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Itálica](properties_Text.md#italic) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Multiselección](properties_Action.md#multi-selectable) - [Nombre de objeto](properties_Object.md#object-name) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Subrayado](properties_Text.md#underline) - [Barra de desplazamiento vertical](properties_Appearance.md#vertical-scroll-bar) - [Dimensionamiento vertical](properties_ResizingOptions.md#vertical-sizing) - [Variable o Expresión](properties_Object.md#variable-or-expression) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Bold](properties_Text.md#bold) - [Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#css-class) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Fill Color](properties_BackgroundAndBorder.md#background-color--fill-color) - [Focusable](properties_Entry.md#focusable) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Multi-selectable](properties_Action.md#multi-selectable) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox-object.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox-object.md
index bd51ae9bb368e7..2b6b23e4282fcd 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox-object.md
@@ -64,6 +64,7 @@ Las propiedades soportadas dependen del tipo de list box.
| [Color de fondo](properties_BackgroundAndBorder.md#background-color--fill-color) | X | X | X |
| [Negrita](properties_Text.md#bold) | X | X | X |
| [Expresión del color de fondo](properties_BackgroundAndBorder.md#background-color-expression) | | X | X |
+| [Border color](./properties_BackgroundAndBorder.md#border-color) | X | X | X |
| [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) | X | X | X |
| [Inferior](properties_CoordinatesAndSizing.md#bottom) | X | X | X |
| [Clase](properties_Object.md#css-class) | X | X | X |
@@ -156,16 +157,16 @@ Las propiedades soportadas dependen del tipo de list box.
| On Display Detail | - [isRowSelected](#additional-properties)
- [row](#additional-properties)
| |
| On Double Clicked | - [column](#additional-properties)
- [columnName](#additional-properties)
- [row](#additional-properties)
| |
| On Drag Over | - [area](#additional-properties)
- [areaName](#additional-properties)
- [columna](#additional-properties)
- [columnName](#additional-properties)
- [fila](#additional-properties)
| |
-| On Drop | - [columna](#additional-properties)
- [nombreColumna](#additional-properties)
- [línea](#additional-properties)
| |
-| On Expand | - [columna](#additional-properties)
- [nombreColumna](#additional-properties)
- [línea](#additional-properties)
| *List box jerárquicos únicamente* |
+| On Drop | - [column](#additional-properties)
- [columnName](#additional-properties)
- [row](#additional-properties)
| |
+| On Expand | - [column](#additional-properties)
- [columnName](#additional-properties)
- [row](#additional-properties)
| *List box jerárquicos únicamente* |
| On Footer Click | - [columna](#additional-properties)
- [nombreColumna](#additional-properties)
- [footerName](#additional-properties)
| *List box arrays, selección actual y selección temporal únicamente* |
-| On Getting Focus | - [columna](#additional-properties)
- [nombreColumna](#additional-properties)
- [línea](#additional-properties)
| *Propiedades adicionales devueltas sólo al editar una celda* |
+| On Getting Focus | - [column](#additional-properties)
- [columnName](#additional-properties)
- [row](#additional-properties)
| *Propiedades adicionales devueltas sólo al editar una celda* |
| On Header Click | - [columna](#additional-properties)
- [nombreColumna](#additional-properties)
- [headerName](#additional-properties)
| |
| On Load | | |
-| On Losing Focus | - [columna](#additional-properties)
- [nombreColumna](#additional-properties)
- [línea](#additional-properties)
| *Propiedades adicionales devueltas sólo cuando la modificación de una celda se completa* |
+| On Losing Focus | - [column](#additional-properties)
- [columnName](#additional-properties)
- [row](#additional-properties)
| *Propiedades adicionales devueltas sólo cuando la modificación de una celda se completa* |
| On Mouse Enter | - [area](#additional-properties)
- [areaName](#additional-properties)
- [columna](#additional-properties)
- [columnName](#additional-properties)
- [fila](#additional-properties)
| |
| On Mouse Leave | | |
-| On Mouse Move | - [area](#additional-properties)
- [areaName](#additional-properties)
- [column](#additional-properties)
- [columnName](#additional-properties)
- [row](#additional-properties)
| |
+| On Mouse Move | - [area](#additional-properties)
- [areaName](#additional-properties)
- [columna](#additional-properties)
- [columnName](#additional-properties)
- [fila](#additional-properties)
| |
| On Open Detail | - [fila](#additional-properties)
| *List box Selección actual y Selección temporal únicamente* |
| On Row Moved | - [newPosition](#additional-properties)
- [oldPosition](#additional-properties)
| *List box array únicamente* |
| On Scroll | - [horizontalScroll](#additional-properties)
- [verticalScroll](#additional-properties)
| |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
index 5893f88675b91e..5ef1e962035472 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
@@ -245,14 +245,14 @@ Puede activar o desactivar la ordenación usuario estándar desactivando la prop
El soporte de ordenación estándar depende del tipo de list box:
-| Tipo de list box | Soporte de ordenación estándar | Comentarios |
-| ------------------------------ | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- La [propiedad fuente del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
-| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
-| Entity selection | Sí | - La [propiedad fuente del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
- Soportado: ordenaciones en propiedades de atributos de objeto (p. ej. "This.data.city")
- No soportado: ordenaciones en propiedades de atributos de objeto a través de atributos relacionados (p. ej. "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo)
|
-| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
-| Selección temporal | No | |
-| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar |
+| Tipo de list box | Soporte de ordenación estándar | Comentarios |
+| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
+| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
+| Entity selection | Sí | - La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
- La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo)
|
+| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
+| Selección temporal | No | |
+| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar |
### Ordenación personalizada
@@ -595,7 +595,7 @@ Muchos comandos del lenguaje 4D se pueden utilizar con list boxes, tanto del [te
| [`LISTBOX Get array`](../commands/listbox-get-array) | Array | List box, encabezados, pies de página, filas, columnas |
| [`LISTBOX GET ARRAYS`](../commands/listbox-get-arrays) | Todos | List box, encabezados, pies de página, filas, columnas |
| [`LISTBOX Get auto row height`](../commands/listbox-get-auto-row-height) | Array | List box, encabezados, pies de página, filas, columnas |
-| [`LISTBOX GET CELL COORDINATES`](../commands/listbox-get-cell-coordinates) | All | List box, encabezados, pies de página, filas, columnas |
+| [`LISTBOX GET CELL COORDINATES`](../commands/listbox-get-cell-coordinates) | Todos | List box, encabezados, pies de página, filas, columnas |
| [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) | Todos | List box, encabezados, pies de página, filas, columnas |
| [`LISTBOX Get column formula`](../commands/listbox-get-column-formula) | Selección, colección | Columnas |
| [`LISTBOX Get column width`](../commands/listbox-get-column-width) | Todos | Columnas |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/pictureButton_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/pictureButton_overview.md
index ef21fbbfc5ad1b..7dc9d26970591f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/pictureButton_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/pictureButton_overview.md
@@ -60,7 +60,7 @@ Hay otros modos disponibles:
## Propiedades soportadas
-[Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Fondo](properties_CoordinatesAndSizing.md#bottom) - [Estilo de botón](properties_TextAndPicture.md#button-style) - [Clase](properties_Object.md#css-class) - [Columnas](properties_Crop.md#columns) - [Focalizable](properties_Entry.md#focusable) - [Altura](properties_CoordinatesAndSizing.md#height) - [Mensaje de ayuda](properties_Help.md#help-tip) - [Tamaño horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Itálica](properties_Text.md#italic) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Volver al primer cuadro](properties_Animation.md#loop-back-to-first-frame) - [Nombre del objeto](properties_Object.md#object-name) - [Nombre de ruta](properties_Picture.md#pathname) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Filas](properties_Crop.md#rows) - [Acceso directo](properties_Entry.md#shortcut) - [Acción estándar](properties_Action.md#standard-action) - [Volver al soltar](properties_Animation.md#switch-back-when-released) - [Cambiar continuamente al hacer clic](properties_Animation.md#switch-continuously-on-clicks) - [Cambiar cada x segundos](properties_Animation.md#switch-every-x-seconds) - [Título](properties_Object.md#title) - [Cambiar al pasar el ratón](properties_Animation.md#switch-when-roll-over) - [Arriba](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Usar el último marco como desactivado](properties_Animation.md#use-last-frame-as-disabled) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x seconds](properties_Animation.md#switch-every-x-seconds) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/picturePopupMenu_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/picturePopupMenu_overview.md
index 7cbfd790806046..0af5f6f54460b1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/picturePopupMenu_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/picturePopupMenu_overview.md
@@ -24,7 +24,7 @@ Si desea gestionar usted mismo el efecto de un clic, seleccione `Sin acción`.
## Propiedades soportadas
-[Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Inferior](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Columnas](properties_Crop.md#columns) - [Altura](properties_CoordinatesAndSizing.md#height) - [Mensaje de ayuda](properties_Help.md#help-tip) - [Dimensionamiento horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Nombre del objeto](properties_Object.md#object-name) - [Ruta de acceso](properties_Picture.md#pathname) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Filas](properties_Crop.md#rows) - [Acción estándar](properties_Action.md#standard-action) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Dimensionamiento vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) -[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows)- [Standard action](properties_Action.md#standard-action) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/pluginArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/pluginArea_overview.md
index 7974c41729fda6..074f050fa60c9f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/pluginArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/pluginArea_overview.md
@@ -19,7 +19,7 @@ Si el autor del plug-in proporciona opciones avanzadas, se puede activar un tema
## Propiedades soportadas
-[Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Inferior](properties_CoordinatesAndSizing.md#bottom) - [Propiedades avanzadas](properties_Plugins.md) - [Clase](properties_Object.md#css-class) - [Arrastrable](properties_Action.md#draggable) - [Soltable](properties_Action.md#droppable) - [Tipo de expresión](properties_Object.md#expression-type) - [Con enfoque](properties_Entry.md#focusable) - [Altura](properties_CoordinatesAndSizing.md#height) - [Dimensionamiento horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Método](properties_Action.md#method) - [Nombre del objeto](properties_Object.md#object-name) - [Tipo de complemento](properties_Object.md#plug-in-kind) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Dimensionamiento vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Advanced Properties](properties_Plugins.md) - [Class](properties_Object.md#css-class) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Plug-in Kind](properties_Object.md#plug-in-kind) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibilty](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/progressIndicator.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/progressIndicator.md
index 89055dfb8e97f4..7ca83662361c69 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/progressIndicator.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/progressIndicator.md
@@ -39,7 +39,7 @@ Dispone de múltiples opciones gráficas: valores mínimos/máximos, graduacione
### Propiedades soportadas
-[Barber shop](properties_Scale.md#barber-shop) - [Negrita](properties_Text.md#bold) - [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) -[Inferior](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Mostrar graduación](properties_Scale.md#display-graduation) - [Enterable](properties_Entry.md#enterable) - [Ejecutar método objeto](properties_Action.md#execute-object-method) - [Tipo de expresión](properties_Object.md#expression-type) (sólo "integer", "number", "date", o "time") - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Tamaño de fuente](properties_Text.md#font-size) - [Alto](properties_CoordinatesAndSizing.md#height) - [Itálica](properties_Text.md#italic) - [Paso de graduación](properties_Scale.md#graduation-step) -[Ayuda](properties_Help.md#help-tip) - [Dimensionamiento horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Ubicación de la etiqueta](properties_Scale.md#label-location) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Máximo](properties_Scale.md#maximum) - [Mínimo](properties_Scale.md#minimum) - [Formato numérico](properties_Display.md#number-format) - [Nombre del objeto](properties_Object.md#object-name) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Paso](properties_Scale.md#step) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Subrayado](properties_Text.md#underline) - [Variable o Expresión](properties_Object.md#variable-or-expression) - [Dimensionamiento vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Barber shop](properties_Scale.md#barber-shop) - [Bold](properties_Text.md#bold) - [Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) -[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Display graduation](properties_Scale.md#display-graduation) - [Enterable](properties_Entry.md#enterable) - [Execute object method](properties_Action.md#execute-object-method) - [Expression Type](properties_Object.md#expression-type) (only "integer", "number", "date", or "time") - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Italic](properties_Text.md#italic) - [Graduation step](properties_Scale.md#graduation-step) -[Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Label Location](properties_Scale.md#label-location) - [Left](properties_CoordinatesAndSizing.md#left) - [Maximum](properties_Scale.md#maximum) - [Minimum](properties_Scale.md#minimum) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Step](properties_Scale.md#step) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
### Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Action.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Action.md
index 903bb118d81a25..19245ead292d9d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Action.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Action.md
@@ -22,9 +22,9 @@ Para más información, consulte la sección [Arrastrar y soltar](../Desktop/dra
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| -------- | -------------- | ------------------------------------------------------------------------------------------------------- |
-| dragging | text | "none" (por defecto), "custom", "automatic" (excluyendo list box) |
+| Nombre | Tipos de datos | Valores posibles |
+| -------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| dragging | text | "none" (default), "custom" (excluding plug-in area), "automatic" (excluding button and list box) |
#### Objetos soportados
@@ -54,9 +54,9 @@ Para más información, consulte la sección [Arrastrar y soltar](../Desktop/dra
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| -------- | -------------- | ------------------------------------------------------------------------------------------------------- |
-| dropping | text | "none" (por defecto), "custom", "automatic" (excluyendo list box) |
+| Nombre | Tipos de datos | Valores posibles |
+| -------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| dropping | text | "none" (default), "custom" (excluding plug-in area), "automatic" (excluding button and list box) |
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Appearance.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Appearance.md
index 13661feec448d8..d7f1edf927de65 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Appearance.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Appearance.md
@@ -29,7 +29,23 @@ En Windows, el concepto de "opción recomendada" no está soportado: sólo el bo
[Botón personalizado](button_overview.md#custom) - [Botón normal](button_overview.md#regular) - [Botón plano](button_overview.md#regular)
----
+## Display formula source as symbol
+
+Displays source text of formulas as symbols when expressions are shown as references.
+
+#### Gramática JSON
+
+| Nombre | Tipos de datos | Valores posibles |
+| ---------------------- | -------------- | -------------------------------------------- |
+| displayFormulaAsSymbol | boolean | true (por defecto), false |
+
+#### Objetos soportados
+
+[Área 4D Write Pro](writeProArea_overview.md)
+
+#### Comandos
+
+[WP Get view properties](../WritePro/commands-legacy/wp-get-view-properties.md) - [WP SET VIEW PROPERTIES](../WritePro/commands-legacy/wp-set-view-properties.md)
## Ocultar rectángulo de enfoque
@@ -137,7 +153,7 @@ Define la resolución de la pantalla para el contenido del área 4D Write Pro. P
---
-## Mostrar el fondo
+## Show background and anchored elements
Muestra/oculta tanto las imágenes de fondo como el color de fondo.
@@ -155,7 +171,23 @@ Muestra/oculta tanto las imágenes de fondo como el color de fondo.
[WP Get view properties](../WritePro/commands-legacy/wp-get-view-properties.md) - [WP SET VIEW PROPERTIES](../WritePro/commands-legacy/wp-set-view-properties.md)
----
+## Show empty or unsupported images
+
+Displays/hides a black rectangle for images that cannot be loaded or computed (empty images or images in an unsupported format).
+
+#### Gramática JSON
+
+| Nombre | Tipos de datos | Valores posibles |
+| --------------- | -------------- | -------------------------------------------- |
+| showEmptyImages | boolean | true (por defecto), false |
+
+#### Objetos soportados
+
+[Área 4D Write Pro](writeProArea_overview.md)
+
+#### Comandos
+
+[WP Get view properties](../WritePro/commands-legacy/wp-get-view-properties.md) - [WP SET VIEW PROPERTIES](../WritePro/commands-legacy/wp-set-view-properties.md)
## Mostrar los pies de página
@@ -323,7 +355,31 @@ Con la propiedad Mostrar referencias activada, se muestra la referencia:
[WP Get view properties](../WritePro/commands-legacy/wp-get-view-properties.md) - [WP SET VIEW PROPERTIES](../WritePro/commands-legacy/wp-set-view-properties.md)
----
+## Show table borders
+
+Displays internal and external table borders as dotted lines when these borders are partially or totally invisible. This facilitates page layout (more accessible, more visual resizing) and data entry (convenient in the case of merged cells, for example).
+
+
+
+:::tip Entrada de blog relacionada
+
+[4D Write Pro: Make Hidden Table Borders Visible (Temporarily)](https://blog.4d.com/4d-write-pro-make-hidden-table-borders-visible-temporarily/)
+
+:::
+
+#### Gramática JSON
+
+| Nombre | Tipos de datos | Valores posibles |
+| ---------------- | -------------- | -------------------------------------------- |
+| showTableBorders | boolean | true, false (por defecto) |
+
+#### Objetos soportados
+
+[Área 4D Write Pro](writeProArea_overview.md)
+
+#### Comandos
+
+[WP Get view properties](../WritePro/commands-legacy/wp-get-view-properties.md) - [WP SET VIEW PROPERTIES](../WritePro/commands-legacy/wp-set-view-properties.md)
## Mostrar regla vertical
@@ -355,7 +411,7 @@ Cuando los controles de pestañas con una dirección personalizada se muestran e
| Nombre | Tipos de datos | Valores posibles |
| --------------- | -------------- | ---------------- |
-| labelsPlacement | boolean | "top", "bottom" |
+| labelsPlacement | text | "top", "bottom" |
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_BackgroundAndBorder.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_BackgroundAndBorder.md
index 20355269b02d61..a4e540c43b3573 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_BackgroundAndBorder.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_BackgroundAndBorder.md
@@ -5,7 +5,7 @@ title: Fondo y borde
## Color de fondo alternado
-Permite definir un color de fondo diferente para las líneas o columnas impares de un list box. Permite definir un color de fondo diferente para las líneas o columnas impares de un list box.
+Permite definir un color de fondo diferente para las líneas o columnas impares de un list box. By default, *Automatic* is selected for list box columns: the column uses the alternate background color set at the list box level.
También puede definir esta propiedad utilizando el comando [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors).
@@ -27,7 +27,7 @@ También puede definir esta propiedad utilizando el comando [`OBJECT SET RGB COL
## Color de fondo / Color de relleno
-Define el color de fondo o el color de relleno de un objeto. It can be defined for some standard objects (`fill` JSON property) or ["custom style" objects](#custom-style-button-check-box-or-radio-button) (`borderFillColor` JSON property).
+Define el color de fondo o el color de relleno de un objeto. Se puede definir para algunos objetos estándar (propiedad JSON `fill`) o para los [objetos de "estilo personalizado"](#custom-style-button-check-box-or-radio-button) (propiedad JSON `borderFillColor`).
:::note
@@ -37,7 +37,7 @@ The **Fill color** property is named **Background color** with [List Box](listbo
### Objetos estándar
-En el caso de un list box, por defecto se selecciona *Automático*: la columna utiliza el color de fondo definido al nivel del list box.
+In the case of a list box column, by default *Automatic* is selected: the column uses the background color set at the list box level.
#### Gramática JSON
@@ -105,15 +105,17 @@ También puede establecer esta propiedad utilizando el comando [`LISTBOX SET PRO
## Color del borde {#border-color}
-Permite definir el color del borde interior de:
+Allows defining the border color. The effect of this property varies slightly depending on the type of object to which it is applied.
-- los [botones personalizados](./button_overview.md#custom) con el [estilo de borde "personalizado"](#border-line-style),
-- las [casillas de selección personalizadas](./checkbox_overview.md#custom),
-- los [botones radio personalizados](./radio_overview.md#custom).
+- **objects with text properties**: [buttons](./button_overview.md) (all styles except "custom", see below), [hierarchical lists](list_overview.md), [inputs](input_overview.md), [list boxes](listbox_overview.md), [progress indicators](./progressIndicator.md), [rulers](./ruler.md), and [text areas](text.md).
+ By default, the border color of these objects is automatically set to their [**font color**](./properties_Text.md#font-color) property. This default configuration corresponds to the **Same as font** option in the Property List (`borderColor` property is undefined in JSON).
+ You can separate these two properties by setting a color value for the object's "Border color" property (only available when the [**border line style**](#border-line-style) property is **plain** (`solid` in JSON property) or **dotted**).
-En otros contextos, esta propiedad se ignora.
+- **objects without text properties**: [4D View Pro areas](viewProArea_overview.md), [4D Write Pro areas](writeProArea_overview.md), [button grids](buttonGrid_overview.md), [picture buttons](pictureButton_overview.md), [picture pop-up menus](picturePopupMenu_overview.md), [plug-in areas](pluginArea_overview.md), [subforms](subform_overview.md), [spinners](spinner.md), [splitters](splitters.md), [steppers](stepper.md), [web areas](webArea_overview.md).
+ The border color property sets the color of the borders. The default color value is "Automatic", i.e. the border is displayed with the automatic color set by your OS.
-Tenga en cuenta que el borde solo se muestra cuando su [ancho](#border-width) es > 0.
+- **custom-styled buttons**: [custom buttons](./button_overview.md#custom) with ["custom" Border Line Style](#border-line-style), [custom check boxes](./checkbox_overview.md#custom), and [custom radio buttons](./radio_overview.md#custom).
+ In this case, the border color property defines the color of an *inner* border, which is an attribute of the object itself ans not a decoration property. This inner border can also have a [width](#border-width) (it is displayed only if the width > 0).
#### Gramática JSON
@@ -123,35 +125,47 @@ Tenga en cuenta que el borde solo se muestra cuando su [ancho](#border-width) es
#### Objetos soportados
-[Custom Button](./button_overview.md#custom) (with ["custom" Border Line Style](#border-line-style)) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom)
+[4D View Pro area](viewProArea_overview.md) - [4D Write Pro area](writeProArea_overview.md) - [Button](./button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box ("custom" style)](checkbox_overview.md#custom) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress Indicator](./progressIndicator.md) - [Radio Button ("custom" style)](radio_overview.md#custom) - [Ruler](./ruler.md) - [Text Area](text.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Web Area](webArea_overview.md)
#### Comandos
[`OBJECT GET RGB COLORS`](../commands/object-get-rgb-colors) - [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors)
-## Estilo de línea de borde {#border-line-style}
+#### Ver también
-Permite definir un estilo estándar para el borde del objeto.
+[Color de línea](#line-color) (para formas)
-:::note
+## Estilo de línea de borde {#border-line-style}
-For [custom buttons](./button_overview.md#custom), the **custom** border line style enables the inner frame design, that includes a set of extra properties: [Fill color](#background-color--fill-color), [Frame color](#frame-color), [Frame width](#frame-width), and [Corner radius](./properties_BackgroundAndBorder.md#corner-radius).
+Allows setting a style for the object border. The following choices are available (all choices are not possible depending on the object):
-
+| Style | Objects (\*) | Descripción |
+| -------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Ninguno | all | Objects appear with no border. |
+| Plain | all | Objects appear framed with a continuous 1-pt. border line. ("solid" json value) |
+| Dotted | all | Objects appear framed with a dotted 1-pt. border line. |
+| Raised | all | Objects appear framed with a 3D effect. |
+| Sunken | all | Objects appear framed with a sunken 3D effect. |
+| Double | all | Objects appear framed with a double line, i.e., two continuous 1-pt. líneas separadas por un píxel. |
+| System | all *except* [buttons](button_overview.md) and [text areas](text.md) | Objects appear with a border line based on the graphic specifications of the OS. |
+| System rounded | [inputs](input_overview.md) | On macOS, objects appear with a native "Liquid Glass" system border effect (for information about Liquid Glass, see [this 4D blog post](https://blog.4d.com/the-new-macos-tahoe-design-comes-to-your-4d-applications/)). It includes system-defined inner border, corner radius, grey border color, and inner padding. Note that the "Liquid Glass" appearance is *not* used in a multiline input object if the [scroll bars property](./properties_Appearance.md#vertical-scroll-bar) is enabled ("System" is used in this case).
On Windows, this style is similar to "System" at runtime. |
+| Personalizado | [custom buttons](./button_overview.md#custom) | Enables the inner border design, that includes a set of extra properties: [Fill color](#fill-color), [Border color](#border-color), [Border width](#border-width), and [Corner radius](#corner-radius).
 |
-:::
+(\*) "all" means "all objects supported" listed below.
-:::tip Entrada de blog relacionada
+:::tip Entradas de blog relacionadas
-[Customize Buttons, Radio Buttons, and Check Boxes with Background and Border Properties](https://blog.4d.com/customize-buttons-radio-buttons-and-check-boxes-with-background-and-border-properties).
+- [Customize Buttons, Radio Buttons, and Check Boxes with Background and Border Properties](https://blog.4d.com/customize-buttons-radio-buttons-and-check-boxes-with-background-and-border-properties).
+- [Give Your Form Objects the Border Color They Deserve](https://blog.4d.com/give-your-form-objects-the-border-color-they-deserve)
+- [Choose the Right Native Input Style for Your Interface on macOS](https://blog.4d.com/choose-the-right-native-input-style-for-your-interface-on-macos)
:::
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ----------- | -------------- | --------------------------------------------------------------------------- |
-| borderStyle | text | "system", "none", "solid", "dotted", "raised", "sunken", "double", "custom" |
+| Nombre | Tipos de datos | Valores posibles |
+| ----------- | -------------- | -------------------------------------------------------------------------------------------- |
+| borderStyle | text | "custom", "dotted", "double", "none", "raised", "solid", "sunken", "system", "systemRounded" |
#### Objetos soportados
@@ -161,6 +175,10 @@ For [custom buttons](./button_overview.md#custom), the **custom** border line st
[`OBJECT Get border style`](../commands/object-get-border-style) - [`OBJECT SET BORDER STYLE`](../commands/object-set-border-style)
+#### Ver también
+
+[Tipo de línea punteada](#dotted-line-type) (formas)
+
---
## Ancho del borde {#border-width}
@@ -183,7 +201,7 @@ El valor se expresa en píxeles.
#### Objetos soportados
-[Custom Button](./button_overview.md#custom) (with ["custom" Border Line Style](#border-line-style)) - [Custom Check Box](checkbox_overview.md#custom) - [Custom Radio Button](radio_overview.md#custom)
+[Button ("custom" style)](./button_overview.md#custom) (with ["custom" Border Line Style](#border-line-style)) - [Check Box ("custom style")](checkbox_overview.md#custom) - [Radio Button ("custom" style)](radio_overview.md#custom)
---
@@ -222,7 +240,7 @@ In [custom buttons](./button_overview.md#custom) (with a ["custom" Border Line S
#### Objetos soportados
-[Custom Button](./button_overview.md#custom) (with ["custom" Border Line Style](#border-line-style)) - [Custom Check Box](checkbox_overview.md#custom) - [Input](input_overview.md) - [Rectangle](shapes_overview.md#rectangle) - [Text Area](text.md) - [Custom Radio Button](radio_overview.md#custom)
+[Button ("custom" style)](./button_overview.md#custom) (with ["custom" Border Line Style](#border-line-style)) - [Check Box ("custom" style)](checkbox_overview.md#custom) - [Input](input_overview.md) - [Rectangle](shapes_overview.md#rectangle) - [Text Area](text.md) - [Radio Button ("custom" style)](radio_overview.md#custom)
#### Comandos
@@ -289,7 +307,11 @@ También puede definir esta propiedad utilizando el comando [`OBJECT SET RGB COL
| ------ | -------------- | ---------------------------------------- |
| stroke | string | un valor css, "transparent", "automatic" |
-> Esta propiedad también está disponible para los objetos basados en texto, en cuyo caso designa tanto el color de la fuente como las líneas del objeto, ver [Color de la fuente](properties_Text.md#font-color).
+:::note
+
+This property is also available for objects with text properties, in which case it designates both the [Font color](properties_Text.md#font-color) and the object's lines, except if you used the [Border color](#border-color) property.
+
+:::
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_DataSource.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_DataSource.md
index 10e55555b7b1ae..96c6ff361c54e3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_DataSource.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_DataSource.md
@@ -335,13 +335,13 @@ Especifica una variable o expresión a la que se asignarán los elementos o enti
Especifica la selección temporal a utilizar. Debe introducir el nombre de una selección temporal válida. Puede ser una selección temporal proceso o interproceso. El contenido del list box se basará en esta selección. La selección elegida debe existir y ser válida en el momento en que se muestre el list box; de lo contrario, el list box se mostrará en blanco.
-> Las selecciones temporales son listas ordenadas de registros. Se utilizan para mantener en memoria el orden y el registro actual de una selección. Para más información, consulte la sección **Selecciones temporales** del manual *Lenguaje 4D*.
+> Las selecciones temporales son listas ordenadas de registros. Se utilizan para mantener en memoria el orden y el registro actual de una selección. For more information, refer to [**Named Selections**](../Develop/named-selections) section.
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| -------------- | -------------- | ---------------------- |
-| namedSelection | string | Nombre de la selección |
+| Nombre | Tipos de datos | Valores posibles |
+| ------------- | -------------- | ---------------------- |
+| selectionName | string | Nombre de la selección |
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md
index d0360ad6a3db14..4caca96889e2c7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md
@@ -652,9 +652,9 @@ Tenga en cuenta que, independientemente del valor de la opción Ajuste de texto,
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| -------- | -------------- | ---------------------------------------------------------------------- |
-| wordwrap | string | "automatic" (excluyendo list box), "normal", "none" |
+| Nombre | Tipos de datos | Valores posibles |
+| -------- | -------------- | --------------------------------------------------------------------------------------- |
+| wordwrap | string | "automatic" (excluding list box column and footer), "normal", "none" |
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Footers.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Footers.md
index 360f6336b176eb..bbb3cd768f493b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Footers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Footers.md
@@ -56,9 +56,9 @@ Tenga en cuenta que la conversión de ida y vuelta puede conducir a un resultado
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ------------ | -------------- | ----------------------------------------------------- |
-| footerHeight | string | decimales positivos +px | em |
+| Nombre | Tipos de datos | Valores posibles |
+| ------------ | -------------- | -------------------------------------- |
+| footerHeight | string | value+px | em |
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Headers.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Headers.md
index b9149b349522ba..b51f5d190e9b2e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Headers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Headers.md
@@ -45,7 +45,7 @@ Tenga en cuenta que la conversión de ida y vuelta puede conducir a un resultado
#### Ejemplo JSON
-```
+```json
"List Box": {
"type": "listbox",
"showHeaders": true,
@@ -56,9 +56,9 @@ Tenga en cuenta que la conversión de ida y vuelta puede conducir a un resultado
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ------------ | -------------- | ----------------------------------------------------- |
-| headerHeight | string | decimales positivos +px | em |
+| Nombre | Tipos de datos | Valores posibles |
+| ------------ | -------------- | -------------------------------------- |
+| headerHeight | string | value+px | em |
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Hierarchy.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Hierarchy.md
index 1b21f6ba0b7f4f..b3c4945f860b1d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Hierarchy.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Hierarchy.md
@@ -17,7 +17,7 @@ Ver [List box jerárquicos](listbox_overview.md#hierarchical-list-boxes)
| Nombre | Tipos de datos | Valores posibles |
| ---------- | -------------- | ------------------------------------------------------- |
-| datasource | array cadena | Colección de nombres de arrays que definen la jerarquía |
+| dataSource | array cadena | Colección de nombres de arrays que definen la jerarquía |
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md
index 7f5203cf013e76..923b20441f5c53 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md
@@ -164,16 +164,10 @@ Número de columnas que no se pueden mover durante la ejecución.
## Número de columnas
-Define el número de columnas del list box.
+Sets the length of the [column collection](#columns) of the list box.
> Puede añadir o eliminar columnas dinámicamente por programación, utilizando comandos como [`LISTBOX INSERT COLUMN`](../commands/listbox-insert-column) o [`LISTBOX DELETE COLUMN`](../commands/listbox-delete-column).
-#### Gramática JSON
-
-| Nombre | Tipos de datos | Valores posibles |
-| ----------- | -------------- | ------------------------- |
-| columnCount | integer | mínimo: 1 |
-
#### Objetos soportados
[List Box](listbox_overview.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Object.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Object.md
index 8fd4538bcdc348..4b68b8d642d182 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Object.md
@@ -90,9 +90,9 @@ Las variables o expresiones se pueden introducir o no y pueden recibir datos de
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ---------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| dataSource | cadena o array de cadenas | - Variable 4D, nombre de campo o cualquier expresión.
- Cadena vacía para [variables dinámicas](#dynamic-variables).
- Array de cadenas (colección de nombres de arrays) para una columna de [listbox jerárquico](listbox_overview.md#hierarchical-list-boxes)
|
+| Nombre | Tipos de datos | Valores posibles |
+| ---------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| dataSource | cadena o array de cadenas | - Variable, nombre de campo o cualquier expresión 4D.
- Cadena vacía para las [variables dinámicas](#dynamic-variables).
- Array de cadenas (colección de nombres de array) para una columna de [listbox jerárquico](listbox_overview.md#hierarchical-list-boxes)]
|
### Expresiones
@@ -326,9 +326,9 @@ Cuando está configurado **Personalizado** ("none" en JSON), 4D no realiza cálc
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ------------------- | -------------- | ----------------------------------------------------------------------------------------------------- |
-| variableCalculation | string | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |
+| Nombre | Tipos de datos | Valores posibles |
+| ------------------- | -------------- | ------------------------------------------------------------------------------------------------------ |
+| variableCalculation | string | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquares" |
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_RangeOfValues.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_RangeOfValues.md
index acaa6e4cf95d13..8074444588adb1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_RangeOfValues.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_RangeOfValues.md
@@ -15,7 +15,7 @@ El valor por defecto sólo puede utilizarse si el [tipo de fuente de datos](prop
- time
- boolean
-4D ofrece sellos para generar valores por defecto para la fecha, la hora y el número de secuencia. La fecha y la hora se toman de la fecha y la hora del sistema. 4D genera automáticamente los números de secuencia necesarios. La siguiente tabla muestra el sello a utilizar para generar valores por defecto de forma automática:
+4D provides stamps for generating default values for a date, a time, and a sequence number. La fecha y la hora se toman de la fecha y la hora del sistema. 4D genera automáticamente los números de secuencia necesarios. La siguiente tabla muestra el sello a utilizar para generar valores por defecto de forma automática:
| Stamp | Significado |
| ----- | ------------------- |
@@ -23,15 +23,15 @@ El valor por defecto sólo puede utilizarse si el [tipo de fuente de datos](prop
| #H | Hora actual |
| #N | Número de secuencia |
-Puede utilizar un número de secuencia para crear un número único para cada registro de la tabla para el archivo de datos actual. Un número de secuencia es un longint que se genera para cada nuevo registro. Los números comienzan en uno (1) y van aumentando de uno en uno. Un número de secuencia no se repite nunca, incluso si el registro al que se asigna se elimina de la tabla. Cada tabla tiene su propio contador interno de números de secuencia. Para más información, consulte el párrafo [Autoincremento](https://doc.4d.com/4Dv20/4D/20.2/Field-properties.300-6750280.en.html#976029).
+Puede utilizar un número de secuencia para crear un número único para cada registro de la tabla para el archivo de datos actual. Un número de secuencia es un longint que se genera para cada nuevo registro. Los números comienzan en uno (1) y van aumentando de uno en uno. Un número de secuencia no se repite nunca, incluso si el registro al que se asigna se elimina de la tabla. Cada tabla tiene su propio contador interno de números de secuencia. Para más información, consulte el párrafo [Autoincremento](../Develop/structure-fields#autoincrement).
> No hay que confundir esta propiedad con la propiedad "valores por defecto" que permite llenar una columna list box con valores estáticos.
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ------------ | ----------------------------------- | --------------------------------------------------------- |
-| defaultValue | string, number, date, time, boolean | Todo valor y/o un sello: "#D", "#H", "#N" |
+| Nombre | Tipos de datos | Valores posibles |
+| ------------ | -------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
+| defaultValue | string | Any value and/or a stamp as a string: "#D", "#H", "#N", "42", "true"... |
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
index 0894ae87126140..efe96346deea63 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
@@ -29,206 +29,209 @@ En esta página encontrará una lista completa de todas las propiedades de los o
[w](#w) -
[z](#z)
-| Propiedad | Descripción | Valores posibles |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| a | | |
-| [`action`](properties_Action.md#standard-action) | Acción típica a ejecutar. | El nombre de una acción estándar válida. |
-| [`allowFontColorPicker`](properties_Text.md#allow-fontcolor-picker) | Permite mostrar el selector de fuentes sistema o el selector de colores para editar los atributos de los objetos | true, false (por defecto) |
-| [`alternateFill`](properties_BackgroundAndBorder.md#alternate-background-color) | Permite definir un color de fondo diferente para las líneas o columnas impares de un list box. | Todos los valores css; "transparent"; "automatic"; "automaticAlternate" |
-| [`automaticInsertion`](properties_DataSource.md#automatic-insertion) | Permite añadir automáticamente un valor a una lista cuando un usuario introduce un valor que no está en la lista de elección asociada al objeto. | true, false |
-| **b** | | |
-| [`booleanFormat`](properties_Display.md#text-when-falsetext-when-true) | Indica sólo dos valores posibles. | true, false |
-| [`borderColor`](./properties_BackgroundAndBorder.md#border-color) | Define el color del borde de un botón, una casilla de selección o un botón de opción con estilo personalizado. | Cualquier valor CSS, "transparent", "automatic". Debe utilizarse junto con la opción de estilo "personalizado". |
-| [`borderFillColor`](properties_BackgroundAndBorder.md#background-color--fill-color) | Define el color de fondo de un botón, una casilla de selección o un botón de opción con estilo personalizado. | Cualquier valor CSS, "transparent", "automatic". Debe utilizarse junto con la opción de estilo "personalizado". |
-| [`borderRadius`](properties_BackgroundAndBorder.md#corner-radius) | El valor del radio para los rectángulos redondos. | mínimo: 0 |
-| [`borderStyle`](properties_BackgroundAndBorder.md#border-line-style) | Permite definir un estilo estándar para el borde del objeto. | "system", "none", "solid", "dotted", "raised", "sunken", "double", "custom" |
-| [`borderWidth`](./properties_BackgroundAndBorder.md#border-width) | Define el ancho del borde de un botón, una casilla de selección o un botón de opción con estilo personalizado. | mínimo: 0. Debe utilizarse junto con la opción de estilo "personalizado". |
-| [`bottom`](properties_CoordinatesAndSizing.md#bottom) | Posiciona un objeto en la parte inferior (centrado). | mínimo: 0 |
-| **c** | | |
-| [`choiceList`](properties_DataSource.md#choice-list) | Una lista de opciones asociadas a un objeto | Una lista de selección |
-| [`class`](properties_Object.md#css-class) | Una lista de palabras separadas por espacios que se utilizan como selectores de clase en los archivos css. | Una lista de nombres de clases |
-| [`columnCount`](properties_Crop.md#columns) | Número de columnas. | mínimo: 1 |
-| [`columns`](properties_ListBox.md#columns) | Una colección de columnas list box | Colección de objetos columna con propiedades de columna definidas |
-| [`contextMenu`](properties_Entry.md#context-menu) | Ofrece al usuario acceso a un menú contextual estándar en el área seleccionada. | "automatic", "none" |
-| [`continuousExecution`](properties_Action.md#execute-object-method) | Designa si se ejecuta o no el método de un objeto mientras el usuario sigue el control. | true, false |
-| [`controlType`](properties_Display.md#display-type) | Especifica cómo debe representarse el valor en una celda del list box. | "input", "checkbox" (para las columnas booleanas / numéricas), "automatic", "popup" (sólo para columnas booleanas) |
-| [`currentItemSource`](properties_DataSource.md#current-item) | El último elemento seleccionado en un list box. | Expresión del objeto |
-| [`currentItemPositionSource`](properties_DataSource.md#current-item-position) | La posición del último elemento seleccionado en un list box. | Expresión numérica |
-| [`customBackgroundPicture`](properties_TextAndPicture.md#background-pathname) | Define la imagen que se dibujará en el fondo de un botón. | Ruta relativa en sintaxis POSIX. Debe utilizarse junto con la opción "Personalizado" de la propiedad "Style". |
-| [`customBorderX`](properties_TextAndPicture.md#horizontal-margin) | Define el tamaño (en píxeles) de los márgenes horizontales internos de un objeto. Debe utilizarse con la opción "Personalizado" de la propiedad "Style". | mínimo: 0 |
-| [`customBorderY`](properties_TextAndPicture.md#vertical-margin) | Define el tamaño (en píxeles) de los márgenes verticales internos de un objeto. Debe utilizarse con la opción "Personalizado" de la propiedad "Style". | mínimo: 0 |
-| [`customOffset`](properties_TextAndPicture.md#icon-offset) | Define un valor de desplazamiento personalizado en píxeles. Debe utilizarse con la opción "Personalizado" de la propiedad "Style". | mínimo: 0 |
-| [`customProperties`](properties_Plugins.md#advanced-properties) | Propiedades avanzadas (si las hay) | Cadena JSON o cadena codificada en base64 |
-| **d** | | |
-| [`dataSource`](properties_Object.md#variable-or-expression) (objetos)
[`dataSource`](properties_Subform.md#source) (subformularios)
[`dataSource`](properties_Object.md#data-source) (list box array)
[`dataSource`](properties_Object.md#collection-or-entity-selection) (list box colección o entity selection)
[`dataSource`](properties_DataSource.md#expression) (columna list box)
[`dataSource`](properties_Hierarchy.md#hierarchical-list-box) (list box jerárquico) | Indica el origen de los datos. | Una variable 4D, un nombre de campo o una expresión del lenguaje compleja arbitraria. |
-| [`dataSourceTypeHint`](properties_Object.md#expression-type) (objetos)
[`dataSourceTypeHint`](properties_DataSource.md#data-type-expression-type) (columna list box, lista desplegable) | Indica el tipo de variable. | "integer", "boolean", "number", "picture", "text", date", "time", "arrayText", "arrayDate", "arrayTime", "arrayNumber", "collection", "object", "undefined" |
-| [`dateFormat`](properties_Display.md#date-format) | Controla la forma en que aparecen las fechas cuando se muestran o imprimen. | Formatos integrados ("systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull") o [formatos personalizados](../Project/date-time-formats.md) |
-| [`defaultButton`](properties_Appearance.md#default-button) | Modifica la apariencia de un botón para indicar la opción recomendada al usuario. | true, false |
-| [`defaultValue`](properties_RangeOfValues.md#default-value) | Define un valor o un sello que se introduce por defecto en un objeto de entrada | Cadena o "#D", "#H", "#N" |
-| [`deletableInList`](properties_Subform.md#allow-deletion) | Especifica si el usuario puede eliminar subregistros en un subformulario listado | true, false |
-| [`detailForm`](properties_ListBox.md#detail-form-name) (list box)
[`detailForm`](properties_Subform.md#detail-form) (subformulario) | Asocia un formulario detallado con un subformulario listado. | Nombre (cadena) de la tabla o formulario proyecto, una ruta POSIX (cadena) a un archivo .json que describa el formulario, o un objeto que describa el formulario |
-| [`display`](properties_Display.md#not-rendered) | El objeto se dibuja o no en el formulario. | true, false |
-| [`doubleClickInEmptyAreaAction`](properties_Subform.md#double-click-on-empty-row) | Acción a realizar en caso de doble clic en una línea vacía de un subformulario listado. | "addSubrecord" o "" to do nothing |
-| [`doubleClickInRowAction`](properties_ListBox.md#double-click-on-row) (list box)
[`doubleClickInRowAction`](properties_Subform.md#double-click-on-row) (subform) | Acción a realizar en caso de doble clic en un registro. | "editSubrecord", "displaySubrecord" |
-| [`dpi`](properties_Appearance.md#resolution) | Resolución de la pantalla para el contenido del área 4D Write Pro. | 0=automatic, 72, 96 |
-| [`dragging`](properties_Action.md#draggable) | Activa la función de arrastrar. | "none", "custom", "automatic" (excluyendo lista, list box) |
-| [`dropping`](properties_Action.md#droppable) | Activa la función de soltar. | "none", "custom", "automatic" (excluyendo lista, list box) |
-| **e** | | |
-| [`enterable`](properties_Entry.md#enterable) | Indica si los usuarios pueden introducir valores en el objeto. | true, false |
-| [`enterableInList`](properties_Subform.md#enterable-in-list) | Indica si los usuarios pueden modificar los datos del registro directamente en el subformulario listado. | true, false |
-| [`entryFilter`](properties_Entry.md#entry-filter) | Asocia un filtro de entrada con el objeto o las celdas de la columna. Esta propiedad no es accesible si la propiedad Enterable no está activada. | Texto para acotar las entradas |
-| [`events`](Events/overview.md) | Lista de todos los eventos seleccionados para el objeto o el formulario | Colección de nombres de eventos, por ejemplo ["onClick", "onDataChange"...]. |
-| [`excludedList`](properties_RangeOfValues.md#excluded-list) | Permite definir una lista cuyos valores no pueden introducirse en la columna. | Lista de valores que deben excluirse. |
-| **f** | | |
-| [`fill`](properties_BackgroundAndBorder.md#background-color--fill-color) | Define el color de fondo de un objeto. | Todo valor CSS, "transparent", "automatic" |
-| [`focusable`](properties_Entry.md#focusable) | Indica si el objeto puede tener el foco (y por lo tanto puede ser activado por el teclado, por ejemplo) | true, false |
-| [`fontFamily`](properties_Text.md#font) | Especifica el nombre de la familia de fuentes utilizada en el objeto. | Nombre de la familia de fuentes CSS |
-| [`fontSize`](properties_Text.md#font-size) | Define el tamaño de la fuente en puntos cuando no se selecciona ningún tema de fuente | mínimo: 0 |
-| [`fontStyle`](properties_Text.md#italic) | Hace que el texto seleccionado se incline ligeramente hacia la derecha. | "normal", "italic" |
-| [`fontTheme`](properties_Text.md#font-theme) | Establece el estilo automático | "normal", "main", "additional" |
-| [`fontWeight`](properties_Text.md#bold) | Ajusta el texto seleccionado para que aparezca más oscuro y pesado. | "normal", "bold" |
-| [`footerHeight`](properties_Footers.md#height) | Sirve para fijar la altura de la línea | decimal positivo + px | em |
-| [`frameDelay`](properties_Animation.md#switch-every-x-seconds) | Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). | mínimo: 0 |
-| **g** | | |
-| [`graduationStep`](properties_Scale.md#graduation-step) | Medición de la visualización de la escala. | mínimo: 0 |
-| **h** | | |
-| [`header`](./listbox-header-footer.md#headers) | Define el encabezado de una columna list box | Objeto con propiedades "text", "name", "icon", "dataSource", "fontWeight", "fontStyle", "tooltip" |
-| [`headerHeight`](properties_Headers.md#height) | Sirve para fijar la altura de la línea | decimal positivo + px | em |
-| [`height`](properties_CoordinatesAndSizing.md#height) | Designa el tamaño vertical de un objeto | mínimo: 0 |
-| [`hideExtraBlankRows`](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | Desactiva la visibilidad de las líneas vacías adicionales. | true, false |
-| [`hideFocusRing`](properties_Appearance.md#hide-focus-rectangle) | Oculta el rectángulo de selección cuando el objeto tiene el foco. | true, false |
-| [`hideSystemHighlight`](properties_Appearance.md#hide-selection-highlight) | Sirve para especificar la ocultación de los registros resaltados en el list box. | true, false |
-| [`highlightSet`](properties_ListBox.md#highlight-set) | Nombre del conjunto. | string |
-| [`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color) | Define el color de las líneas horizontales de un list box (gris por defecto). | Todo valor CSS, "transparent", "automatic" |
-| [`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding) | Define un relleno horizontal para las celdas listbox. | Número de píxeles (debe ser ≥ 0) |
-| **i** | | |
-| [`icon`](properties_TextAndPicture.md#picture-pathname) | El nombre de la ruta de la imagen utilizada para los botones, casillas de selección, botones de radio y encabezados de list box. | Ruta relativa o filesystem en sintaxis POSIX. |
-| [`iconFrames`](properties_TextAndPicture.md#number-of-states) | Define el número exacto de estados presentes en la imagen. | mínimo: 1 |
-| [`iconPlacement`](properties_TextAndPicture.md#icon-location) | Designa la ubicación de un icono en relación con el objeto formulario. | "none", "left", "right" |
-| [`imageHugsTitle`](properties_TextAndPicture.md#image-hugs-title) | Define si el título y la imagen del botón deben estar visualmente contiguos. | true (por defecto), false |
-| **k** | | |
-| [`keyboardDialect`](properties_Entry.md#keyboard-layout) | Para asociar una disposición de teclado específica a una entrada. | Una cadena de código de teclado, por ejemplo "ar-ma". |
-| **l** | | |
-| [`labels`](properties_DataSource.md#choice-list-static-list) | Una lista de valores que se utilizarán como etiquetas de control de pestañas | ej.: "a", "b, "c", ... |
-| [`labelsPlacement`](properties_Scale.md#label-location) (objetos)
[`labelsPlacement`](properties_Appearance.md#tab-control-direction) (control de pestañas) | Especifica la ubicación del texto mostrado de un objeto. | "none", "top", "bottom", "left", "right" |
-| [`layoutMode`](properties_Appearance.md#view-mode) | Modo de visualización del documento 4D Write Pro en el área del formulario. | "page", "draft", "embedded" |
-| [`left`](properties_CoordinatesAndSizing.md#left) | Posiciona un objeto a la izquierda. | mínimo: 0 |
-| `list`, ver [`choiceList`](properties_DataSource.md#choice-list) | Una lista de opciones asociada a una lista jerárquica | Una lista de selección |
-| [`listboxType`](properties_Object.md#data-source) | La fuente de datos del list box. | "array", "currentSelection", "namedSelection", "collection" |
-| [`listForm`](properties_Subform.md#list-form) | Formulario listado a utilizar en el subformulario. | Nombre (cadena) de la tabla o formulario proyecto, una ruta POSIX (cadena) a un archivo .json que describa el formulario, o un objeto que describa el formulario |
-| [`lockedColumnCount`](properties_ListBox.md#number-of-locked-columns) | Número de columnas que deben permanecer permanentemente en la parte izquierda de un list box. | mínimo: 0 |
-| [`loopBackToFirstFrame`](properties_Animation.md#loop-back-to-first-frame) | Las imágenes se muestran en un bucle continuo. | true, false |
-| **m** | | |
-| [`max`](properties_Scale.md#maximum) | El valor máximo permitido. En el caso de los steppers numéricos, estas propiedades representan segundos cuando el objeto está asociado a un valor de tipo hora y se ignoran cuando está asociado a un valor de tipo fecha. | mínimo: 0 (para tipos de datos numéricos) |
-| [`maxWidth`](properties_CoordinatesAndSizing.md#maximum-width) | Designa el mayor tamaño permitido para las columnas list box. | mínimo: 0 |
-| [`metaSource`](properties_Text.md#meta-info-expression) | Un objeto meta que contiene parámetros de estilo y selección. | Una expresión de objeto |
-| [`method`](properties_Action.md#method) | Un nombre de método proyecto. | El nombre de un método proyecto existente |
-| [`methodsAccessibility`](properties_WebArea.md#access-4d-methods) | Qué métodos 4D se pueden llamar desde un área web | "none" (por defecto), "all" |
-| [`min`](properties_Scale.md#minimum) | El valor mínimo permitido. En el caso de los steppers numéricos, estas propiedades representan segundos cuando el objeto está asociado a un valor de tipo hora y se ignoran cuando está asociado a un valor de tipo fecha. | mínimo: 0 (para tipos de datos numéricos) |
-| [`minWidth`](properties_CoordinatesAndSizing.md#minimum-width) | Designa el menor tamaño permitido para las columnas list box. | mínimo: 0 |
-| [`movableRows`](properties_Action.md#movable-rows) | Autoriza el desplazamiento de líneas durante la ejecución. | true, false |
-| [`multiline`](properties_Entry.md#multiline) | Maneja contenidos multilínea. | "yes", "no", "automatic" |
-| **n** | | |
-| [`name`](properties_Object.md#object-name) | El nombre del objeto formulario. (Opcional para el formulario) | Todo nombre que no pertenezca a un objeto ya existente |
-| [`numberFormat`](properties_Display.md#number-format) | Controla la forma en que aparecen los campos alfanuméricos y las variables cuando se muestran o imprimen. | Números (incluyendo un punto decimal o un signo menos si es necesario) |
-| **p** | | |
-| [`paddingBottom`](properties_CoordinatesAndSizing.md#bottom-padding) | Define el espacio entre el borde inferior del objeto y su contenido de texto. | mínimo: 0 |
-| [`paddingLeft`](properties_CoordinatesAndSizing.md#left-padding) | Define el espacio entre el borde izquierdo del objeto y su contenido de texto. | mínimo: 0 |
-| [`paddingRight`](properties_CoordinatesAndSizing.md#right-padding) | Define el espacio entre el borde derecho del objeto y su contenido de texto. | mínimo: 0 |
-| [`paddingTop`](properties_CoordinatesAndSizing.md#top-padding) | Define el espacio entre el borde superior del objeto y su contenido de texto. | mínimo: 0 |
-| [`picture`](properties_Picture.md#pathname) | El nombre de la ruta de la imagen para los botones de imagen, los menús emergentes de imagen o las imágenes estáticas | Ruta relativa o del sistema de archivos en sintaxis POSIX, o "var:\" para una variable tipo imagen. |
-| [`pictureFormat`](properties_Display.md#picture-format) (entrada, columna de list box o pie de página)
[`pictureFormat`](properties_Picture.md#display) (imagen estática) | Controla la apariencia de las imágenes al mostrarlas o imprimirlas. | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft" (excluyendo imágenes estáticas), "proportionalCenter"(excluyendo imágenes estáticas) |
-| [`placeholder`](properties_Entry.md#placeholder) | Desenfoca el texto cuando el valor de la fuente de datos está vacío. | Texto que debe estar en gris. |
-| [`pluginAreaKind`](properties_Object.md#plug-in-kind) | Describe el tipo de plug-in. | El tipo de plug-in. |
-| [`popupPlacement`](properties_TextAndPicture.md#with-pop-up-menu) | Permite mostrar un símbolo que aparece como un triángulo en el botón, que indica que hay un menú emergente adjunto. | "None", Linked", "Separated" |
-| [`printFrame`](properties_Print.md#print-frame) | Modo de impresión para objetos cuyo tamaño puede variar de un registro a otro en función de su contenido | "fixed", "variable", (subformulario únicamente) "fixedMultiple" |
-| [`progressSource`](properties_WebArea.md#progression) | Un valor entre 0 y 100, que representa el porcentaje de finalización de la carga de la página en el área web. Actualizado automáticamente por 4D, no puede ser modificado manualmente. | mínimo: 0 |
-| **r** | | |
-| [`radioGroup`](properties_Object.md#radio-group) | Permite utilizar los botones de radio en conjuntos coordinados: sólo se puede seleccionar un botón a la vez en el conjunto. | Nombre del grupo radio |
-| [`requiredList`](properties_RangeOfValues.md#required-list) | Permite definir una lista en la que sólo se pueden insertar determinados valores. | Una lista de valores obligatorios. |
-| [`resizable`](properties_ResizingOptions.md#resizable) | Designa si el tamaño de un objeto puede ser modificado por el usuario. | "true", "false" |
-| [`resizingMode`](properties_ResizingOptions.md#column-auto-resizing) | Specifies if a list box column should be automatically resized | "rightToLeft", "legacy" |
-| [`right`](properties_CoordinatesAndSizing.md#right) | Posiciona un objeto a la derecha. | mínimo: 0 |
-| [`rowControlSource`](properties_ListBox.md#row-control-array) | Un array 4D que define las líneas del list box. | Array |
-| [`rowCount`](properties_Crop.md#rows) | Define el número de líneas. | mínimo: 1 |
-| [`rowFillSource`](properties_BackgroundAndBorder.md#row-background-color-array) (list box array)
[`rowFillSource`](properties_BackgroundAndBorder.md#background-color-expression) (list box selección o colección) | El nombre de un array o expresión para aplicar un color de fondo personalizado a cada línea de un list box. | El nombre de un array o expresión. |
-| [`rowHeight`](properties_CoordinatesAndSizing.md#row-height) | Define la altura de las líneas del list box. | Valor CSS la unidad "em" o "px" (por defecto). |
-| [`rowHeightAuto`](properties_CoordinatesAndSizing.md#automatic-row-height) | boolean | "true", "false" |
-| [`rowHeightAutoMax`](properties_CoordinatesAndSizing.md#maximum-width) | Designa la mayor altura permitida para las líneas del list box. | Valor CSS la unidad "em" o "px" (por defecto). mínimo: 0 |
-| [`rowHeightAutoMin`](properties_CoordinatesAndSizing.md#minimum-width) | Designa la menor altura permitida para las líneas del list box. | Valor CSS la unidad "em" o "px" (por defecto). mínimo: 0 |
-| [`rowHeightSource`](properties_CoordinatesAndSizing.md#row-height-array) | Un array que define diferentes alturas para las líneas de un list box. | Nombre de una variable array 4D. |
-| [`rowStrokeSource`](properties_Text.md#row-font-color-array) (list box array)
[`rowStrokeSource`](properties_Text.md#font-color-expression) (selección o colección/list box entity selection) | Un array o expresión para gestionar los colores de las líneas. | Nombre del array o expresión. |
-| [`rowStyleSource`](properties_Text.md#row-style-array) (list box array)
[`rowStyleSource`](properties_Text.md#style-expression) (selección o list box colección/entity selection) | Un array o expresión para gestionar los estilos de las líneas. | Nombre del array o expresión. |
-| **s** | | |
-| [`saveAs`](properties_DataSource.md#save-as) (columna list box)
[`saveAs`](properties_DataSource.md#data-type-list) (lista desplegable) | El tipo de contenido a guardar en el campo o variable asociado al objeto formulario | "value", "reference" |
-| [`scrollbarHorizontal`](properties_Appearance.md#horizontal-scroll-bar) | Una herramienta que permite al usuario desplazar el área de visualización hacia la izquierda o la derecha. | "visible", "hidden", "automatic" |
-| [`scrollbarVertical`](properties_Appearance.md#vertical-scroll-bar) | Una herramienta que permite al usuario mover el área de visualización hacia arriba o hacia abajo. | "visible", "hidden", "automatic" |
-| [`selectedItemsSource`](properties_DataSource.md#selected-items) | Colección de los elementos seleccionados en un list box. | Expresión de la colección |
-| [`selectionMode`](properties_Action.md#multi-selectable) (lista jerárquica)
[`selectionMode`](properties_ListBox.md#selection-mode) (list box)
[`selectionMode`](properties_Subform.md#selection-mode) (subformulario) | Permite la selección de múltiples registros/líneas. | "multiple", "single", "none" |
-| [`shortcutAccel`](properties_Entry.md#shortcut) | Diseña la tecla de aceleración (Ctrl Windows/Comando macOS). | true, false |
-| [`shortcutAlt`](properties_Entry.md#shortcut) | Designa la tecla Alt | true, false |
-| [`shortcutCommand`](properties_Entry.md#shortcut) | Designa la tecla Comando (macOS) | true, false |
-| [`shortcutControl`](properties_Entry.md#shortcut) | Designa la tecla Control (Windows) | true, false |
-| [`shortcutKey`](properties_Entry.md#shortcut) | La letra o el nombre de una tecla de significado especial. | "a", "b",... o [F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" |
-| [`shortcutShift`](properties_Entry.md#shortcut) | Designa la tecla Mayús | true, false |
-| [`showFooters`](properties_Footers.md#display-footers) | Muestra u oculta los pies de página de las columnas. | true, false |
-| [`showGraduations`](properties_Scale.md#display-graduation) | Muestra/Oculta las graduaciones junto a las etiquetas. | true, false |
-| [`showHeaders`](properties_Headers.md#display-headers) | Muestra u oculta los encabezados de las columnas. | true, false |
-| [`showHiddenChars`](properties_Appearance.md#show-hidden-characters) | Muestra/oculta los caracteres invisibles. | true, false |
-| [`showHorizontalRuler`](properties_Appearance.md#show-horizontal-ruler) | Muestra/oculta la regla horizontal cuando la vista del documento está en modo vista Página | true, false |
-| [`showHTMLWysiwyg`](properties_Appearance.md#show-html-wysiwyg) | Activa/desactiva la vista HTML WYSIWYG | true, false |
-| [`showPageFrames`](properties_Appearance.md#show-page-frame) | Muestra/oculta el marco de página cuando la vista del documento está en modo vista Página | true, false |
-| [`showReferences`](properties_Appearance.md#show-references) | Muestra todas las expresiones 4D insertadas en el documento de 4D Write Pro como *referencias* | true, false |
-| [`showSelection`](properties_Entry.md#selection-always-visible) | Mantiene la selección visible dentro del objeto después de haber perdido el foco | true, false |
-| [`showVerticalRuler`](properties_Appearance.md#show-vertical-ruler) | Muestra/oculta la regla vertical cuando la vista del documento está en modo vista Página | true, false |
-| [`singleClickEdit`](properties_Entry.md#single-click-edit) | Permite el paso directo al modo de edición. | true, false |
-| [`sizingX`](properties_ResizingOptions.md#horizontal-sizing) | Especifica si el tamaño horizontal de un objeto debe ser movido o redimensionado cuando un usuario cambia el tamaño del formulario. | "grow", "move", "fixed" |
-| [`sizingY`](properties_ResizingOptions.md#horizontal-sizing) | Especifica si el tamaño vertical de un objeto debe ser movido o redimensionado cuando un usuario cambia el tamaño del formulario. | "grow", "move", "fixed" |
-| [`sortable`](properties_Action.md#sortable) | Permite ordenar los datos de las columnas haciendo clic en el encabezado. | true, false |
-| [`spellcheck`](properties_Entry.md#auto-spellcheck) | Activa la corrección ortográfica para el objeto | true, false |
-| [`splitterMode`](properties_ResizingOptions.md#pusher) | Cuando un objeto splitter tiene esta propiedad, los otros objetos a su derecha (splitter vertical) o debajo de él (separador horizontal) son empujados al mismo tiempo que el splitter, sin parar. | "grow", "move", "fixed" |
-| [`startPoint`](shapes_overview.md#startpoint-property) | Punto de partida para dibujar un objeto de línea (sólo disponible en la gramática JSON). | "bottomLeft", topLeft" |
-| [`staticColumnCount`](properties_ListBox.md#number-of-static-columns) | Número de columnas que no se pueden mover durante la ejecución. | mínimo: 0 |
-| [`step`](properties_Scale.md#step) | Intervalo mínimo aceptado entre los valores durante el uso. Para los steppers numéricos, esta propiedad representa los segundos cuando el objeto está asociado a un valor de tipo hora y los días cuando está asociado a un valor de tipo fecha. | mínimo: 1 |
-| [`storeDefaultStyle`](properties_Text.md#store-with-default-style-tags) | Almacenar las etiquetas de estilo con el texto, incluso si no se ha realizado ninguna modificación | true, false |
-| [`stroke`](properties_Text.md#font-color) (text)
[`stroke`](properties_BackgroundAndBorder.md#line-color) (lines)
[`stroke`](properties_Text.md#font-color) (list box) | Especifica el color de la fuente o línea utilizada en el objeto. | Todo valor CSS, "transparent", "automatic" |
-| [`strokeDashArray`](properties_BackgroundAndBorder.md#dotted-line-type) | Describe el tipo de línea punteada como una secuencia de puntos blancos y negros | Arrays numéricos o cadenas |
-| [`strokeWidth`](properties_BackgroundAndBorder.md#line-width) | Designa el grosor de una línea. | Un entero o 0 para el ancho más pequeño en un formulario impreso |
-| [`style`](properties_TextAndPicture.md#button-style) | Permite definier el aspecto general del botón. Para más información, consulte Estilo de los botones. | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" |
-| [`styledText`](properties_Text.md#multi-style) | Permite utilizar los estilos específicos en el área seleccionada. | true, false |
-| [`switchBackWhenReleased`](properties_Animation.md#switch-back-when-released) | Muestra la primera imagen todo el tiempo, excepto cuando el usuario hace clic en el botón. Muestra la segunda imagen hasta que se suelta el botón del ratón. | true, false |
-| [`switchContinuously`](properties_Animation.md#switch-continuously-on-clicks) | Permite al usuario mantener pulsado el botón del ratón para mostrar las imágenes de forma continua (es decir, como una animación). | true, false |
-| [`switchWhenRollover`](properties_Animation.md#switch-when-roll-over) | Modifica el contenido del botón de la imagen cuando el cursor del ratón pasa por encima. La imagen inicial se muestra cuando el cursor sale del área del botón. | true, false |
-| **t** | | |
-| [`table`](properties_Subform.md#source) | Tabla a la que pertenece el subformulario Lista (si lo hay). | Nombre de tabla 4D, o "" |
-| [`text`](properties_Object.md#title) | El título del objeto formulario | Todo texto |
-| [`textAlign`](properties_Text.md#horizontal-alignment) | Ubicación horizontal del texto dentro del área que lo contiene. | "automatic", "right", "center", "justify", "left" |
-| [`textAngle`](properties_Text.md#orientation) | Modifica la orientación (rotación) del área de texto. | 0, 90, 180, 270 |
-| [`textDecoration`](properties_Text.md#underline) | Hace que el texto seleccionado tenga una línea por debajo. | "normal", "underline" |
-| [`textFormat`](properties_Display.md#alpha-format) | Controla la forma en que aparecen los campos alfanuméricos y las variables cuando se muestran o imprimen. | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", formatos personalizados |
-| [`textPlacement`](properties_TextAndPicture.md#titlepicture-position) | Ubicación relativa del título del botón en relación con el icono asociado. | "left", "top", "right", "bottom", "center" |
-| [`threeState`](properties_Display.md#three-states) | Permite que un objeto casilla de selección acepte un tercer estado. | true, false |
-| [`timeFormat`](properties_Display.md#time-format) | Controla la forma en que aparecen las fechas cuando se muestran o imprimen. | Formatos integrados ("systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MMM", "MM_SS", "blankIfNull") o [formatos personalizados](../Project/date-time-formats.md) |
-| [`truncateMode`](properties_Display.md#truncate-with-ellipsis) | Controla la visualización de los valores cuando las columnas del list box son demasiado estrechas para mostrar todo su contenido. | "withEllipsis", "none" |
-| [`type`](properties_Object.md#type) | Obligatorio. Designa el tipo de datos del objeto formulario. | "text", "rectangle", "groupBox", "tab", "line", "button", "checkbox", "radio", "dropdown", "combo", "webArea", "write", "subform", "plugin", "splitter", "buttonGrid", "progress", "ruler", "spinner", "stepper", "list", "pictureButton", "picturePopup", "listbox", "input", "view" |
-| [`tooltip`](properties_Help.md) | Ofrece a los usuarios información adicional sobre un campo. | Información adicional para ayudar al usuario |
-| [`top`](properties_CoordinatesAndSizing.md#top) | Posiciona un objeto en la parte superior (centrado). | mínimo: 0 |
-| **u** | | |
-| [`urlSource`](properties_WebArea.md#url) | Designa la URL cargada o que está siendo cargada por el área web asociada. | Una URL. |
-| [`useLastFrameAsDisabled`](properties_Animation.md#use-last-frame-as-disabled) | Permite definir la última miniatura como la que se mostrará cuando el botón esté desactivado. | true, false |
-| [`userInterface`](properties_Appearance.md#user-interface) | Interfaz del área 4D View Pro. | "none" (por defecto), "ribbon", "toolbar" |
-| **v** | | |
-| [`values`](properties_DataSource.md#default-list-of-values) | Lista de valores por defecto para una columna de listbox array | ej.: "A","B","42"... |
-| [`variableCalculation`](properties_Object.md#variable-calculation) | Permite realizar cálculos matemáticos. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |
-| [`values`](properties_DataSource.md#default-list-values) | Ubicación vertical del texto dentro del área que lo contiene. | "automatic", "top", "middle", "bottom" |
-| [`verticalLineStroke`](properties_Gridlines.md#vertical-line-color) | Define el color de las líneas verticales de un list box (gris por defecto). | Todo valor CSS, "transparent", "automatic" |
-| [`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding) | Define un relleno vertical para las celdas del list box. | Número de píxeles (debe ser >=0) |
-| [`visibility`](properties_Display.md#visibility) | Permite ocultar el objeto en el entorno de la aplicación. | "visible", "hidden", "selectedRows", "unselectedRows" |
-| **w** | | |
-| [`webEngine`](properties_WebArea.md#use-embedded-web-rendering-engine) | Permite elegir entre dos motores de renderizado para el área web, dependiendo de las particularidades de la aplicación. | "embedded", "system" |
-| [`width`](properties_CoordinatesAndSizing.md#width) | Designa el tamaño horizontal de un objeto | mínimo: 0 |
-| [`withFormulaBar`](properties_Appearance.md#show-formula-bar) | Gestiona la visualización de una barra de fórmulas con la interfaz de la barra de herramientas en el área 4D View Pro. | true, false |
-| [`wordwrap`](properties_Display.md#wordwrap) | Gestiona la visualización del contenido cuando supera el ancho del objeto. | "automatic" (excluyendo list box), "normal", "none" |
-| [`writingTools`](properties_Entry.md#writing-tools) | Gestiona la disponibilidad de las herramientas de redacción locales basadas en IA. | true, false |
-| **z** | | |
-| [`zoom`](properties_Appearance.md#zoom) | Porcentaje de zoom para mostrar el área 4D Write Pro | numérico (mínimo=0) |
+| Propiedad | Descripción | Valores posibles | | | | |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | ------------------------------------------------------ | -------------------------------------------------------------------- | ----------- |
+| a | | | | | | |
+| [`action`](properties_Action.md#standard-action) | Acción típica a ejecutar. | El nombre de una acción estándar válida. | | | | |
+| [`allowFontColorPicker`](properties_Text.md#allow-fontcolor-picker) | Permite mostrar el selector de fuentes sistema o el selector de colores para editar los atributos de los objetos | true, false (por defecto) | | | | |
+| [`alternateFill`](properties_BackgroundAndBorder.md#alternate-background-color) | Permite definir un color de fondo diferente para las líneas o columnas impares de un list box. | Todos los valores css; "transparent"; "automatic"; "automaticAlternate" | | | | |
+| [`automaticInsertion`](properties_DataSource.md#automatic-insertion) | Permite añadir automáticamente un valor a una lista cuando un usuario introduce un valor que no está en la lista de elección asociada al objeto. | true, false | | | | |
+| **b** | | | | | | |
+| [`booleanFormat`](properties_Display.md#text-when-falsetext-when-true) | Indica sólo dos valores posibles. | true, false | | | | |
+| [`borderColor`](./properties_BackgroundAndBorder.md#border-color) | Define el color del borde de un botón, una casilla de selección o un botón de opción con estilo personalizado. | Cualquier valor CSS, "transparent", "automatic". Debe utilizarse junto con la opción de estilo "personalizado". | | | | |
+| [`borderFillColor`](properties_BackgroundAndBorder.md#background-color--fill-color) | Define el color de fondo de un botón, una casilla de selección o un botón de opción con estilo personalizado. | Cualquier valor CSS, "transparent", "automatic". Debe utilizarse junto con la opción de estilo "personalizado". | | | | |
+| [`borderRadius`](properties_BackgroundAndBorder.md#corner-radius) | El valor del radio para los rectángulos redondos. | mínimo: 0 | | | | |
+| [`borderStyle`](properties_BackgroundAndBorder.md#border-line-style) | Permite definir un estilo estándar para el borde del objeto. | "system", "none", "solid", "dotted", "raised", "sunken", "double", "custom" | | | | |
+| [`borderWidth`](./properties_BackgroundAndBorder.md#border-width) | Define el ancho del borde de un botón, una casilla de selección o un botón de opción con estilo personalizado. | mínimo: 0. Debe utilizarse junto con la opción de estilo "personalizado". | | | | |
+| [`bottom`](properties_CoordinatesAndSizing.md#bottom) | Posiciona un objeto en la parte inferior (centrado). | mínimo: 0 | | | | |
+| **c** | | | | | | |
+| [`choiceList`](properties_DataSource.md#choice-list) | Una lista de opciones asociadas a un objeto | Una lista de selección | | | | |
+| [`class`](properties_Object.md#css-class) | Una lista de palabras separadas por espacios que se utilizan como selectores de clase en los archivos css. | Una lista de nombres de clases | | | | |
+| [`columnCount`](properties_Crop.md#columns) | Número de columnas. | mínimo: 1 | | | | |
+| [`columns`](properties_ListBox.md#columns) | Una colección de columnas list box | Colección de objetos columna con propiedades de columna definidas | | | | |
+| [`contextMenu`](properties_Entry.md#context-menu) | Ofrece al usuario acceso a un menú contextual estándar en el área seleccionada. | "automatic", "none" | | | | |
+| [`continuousExecution`](properties_Action.md#execute-object-method) | Designa si se ejecuta o no el método de un objeto mientras el usuario sigue el control. | true, false | | | | |
+| [`controlType`](properties_Display.md#display-type) | Especifica cómo debe representarse el valor en una celda del list box. | "automatic" or "checkbox" for numeric columns, "popup" or "checkbox" for boolean columns | | | | |
+| [`currentItemSource`](properties_DataSource.md#current-item) | El último elemento seleccionado en un list box. | Expresión del objeto | | | | |
+| [`currentItemPositionSource`](properties_DataSource.md#current-item-position) | La posición del último elemento seleccionado en un list box. | Expresión numérica | | | | |
+| [`customBackgroundPicture`](properties_TextAndPicture.md#background-pathname) | Define la imagen que se dibujará en el fondo de un botón. | Ruta relativa en sintaxis POSIX. Debe utilizarse junto con la opción "Personalizado" de la propiedad "Style". | | | | |
+| [`customBorderX`](properties_TextAndPicture.md#horizontal-margin) | Define el tamaño (en píxeles) de los márgenes horizontales internos de un objeto. Debe utilizarse con la opción "Personalizado" de la propiedad "Style". | mínimo: 0 | | | | |
+| [`customBorderY`](properties_TextAndPicture.md#vertical-margin) | Define el tamaño (en píxeles) de los márgenes verticales internos de un objeto. Debe utilizarse con la opción "Personalizado" de la propiedad "Style". | mínimo: 0 | | | | |
+| [`customOffset`](properties_TextAndPicture.md#icon-offset) | Define un valor de desplazamiento personalizado en píxeles. Debe utilizarse con la opción "Personalizado" de la propiedad "Style". | mínimo: 0 | | | | |
+| [`customProperties`](properties_Plugins.md#advanced-properties) | Propiedades avanzadas (si las hay) | Cadena JSON o cadena codificada en base64 | | | | |
+| **d** | | | | | | |
+| [`dataSource`](properties_Object.md#variable-or-expression) (objetos)
[`dataSource`](properties_Subform.md#source) (subformularios)
[`dataSource`](properties_Object.md#data-source) (list box array)
[`dataSource`](properties_Object.md#collection-or-entity-selection) (list box colección o entity selection)
[`dataSource`](properties_DataSource.md#expression) (columna list box)
[`dataSource`](properties_Hierarchy.md#hierarchical-list-box) (list box jerárquico) | Indica el origen de los datos. | Una variable 4D, un nombre de campo o una expresión del lenguaje compleja arbitraria. | | | | |
+| [`dataSourceTypeHint`](properties_Object.md#expression-type) (objetos)
[`dataSourceTypeHint`](properties_DataSource.md#data-type-expression-type) (columna list box, lista desplegable) | Indica el tipo de variable. | "integer", "boolean", "number", "picture", "text", date", "time", "arrayText", "arrayDate", "arrayTime", "arrayNumber", "collection", "object", "undefined" | | | | |
+| [`dateFormat`](properties_Display.md#date-format) | Controla la forma en que aparecen las fechas cuando se muestran o imprimen. | Formatos integrados ("systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull") o [formatos personalizados](../Project/date-time-formats.md) | | | | |
+| [`defaultButton`](properties_Appearance.md#default-button) | Modifica la apariencia de un botón para indicar la opción recomendada al usuario. | true, false | | | | |
+| [`defaultValue`](properties_RangeOfValues.md#default-value) | Define un valor o un sello que se introduce por defecto en un objeto de entrada | Cadena o "#D", "#H", "#N" | | | | |
+| [`deletableInList`](properties_Subform.md#allow-deletion) | Especifica si el usuario puede eliminar subregistros en un subformulario listado | true, false | | | | |
+| [`detailForm`](properties_ListBox.md#detail-form-name) (list box)
[`detailForm`](properties_Subform.md#detail-form) (subformulario) | Asocia un formulario detallado con un subformulario listado. | Nombre (cadena) de la tabla o formulario proyecto, una ruta POSIX (cadena) a un archivo .json que describa el formulario, o un objeto que describa el formulario | | | | |
+| [`display`](properties_Display.md#not-rendered) | El objeto se dibuja o no en el formulario. | true, false | | | | |
+| [`displayFormulaAsSymbol`](properties_Display.md#display-formula-source-as-symbol) | Displays source text of formulas as symbols. | true, false | | | | |
+| [`doubleClickInEmptyAreaAction`](properties_Subform.md#double-click-on-empty-row) | Acción a realizar en caso de doble clic en una línea vacía de un subformulario listado. | "addSubrecord" o "" to do nothing | | | | |
+| [`doubleClickInRowAction`](properties_ListBox.md#double-click-on-row) (list box)
[`doubleClickInRowAction`](properties_Subform.md#double-click-on-row) (subform) | Acción a realizar en caso de doble clic en un registro. | "editSubrecord", "displaySubrecord" | | | | |
+| [`dpi`](properties_Appearance.md#resolution) | Resolución de la pantalla para el contenido del área 4D Write Pro. | 0=automatic, 72, 96 | | | | |
+| [`dragging`](properties_Action.md#draggable) | Activa la función de arrastrar. | "none", "custom", "automatic" (excluyendo lista, list box) | | | | |
+| [`dropping`](properties_Action.md#droppable) | Activa la función de soltar. | "none", "custom", "automatic" (excluyendo lista, list box) | | | | |
+| **e** | | | | | | |
+| [`enterable`](properties_Entry.md#enterable) | Indica si los usuarios pueden introducir valores en el objeto. | true, false | | | | |
+| [`enterableInList`](properties_Subform.md#enterable-in-list) | Indica si los usuarios pueden modificar los datos del registro directamente en el subformulario listado. | true, false | | | | |
+| [`entryFilter`](properties_Entry.md#entry-filter) | Asocia un filtro de entrada con el objeto o las celdas de la columna. Esta propiedad no es accesible si la propiedad Enterable no está activada. | Texto para acotar las entradas | | | | |
+| [`events`](Events/overview.md) | Lista de todos los eventos seleccionados para el objeto o el formulario | Colección de nombres de eventos, por ejemplo ["onClick", "onDataChange"...]. | | | | |
+| [`excludedList`](properties_RangeOfValues.md#excluded-list) | Permite definir una lista cuyos valores no pueden introducirse en la columna. | Lista de valores que deben excluirse. | | | | |
+| **f** | | | | | | |
+| [`fill`](properties_BackgroundAndBorder.md#background-color--fill-color) | Define el color de fondo de un objeto. | Todo valor CSS, "transparent", "automatic" | | | | |
+| [`focusable`](properties_Entry.md#focusable) | Indica si el objeto puede tener el foco (y por lo tanto puede ser activado por el teclado, por ejemplo) | true, false | | | | |
+| [`fontFamily`](properties_Text.md#font) | Especifica el nombre de la familia de fuentes utilizada en el objeto. | Nombre de la familia de fuentes CSS | | | | |
+| [`fontSize`](properties_Text.md#font-size) | Define el tamaño de la fuente en puntos cuando no se selecciona ningún tema de fuente | mínimo: 0 | | | | |
+| [`fontStyle`](properties_Text.md#italic) | Hace que el texto seleccionado se incline ligeramente hacia la derecha. | "normal", "italic" | | | | |
+| [`fontTheme`](properties_Text.md#font-theme) | Establece el estilo automático | "normal", "main", "additional" | | | | |
+| [`fontWeight`](properties_Text.md#bold) | Ajusta el texto seleccionado para que aparezca más oscuro y pesado. | "normal", "bold" | | | | |
+| [`footerHeight`](properties_Footers.md#height) | Sirve para fijar la altura de la línea | decimal positivo + px | em | | | | |
+| [`frameDelay`](properties_Animation.md#switch-every-x-seconds) | Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). | mínimo: 0 | | | | |
+| **g** | | | | | | |
+| [`graduationStep`](properties_Scale.md#graduation-step) | Medición de la visualización de la escala. | mínimo: 0 | | | | |
+| **h** | | | | | | |
+| [`header`](./listbox-header-footer.md#headers) | Define el encabezado de una columna list box | Objeto con propiedades "text", "name", "icon", "dataSource", "fontWeight", "fontStyle", "tooltip" | | | | |
+| [`headerHeight`](properties_Headers.md#height) | Sirve para fijar la altura de la línea | decimal positivo + px | em | | | | |
+| [`height`](properties_CoordinatesAndSizing.md#height) | Designa el tamaño vertical de un objeto | mínimo: 0 | | | | |
+| [`hideExtraBlankRows`](properties_BackgroundAndBorder.md#hide-extra-blank-rows) | Desactiva la visibilidad de las líneas vacías adicionales. | true, false | | | | |
+| [`hideFocusRing`](properties_Appearance.md#hide-focus-rectangle) | Oculta el rectángulo de selección cuando el objeto tiene el foco. | true, false | | | | |
+| [`hideSystemHighlight`](properties_Appearance.md#hide-selection-highlight) | Sirve para especificar la ocultación de los registros resaltados en el list box. | true, false | | | | |
+| [`highlightSet`](properties_ListBox.md#highlight-set) | Nombre del conjunto. | string | | | | |
+| [`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color) | Define el color de las líneas horizontales de un list box (gris por defecto). | Todo valor CSS, "transparent", "automatic" | | | | |
+| [`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding) | Define un relleno horizontal para las celdas listbox. | Número de píxeles (debe ser ≥ 0) | | | | |
+| **i** | | | | | | |
+| [`icon`](properties_TextAndPicture.md#picture-pathname) | El nombre de la ruta de la imagen utilizada para los botones, casillas de selección, botones de radio y encabezados de list box. | Ruta relativa o filesystem en sintaxis POSIX. | | | | |
+| [`iconFrames`](properties_TextAndPicture.md#number-of-states) | Define el número exacto de estados presentes en la imagen. | mínimo: 1 | | | | |
+| [`iconPlacement`](properties_TextAndPicture.md#icon-location) | Designa la ubicación de un icono en relación con el objeto formulario. | "none", "left", "right" | | | | |
+| [`imageHugsTitle`](properties_TextAndPicture.md#image-hugs-title) | Define si el título y la imagen del botón deben estar visualmente contiguos. | true (por defecto), false | | | | |
+| **k** | | | | | | |
+| [`keyboardDialect`](properties_Entry.md#keyboard-layout) | Para asociar una disposición de teclado específica a una entrada. | Una cadena de código de teclado, por ejemplo "ar-ma". | | | | |
+| **l** | | | | | | |
+| [`labels`](properties_DataSource.md#choice-list-static-list) | Una lista de valores que se utilizarán como etiquetas de control de pestañas | ej.: "a", "b, "c", ... | | | | |
+| [`labelsPlacement`](properties_Scale.md#label-location) (objetos)
[`labelsPlacement`](properties_Appearance.md#tab-control-direction) (control de pestañas) | Especifica la ubicación del texto mostrado de un objeto. | "none", "top", "bottom", "left", "right" | | | | |
+| [`layoutMode`](properties_Appearance.md#view-mode) | Modo de visualización del documento 4D Write Pro en el área del formulario. | "page", "draft", "embedded" | | | | |
+| [`left`](properties_CoordinatesAndSizing.md#left) | Posiciona un objeto a la izquierda. | mínimo: 0 | | | | |
+| `list`, ver [`choiceList`](properties_DataSource.md#choice-list) | Una lista de opciones asociada a una lista jerárquica | Una lista de selección | | | | |
+| [`listboxType`](properties_Object.md#data-source) | La fuente de datos del list box. | "array", "currentSelection", "namedSelection", "collection" | | | | |
+| [`listForm`](properties_Subform.md#list-form) | Formulario listado a utilizar en el subformulario. | Nombre (cadena) de la tabla o formulario proyecto, una ruta POSIX (cadena) a un archivo .json que describa el formulario, o un objeto que describa el formulario | | | | |
+| [`lockedColumnCount`](properties_ListBox.md#number-of-locked-columns) | Número de columnas que deben permanecer permanentemente en la parte izquierda de un list box. | mínimo: 0 | | | | |
+| [`loopBackToFirstFrame`](properties_Animation.md#loop-back-to-first-frame) | Las imágenes se muestran en un bucle continuo. | true, false | | | | |
+| **m** | | | | | | |
+| [`max`](properties_Scale.md#maximum) | El valor máximo permitido. En el caso de los steppers numéricos, estas propiedades representan segundos cuando el objeto está asociado a un valor de tipo hora y se ignoran cuando está asociado a un valor de tipo fecha. | mínimo: 0 (para tipos de datos numéricos) | | | | |
+| [`maxWidth`](properties_CoordinatesAndSizing.md#maximum-width) | Designa el mayor tamaño permitido para las columnas list box. | mínimo: 0 | | | | |
+| [`metaSource`](properties_Text.md#meta-info-expression) | Un objeto meta que contiene parámetros de estilo y selección. | Una expresión de objeto | | | | |
+| [`method`](properties_Action.md#method) | Un nombre de método proyecto. | El nombre de un método proyecto existente | | | | |
+| [`methodsAccessibility`](properties_WebArea.md#access-4d-methods) | Qué métodos 4D se pueden llamar desde un área web | "none" (por defecto), "all" | | | | |
+| [`min`](properties_Scale.md#minimum) | El valor mínimo permitido. En el caso de los steppers numéricos, estas propiedades representan segundos cuando el objeto está asociado a un valor de tipo hora y se ignoran cuando está asociado a un valor de tipo fecha. | mínimo: 0 (para tipos de datos numéricos) | | | | |
+| [`minWidth`](properties_CoordinatesAndSizing.md#minimum-width) | Designa el menor tamaño permitido para las columnas list box. | mínimo: 0 | | | | |
+| [`movableRows`](properties_Action.md#movable-rows) | Autoriza el desplazamiento de líneas durante la ejecución. | true, false | | | | |
+| [`multiline`](properties_Entry.md#multiline) | Maneja contenidos multilínea. | "yes", "no", "automatic" | | | | |
+| **n** | | | | | | |
+| [`name`](properties_Object.md#object-name) | El nombre del objeto formulario. (Opcional para el formulario) | Todo nombre que no pertenezca a un objeto ya existente | | | | |
+| [`numberFormat`](properties_Display.md#number-format) | Controla la forma en que aparecen los campos alfanuméricos y las variables cuando se muestran o imprimen. | Números (incluyendo un punto decimal o un signo menos si es necesario) | | | | |
+| **p** | | | | | | |
+| [`paddingBottom`](properties_CoordinatesAndSizing.md#bottom-padding) | Define el espacio entre el borde inferior del objeto y su contenido de texto. | mínimo: 0 | | | | |
+| [`paddingLeft`](properties_CoordinatesAndSizing.md#left-padding) | Define el espacio entre el borde izquierdo del objeto y su contenido de texto. | mínimo: 0 | | | | |
+| [`paddingRight`](properties_CoordinatesAndSizing.md#right-padding) | Define el espacio entre el borde derecho del objeto y su contenido de texto. | mínimo: 0 | | | | |
+| [`paddingTop`](properties_CoordinatesAndSizing.md#top-padding) | Define el espacio entre el borde superior del objeto y su contenido de texto. | mínimo: 0 | | | | |
+| [`picture`](properties_Picture.md#pathname) | El nombre de la ruta de la imagen para los botones de imagen, los menús emergentes de imagen o las imágenes estáticas | Ruta relativa o del sistema de archivos en sintaxis POSIX, o "var:\" para una variable tipo imagen. | | | | |
+| [`pictureFormat`](properties_Display.md#picture-format) (entrada, columna de list box o pie de página)
[`pictureFormat`](properties_Picture.md#display) (imagen estática) | Controla la apariencia de las imágenes al mostrarlas o imprimirlas. | "truncatedTopLeft", "scaled", "truncatedCenter", "tiled", "proportionalTopLeft" (excluyendo imágenes estáticas), "proportionalCenter"(excluyendo imágenes estáticas) | | | | |
+| [`placeholder`](properties_Entry.md#placeholder) | Desenfoca el texto cuando el valor de la fuente de datos está vacío. | Texto que debe estar en gris. | | | | |
+| [`pluginAreaKind`](properties_Object.md#plug-in-kind) | Describe el tipo de plug-in. | El tipo de plug-in. | | | | |
+| [`popupPlacement`](properties_TextAndPicture.md#with-pop-up-menu) | Permite mostrar un símbolo que aparece como un triángulo en el botón, que indica que hay un menú emergente adjunto. | "None", Linked", "Separated" | | | | |
+| [`printFrame`](properties_Print.md#print-frame) | Modo de impresión para objetos cuyo tamaño puede variar de un registro a otro en función de su contenido | "fixed", "variable", (subformulario únicamente) "fixedMultiple" | | | | |
+| [`progressSource`](properties_WebArea.md#progression) | Un valor entre 0 y 100, que representa el porcentaje de finalización de la carga de la página en el área web. Actualizado automáticamente por 4D, no puede ser modificado manualmente. | mínimo: 0 | | | | |
+| **r** | | | | | | |
+| [`radioGroup`](properties_Object.md#radio-group) | Permite utilizar los botones de radio en conjuntos coordinados: sólo se puede seleccionar un botón a la vez en el conjunto. | Nombre del grupo radio | | | | |
+| [`requiredList`](properties_RangeOfValues.md#required-list) | Permite definir una lista en la que sólo se pueden insertar determinados valores. | Una lista de valores obligatorios. | | | | |
+| [`resizable`](properties_ResizingOptions.md#resizable) | Designa si el tamaño de un objeto puede ser modificado por el usuario. | "true", "false" | | | | |
+| [`resizingMode`](properties_ResizingOptions.md#column-auto-resizing) | Specifies if a list box column should be automatically resized | "rightToLeft", "legacy" | | | | |
+| [`right`](properties_CoordinatesAndSizing.md#right) | Posiciona un objeto a la derecha. | mínimo: 0 | | | | |
+| [`rowControlSource`](properties_ListBox.md#row-control-array) | Un array 4D que define las líneas del list box. | Array | | | | |
+| [`rowCount`](properties_Crop.md#rows) | Define el número de líneas. | mínimo: 1 | | | | |
+| [`rowFillSource`](properties_BackgroundAndBorder.md#row-background-color-array) (list box array)
[`rowFillSource`](properties_BackgroundAndBorder.md#background-color-expression) (list box selección o colección) | El nombre de un array o expresión para aplicar un color de fondo personalizado a cada línea de un list box. | El nombre de un array o expresión. | | | | |
+| [`rowHeight`](properties_CoordinatesAndSizing.md#row-height) | Define la altura de las líneas del list box. | Valor CSS la unidad "em" o "px" (por defecto). | | | | |
+| [`rowHeightAuto`](properties_CoordinatesAndSizing.md#automatic-row-height) | boolean | "true", "false" | | | | |
+| [`rowHeightAutoMax`](properties_CoordinatesAndSizing.md#maximum-width) | Designa la mayor altura permitida para las líneas del list box. | Valor CSS la unidad "em" o "px" (por defecto). mínimo: 0 | | | | |
+| [`rowHeightAutoMin`](properties_CoordinatesAndSizing.md#minimum-width) | Designa la menor altura permitida para las líneas del list box. | Valor CSS la unidad "em" o "px" (por defecto). mínimo: 0 | | | | |
+| [`rowHeightSource`](properties_CoordinatesAndSizing.md#row-height-array) | Un array que define diferentes alturas para las líneas de un list box. | Nombre de una variable array 4D. | | | | |
+| [`rowStrokeSource`](properties_Text.md#row-font-color-array) (list box array)
[`rowStrokeSource`](properties_Text.md#font-color-expression) (selección o colección/list box entity selection) | Un array o expresión para gestionar los colores de las líneas. | Nombre del array o expresión. | | | | |
+| [`rowStyleSource`](properties_Text.md#row-style-array) (list box array)
[`rowStyleSource`](properties_Text.md#style-expression) (selección o list box colección/entity selection) | Un array o expresión para gestionar los estilos de las líneas. | Nombre del array o expresión. | | | | |
+| **s** | | | | | | |
+| [`saveAs`](properties_DataSource.md#save-as) (columna list box)
[`saveAs`](properties_DataSource.md#data-type-list) (lista desplegable) | El tipo de contenido a guardar en el campo o variable asociado al objeto formulario | "value", "reference" | | | | |
+| [`scrollbarHorizontal`](properties_Appearance.md#horizontal-scroll-bar) | Una herramienta que permite al usuario desplazar el área de visualización hacia la izquierda o la derecha. | "visible", "hidden", "automatic" | | | | |
+| [`scrollbarVertical`](properties_Appearance.md#vertical-scroll-bar) | Una herramienta que permite al usuario mover el área de visualización hacia arriba o hacia abajo. | "visible", "hidden", "automatic" | | | | |
+| [`selectedItemsSource`](properties_DataSource.md#selected-items) | Colección de los elementos seleccionados en un list box. | Expresión de la colección | | | | |
+| [`selectionMode`](properties_Action.md#multi-selectable) (lista jerárquica)
[`selectionMode`](properties_ListBox.md#selection-mode) (list box)
[`selectionMode`](properties_Subform.md#selection-mode) (subformulario) | Permite la selección de múltiples registros/líneas. | "multiple", "single", "none" | | | | |
+| [`shortcutAccel`](properties_Entry.md#shortcut) | Diseña la tecla de aceleración (Ctrl Windows/Comando macOS). | true, false | | | | |
+| [`shortcutAlt`](properties_Entry.md#shortcut) | Designa la tecla Alt | true, false | | | | |
+| [`shortcutCommand`](properties_Entry.md#shortcut) | Designa la tecla Comando (macOS) | true, false | | | | |
+| [`shortcutControl`](properties_Entry.md#shortcut) | Designa la tecla Control (Windows) | true, false | | | | |
+| [`shortcutKey`](properties_Entry.md#shortcut) | La letra o el nombre de una tecla de significado especial. | "a", "b",... o [F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | | | | |
+| [`shortcutShift`](properties_Entry.md#shortcut) | Designa la tecla Mayús | true, false | | | | |
+| [`showBackground`](properties_Appearance.md#show-background-and-anchored-elements) | Displays or hides background contents. | true, false | | | | |
+| [`showEmptyImages`](properties_Appearance.md#show-empty-or-unsupported-images) | Displays/hides a black rectangle for empty images | true, false | | [`showFooters`](properties_Footers.md#display-footers) | Muestra u oculta los pies de página de las columnas. | true, false |
+| [`showGraduations`](properties_Scale.md#display-graduation) | Muestra/Oculta las graduaciones junto a las etiquetas. | true, false | | | | |
+| [`showHeaders`](properties_Headers.md#display-headers) | Muestra u oculta los encabezados de las columnas. | true, false | | | | |
+| [`showHiddenChars`](properties_Appearance.md#show-hidden-characters) | Muestra/oculta los caracteres invisibles. | true, false | | | | |
+| [`showHorizontalRuler`](properties_Appearance.md#show-horizontal-ruler) | Muestra/oculta la regla horizontal cuando la vista del documento está en modo vista Página | true, false | | | | |
+| [`showHTMLWysiwyg`](properties_Appearance.md#show-html-wysiwyg) | Activa/desactiva la vista HTML WYSIWYG | true, false | | | | |
+| [`showPageFrames`](properties_Appearance.md#show-page-frame) | Muestra/oculta el marco de página cuando la vista del documento está en modo vista Página | true, false | | | | |
+| [`showReferences`](properties_Appearance.md#show-references) | Muestra todas las expresiones 4D insertadas en el documento de 4D Write Pro como *referencias* | true, false | | | | |
+| [`showSelection`](properties_Entry.md#selection-always-visible) | Mantiene la selección visible dentro del objeto después de haber perdido el foco | true, false | | | | |
+| [`showTableBorders`](properties_Appearance.md#show-table-borders) | Displays internal and external table borders as dotted lines when these borders are invisible | true, false | | | | |
+| [`showVerticalRuler`](properties_Appearance.md#show-vertical-ruler) | Muestra/oculta la regla vertical cuando la vista del documento está en modo vista Página | true, false | | | | |
+| [`singleClickEdit`](properties_Entry.md#single-click-edit) | Permite el paso directo al modo de edición. | true, false | | | | |
+| [`sizingX`](properties_ResizingOptions.md#horizontal-sizing) | Especifica si el tamaño horizontal de un objeto debe ser movido o redimensionado cuando un usuario cambia el tamaño del formulario. | "grow", "move", "fixed" | | | | |
+| [`sizingY`](properties_ResizingOptions.md#horizontal-sizing) | Especifica si el tamaño vertical de un objeto debe ser movido o redimensionado cuando un usuario cambia el tamaño del formulario. | "grow", "move", "fixed" | | | | |
+| [`sortable`](properties_Action.md#sortable) | Permite ordenar los datos de las columnas haciendo clic en el encabezado. | true, false | | | | |
+| [`spellcheck`](properties_Entry.md#auto-spellcheck) | Activa la corrección ortográfica para el objeto | true, false | | | | |
+| [`splitterMode`](properties_ResizingOptions.md#pusher) | Cuando un objeto splitter tiene esta propiedad, los otros objetos a su derecha (splitter vertical) o debajo de él (separador horizontal) son empujados al mismo tiempo que el splitter, sin parar. | "grow", "move", "fixed" | | | | |
+| [`startPoint`](shapes_overview.md#startpoint-property) | Punto de partida para dibujar un objeto de línea (sólo disponible en la gramática JSON). | "bottomLeft", topLeft" | | | | |
+| [`staticColumnCount`](properties_ListBox.md#number-of-static-columns) | Número de columnas que no se pueden mover durante la ejecución. | mínimo: 0 | | | | |
+| [`step`](properties_Scale.md#step) | Intervalo mínimo aceptado entre los valores durante el uso. Para los steppers numéricos, esta propiedad representa los segundos cuando el objeto está asociado a un valor de tipo hora y los días cuando está asociado a un valor de tipo fecha. | mínimo: 1 | | | | |
+| [`storeDefaultStyle`](properties_Text.md#store-with-default-style-tags) | Almacenar las etiquetas de estilo con el texto, incluso si no se ha realizado ninguna modificación | true, false | | | | |
+| [`stroke`](properties_Text.md#font-color) (text)
[`stroke`](properties_BackgroundAndBorder.md#line-color) (lines)
[`stroke`](properties_Text.md#font-color) (list box) | Especifica el color de la fuente o línea utilizada en el objeto. | Todo valor CSS, "transparent", "automatic" | | | | |
+| [`strokeDashArray`](properties_BackgroundAndBorder.md#dotted-line-type) | Describe el tipo de línea punteada como una secuencia de puntos blancos y negros | Arrays numéricos o cadenas | | | | |
+| [`strokeWidth`](properties_BackgroundAndBorder.md#line-width) | Designa el grosor de una línea. | Un entero o 0 para el ancho más pequeño en un formulario impreso | | | | |
+| [`style`](properties_TextAndPicture.md#button-style) | Permite definier el aspecto general del botón. Para más información, consulte Estilo de los botones. | "regular", "flat", "toolbar", "bevel", "roundedBevel", "gradientBevel", "texturedBevel", "office", "help", "circular", "disclosure", "roundedDisclosure", "custom" | | | | |
+| [`styledText`](properties_Text.md#multi-style) | Permite utilizar los estilos específicos en el área seleccionada. | true, false | | | | |
+| [`switchBackWhenReleased`](properties_Animation.md#switch-back-when-released) | Muestra la primera imagen todo el tiempo, excepto cuando el usuario hace clic en el botón. Muestra la segunda imagen hasta que se suelta el botón del ratón. | true, false | | | | |
+| [`switchContinuously`](properties_Animation.md#switch-continuously-on-clicks) | Permite al usuario mantener pulsado el botón del ratón para mostrar las imágenes de forma continua (es decir, como una animación). | true, false | | | | |
+| [`switchWhenRollover`](properties_Animation.md#switch-when-roll-over) | Modifica el contenido del botón de la imagen cuando el cursor del ratón pasa por encima. La imagen inicial se muestra cuando el cursor sale del área del botón. | true, false | | | | |
+| **t** | | | | | | |
+| [`table`](properties_Subform.md#source) | Tabla a la que pertenece el subformulario Lista (si lo hay). | Nombre de tabla 4D, o "" | | | | |
+| [`text`](properties_Object.md#title) | El título del objeto formulario | Todo texto | | | | |
+| [`textAlign`](properties_Text.md#horizontal-alignment) | Ubicación horizontal del texto dentro del área que lo contiene. | "automatic", "right", "center", "justify", "left" | | | | |
+| [`textAngle`](properties_Text.md#orientation) | Modifica la orientación (rotación) del área de texto. | 0, 90, 180, 270 | | | | |
+| [`textDecoration`](properties_Text.md#underline) | Hace que el texto seleccionado tenga una línea por debajo. | "normal", "underline" | | | | |
+| [`textFormat`](properties_Display.md#alpha-format) | Controla la forma en que aparecen los campos alfanuméricos y las variables cuando se muestran o imprimen. | "### ####", "(###) ### ####", "### ### ####", "### ## ####", "00000", formatos personalizados | | | | |
+| [`textPlacement`](properties_TextAndPicture.md#titlepicture-position) | Ubicación relativa del título del botón en relación con el icono asociado. | "left", "top", "right", "bottom", "center" | | | | |
+| [`threeState`](properties_Display.md#three-states) | Permite que un objeto casilla de selección acepte un tercer estado. | true, false | | | | |
+| [`timeFormat`](properties_Display.md#time-format) | Controla la forma en que aparecen las fechas cuando se muestran o imprimen. | Formatos integrados ("systemShort", "systemMedium", "systemLong", "iso8601", "hh_mm_ss", "hh_mm", "hh_mm_am", "mm_ss", "HH_MM_SS", "HH_MMM", "MM_SS", "blankIfNull") o [formatos personalizados](../Project/date-time-formats.md) | | | | |
+| [`truncateMode`](properties_Display.md#truncate-with-ellipsis) | Controla la visualización de los valores cuando las columnas del list box son demasiado estrechas para mostrar todo su contenido. | "withEllipsis", "none" | | | | |
+| [`type`](properties_Object.md#type) | Obligatorio. Designa el tipo de datos del objeto formulario. | "text", "rectangle", "groupBox", "tab", "line", "button", "checkbox", "radio", "dropdown", "combo", "webArea", "write", "subform", "plugin", "splitter", "buttonGrid", "progress", "ruler", "spinner", "stepper", "list", "pictureButton", "picturePopup", "listbox", "input", "view" | | | | |
+| [`tooltip`](properties_Help.md) | Ofrece a los usuarios información adicional sobre un campo. | Información adicional para ayudar al usuario | | | | |
+| [`top`](properties_CoordinatesAndSizing.md#top) | Posiciona un objeto en la parte superior (centrado). | mínimo: 0 | | | | |
+| **u** | | | | | | |
+| [`urlSource`](properties_WebArea.md#url) | Designa la URL cargada o que está siendo cargada por el área web asociada. | Una URL. | | | | |
+| [`useLastFrameAsDisabled`](properties_Animation.md#use-last-frame-as-disabled) | Permite definir la última miniatura como la que se mostrará cuando el botón esté desactivado. | true, false | | | | |
+| [`userInterface`](properties_Appearance.md#user-interface) | Interfaz del área 4D View Pro. | "none" (por defecto), "ribbon", "toolbar" | | | | |
+| **v** | | | | | | |
+| [`values`](properties_DataSource.md#default-list-of-values) | Lista de valores por defecto para una columna de listbox array | ej.: "A","B","42"... | | | | |
+| [`variableCalculation`](properties_Object.md#variable-calculation) | Permite realizar cálculos matemáticos. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquares" | | | | |
+| [`values`](properties_DataSource.md#default-list-values) | Ubicación vertical del texto dentro del área que lo contiene. | "automatic", "top", "middle", "bottom" | | | | |
+| [`verticalLineStroke`](properties_Gridlines.md#vertical-line-color) | Define el color de las líneas verticales de un list box (gris por defecto). | Todo valor CSS, "transparent", "automatic" | | | | |
+| [`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding) | Define un relleno vertical para las celdas del list box. | Número de píxeles (debe ser >=0) | | | | |
+| [`visibility`](properties_Display.md#visibility) | Permite ocultar el objeto en el entorno de la aplicación. | "visible", "hidden", "selectedRows", "unselectedRows" | | | | |
+| **w** | | | | | | |
+| [`webEngine`](properties_WebArea.md#use-embedded-web-rendering-engine) | Permite elegir entre dos motores de renderizado para el área web, dependiendo de las particularidades de la aplicación. | "embedded", "system" | | | | |
+| [`width`](properties_CoordinatesAndSizing.md#width) | Designa el tamaño horizontal de un objeto | mínimo: 0 | | | | |
+| [`withFormulaBar`](properties_Appearance.md#show-formula-bar) | Gestiona la visualización de una barra de fórmulas con la interfaz de la barra de herramientas en el área 4D View Pro. | true, false | | | | |
+| [`wordwrap`](properties_Display.md#wordwrap) | Gestiona la visualización del contenido cuando supera el ancho del objeto. | "automatic" (excluding list box column and footer), "normal", "none" | | | | |
+| [`writingTools`](properties_Entry.md#writing-tools) | Gestiona la disponibilidad de las herramientas de redacción locales basadas en IA. | true, false | | | | |
+| **z** | | | | | | |
+| [`zoom`](properties_Appearance.md#zoom) | Porcentaje de zoom para mostrar el área 4D Write Pro | numérico (mínimo=0) | | | | |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md
index 883c39b215603f..3b790aba0b98d2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md
@@ -27,7 +27,7 @@ Ajusta el texto seleccionado para que aparezca más oscuro y pesado.
Puede definir esta propiedad utilizando el comando [**OBJECT SET FONT STYLE**](../commands/object-set-font-style).
-> Esto es texto normal.
+> Este es un texto normal.
> **Esto es texto en negrita.**
#### Gramática JSON
@@ -52,8 +52,8 @@ Hace que el texto seleccionado se incline ligeramente hacia la derecha.
También puede definir esta propiedad por medio del comando [**OBJECT SET FONT STYLE**](../commands/object-set-font-style).
-> Esto es texto normal.
-> *Este es texto en cursiva.*
+> Este es un texto normal.
+> Este es un texto normal.
#### Gramática JSON
@@ -77,9 +77,9 @@ Hace que el texto tenga una línea por debajo.
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| -------------- | -------------- | --------------------- |
-| textDecoration | string | "normal", "underline" |
+| Nombre | Tipos de datos | Valores posibles |
+| -------------- | -------------- | ------------------- |
+| textDecoration | string | "none", "underline" |
#### Objetos soportados
@@ -167,7 +167,7 @@ Permite definir el tamaño de la fuente del objeto en puntos.
#### Objetos soportados
-[Botón](button_overview.md) - [Casilla de verificación](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Lista desplegable](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Lista jerárquica](list_overview.md) - [Entrada](input_overview.md) - [List Box](listbox_overview.md) - [Columna de List Box](listbox-column.md) - [Pie de List Box](listbox-header-footer.md#footers) - [Encabezado de List Box](listbox-header-footer.md#headers) - [Botón de opción](radio_overview.md) - [Área de texto](text.md)
+[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox-column.md) - [List Box Footer](listbox-header-footer.md#footers) - [List Box Header](listbox-header-footer.md#headers) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Text Area](text.md)
#### Comandos
@@ -179,7 +179,11 @@ Permite definir el tamaño de la fuente del objeto en puntos.
Designa el color de la fuente.
-> Esta propiedad también define el color del borde del objeto (si existe) cuando se utiliza el estilo "plano" o "punteado".
+:::note
+
+For objects with text properties, this property also sets the color of the border when "plain" or "dotted" [border style](./properties_BackgroundAndBorder.md#border-line-style) is used, except if you used the [Border color](./properties_BackgroundAndBorder.md#border-color) property.
+
+:::
El color puede ser especificado por:
@@ -187,7 +191,7 @@ El color puede ser especificado por:
- un valor HEX - como "# ff0000"
- un valor RVA - como "rgb (255,0,0)"
-También puede definir esta propiedad utilizando el comando [**OBJECT SET RGB COLORS**](../commands/object-set-rgb-colors).
+You can also set this property using the [**OBJECT SET RGB COLORS**](../commands/object-set-rgb-colors) command.
#### Gramática JSON
@@ -197,7 +201,7 @@ También puede definir esta propiedad utilizando el comando [**OBJECT SET RGB CO
#### Objetos soportados
-[Botón](button_overview.md) - [Casilla de verificación](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Lista desplegable](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Lista jerárquica](list_overview.md) - [Entrada](input_overview.md) - [List Box](listbox_overview.md) - [Columna de List Box](listbox-column.md) - [Pie de List Box](listbox-header-footer.md#footers) - [Encabezado de List Box](listbox-header-footer.md#headers) - [Indicadores de progreso](progressIndicator.md) - [Regla](ruler.md) - [Botón radio](radio_overview.md) - [Área de texto](text.md)
+[Button](button_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md) - [Input](input_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox-column.md) - [List Box Footer](listbox-header-footer.md#footers) - [List Box Header](listbox-header-footer.md#headers) - [Progress Indicators](progressIndicator.md) - [Radio Button](radio_overview.md) - [Ruler](ruler.md) - [Text Area](text.md)
#### Comandos
@@ -209,11 +213,11 @@ También puede definir esta propiedad utilizando el comando [**OBJECT SET RGB CO
`List box de tipo colección/selección de entidades`
-Se utiliza para aplicar un color de fuente personalizado a cada línea del list box. Debe utilizar valores de color RGB. Para más información, consulte la descripción del comando [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors).
+Se utiliza para aplicar un color de fuente personalizado a cada línea del list box. Debe utilizar valores de color RGB. For more information about this, refer to the description of the [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors) command.
Debe introducir una expresión o una variable (no se pueden utilizar variables de tipo array). La expresión o variable se evaluará para cada línea mostrada. Puede utilizar las constantes descritas en el comando [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors).
-También puede establecer esta propiedad utilizando el comando [`LISTBOX SET PROPERTY`](../commands/listbox-set-property) con la constante `lk font color expression`.
+You can also set this property using the [`LISTBOX SET PROPERTY`](../commands/listbox-set-property) command with `lk font color expression` constant.
> Esta propiedad también puede definirse mediante una [Expresión Meta Info](properties_Text.md#meta-info-expression).
@@ -246,7 +250,7 @@ Foreground color;Dark shadow color)
Utilizado para aplicar un estilo de fuente personalizado a cada línea de list box o de cada celda de la columna.
-Debe introducir una expresión o una variable (no se pueden utilizar variables de tipo array). La expresión o variable se evaluará para cada línea mostrada (si se aplica al list box) o cada celda mostrada (si se aplica a una columna). Puede usar las constantes listadas en el comando [`LISTBOX SET ROW FONT STYLE`](../commands/listbox-set-row-font-style).
+Debe introducir una expresión o una variable (no se pueden utilizar variables de tipo array). La expresión o variable se evaluará para cada línea mostrada (si se aplica al list box) o cada celda mostrada (si se aplica a una columna). You can use the constants listed in the [`LISTBOX SET ROW FONT STYLE`](../commands/listbox-set-row-font-style) command.
Ejemplo:
@@ -254,7 +258,7 @@ Ejemplo:
Choose([Companies]ID;Bold;Plain;Italic;Underline)
```
-También puede establecer esta propiedad utilizando el comando [`LISTBOX SET PROPERTY`](../commands/listbox-set-property) con la constante `lk font style expression`.
+You can also set this property using the [`LISTBOX SET PROPERTY`](../commands/listbox-set-property) command with `lk font style expression` constant.
> Esta propiedad también puede definirse mediante una [Expresión Meta Info](properties_Text.md#meta-info-expression).
@@ -286,7 +290,7 @@ Ubicación horizontal del texto dentro del área que lo contiene.
:::note
-- "automatic" no es compatible con [casillas de selección](checkbox_overview.md) y [botones radio](radio_overview.md)
+- "automatic" is not supported by [buttons](button_overview.md), [check boxes](checkbox_overview.md), and [radio buttons](radio_overview.md)
- "justify" sólo es compatible con las [entradas ](input_overview.md) y [áreas de texto](text.md)
:::
@@ -310,7 +314,7 @@ La opción **Predeterminado** (`automático` valor JSON) define la alineación s
- `abajo` para todos los datos (excepto las imágenes) y
- `arriba` para los datos del tipo imagen.
-Esta propiedad también puede ser manejada por los comandos [`OBJECT Get vertical alignment`](../commands/object-get-vertical-alignment) y [`OBJECT SET VERTICAL ALIGNMENT`](../commands/object-set-vertical-alignment).
+This property can also be handled by the [`OBJECT Get vertical alignment`](../commands/object-get-vertical-alignment) and [`OBJECT SET VERTICAL ALIGNMENT`](../commands/object-set-vertical-alignment) commands.
#### Gramática JSON
@@ -519,11 +523,11 @@ En el caso de los atributos de color de fuente y de fondo, el valor del color pu
Los comandos que pueden utilizarse para manipular objetos de texto por programación no tienen en cuenta ninguna etiqueta de estilo integrada en el texto. Sólo actúan sobre el texto visualizado. Esto afecta a los siguientes comandos:
-- comandos del tema [Interfaz de usuario](../commands/theme/User_Interface.md)
+- Comandos del tema [Interfaz de usuario](../commands/theme/User_Interface.md)
- [`HIGHLIGHT TEXT`](../commands/highlight-text)
- [`GET HIGHLIGHT`](../commands/get-highlight)
-Cuando se utilizan estos comandos con comandos que manipulan cadenas de caracteres, es necesario filtrar los caracteres de formato utilizando el comando [`ST Get plain text`](../commands/st-get-plain-text):
+When you use these commands with commands that manipulate character strings, it is necessary to filter the formatting characters using the [`ST Get plain text`](../commands/st-get-plain-text) command:
```4d
HIGHLIGHT TEXT([Products]Notes;1;Length(ST Get plain text([Products]Notes))+1)
@@ -531,13 +535,13 @@ Cuando se utilizan estos comandos con comandos que manipulan cadenas de caracter
#### Objetos (formularios)
-Los comandos que se pueden utilizar para modificar el estilo de los objetos (por ejemplo, [`OBJECT SET FONT`](../commands/object-set-font)) se aplican a todo el objeto y no a la selección.
+The commands that can be used to modify the style of objects (for example, [`OBJECT SET FONT`](../commands/object-set-font)) apply to the whole object and not to the selection.
Si el objeto no tiene el foco cuando se ejecuta el comando, la modificación se aplica simultáneamente al objeto (el área de texto) y a su variable asociada. Si el objeto tiene el foco, la modificación se aplica al objeto, pero no a la variable asociada. La modificación solo se aplica a la variable cuando el objeto pierde el foco. Tenga presente este principio a la hora de programar áreas de texto.
:::note
-Si la opción [**Guardar con etiquetas de estilo predeterminadas**](#store-with-default-style-tags) está marcada para el objeto, el uso de estos comandos provocará una modificación de las etiquetas guardadas con cada objeto.
+If the [**Store with default style tags**](#store-with-default-style-tags) option is checked for the object, the use of these commands will cause a modification of the tags saved with each object.
:::
@@ -578,9 +582,9 @@ En el contexto de las áreas multiestilo, estos comandos sólo deben utilizarse
#### Get edited text
-Cuando se utiliza con un área de texto enriquecido, el comando [`Get edited text`](../commands/get-edited-text) devuelve el texto del área actual, incluidas las etiquetas de estilo.
+When it is used with a rich text area, the [`Get edited text`](../commands/get-edited-text) command returns the text of the current area including any style tags.
-Para recuperar el texto "sin formato" (texto sin etiquetas) que se está editando, debe utilizar el comando [`ST Get plain text`](../commands/st-get-plain-text):
+To retrieve the "plain" text (text without tags) being edited, you must use the [`ST Get plain text`](../commands/st-get-plain-text) command:
```4d
ST Get plain text(Get edited text)
@@ -590,7 +594,7 @@ ST Get plain text(Get edited text)
Las consultas y ordenaciones realizadas entre objetos con varios estilos tienen en cuenta las etiquetas de estilo guardadas en el objeto. Si se ha modificado el estilo de una palabra, la búsqueda de esa palabra no dará resultado.
-Para poder realizar búsquedas y ordenaciones válidas, debe utilizar el comando [`ST Get plain text`](../commands/st-get-plain-text). Por ejemplo:
+To be able to carry out valid searches and sorts, you must use the [`ST Get plain text`](../commands/st-get-plain-text) command. Por ejemplo:
```4d
QUERY BY FORMULA([MyTable];ST Get plain text([MyTable]MyFieldStyle)="very well")
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md
index b056964ce788d4..7eef30349af124 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md
@@ -37,7 +37,7 @@ Aspecto general del botón. El estilo del botón también influye en la disponib
#### Objetos soportados
-[Botón](button_overview.md) - [Botón radio](radio_overview.md) - [Casilla de selección](checkbox_overview.md) - [Botón Radio](radio_overview.md)
+[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md)
#### Comandos
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/radio_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/radio_overview.md
index 8b344901c28895..b789e5b6e2c1a0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/radio_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/radio_overview.md
@@ -147,8 +147,8 @@ Todos los botones radio comparten el mismo conjunto de propiedades básicas:
[Negrita](properties_Text.md#bold) - [Inferior](properties_CoordinatesAndSizing.md#bottom) - [Estilo de botón](properties_TextAndPicture.md#button-style) - [Clase](properties_Object.md#css-class) - [Tipo de expresión](properties_Object.md#expression-type) - [Enfocable](properties_Entry.md#focusable) - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Alto](properties_CoordinatesAndSizing.md#height) - [Mensaje de ayuda](properties_Help.md#help-tip) - [Alineación horizontal](properties_Text.md#horizontal-alignment)(1) - [Tamaño horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Título de la imagen](properties_TextAndPicture.md#image-hugs-title)(2) - [Itálica](properties_Text.md#italic) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Número de estados](properties_TextAndPicture.md#number-of-states)(2) - [Método](properties_Action.md#method) - [Nombre del objeto](properties_Object.md#object-name) - [Grupo radio](properties_Object.md#radio-group) - [Ruta de la imagen](properties_TextAndPicture.md#picture-pathname)(2) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Guardar valor](properties_Object.md#save-value) - [Acceso directo](properties_Entry.md#shortcut) - [Título](properties_Object.md#title) - [Posición del título/imagen](properties_TextAndPicture.md#titlepicture-position)(2) - [Arriba](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Subrayado](properties_Text.md#underline) - [Variable o expresión](properties_Object.md#variable-o-expresión) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibilidad) - [Ancho](properties_CoordinatesAndSizing.md#ancho)
-> (1) No soportado por los estilos [Regular](#regular) y [Flat](#flat).
-> (2) No soportado por los estilos [Regular](#regular), [Flat](#flat), [Disclosure](#disclosure) y [Collapse/Expand](#collapseexpanded).
+> (1) No compatible con los estilos [Regular](#regular) y [Plano](#flat).
+> (2) No soportado por los estilos [Regular](#regular), [Flat](#flat), [Disclosure](#disclosure) y [Collapse/Expand](#collapseexpand).
### Propiedades adicionales para los botones de opción personalizados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/ruler.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/ruler.md
index 8ee0054eba61e8..8ab3944fcb7422 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/ruler.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/ruler.md
@@ -13,7 +13,7 @@ Para más información, consulte [Uso de indicadores](progressIndicator.md#using
### Propiedades soportadas
-[Negrita](properties_Text.md#bold) - [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) -[Inferior](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Mostrar graduación](properties_Scale.md#display-graduation) - [Editable](properties_Entry.md#enterable) - [Ejecutar método objeto](properties_Action.md#execute-object-method) - [Tipo de expresión](properties_Object.md#expression-type) - [Altura](properties_CoordinatesAndSizing.md#height) - [Paso de graduación](properties_Scale.md#graduation-step) -[Mensaje de ayuda](properties_Help.md#help-tip) - [Dimensionamiento horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Ubicación de la etiqueta](properties_Scale.md#label-location) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Máximo](properties_Scale.md#maximum) - [Mínimo](properties_Scale.md#minimum) - [Formato de número](properties_Display.md#number-format) - [Nombre del objeto](properties_Object.md#object-name) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Paso](properties_Scale.md#step) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Dimensionamiento vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Bold](properties_Text.md#bold) - [Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) -[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Display graduation](properties_Scale.md#display-graduation) - [Enterable](properties_Entry.md#enterable) - [Execute object method](properties_Action.md#execute-object-method) - [Expression Type](properties_Object.md#expression-type) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Graduation step](properties_Scale.md#graduation-step) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Label Location](properties_Scale.md#label-location) - [Left](properties_CoordinatesAndSizing.md#left) - [Maximum](properties_Scale.md#maximum) - [Minimum](properties_Scale.md#minimum) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Step](properties_Scale.md#step) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
### Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/spinner.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/spinner.md
index 38c33d8ad4aae4..36329aa73a2ffc 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/spinner.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/spinner.md
@@ -16,7 +16,7 @@ Cuando se ejecuta el formulario, el objeto no se anima. La animación se gestion
### Propiedades soportadas
-[Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Fondo](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Tipo de expresión](properties_Object.md#expression-type) - [Altura](properties_CoordinatesAndSizing.md#height) -[Mensaje de ayuda](properties_Help.md#help-tip) - [Dimensionamiento horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Nombre del objeto](properties_Object.md#object-name) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibilidad) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Expression Type](properties_Object.md#expression-type) - [Height](properties_CoordinatesAndSizing.md#height) -[Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
### Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/splitters.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/splitters.md
index 8b9da568aa452d..57f62a686e8db3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/splitters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/splitters.md
@@ -33,7 +33,7 @@ Una vez insertado, el separador aparece como una línea. Puede modificar su [est
### Propiedades soportadas
-[Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Fondo](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Altura](properties_CoordinatesAndSizing.md#height) - [Ayuda](properties_Help.md#help-tip) - [Tamaño horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Color de línea](properties_BackgroundAndBorder.md#line-color) - [Nombre del objeto](properties_Object.md#nombre_objeto) - [Empujador](properties_ResizingOptions.md#empujador) - [Derecha](properties_CoordinatesAndSizing.md#derecha) - [Arriba](properties_CoordinatesAndSizing.md#arriba) - [Tipo](properties_Object.md#type) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Object Name](properties_Object.md#object-name) - [Pusher](properties_ResizingOptions.md#pusher) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
### Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/stepper.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/stepper.md
index d96699b10072fa..c6784a27d620a3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/stepper.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/stepper.md
@@ -25,7 +25,7 @@ Para más información, consulte [Uso de indicadores](progressIndicator.md#using
## Propiedades soportadas
-[Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Fondo](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Entrada](properties_Entry.md#enterable) - [Ejecutar método de objeto](properties_Action.md#execute-object-method) - [Tipo de expresión](properties_Object.md#expression-type) (sólo "entero", "número", "fecha" u "hora") - [Altura](properties_CoordinatesAndSizing.md#height) - [Mensaje de ayuda](properties_Help.md#help-tip) - [Dimensionamiento horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Máximo](properties_Scale.md#maximum) - [Mínimo](properties_Scale.md#minimum) - [Nombre del objeto](properties_Object.md#object-name) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Paso](properties_Scale.md#step) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Variable o expresión](properties_Object.md#variable-o-expresión) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibilidad) - [Ancho](properties_CoordinatesAndSizing.md#ancho)
+[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Enterable](properties_Entry.md#enterable) - [Execute object method](properties_Action.md#execute-object-method) - [Expression Type](properties_Object.md#expression-type) (only "integer", "number", "date", or "time") - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Maximum](properties_Scale.md#maximum) - [Minimum](properties_Scale.md#minimum) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Step](properties_Scale.md#step) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/subform_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/subform_overview.md
index 51099596d4d97c..3f1d6e63b39607 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/subform_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/subform_overview.md
@@ -204,9 +204,9 @@ Para más información, consulte la descripción del comando `EXECUTE METHOD IN
## Propiedades soportadas
-[Estilo de Borde](properties_BackgroundAndBorder.md#border-line-style) - [Inferior](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Formulario detallado](properties_Subform.md#detail-form) - [Doble clic en fila vacía](properties_Subform.md#double-click-on-empty-row) - [Doble clic en fila](properties_Subform.md#double-click-on-row) - [Editable en lista](properties_Subform.md#enterable-in-list) - [Tipo de expresión](properties_Object.md#expression-type) - [Enfocable](properties_Entry.md#focusable) - [Altura](properties_CoordinatesAndSizing.md#height) -
-[Ocultar rectángulo de enfoque](properties_Appearance.md#hide-focus-rectangle) -
-[Barra de desplazamiento horizontal](properties_Appearance.md#horizontal-scroll-bar) - [Dimensionado horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Formulario listado](properties_Subform.md#list-form) - [Método](properties_Action.md#method) - [Nombre de objeto](properties_Object.md#object-name) - [Marco de impresión](properties_Print.md#print-frame) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Modo de selección](properties_Subform.md#selection-mode) - [Fuente](properties_Subform.md#source) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Variable o Expresión](properties_Object.md#variable-or-expression) - [Barra de desplazamiento vertical](properties_Appearance.md#vertical-scroll-bar) - [Dimensionado vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Detail Form](properties_Subform.md#detail-form) - [Double click on empty row](properties_Subform.md#double-click-on-empty-row) - [Double click on row](properties_Subform.md#double-click-on-row) - [Enterable in list](properties_Subform.md#enterable-in-list) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) -
+[Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) -
+[Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [List Form](properties_Subform.md#list-form) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Print Frame](properties_Print.md#print-frame) - [Right](properties_CoordinatesAndSizing.md#right) - [Selection mode](properties_Subform.md#selection-mode) - [Source](properties_Subform.md#source) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/viewProArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/viewProArea_overview.md
index 5a84541c1e9366..138a2117d7b4c7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/viewProArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/viewProArea_overview.md
@@ -15,7 +15,7 @@ Las áreas 4D View Pro están documentadas en [la sección 4D View Pro](ViewPro/
## Propiedades soportadas
-[Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Inferior](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Altura](properties_CoordinatesAndSizing.md#height) - [Dimensionamiento horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Método](properties_Action.md#method) - [Nombre del objeto](properties_Object.md#object-name) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Mostrar barra de fórmulas](properties_Appearance.md#show-formula-bar) - [Tipo](properties_Object.md#type) - [Interfaz de usuario](properties_Appearance.md#user-interface) - [Dimensionamiento vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Show Formula Bar](properties_Appearance.md#show-formula-bar) - [Type](properties_Object.md#type) - [User Interface](properties_Appearance.md#user-interface) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index 8b06681530b5c8..1040686c65d184 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -243,7 +243,7 @@ Cuando haya realizado los ajustes como se ha descrito anteriormente, entonces te
## Propiedades soportadas
-[Acceso a métodos 4D](properties_WebArea.md#access-4d-methods) - [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Fondo](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Menú contextual](properties_Entry.md#context-menu) - [Altura](properties_CoordinatesAndSizing.md#height) - [Tamaño horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Método](properties_Action.md#method) - [Nombre del objeto](properties_Object.md#nombre-del-objeto) - [Progresión](properties_WebArea.md#progression) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Arriba](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [URL](properties_WebArea.md#url) - [Usar motor de renderizado web incrustado](properties_WebArea.md#use-embedded-web-rendering-engine) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width)
+[Access 4D methods](properties_WebArea.md#access-4d-methods) - [Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Context Menu](properties_Entry.md#context-menu) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Progression](properties_WebArea.md#progression) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [URL](properties_WebArea.md#url) - [Use embedded Web rendering engine](properties_WebArea.md#use-embedded-web-rendering-engine) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibilty](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md
index e7b61408f8927b..115c642c84acbb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md
@@ -13,7 +13,7 @@ Las áreas 4D Write Pro están documentadas en el manual [4D Write Pro](https://
## Propiedades soportadas
-[Corrector ortográfico automático](properties_Entry.md#auto-spellcheck) - [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Inferior](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Menú contextual](properties_Entry.md#context-menu) - [Arrastrable](properties_Action.md#draggable) - [Soltable](properties_Action.md#droppable) - [Editable](properties_Entry.md#enterable) - [Enfocable](properties_Entry.md#focusable) - [Alto](properties_CoordinatesAndSizing.md#height) - [Ocultar rectángulo de enfoque](properties_Appearance.md#hide-focus-rectangle) - [Barra de desplazamiento horizontal](properties_Appearance.md#horizontal-scroll-bar) - [Dimensionamiento horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Disposición del teclado](properties_Entry.md#keyboard-layout) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Método](properties_Action.md#method) - [Nombre del objeto](properties_Object.md#object-name) - [Imprimir marco variable](properties_Print.md#print-frame) - [Resolución](properties_Appearance.md#resolution) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Selección siempre visible](properties_Entry.md#selection-always-visible) - [Mostrar fondo](properties_Appearance.md#show-background) - [Mostrar pies de página](properties_Appearance.md#show-footers) - [Mostrar encabezados](properties_Appearance.md#show-headers) - [Mostrar caracteres ocultos](properties_Appearance.md#show-hidden-characters) - [Mostrar regla horizontal](properties_Appearance.md#show-horizontal-ruler) - [Mostrar HTML WYSIWYG](properties_Appearance.md#show-html-wysiwyg) - [Mostrar marco de página](properties_Appearance.md#show-page-frame) - [Mostrar referencias](properties_Appearance.md#show-references) - [Mostrar regla vertical](properties_Appearance.md#show-vertical-ruler) - [Tipo](properties_Object.md#type) - [Dimensionamiento vertical](properties_ResizingOptions.md#vertical-sizing) - [Barra de desplazamiento vertical](properties_Appearance.md#vertical-scroll-bar) - [Ver modo](properties_Appearance.md#view-mode) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width) - - [Herramientas de escritura](properties_Entry.md#writing-tools) - [Zoom](properties_Appearance.md#zoom)
+[Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Context Menu](properties_Entry.md#context-menu) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Keyboard Layout](properties_Entry.md#keyboard-layout) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Print Variable Frame](properties_Print.md#print-frame) - [Resolution](properties_Appearance.md#resolution) - [Right](properties_CoordinatesAndSizing.md#right) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Show background](properties_Appearance.md#show-background) - [Show footers](properties_Appearance.md#show-footers) - [Show headers](properties_Appearance.md#show-headers) - [Show hidden characters](properties_Appearance.md#show-hidden-characters) - [Show horizontal ruler](properties_Appearance.md#show-horizontal-ruler) - [Show HTML WYSIWYG](properties_Appearance.md#show-html-wysiwyg) - [Show page frame](properties_Appearance.md#show-page-frame) - [Show references](properties_Appearance.md#show-references) - [Show vertical ruler](properties_Appearance.md#show-vertical-ruler) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [View mode](properties_Appearance.md#view-mode) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Writing Tools](properties_Entry.md#writing-tools) - [Zoom](properties_Appearance.md#zoom)
## Eventos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Menus/sdi.md b/i18n/es/docusaurus-plugin-content-docs/current/Menus/sdi.md
index ffbb04cac3f766..74af2b8194d9e3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Menus/sdi.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Menus/sdi.md
@@ -64,7 +64,7 @@ Cuando se ejecuta en modo MDI, una aplicación 4D simplemente se cierra cuando e
Para manejar este caso, las aplicaciones 4D ejecutadas en modo SDI incluyen un mecanismo para salir automáticamente (llamando al comando `QUIT 4D`) cuando se cumplen las siguientes condiciones:
- el usuario no puede seguir interactuando con la aplicación
-- no hay procesos de usuario activos
+- no hay procesos de usuario en curso
- los procesos 4D o workers están esperando un evento
- el servidor web no se ha lanzado
- el [servidor WebAdmin](../Admin/webAdmin.md) no está iniciado.
@@ -82,7 +82,7 @@ Aunque es manejado de forma transparente por 4D, el modo SDI introduce pequeñas
| Comando/funcionalidad | Especificidad en el modo SDI en Windows |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Open form window` | Opciones para soportar las ventanas flotantes en SDI (`Controller form window`) y para eliminar la barra de menú (`Form has no menu bar`) |
-| `Menu bar height` | Devuelve la altura en píxeles de una línea de barra de menú única, incluso si la barra de menú se ha distribuido en dos o más líneas. Devuelve 0 cuando el comando es llamado desde un proceso sin ventana formulario |
+| `Menu bar height` | Devuelve la altura en píxeles de una línea de barra de menú única, incluso si la barra de menú se ha envuelto en dos o más líneas. Devuelve 0 cuando el comando es llamado desde un proceso sin ventana formulario |
| `SHOW MENU BAR` / `HIDE MENU BAR` | Se aplica sólo a la ventana formulario actual (desde donde se ejecuta el código) |
| `MAXIMIZE WINDOW` | La ventana se maximiza al tamaño de la pantalla |
| `CONVERT COORDINATES` | `XY Screen` es el sistema de coordenadas global donde la pantalla principal se sitúa en (0,0). Las pantallas situadas a su izquierda o arriba pueden tener coordenadas negativas y las situadas a su derecha o debajo pueden tener coordenadas mayores que los valores devueltos por `Screen height` o `Screen width`. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
index 940a3643ddc345..7a7a8c45989f65 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -12,19 +12,30 @@ Lea [**Las novedades en 4D 21 R5**](https://blog.4d.com/whats-new-in-4d-21-r5/),
- Soporte de la firma de correo electrónico de S/MIME a través de las nuevas propiedades de clase [`4D.SMTPTransporter`](../API/SMTPTransporterClass.md): [`.certificate`](../API/SMTPTransporterClass.md#certificate) o [`.certificateName`](../API/SMTPTransporterClass.md#certificatename) (suministro del certificado) y [`.certificatePassword`](../API/SMTPTransporterClass.md#certificatepassword).
- Ahora puede [compilar un componente directamente desde el host](../Project/compiler.md#compile-components).
- Soporte de formularios lista en la [renderización **Fluent UI**](../FormEditor/forms.md#fluent-ui-rendering) en Windows.
+- 4D.Vector fields: [new specific icon](../Develop/field-properties.md#4dvector-class) and new [dedicated index types](../Develop/structure-indexes.md#vector-index).
+- Support of vector indexes in [`CREATE INDEX`](../commands/create-index) and [`SET INDEX`](../commands/set-index) 4D language commands.
+- Nueva función [dataClass.getIndexes()](../API/DataClassClass.md#getindexes).
+- New [`.precision` property](../API/VectorClass.md#precision) in `4D.Vector` class objects.
- Acceso directo a la [plataforma 4D Corner](https://corner.4d.com/) desde el [gestor de dependencias](../Project/components.md#using-4d-corner).
-- New [`WebServer.quotas`](../API/WebServerClass.md#quotas) property and enhanced [`4D.QuotaManager`](../API/QuotaManagerClass.md) class to configure [Web server quotas](../WebServer/quotas.md).
+- Nueva propiedad [`WebServer.quotas`](../API/WebServerClass.md#quotas) y clase [`4D.QuotaManager`](../API/QuotaManagerClass.md) mejorada para configurar [las cuotas del servidor web](../WebServer/quotas.md).
- Text Area and Input objects: New [top padding](../FormObjects/properties_CoordinatesAndSizing.md#top-padding), [bottom padding](../FormObjects/properties_CoordinatesAndSizing.md#bottom-padding), [left padding](../FormObjects/properties_CoordinatesAndSizing.md#left-padding), [right padding](../FormObjects/properties_CoordinatesAndSizing.md#right-padding) with related [CSS support](../FormEditor/createStylesheet.md#attribute-mapping). Soporte de [alineación vertical](../FormObjects/properties_Text.md#vertical-alignment).
-- New [`OBJECT SET PADDING`](../commands/object-set-padding) and [`OBJECT Get padding`](../commands/object-get-padding) commands to manage padding by programming.
-- New inner border design for [custom buttons](../FormObjects/button_overview.md#custom), [custom check boxes](../FormObjects/checkbox_overview.md#custom) and [custom radio buttons](../FormObjects/radio_overview.md#custom): support of [fill color](../FormObjects/properties_BackgroundAndBorder.md#background-color--fill-color) and [corner radius](../FormObjects/properties_BackgroundAndBorder.md#corner-radius) properties; new [border color](../FormObjects/properties_BackgroundAndBorder.md#border-color) and [border width](../FormObjects/properties_BackgroundAndBorder.md#border-width) properties.
-- Acceso directo a la [plataforma 4D Corner](https://corner.4d.com/) desde el [gestor de dependencias](../Project/components.md#using-4d-corner).
-- [New **Code editor** preference](../Preferences/methods.md#code-editor) to use automatically the 4D code editor or VS Code when creating or opening 4D methods and classes.
+- Nuevos comandos [`OBJECT SET PADDING`](../commands/object-set-padding) y [`OBJECT Get padding`](../commands/object-get-padding) para gestionar las márgenes interiores por programación.
+- New inner border design for [custom buttons](../FormObjects/button_overview.md#custom), [custom check boxes](../FormObjects/checkbox_overview.md#custom) and [custom radio buttons](../FormObjects/radio_overview.md#custom): support of [fill color](../FormObjects/properties_BackgroundAndBorder.md#background-color--fill-color) and [corner radius](../FormObjects/properties_BackgroundAndBorder.md#corner-radius) properties; new [Border width](../FormObjects/properties_BackgroundAndBorder.md#border-width) property.
+- Support of ["System rounded" border line style](../FormObjects/properties_BackgroundAndBorder.md#border-line-style) property for [inputs](../FormObjects/input_overview.md), compliant with macOS *Liquid glass* design. Also supported by [`OBJECT SET BORDER STYLE`](../commands/object-set-border-style) and [`OBJECT GET BORDER STYLE`](../commands/object-get-border-style) commands.
+- New ["Border color" property](../FormObjects/properties_BackgroundAndBorder.md#border-color) available for most form objects. [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors) and [`OBJECT GET RGB COLORS`](../commands/object-get-rgb-colors) commands support a new *borderColor* parameter.
+- [Nueva preferencia **Editor de código**](../Preferences/methods.md#code-editor) para utilizar automáticamente el editor de código 4D o VS Code al crear o abrir métodos y clases 4D.
- [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=21_R5): lista de todos los bugs que se han corregido en 4D 21 R5.
#### Cambios de comportamiento
- For consistency, the **corner radius** property has been moved from the ["Coordinates & Sizing"](../FormObjects/properties_CoordinatesAndSizing.md) to the ["Background and Border"](../FormObjects/properties_BackgroundAndBorder.md#corner-radius) section of the Property List.
+:::warning Default vector precision
+
+In 4D 21 R5 and higher, vectors are created with a [32-bit precision by default](../API/VectorClass.md#4dvectornew). In previous releases, only 64-bit precision was available. If you reopen a project containing vectors created in 4D 21 R5 or later using default precision (or explicitly set to 32-bit) with an ealier version, those vectors will be empty and their values will be lost.
+
+:::
+
## 4D 21 R4
Lea [**Novedades en 4D 21 R4**](https://blog.4d.com/whats-new-in-4d-21-r4/), la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 21 R4.
@@ -114,11 +125,11 @@ Lea [**Novedades en 4D 21 R2**](https://blog.4d.com/whats-new-in-4d-21-r2/), la
| libldap | 2.6.10 | 21 | |
| libsasl | 2.1.28 | 20 | |
| Liblsquic | 4.2.0 | 20 R10 | Utilizado para QUIC |
-| Libuv | 1.52.1 | 21 R4 | Utilizado para QUIC |
+| Libuv | 1.53.0 | **21 R6** | Utilizado para QUIC |
| libZip | 1.11.4 | 21 | Utilizado por los componentes zip class, 4D Write Pro, svg y serverNet |
| LZMA | 5.8.1 | 21 | |
| ngtcp2 | 1.24.0 | 21 R4 | Utilizado para QUIC |
-| OpenSSL | 4.0.1 | **21 R5** | |
+| OpenSSL | 4.0.3 | **21 R6** | |
| PDFWriter | 4.7.0 | 21 | Utilizado para [`WP Export document`](../WritePro/commands/wp-export-document.md) y [`WP Export variable`](../WritePro/commands/wp-export-variable.md) |
| SpreadJS | 18.2.0 | 21 R2 | Consulte [esta entrada de blog](https://blog.4d.com/4d-view-pro-whats-new-in-4d-21-r2/) para obtener una visión general de las nuevas funciones |
| webKit | WKWebView | 19 | |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md
index 1ee75090827314..8c8788c5f10a41 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md
@@ -566,7 +566,7 @@ El siguiente diagrama ilustra el bloqueo optimista:
1. Dos procesos cargan la misma entidad.

-2. El primer proceso modifica la entidad y valida el cambio. Se llama al método `entity.save( )`. El motor 4D compara automáticamente el valor del marcador interno de la entidad modificada con el de la entidad almacenada en los datos. Dado que coinciden, la entidad se guarda y su valor de marcador se incrementa.

+2. El primer proceso modifica la entidad y valida el cambio. Se llama al método `entity.save( )`. El motor 4D compara automáticamente el valor del marcador interno de la entidad modificada con el de la entidad almacenada en los datos. Como corresponden, la entidad se guarda y el valor de su marcador se incrementa.

3. El segundo proceso también modifica la entidad cargada y valida sus cambios. Se llama al método `entity.save( )`. Dado que el valor del sello de la entidad modificada no coincide con el de la entidad almacenada en los datos, no se realiza el guardado y se devuelve un error.

diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Preferences/general.md b/i18n/es/docusaurus-plugin-content-docs/current/Preferences/general.md
index eac1645d9892c0..46fa717acdb5cf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Preferences/general.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Preferences/general.md
@@ -20,9 +20,9 @@ Esta opción permite configurar la visualización por defecto de 4D al inicio, c
> **4D Server**: la aplicación 4D Server ignora esta opción. En este entorno, se utiliza siempre el modo **No hacer nada**.
-### Creación automática de formularios
+### Creación de formularios automática
-> Esta opción solo se utiliza en bases de datos binarias; se ignora en la arquitectura de proyectos. Ver doc.4d.com.
+> Esta opción sólo se utiliza en bases de datos binarias; se ignora en la arquitectura proyectos. Ver doc.4d.com.
### Ventana con pestañas (sólo en macOS)
@@ -67,7 +67,7 @@ Hay tres opciones disponibles:
### Salir del modo Diseño al ir al modo Aplicación
-Si esta opción está marcada, cuando el usuario cambia al entorno Aplicación utilizando el comando de menú **Probar la aplicación**, se cierran todas las ventanas del entorno Diseño. Si esta opción no está marcada (configuración de fábrica), las ventanas del entorno Diseño permanecen visibles en segundo plano del entorno Aplicación.
+Si esta opción está marcada, cuando el usuario cambia al entorno Aplicación utilizando el comando de menú **Probar la aplicación**, se cierran todas las ventanas del entorno Diseño. Si esta opción no está marcada (configuración de fábrica), las ventanas del entorno Diseño permanecen visibles al fondo del entorno Aplicación.
### Activar la creación de bases de datos binarias
@@ -124,26 +124,26 @@ Puede definir el contenido por defecto del archivo `.gitignore` haciendo clic en
La [documentación oficial de git](https://git-scm.com/docs/gitignore) es un gran recurso para entender cómo funcionan los archivos `.gitignore`.
-### Idioma de comparación de texto
+### Lenguaje de comparación de texto
-Este parámetro permite definir el idioma utilizado por defecto utilizado para el procesamiento y la comparación de cadenas de caracteres en las nuevas bases. La elección de un idioma de comparación afecta a la ordenación y la búsqueda de textos, así como al cambio entre minúsculas y mayúsculas, pero no afecta a la traducción de etiquetas ni a los formatos de fecha, hora o moneda, que permanecen en el idioma del sistema. Por defecto (configuración de fábrica), 4D utiliza el idioma actual del usuario definido en el sistema.
+Este parámetro permite definir el lenguaje utilizado por defecto utilizado para el procesamiento y la comparación de cadenas de caracteres en las nuevas bases. La elección de un idioma de comparación afecta a la ordenación y la búsqueda de textos, así como al cambio entre minúsculas y mayúsculas, pero no afecta a la traducción de etiquetas ni a los formatos de fecha, hora o moneda, que permanecen en el idioma del sistema. Por defecto (configuración de fábrica), 4D utiliza el idioma actual del usuario definido en el sistema.
-Una base 4D puede funcionar en un idioma distinto al del sistema. Cuando se abre una base, el motor de 4D detecta el lenguaje utilizado por el fichero de datos y lo pasa al lenguaje (modo interpretado o compilado). Las comparaciones de texto, independientemente de si las realiza el motor de la base de datos o el lenguaje, se hacen en el mismo idioma.
+Una base 4D puede funcionar en un lenguaje distinto al del sistema. Cuando se abre una base, el motor de 4D detecta el lenguaje utilizado por el fichero de datos y lo pasa al lenguaje (modo intérpretado o compilado). Las comparaciones de texto, independientemente de si las realiza el motor de la base de datos o el lenguaje, se hacen en el mismo lenguaje.
Al crear un nuevo archivo de datos, 4D utiliza el idioma previamente configurado en este menú. Al abrir un archivo de datos que no está en el mismo idioma que la estructura, se utiliza el idioma del archivo de datos y el código del idioma se copia en la estructura.
> Puede modificar este parámetro para la base abierta utilizando la Configuración de la base (ver [Comparación de textos](../settings/database.md#text-comparison)).
-## Ubicación de la documentación
+## Ubicación de la documentation
Esta área configura el acceso a la documentación HTML de 4D mostrada en su navegador actual:
- Cuando pulsa la tecla **F1** mientras el cursor está insertado en una función de clase 4D o nombre de comando en el Editor de Código;
- Al hacer doble clic sobre un comando 4D en la **página de los comandos** del Explorador.
-### Idioma de la documentación
+### Lenguaje de la documentación
-Idioma de la documentación HTML que se va a mostrar. Puede seleccionar una documentación en un idioma distinto del idioma de la aplicación.
+Idioma de la documentación HTML a mostrar. Puede seleccionar una documentación en un idioma distinto del idioma de la aplicación.
### Primero buscar en la carpeta local
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Preferences/methods.md b/i18n/es/docusaurus-plugin-content-docs/current/Preferences/methods.md
index 7ce63a9d46369a..66d9e80d6b2336 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Preferences/methods.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Preferences/methods.md
@@ -186,7 +186,7 @@ Si deselecciona esta opción, sólo se mostrará la flecha amarilla.
-Lets you configure the default code editor to use when you open or create a method or a class from a 4D IDE window such the 4D Explorer, Debugger, or Form editor. Las siguientes opciones están disponibles:
+Permite configurar el editor de código predeterminado a utilizar cuando abra o cree un método o una clase a partir de una ventana de IDE 4D como el Explorador 4D, el depurador o el editor de formularios. Las siguientes opciones están disponibles:
- **Siempre 4D** (por defecto): utiliza siempre el [editor de código 4D](../code-editor/write-class-method.md).
- **4D o VS Code al mantener pulsada la tecla Alt**: utilizar preferiblemente el editor de código 4D, pero cambia a VS Code si se presiona la tecla **Alt**.
@@ -196,7 +196,7 @@ Options using **VS Code** require that this editor be installed on the machine (
:::note
-When the **4D or VS Code when holding Alt key** option is selected, add the **Shift** key to existing shortcuts that already use **Alt** to access VS Code form the 4D IDE. For example, to open a method in VS Code from the 4D code editor, press **Alt+Shift** and double-click on the method name (**Alt** and double-click opens it in another window of the 4D code editor).
+Cuando se selecciona la opción **4D o VS Code al mantener presionada la tecla Alt**, agregue la tecla **Mayús** a los atajos existentes que ya usan **Alt** para acceder a VS Code desde el IDE de 4D. For example, to open a method in VS Code from the 4D code editor, press **Alt+Shift** and double-click on the method name (**Alt** and double-click opens it in another window of the 4D code editor).
:::
@@ -210,8 +210,8 @@ When the **4D or VS Code when holding Alt key** option is selected, add the **Sh
Esta área le permite configurar los mecanismos de autocompletar en el Editor de código para adaptarlo a sus propios hábitos de trabajo.
-| | Descripción |
-| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Apertura automática de la ventana | Activa la visualización automática de la ventana de sugerencias para:- Constantes
- Variables (locales e interproceso) y atributos del objeto
- Tablas
- Prototipos (es decir, funciones de clase)
Por ejemplo, cuando se selecciona la opción "Variables (locales o interproceso) y atributos del objeto", aparece una lista de sugerencias cuando se escribe el caracter $:

Puede deshabilitar esta funcionalidad para ciertos elementos del lenguaje deseleccionando su opción correspondiente. |
-| Validación de una sugerencia | Establece el contexto de entrada que permite al Editor de Código validar automáticamente la sugerencia actual mostrada en la ventana de autocompletado.- **Tabuladores y delimitadores**
Cuando esta opción está seleccionada, puede validar la selección actual con la tecla Tab o cualquier delimitador relevante para el contexto. Por ejemplo, si introduce "ALE" y luego "(", 4D escribe automáticamente "ALERT(" en el editor. Esta es la lista de delimitadores que se tienen en cuenta:
( ; : = < [ { - **Sólo tabulador**
Cuando se selecciona esta opción, sólo se puede utilizar el tabulador para insertar la sugerencia actual. Esto puede utilizarse más concretamente para facilitar la introducción de caracteres delimitadores en los nombres de elementos, como ${1}.**Note**: También puede hacer doble clic en la ventana o presionar la tecla Retorno de carro para validar una sugerencia.
|
+| | Descripción |
+| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Apertura automática de la ventana | Activa la visualización automática de la ventana de sugerencias para:- Constantes
- Variables (locales e interproceso) y atributos del objeto
- Tablas
- Prototipos (es decir, funciones de clase)
Por ejemplo, cuando se selecciona la opción "Variables (locales o interproceso) y atributos del objeto", aparece una lista de sugerencias cuando se escribe el caracter $:

Puede deshabilitar esta funcionalidad para ciertos elementos del lenguaje deseleccionando su opción correspondiente. |
+| Validación de una sugerencia | Define el contexto de entrada que permite al Editor de Código validar automáticamente la sugerencia actual mostrada en la ventana de autocompletar.- **Tabulación y delimitadores**
Cuando se selecciona esta opción, puede validar la selección actual con la tecla Tab o con cualquier delimitador pertinente para el contexto. Por ejemplo, si introduce "ALE" y luego "(", 4D escribe automáticamente "ALERT(" en el editor. Esta es la lista de delimitadores que se tienen en cuenta:
( ; : = < [ { - **Sólo tabulador**
Cuando se selecciona esta opción, sólo se puede utilizar el tabulador para insertar la sugerencia actual. Por ejemplo, si introduce "ALE" y luego "(", 4D escribe automáticamente "ALERT(" en el editor.
|
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md
index 00b1d95890db0e..57534d044931b0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md
@@ -171,9 +171,11 @@ La carpeta Data contiene el archivo de datos y todos los archivos y carpetas rel
| Contenido | Descripción | Formato |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-| data.4dd(\*) | Archivo de datos que contiene los datos introducidos en los registros y todos los datos pertenecientes a los registros. Al abrir un proyecto 4D, la aplicación abre por defecto el archivo de datos actual. Si cambia el nombre o la ubicación de este archivo, aparecerá la caja de diálogo *Abrir un archivo de datos* para que pueda seleccionar el archivo de datos a utilizar o crear uno nuevo | binary |
+| data.4dd(\*) | Archivo de datos que contiene los datos introducidos en los registros y todos los datos pertenecientes a los registros. Al abrir un proyecto 4D, la aplicación abre por defecto el archivo de datos actual. If you change the name or location of this file, the [*Open data file* dialog box](../GettingStarted/creating.md) will then appear so that you can select the data file to use or create a new one | binary |
| data.journal | Se crea sólo cuando la base de datos utiliza un archivo de registro. El archivo de registro se utiliza para garantizar la seguridad de los datos entre las copias de seguridad. Todas las operaciones realizadas sobre los datos se registran secuencialmente en este archivo. Por lo tanto, cada operación sobre los datos provoca dos acciones simultáneas: la primera sobre los datos (la instrucción se ejecuta normalmente) y la segunda en el archivo de registro (se registra una descripción de la operación). El archivo de registro se construye de forma independiente, sin perturbar ni ralentizar el trabajo del usuario. Una base de datos sólo puede trabajar con un único archivo de registro a la vez. El archivo de historial registra operaciones como adiciones, modificaciones o eliminaciones de registros, transacciones, etc. Se genera por defecto cuando se crea una base de datos. | binary |
-| data.match | (interno) UUID correspondiente al número de la tabla | XML |
+| data.Match | (interno) UUID correspondiente al número de la tabla | XML |
+| data.4DIndx | Standard [index file](../Develop/structure-indexes.md#standard-indexes) | binary |
+| data.4DVI | Folder containing [database vector indexes](../Develop/structure-indexes.md#vector-index). Every vector index is stored in a dedicated subfolder. | folder |
(\*) Cuando el proyecto se crea a partir de una base de datos binaria .4db, el archivo de datos se deja intacto. Por lo tanto, se puede nombrar de otra manera y colocar en otro lugar.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/code-overview.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/code-overview.md
index 154dd9a023a7c1..65263432db428a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/code-overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/code-overview.md
@@ -91,7 +91,7 @@ En las diferentes ventanas 4D (editor de código, compilador, depurador, explora

-- En el explorador de Ejecución y Depurador, las funciones clase se muestran con el formato `` constructor o `.`.
+- En el explorador de tiempo de ejecución y en el depurador, las funciones de clase se muestran con el `` constructor o `.` el formato.
## Eliminar los métodos o las clases
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md
index 31ac2193607226..2e719680f6e197 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md
@@ -53,7 +53,7 @@ La compilación requiere una [licencia apropiada](../Admin/licenses.md). Sin est
-While developing your application, you can compile the components used by the host project directly from the host project, without having to open them separately. When the host project contains one or more *eligible* components (see [Requirements](#requirements) below), an additional menu is displayed in the Compiler window. Este menú le permite seleccionar el/los proyecto(s) a compilar:
+Mientras desarrolla su aplicación, puede compilar los componentes utilizados por el proyecto anfitrión directamente desde el proyecto anfitrión, sin tener que abrirlos por separado. Cuando el proyecto anfitrión contiene uno o más componentes *elegibles* (ver los [Requisitos](#requirements) abajo), aparece un menú adicional en la ventana del compilador. Este menú le permite seleccionar el/los proyecto(s) a compilar:
- solo el proyecto anfitrión (por defecto)
- el proyecto anfitrión y todos sus componentes elegibles
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/components.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/components.md
index 622099fc8de202..563d5c82c80482 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/components.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/components.md
@@ -382,7 +382,7 @@ Para mostrar el panel Dependencias:
- con 4D, seleccione el ítem de menú **Diseño/Dependencias del Proyecto** (entorno de desarrollo),

-- con 4D Server, seleccione el ítem de menú **Ventana/Dependencias del Proyecto**.
+- con el servidor 4D, seleccione el elemento de menú **Ventana/Dependencias del proyecto**.

A continuación, se muestra el panel Dependencias. Las dependencias se ordenan por nombre en orden alfabético:
@@ -564,7 +564,7 @@ Modificar el rango de versiones es útil, por ejemplo, si utiliza la función de
### Uso de 4D Corner
-The [**4D Corner platform**](https://corner.4d.com/) proposes a comprehensive list of ready-to-use 4D components, proposed from the 4D company or from the 4D community. Puede navegar o buscar en la lista para encontrar el componente que mejor se ajuste a sus necesidades.
+La [**plataforma 4D Corner**](https://corner.4d.com/) ofrece una lista completa de componentes 4D listos para usar, propuestos tanto por la empresa 4D como por la comunidad 4D. Puede navegar o buscar en la lista para encontrar el componente que mejor se ajuste a sus necesidades.

@@ -588,7 +588,7 @@ El enlace de dependencia se añade automáticamente en el área de dirección:
:::tip Entrada de blog relacionada
-[4D Corner: Easily browse 4D components, add them to your project and share your own](https://blog.4d.com/4d-corner-easily-browse-4d-components-add-them-to-your-project-and-share-your-own/)
+[4D Corner: navegue fácilmente por los componentes 4D, añádalos a su proyecto y comparta los suyos](https://blog.4d.com/4d-corner-easily-browse-4d-components-add-them-to-your-project-and-share-your-own/)
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/documentation.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/documentation.md
index a69bad542fa7b6..1bc03c6380f3f5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/documentation.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/documentation.md
@@ -3,14 +3,13 @@ id: documentation
title: Documentar un proyecto
---
-En los proyectos aplicación, puede documentar sus métodos así como sus clases, formularios, tablas o campos. La creación de documentación es especialmente apropiada para proyectos desarrollados por varios programadores y, en general, es una buena práctica de programación. La documentación puede contener una descripción de un elemento, así como cualquier información necesaria para entender cómo funciona el elemento en la aplicación.
+In application projects, you can document your methods, classes, and forms. La creación de documentación es especialmente apropiada para proyectos desarrollados por varios programadores y, en general, es una buena práctica de programación. La documentación puede contener una descripción de un elemento, así como cualquier información necesaria para entender cómo funciona el elemento en la aplicación.
Los siguientes elementos del proyecto aceptan la documentación:
- Métodos (métodos base, métodos componente, métodos proyecto, métodos formulario, métodos 4D Mobile y triggers)
- Clases
- Formularios
-- Tablas y campos
Sus archivos de documentación se escriben en la sintaxis Markdown (archivos .md) utilizando cualquier editor que soporte el Markdown. Se almacenan como archivos independientes dentro de la carpeta Proyecto.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
index 5c4661eb0b79a5..dd4787df1d3b5f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -100,11 +100,11 @@ Utilice la propiedad `params` para ofrecer al filtro el parámetro de comparaci
El parámetro *vectorComparison* es una colección de los siguientes elementos:
-| Propiedad | Tipo | Descripción |
-| -------------------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [].vector | Colección de números | Obligatorio. Una colección que representa el vector a comparar |
-| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Valores soportados:- "cosine" (por defecto si se omite): calcula la similitud del coseno entre vectores.
- "dot": calcula la similitud de los vectores.
- "euclidean": calcula la distancia euclidiana entre vectores. |
-| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
+| Propiedad | Tipo | Descripción |
+| -------------------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [].vector | Colección de números | Obligatorio. Una colección que representa el vector a comparar |
+| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Valores soportados:
- "cosine" (por defecto si omitido): calcula la similitud del coseno entre los vectores.
- "dot": calcula la similitud de puntos de los vectores.
- "euclídea": calcula la distancia euclidiana entre vectores. |
+| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
Solo un subconjunto de símbolos **comparadores** es soportado con comparaciones vectoriales. Tenga en cuenta que comparan los resultados con el valor umbral:
@@ -136,7 +136,7 @@ En este ejemplo, buscamos en la clase de datos Person todas las personas cuya pr
GET /rest/Person/?filter="anotherobj.mynum > 50"
```
-En este ejemplo, hacemos una búsqueda vectorial con valores de base:
+En este ejemplo, hacemos una búsqueda vectorial con los valores de base:
```
GET /rest/Person/?filter="VectorAtt>=:1"&$params='[{vector:[1,2,3],threshold:1}]'
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$method.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$method.md
index ec92dfff90cad7..995eb518bf5b32 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$method.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$method.md
@@ -166,7 +166,8 @@ Si surge un problema al añadir o modificar una entidad, se le devolverá un err
- **Las fechas** deben expresarse en formato JS: YYYY-MM-DDTHH:MM:SSZ (por ejemplo, "2010-10-05T23:00:00Z"). Si ha seleccionado la propiedad Fecha únicamente para su atributo Fecha, se eliminará la zona horaria y la hora (hora, minutos y segundos). En este caso, también puede enviar la fecha en el formato que se le devuelve dd!mm!aaaa (por ejemplo, 05!10!2013).
- **Booleanos** son true o false.
-- Los archivos subidos mediante `$upload` pueden aplicarse a un atributo de tipo Imagen o BLOB pasando el objeto devuelto en el siguiente formato `{ "ID": "D507BC03E613487E9B4C2F6A0512FE50"}`:::
+- Los archivos subidos mediante `$upload` pueden aplicarse a un atributo de tipo Imagen o BLOB pasando el objeto devuelto en el siguiente formato `{ "ID": "D507BC03E613487E9B4C2F6A0512FE50"}`
+ :::
### Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$timeout.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$timeout.md
index 5975aa5e4e90b1..c565636810bc13 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$timeout.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$timeout.md
@@ -7,7 +7,7 @@ Define el número de segundos para guardar un conjunto de entidades en la caché
## Descripción
-Para definir un tiempo de expiración para un conjunto de entidades que cree utilizando [`$method=entityset`]($method.md#methodentityset), pase el número de segundos a `$timeout`. Por ejemplo, si quiere fijar el tiempo de espera en 20 minutos, pase 1200. Por defecto, el tiempo de expiración es de dos (2) horas.
+Para definir un tiempo de expiración para un conjunto de entidades que cree utilizando [`$method=entityset`]($method.md#methodentityset), pase el número de segundos a `$timeout`. Por ejemplo, si quiere fijar el tiempo de espera en 20 minutos, pase 1200. Por defecto, el tiempo de espera es de dos (2) horas.
Una vez que se ha definido el tiempo de expiración, cada vez que se llama a un conjunto de entidades (mediante el uso de `$method=entityset`), el tiempo de expiración se recalcula a partir de la hora actual y del valor del timeout.
@@ -21,6 +21,6 @@ El tiempo de expiración también se puede modificar para una sesión mediante l
## Ejemplo
-En el conjunto de entidades que estamos creando, definimos el tiempo de expiración en 20 minutos:
+En el conjunto de entidades que estamos creando, definimos el tiempo de espera a 20 minutos:
` GET /rest/Employee/?$filter="salary!=0"&$method=entityset&$timeout=1200`
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md
index 64fe5f6e667aec..b624e97ed4b412 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md
@@ -70,9 +70,9 @@ Para eliminar la exposición REST de un campo:
1. Visualice el inspector de campo en el editor de estructuras y seleccione el campo a modificar.
-2. Uncheck the **Expose as REST resource** for the field.
+2. Desmarque la opción **Exponer como recurso REST** para el campo.

- Repeat this for each field whose exposure needs to be modified.
+ Repita esta operación para cada campo cuya exposición deba modificarse.
> Para que un campo sea accesible a través de REST, la tabla padre también debe serlo. Si la tabla padre no está expuesta, ninguno de sus campos lo estará, independientemente de su estado.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/processes.md b/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/processes.md
index 83acd3be1dd9b7..34267fe46b5374 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/processes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/processes.md
@@ -21,13 +21,13 @@ También hay tres botones de acceso directo que se pueden utilizar para filtrar
- **Procesos 4D**: procesos generados por el motor de 4D Server. Estos procesos van precedidos de un icono en forma de rueda dentada.
- **Procesos de reserva**: procesos inactivos pero que se mantienen temporalmente y que pueden reutilizarse en cualquier momento. Este mecanismo optimiza la reactividad de 4D Server. Estos procesos van precedidos de un icono en forma de figura atenuada.
-La opción **Mostrar los procesos por grupos** le permite agrupar los procesos internos de 4D Server así como los procesos cliente, para una mejor legibilidad. Al seleccionar esta opción:
+La opción **Mostrar los procesos por grupos** le permite agrupar los procesos internos de 4D Server así como los procesos cliente, para una mejor legibilidad. Cuando seleccione esta opción:
- los procesos cliente 4D "gemelos" (proceso cliente 4D principal y proceso base cliente 4D, ver [Tipo de proceso](#process-type)) se agrupan como uno solo,
- se crea un grupo "Gestores de tareas", que incluye los procesos internos dedicados al reparto de tareas (Shared balancer, Net session manager, Exclusive pool worker),
- se crea un grupo "Gestores de clientes", que incluye varios procesos internos clientes.
-El área inferior de la ventana se utiliza para mostrar la representación gráfica de la actividad del proceso(s) seleccionados.
+La área inferior de la ventana se utiliza para mostrar la representación gráfica de la actividad del proceso(s) seleccionados.
> Puede seleccionar varias líneas manteniendo presionada la tecla **Mayús** para una selección adyacente o **Ctrl** (Windows) / **Comando** (macOS) para una selección no adyacente.
@@ -58,7 +58,7 @@ Cada proceso se identifica con un icono y un tipo. El color y la forma del icono
|  | Proceso cliente 4D protegido (proceso de desarrollo de un 4D conectado) |
|  | Proceso principal de un cliente 4D conectado o proceso creado con `New process` en un cliente 4D conectado (Proceso colaborativo, equivalente en el servidor del proceso creado en la máquina cliente) |
|  | Proceso cliente 4D principal (proceso paralelo a un proceso cliente 4D. Proceso apropiativo responsable de controlar el proceso cliente 4D principal correspondiente) |
-|  | Proceso de reserva (antiguo o futuro ¨Proceso cliente 4D base de datos") |
+|  | Proceso de reserva (antiguo o futuro "¨Proceso cliente 4D base de datos") |
|  | Worker servidor SQL |
|  | Proceso worker servidor HTTP |
|  | Procedimiento almacenado (proceso lanzado por un 4D conectado y ejecutado en el servidor) |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/sessions.md b/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/sessions.md
index 0414a2dd8a051c..4881c8b895ac28 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/sessions.md
@@ -106,7 +106,7 @@ El mensaje se muestra como una alerta en los equipos remotos correspondientes.
Puede realizar la misma acción por programación utilizando el comando [`SEND MESSAGE TO REMOTE USER`](../commands/send-message-to-remote-user).
-### Ver procesos
+### Visualizar procesos
Este botón se puede utilizar para mostrar directamente los procesos asociados con la sesión seleccionada en la [página **Procesos**](processes.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-copy-to-object.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-copy-to-object.md
index a6a3124f62aa7a..a1c258dc69a519 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-copy-to-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-copy-to-object.md
@@ -36,10 +36,10 @@ En *rangeObj*, pase el rango de celdas con los valores, formato y fórmulas a co
Puede pasar un parámetro opcional *options* con las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ----------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
-| copyOptions | Integer | Especifica lo que se copia o mueve. Valores posibles: Valor Descripción `vk clipboard options all` (por defecto) Copia todos los objetos de datos, incluidos los valores, el formato y las fórmulas. `vk clipboard options formatting` Copia sólo el formato. `vk clipboard options formulas` Copia sólo las fórmulas. `vk clipboard options formulas and formatting` Copia las fórmulas y el formato. `vk clipboard options values` Copia sólo los valores. `vk clipboard options value and formatting` Copia los valores y el formato.
|
+| Propiedad | Tipo | Descripción |
+| ----------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
+| copyOptions | Integer | Especifica lo que se copia o mueve. Especifica lo que se copia o mueve.Valores posibles: Valor Descripción `vk clipboard options all` (por defecto) Copia todos los objetos de datos, incluyendo los valores, formato y fórmulas. `vk clipboard options formatting` Copia solo el formato. `vk clipboard options formulas` Copia sólo las fórmulas. `vk clipboard options formulas and formatting` Copia las fórmulas y formato. `vk clipboard options values` Copia solo los valores. `vk clipboard options value and formatting` Copia los valores y el formato. |
Se tienen en cuenta las opciones de pegado definidas en las [opciones del libro de trabajo](vp-set-workbook-options.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-to-blob.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-to-blob.md
index a1db0371089b0d..434eba77036c01 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-to-blob.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-to-blob.md
@@ -21,7 +21,7 @@ title: VP EXPORT TO BLOB
## Descripción
-El comando `VP EXPORT TO BLOB` exporta el documento 4D View Pro *vpAreaName* en un 4D.Blob según las opciones *paramObj*. El blob exportado está disponible a través de la retrollamada de exportación. Exportar e importar áreas de 4D View Pro como blogs es rápido y eficiente en memoria.
+El comando `VP EXPORT TO BLOB` exporta el documento *vpAreaName* 4D View Pro en un 4D.Blob de acuerdo a las opciones *paramObj*. El blob exportado está disponible a través de la retrollamada de exportación. Exportar e importar áreas de 4D View Pro como blogs es rápido y eficiente en memoria.
En *paramObj*, puede pasar varias propiedades:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-find-table.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-find-table.md
index d710febe1992e0..802e276631080a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-find-table.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-find-table.md
@@ -19,10 +19,10 @@ title: VP Find table
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | --------------------------- | ------------------ |
-| rangeObj | Object | -> | Rango de celdas |
-| Resultado | Text | <- | Nombre de la tabla |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | --------------------------- | --------------- |
+| rangeObj | Object | -> | Rango de celdas |
+| Resultado | Text | <- | Table name |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-find.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-find.md
index 28bfc9863601cd..735d35538b1ca9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-find.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-find.md
@@ -32,14 +32,14 @@ El parámetro *searchValue* permite pasar el texto a buscar dentro del *rangeObj
Puede pasar el parámetro opcional *searchCondition* para especificar el funcionamiento de la búsqueda. Se soportan las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ----------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| afterColumn | Integer | El número de la columna justo antes de la columna inicial de la búsqueda. Si *rangeObj* es un rango combinado, el número de línea indicado debe ser del primer rango. Valor por defecto: -1 (inicio de *rangeObj*) |
-| afterRow | Integer | El número de la línea justo antes de la línea inicial de la búsqueda. El número de la columna justo antes de la columna inicial de la búsqueda. Valor por defecto: -1 (inicio de *rangeObj*) |
-| all | Boolean | - True - Se devuelven todas las celdas en *rangeObj* correspondientes a *searchValue*
- False - (valor por defecto) Sólo se devuelve la primera celda de *rangeObj* correspondiente a *searchValue*
|
-| flags | Integer | `vk find flag exact match` El contenido completo de la celda debe coincidir completamente con el valor de búsqueda `vk find flag ignore case` Las mayúsculas y minúsculas se consideran iguales. Ej: "a" es igual a "A". `vk find flag none` no se consideran banderas de búsqueda (por defecto) `vk find flag use wild cards` Caracteres comodín (\*,?) puede utilizarse en la cadena de búsqueda. Los caracteres comodín se pueden utilizar en cualquier comparación de cadenas para coincidir con cualquier número de caracteres:- \* para cero o varios caracteres (por ejemplo, al buscar "bl*" se puede encontrar "bl", "black" o "blob")
- ? para un solo carácter (por ejemplo, la búsqueda de "h?t" puede encontrar "hot", o "hit"
Estos indicadores pueden combinarse. Por ejemplo: $search.flags:=vk find flag use wild cards+vk find flag ignore case |
-| order | Integer | `vk find order by columns` La búsqueda se realiza por columnas. Cada fila de una columna se busca antes de que la búsqueda continúe a la siguiente columna. `vk find order by rows` La búsqueda se realiza por filas. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto)
|
-| target | Integer | `vk find target formula` La búsqueda se realiza en la fórmula de la celda `vk find target tag` La búsqueda se realiza en la etiqueta de la celda `vk find target text` La búsqueda se realiza en el texto de la celda (predeterminado)
Estas banderas pueden combinarse. Por ejemplo:$search.target:=vk find target formula+vk find target text
|
+| Propiedad | Tipo | Descripción |
+| ----------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| afterColumn | Integer | El número de la columna justo antes de la columna inicial de la búsqueda. Si *rangeObj* es un rango combinado, el número de línea indicado debe ser del primer rango. Valor por defecto: -1 (inicio de *rangeObj*) |
+| afterRow | Integer | El número de la línea justo antes de la línea inicial de la búsqueda. El número de la columna justo antes de la columna inicial de la búsqueda. Valor por defecto: -1 (inicio de *rangeObj*) |
+| all | Boolean | - True - Se devuelven todas las celdas en *rangeObj* correspondientes a *searchValue*
- False - (valor por defecto) Sólo se devuelve la primera celda de *rangeObj* correspondiente a *searchValue*
|
+| flags | Integer | `vk find flag exact match` El contenido completo de la celda debe coincidir completamente con el valor de búsqueda `vk find flag ignore case` Las mayúsculas y minúsculas se consideran iguales. `vk find flag exact match` El contenido completo de la celda debe coincidir completamente con el valor de búsqueda `vk find flag ignore case` Las mayúsculas y minúsculas se consideran iguales.Ej: "a" es lo mismo que "A". puede utilizarse en la cadena de búsqueda. Los caracteres comodín se pueden utilizar en cualquier comparación de cadenas para coincidir con cualquier número de caracteres:- \* para cero o varios caracteres (por ejemplo, al buscar "bl*" se puede encontrar "bl", "black" o "blob")
- ? para un solo carácter (por ejemplo, la búsqueda de "h?t" puede encontrar "hot", o "hit"
Estos indicadores pueden combinarse. Por ejemplo: $search.flags:=vk find flag use wild cards+vk find flag ignore case |
+| order | Integer | `vk find order by columns` La búsqueda se realiza por columnas. `vk find order by columns` La búsqueda se realiza por columnas.Se busca en cada línea de una columna antes de continuar con la siguiente. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto)
|
+| target | Integer | `vk find target formula` La búsqueda se realiza en la fórmula de la celda `vk find target tag` La búsqueda se realiza en la etiqueta de la celda `vk find target text` La búsqueda se realiza en el texto de la celda (predeterminado)
Estas banderas pueden combinarse. Por ejemplo:$search.target:=vk find target formula+vk find target text
|
En el parámetro opcional *replaceValue*, puede pasar un texto para que ocupe el lugar de toda instancia del texto en el *searchValue* encontrado en *rangeObj*.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-column-attributes.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-column-attributes.md
index fb73a839bdb723..64f892eff6421c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-column-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-column-attributes.md
@@ -22,7 +22,7 @@ title: VP Get column attributes
| Parámetros | Tipo | | Descripción |
| ---------- | ------- | --------------------------- | -------------------------------------------------------------- |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| column | Integer | -> | Índice de la columna en la tabla |
| sheet | Integer | -> | Índice de la hoja (hoja actual si se omite) |
| Resultado | Object | <- | Atributos de la *columna* |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-column-index.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-column-index.md
index f22cb30c7c1e6d..d07baa9908513f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-column-index.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-column-index.md
@@ -22,7 +22,7 @@ title: VP Get table column index
| Parámetros | Tipo | | Descripción |
| ---------- | ------- | --------------------------- | -------------------------------------------------------------- |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| columnName | Text | -> | Nombre de la columna de la tabla |
| sheet | Integer | -> | Índice de la hoja (hoja actual si se omite) |
| Resultado | Integer | <- | Índice de *columnName* |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-dirty-rows.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-dirty-rows.md
index 1862a963639894..cc0280670fa2fc 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-dirty-rows.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-dirty-rows.md
@@ -22,7 +22,7 @@ title: VP Get table dirty rows
| Parámetros | Tipo | | Descripción |
| ---------- | ---------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| reset | Boolean | -> | True para borrar el estado sucio de la tabla actual, False para mantenerlo intacto. Por defecto=True |
| sheet | Integer | -> | Índice de la hoja (hoja actual si se omite) |
| Resultado | Collection | <- | Colección de objetos con todos los elementos modificados desde el último reinicio |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-range.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-range.md
index 7a72c98c8bfa2a..d4bd5cc90eaa64 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-range.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-range.md
@@ -22,7 +22,7 @@ title: VP Get table range
| Parámetros | Tipo | | Descripción |
| ---------- | ------- | --------------------------- | ------------------------------------------------------------------------------ |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| onlyData | Integer | -> | `vk table full range` (por defecto) o `vk table data range` |
| sheet | Integer | -> | Índice de la hoja (hoja actual si se omite) |
| Resultado | Object | <- | Rango que contiene la tabla |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-theme.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-theme.md
index f82e5680d862e1..34a778b704b0a2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-theme.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-get-table-theme.md
@@ -22,7 +22,7 @@ title: VP Get table theme
| Parámetros | Tipo | | Descripción |
| ---------- | --------------------------------------------------------------------------------- | --------------------------- | -------------------------------------------------------------- |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| sheet | Integer | -> | Índice de la hoja (hoja actual si se omite) |
| Resultado | [cs.ViewPro.TableTheme](../classes.md#tabletheme) | <- | Valores de propiedad del tema de la tabla actual |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
index 5ada3a7e0b8bbd..99eb0ac0f088ef 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
@@ -48,33 +48,33 @@ Se devuelve un error si el parámetro `filePath` no es válido, o si el archivo
El parámetro opcional *paramObj* permite definir las propiedades del documento importado:
-| Parámetros | | Tipo | Descripción |
-| ------------ | ------------------------- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| formula | | 4D.Function | Un método de retollamada que se lanzará cuando la importación haya terminado. Debe utilizar una fórmula devuelta por el comando [`Formula`](../../commands/formula). Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
-| contraseña | | text | Sólo Microsoft Excel (opcional) - La contraseña utilizada para proteger un documento MS Excel. |
-| csvOptions | | object | opciones de importación csv |
-| | range | object | Rango de celdas que contiene la primera celda donde se escribirán los datos. Si el rango especificado no es un rango de celdas, sólo se utiliza la primera celda del rango. |
-| | rowDelimiter | text | Delimitador de línea. Si no está presente, el delimitador es determinado automáticamente por 4D. |
-| | columnDelimiter | text | Delimitador de columna. Por defecto: "," |
-| sjsOptions | | object | opciones para la importación de sjs |
-| | calcOnDemand | boolean | Si se calculan las fórmulas sólo cuando se solicitan, por defecto es false. |
-| | dynamicReferences | boolean | Si calcular funciones con referencias dinámicas, por defecto es true. |
-| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
-| | includeFormulas | boolean | Si se incluyen las fórmulas al cargar, por defecto es true. |
-| | includeStyles | boolean | Si se incluyen los estilos al cargar, por defecto es true. |
-| | includeUnusedStyles | boolean | Si se incluyen los estilos de nombre no utilizados al convertir excel xml a json, por defecto es true. |
-| | openMode | integer | - 0 (normal): modo abierto normal, sin perezoso (lazy) e incremental. Al abrir un archivo, la interfaz de usuario y el evento de interfaz de usuario podrían actualizarse y responder en momentos específicos.
- 1 (lazy): modo de apertura lazy. Al abrir el archivo, sólo se cargará directamente la hoja activa. Las demás hojas sólo se cargarán cuando se vayan a utilizar.
- 2 (incremental): modo de apertura incremental. Al abrir un archivo, la interfaz de usuario y el evento de interfaz de usuario podrían actualizarse y responder directamente.
|
-| excelOptions | | object | Sólo Excel (opcional) - Opciones para exportar Excel |
-| | includeStyles | boolean | Si se incluye el estilo al importar, por defecto true. |
-| | includeFormulas | boolean | Si se incluye la fórmula al importar, por defecto true. |
-| | frozenColumnsAsRowHeaders | boolean | Bien sea tratar las columnas congeladas como encabezados de línea al importar, por defecto false. |
-| | frozenRowsAsColumnHeaders | boolean | Bien sea tratar las líneas congeladas como encabezados de columna al importar, por defecto false. |
-| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
-| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
-| | calcOnDemand | boolean | Si se calculan las fórmulas solo cuando se solicitan, por defecto false. |
-| | includeUnusedStyles | boolean | Si incluir el estilo de nombre no utilizado al convertir excel xml al json, default true. |
-| | contraseña | text | La contraseña para abrir el workbook. |
-| | openMode | text | Los modos de apertura: normal, diferido e incremental. Por defecto es normal. |
+| Parámetros | | Tipo | Descripción |
+| ------------ | ------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| formula | | 4D.Function | Un método de retollamada que se lanzará cuando la importación haya terminado. Debe utilizar una fórmula devuelta por el comando [`Formula`](../../commands/formula). Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
+| contraseña | | text | Sólo Microsoft Excel (opcional) - La contraseña utilizada para proteger un documento MS Excel. |
+| csvOptions | | object | opciones de importación csv |
+| | range | object | Rango de celdas que contiene la primera celda donde se escribirán los datos. Si el rango especificado no es un rango de celdas, sólo se utiliza la primera celda del rango. |
+| | rowDelimiter | text | Delimitador de línea. Si no está presente, el delimitador es determinado automáticamente por 4D. |
+| | columnDelimiter | text | Delimitador de columna. Por defecto: "," |
+| sjsOptions | | object | opciones para la importación de sjs |
+| | calcOnDemand | boolean | Si se calculan las fórmulas sólo cuando se solicitan, por defecto es false. |
+| | dynamicReferences | boolean | Si calcular funciones con referencias dinámicas, por defecto es true. |
+| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
+| | includeFormulas | boolean | Si se incluyen las fórmulas al cargar, por defecto es true. |
+| | includeStyles | boolean | Si se incluyen los estilos al cargar, por defecto es true. |
+| | includeUnusedStyles | boolean | Si se incluyen los estilos de nombre no utilizados al convertir excel xml a json, por defecto es true. |
+| | openMode | integer | - 0 (normal): modo abierto normal, sin perezoso (lazy) e incremental. Al abrir un archivo, la interfaz de usuario y el evento de interfaz de usuario podrían actualizarse y responder en momentos específicos.
- 1 (lazy): modo de apertura lazy. Al abrir el archivo, sólo se cargará directamente la hoja activa. Las demás hojas sólo se cargarán cuando se vayan a utilizar.
- 2 (incremental): modo abierto incremental. Al abrir un archivo, la interfaz de usuario y el evento de interfaz de usuario podrían actualizarse y responder directamente.
|
+| excelOptions | | object | Sólo Excel (opcional) - Opciones para exportar Excel |
+| | includeStyles | boolean | Si se incluye el estilo al importar, por defecto true. |
+| | includeFormulas | boolean | Si se incluye la fórmula al importar, por defecto true. |
+| | frozenColumnsAsRowHeaders | boolean | Bien sea tratar las columnas congeladas como encabezados de línea al importar, por defecto false. |
+| | frozenRowsAsColumnHeaders | boolean | Bien sea tratar las líneas congeladas como encabezados de columna al importar, por defecto false. |
+| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
+| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
+| | calcOnDemand | boolean | Si se calculan las fórmulas solo cuando se solicitan, por defecto false. |
+| | includeUnusedStyles | boolean | Si incluir el estilo de nombre no utilizado al convertir excel xml al json, default true. |
+| | contraseña | text | La contraseña para abrir el workbook. |
+| | openMode | text | Los modos de apertura: normal, diferido e incremental. Por defecto es normal. |
:::note Notas
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-insert-table-columns.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-insert-table-columns.md
index b3224d5bc1f8a8..e6e736cd9d1f77 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-insert-table-columns.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-insert-table-columns.md
@@ -22,7 +22,7 @@ title: VP INSERT TABLE COLUMNS
| Parámetros | Tipo | | Descripción |
| ----------- | ------- | -- | -------------------------------------------------------------- |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| column | Integer | -> | Índice en la tabla de la columna inicial a insertar |
| count | Integer | -> | Número de columnas a añadir (debe ser >0) |
| insertAfter | Integer | -> | `vk table insert before` o `vk table insert after` *columna* |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-insert-table-rows.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-insert-table-rows.md
index db34ab3276af80..25d05a32520fbe 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-insert-table-rows.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-insert-table-rows.md
@@ -22,7 +22,7 @@ title: VP INSERT TABLE ROWS
| Parámetros | Tipo | | Descripción |
| ----------- | ------- | -- | -------------------------------------------------------------- |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| row | Integer | -> | Índice en la tabla de la línea inicial a insertar |
| count | Integer | -> | Número de líneas a añadir (debe ser >0) |
| insertAfter | Integer | -> | `vk table insert before` o `vk table insert after` *fila* |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-move-cells.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-move-cells.md
index 7c0de733a55942..c9a805b8276325 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-move-cells.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-move-cells.md
@@ -40,10 +40,10 @@ En *targetRange*, pase el rango de celdas donde se copiarán o moverán los valo
El parámetro *options* tiene varias propiedades:
-| Propiedad | Tipo | Descripción |
-| ------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| copy | Boolean | Determina si los valores, el formato y las fórmulas de las celdas de *originRange* se eliminan después de ejecutar el comando:- *False* (por defecto) para eliminarlos
- *True* para mantenerlos
|
-| pasteOptions | Integer | Especifica lo que se pega. Valores posibles: Valor Descripción `vk clipboard options all` (por defecto) Pega todos los objetos de datos, incluidos los valores, el formato y las fórmulas. `vk clipboard options formatting` Pega sólo el formato. `vk clipboard options formulas` Pega sólo las fórmulas. `vk clipboard options formulas and formatting` Pega las fórmulas y el formato. `vk clipboard options values` Pega sólo los valores. `vk clipboard options value and formatting` Pega los valores y el formato.
|
+| Propiedad | Tipo | Descripción |
+| ------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| copy | Boolean | Determina si los valores, el formato y las fórmulas de las celdas de *originRange* se eliminan después de ejecutar el comando:- *False* (por defecto) para eliminarlos
- *True* para mantenerlos
|
+| pasteOptions | Integer | Especifica lo que se pega. Especifica lo que se pega.Valores posibles: Valor Descripción `vk clipboard options all` (por defecto) Pega todos los objetos de datos, incluyendo los valores, formato y fórmulas. Valores posibles: Valor Descripción `vk clipboard options all` (por defecto) Pega todos los objetos de datos, incluyendo los valores, formato y fórmulas. `vk clipboard options formatting` Pega solo el formato. `vk clipboard options formulas` Pega sólo las fórmulas. `vk clipboard options formulas and formatting` Pega las fórmulas y el formato. `vk clipboard options values` Pega solo los valores. `vk clipboard options value and formatting` Copia los valores y el formato. |
Se tienen en cuenta las opciones de pegado definidas en las [opciones del libro de trabajo](vp-set-workbook-options.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-remove-table-columns.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-remove-table-columns.md
index 6b9583180f6508..69eae913d20d23 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-remove-table-columns.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-remove-table-columns.md
@@ -22,7 +22,7 @@ title: VP REMOVE TABLE COLUMNS
| Parámetros | Tipo | | Descripción |
| ---------- | ------- | -- | -------------------------------------------------------------- |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| column | Integer | -> | Índice en la tabla de la columna inicial a eliminar |
| count | Integer | -> | Número de columnas a eliminar (debe ser >0) |
| sheet | Integer | -> | Índice de la hoja (hoja actual si se omite) |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-remove-table-rows.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-remove-table-rows.md
index 9c82f271f924fa..d1f2c0f62407e5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-remove-table-rows.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-remove-table-rows.md
@@ -22,7 +22,7 @@ title: VP REMOVE TABLE ROWS
| Parámetros | Tipo | | Descripción |
| ---------- | ------- | -- | -------------------------------------------------------------- |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| row | Integer | -> | Índice en la tabla de la línea inicial a eliminar |
| count | Integer | -> | Número de líneas a eliminar (debe ser >0) |
| sheet | Integer | -> | Índice de la hoja (hoja actual si se omite) |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-data-context.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-data-context.md
index d862bfe0760e9c..6de51af222d032 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-data-context.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-data-context.md
@@ -47,10 +47,10 @@ Para pasar un valor de tiempo en *dataObj* o *dataColl*, encapsúlelo en un obje
En *options*, puede pasar un objeto que especifique las opciones adicionales. Las propiedades posibles son:
-| Propiedad | Tipo | Descripción |
-| ------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| reset | Object | True para restablecer el contenido de la hoja antes de cargar el nuevo contexto, False (por defecto) en caso contrario. |
-| autoGenerateColumns | Object | Sólo se utiliza cuando los datos son una colección. True (por defecto) para especificar que las columnas deben generarse automáticamente cuando se vincula el contexto de datos. En este caso, se aplican las siguientes reglas: - Si *dataColl* es una colección de objetos, los nombres de los atributos se utilizan como títulos de las columnas (ver el ejemplo 2).
- Si *dataColl* contiene subcolecciones de valores escalares, cada subcolección define los valores de una fila (ver el ejemplo 3). La primera subcolección determina cuántas columnas se crean.
|
+| Propiedad | Tipo | Descripción |
+| ------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| reset | Object | True para restablecer el contenido de la hoja antes de cargar el nuevo contexto, False (por defecto) en caso contrario. |
+| autoGenerateColumns | Object | Sólo se utiliza cuando los datos son una colección. True (por defecto) para especificar que las columnas deben generarse automáticamente cuando se vincula el contexto de datos. En este caso, se aplican las siguientes reglas: - Si *dataColl* es una colección de objetos, los nombres de los atributos se utilizan como títulos de las columnas (ver el ejemplo 2).
- Si *dataColl* contiene subcolecciones de valores escalares, cada subcolección define los valores de una línea (ver el ejemplo 3). La primera subcolección determina cuántas columnas se crean.
|
En *sheet*, pase el índice de la hoja que recibirá el contexto de datos. Si no se pasa ningún índice, el contexto se aplica a la hoja actual.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-table-column-attributes.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-table-column-attributes.md
index d8c9e7501bbf75..37d8bfa3f62cf0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-table-column-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-table-column-attributes.md
@@ -22,7 +22,7 @@ title: VP SET TABLE COLUMN ATTRIBUTES
| Parámetros | Tipo | | Descripción |
| ---------- | ------- | -- | -------------------------------------------------------------- |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| column | Integer | -> | Índice de la columna en la tabla |
| attributes | Object | -> | Atributo(s) a aplicar a *column* |
| sheet | Integer | -> | Índice de la hoja (hoja actual si se omite) |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-table-theme.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-table-theme.md
index b93fef34a62866..d9f701ba8cbf68 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-table-theme.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-table-theme.md
@@ -22,7 +22,7 @@ title: VP SET TABLE THEME
| Parámetros | Tipo | | Descripción |
| ---------- | --------------------------------------------------------------------------------- | -- | -------------------------------------------------------------- |
| vpAreaName | Text | -> | Nombre de objeto formulario área 4D View Pro |
-| tableName | Text | -> | Nombre de la tabla |
+| tableName | Text | -> | Table name |
| options | [cs.ViewPro.TableTheme](../classes.md#tabletheme) | -> | Propiedades del tema de la tabla a modificar |
| sheet | Integer | -> | Índice de la hoja (hoja actual si se omite) |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-workbook-options.md
index 3c666380fd0614..c0228670d2176f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-workbook-options.md
@@ -34,66 +34,66 @@ Las opciones modificadas del libro de trabajo se guardan con el documento.
En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
-| Propiedad | Tipo | Descripción |
-| ------------------------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| allowUserDragMerge | boolean | Se permite la operación de fusión por arrastre (seleccionar celdas y arrastrar la selección para fusionar celdas) |
-| allowAutoCreateHyperlink | boolean | Permite la creación automática de hipervínculos en la hoja de cálculo. |
-| allowContextMenu | boolean | Se puede abrir el menú contextual integrado. |
-| allowCopyPasteExcelStyle | boolean | Los estilos de una hoja de cálculo pueden copiarse y pegarse en Excel, y viceversa. |
-| allowDynamicArray | boolean | Permite arrays dinámicos en hojas de cálculo |
-| allowExtendPasteRange | boolean | Amplía el rango pegado si éste no es suficiente para los datos pegados |
-| allowSheetReorder | boolean | Se permite reordenar la hoja |
-| allowUndo | boolean | Deshacer ediciones está permitido. |
-| allowUserDeselect | boolean | Se permite desmarcar celdas específicas de una selección. |
-| allowUserDragDrop | boolean | Se permite arrastrar y soltar los datos del rango |
-| allowUserDragFill | boolean | Se permite el relleno por arrastre |
-| allowUserEditFormula | boolean | Las fórmulas pueden introducirse en las celdas |
-| allowUserResize | boolean | Columnas y filas redimensionables |
-| allowUserZoom | boolean | Se permite hacer zoom (ctrl + rueda del ratón) |
-| autoFitType | number | El contenido se formatea para que se ajuste en las celdas, o en las celdas y los encabezados. Valores disponibles: Constante Valor Descripción vk auto fit type cell 0 El contenido se ajusta automáticamente a las celdas vk auto fit type cell with header 1 El contenido se ajusta automáticamente a las celdas y encabezados
|
-| backColor | string | Una cadena de color utilizada para representar el color de fondo del área, como "red", "#FFFF00", "rgb(255,0,0)", "Acento 5". El color de fondo inicial se oculta cuando se define una backgroundImage. |
-| backgroundImage | string / picture / file | Imagen de fondo para el área. |
-| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Valores disponibles: Constante Valor Descripción vk image layout center 1 En el centro del área. vk image layout none 3 En la esquina superior izquierda del área con su tamaño original. vk image layout stretch 0 Rellena el área. vk image layout zoom 2 Se muestra con su relación de aspecto original.
|
-| calcOnDemand | boolean | Las fórmulas se calculan sólo cuando se piden. |
-| columnResizeMode | number | Redimensiona modo para columnas. Valores disponibles: Constante Valor Descripción vk resize mode normal 0 Utiliza el modo de redimensionamiento normal (es decir, las columnas restantes se ven afectadas) vk resize mode split 1 Utiliza el modo dividido (es decir, las columnas restantes no se ven afectadas)
|
-| copyPasteHeaderOptions | number | Encabezados para incluir cuando se copian o pegan datos. Valores disponibles: Constante Valor Descripción vk copy paste header options all headers 3 Incluye los encabezados seleccionados cuando se copian los datos; sobrescribe los encabezados seleccionados cuando se pegan los datos. vk copy paste header options column headers 2 Incluye los encabezados de columna seleccionados cuando se copian los datos; sobrescribe los encabezados de columna seleccionados cuando se pegan los datos. vk copy paste header options no headers 0 No incluye los encabezados de columna y fila al copiar los datos; no sobrescribe los encabezados de columna o fila seleccionadas al pegar los datos. vk copy paste header options row headers 1 Incluye los encabezados de fila seleccionados cuando se copian los datos; sobrescribe los encabezados de fila seleccionados cuando se pegan los datos.
|
-| customList | collection | La lista para que los usuarios personalicen el relleno de arrastre, dar prioridad a que coincida con esta lista en cada relleno. Cada elemento de colección es una colección de cadenas. Vet en [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). |
-| cutCopyIndicatorBorderColor | string | Color del borde del indicador que aparece cuando el usuario corta o copia la selección. |
-| cutCopyIndicatorVisible | boolean | Muestra un indicador al copiar o cortar el elemento seleccionado. |
-| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : Constante Valor Descripción vk auto fill type auto 5 Rellena automáticamente las celdas. vk auto fill type clear values 4 Borra los valores de las celdas. vk auto fill type copycells 0 Rellena las celdas con todos los objetos de datos, incluyendo valores, formato y fórmulas. vk auto fill type fill formatting only 2 Rellena las celdas sólo con formato. vk auto fill type fill series 1 Rellena las celdas con series. vk auto fill type fill without formatting 3 Rellena las celdas con valores y no con formato.
|
-| enableAccessibility | boolean | El soporte de accesibilidad está activado en la hoja de cálculo. |
-| enableFormulaTextbox | boolean | Se activa la caja de texto de la fórmula. |
-| grayAreaBackColor | string | Una cadena color utilizada para representar el color de fondo del área gris, como "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. |
-| highlightInvalidData | boolean | Los datos inválidos son resaltados. |
-| iterativeCalculation | boolean | Activa el cálculo iterativo. Vet en [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/formulareference/formulaoverview/calculating-iterative). |
-| iterativeCalculationMaximumChange | numeric | Cantidad máxima de cambio entre dos valores de cálculo. |
-| iterativeCalculationMaximumIterations | numeric | Número de veces que la fórmula debe recalcular. |
-| newTabVisible | boolean | Mostrar una pestaña especial para permitir a los usuarios insertar nuevas hojas. |
-| numbersFitMode | number | Cambia el modo de visualización cuando el ancho de los datos de fecha/número es mayor que el ancho de la columna. Valores disponibles: Constante Valor Descripción vk numbers fit mode mask 0 Sustituye el contenido de los datos por "###" y muestra la punta vk numbers fit mode overflow 1 Muestra el contenido de los datos como una cadena. Si la siguiente celda está vacía, se desborda el contenido.
|
-| pasteSkipInvisibleRange | boolean | Pegar u omitir el pegado de datos en rangos invisibles: - False (por defecto): pegar datos
- True: omitir el pegado en rangos invisibles
Ver [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/rows-columns/paste-skip-data-invisible-range) para más información sobre rangos invisibles. |
-| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Valores disponibles: Constante Valor Descripción vk reference style A1 0 Utiliza el estilo A1. vk reference style R1C1 1 Utiliza el estilo R1C1
|
-| resizeZeroIndicator | number | Política de dibujo cuando las líneas o columnas se redimensionan a 0. Valores disponibles: Constante Valor Descripción vk resize zero indicator default 0 Utiliza la política de dibujo actual cuando la fila o columna se redimensiona a cero. vk resize zero indicator enhanced 1 Dibuja dos líneas cortas cuando la fila o columna se redimensiona a cero.
|
-| rowResizeMode | number | La forma en que se redimensionan las líneas. Los valores disponibles son los mismos qe columnResizeMode |
-| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Valores disponibles: Constante Valor Descripción vk scrollbar appearance mobile 1 Aspecto de la barra de desplazamiento móvil. vk scrollbar appearance skin (por defecto) 0 Aspecto clásico de la barra de desplazamiento.
|
-| scrollbarMaxAlign | boolean | La barra de desplazamiento se alinea con la última línea y columna de la hoja activa. |
-| scrollbarShowMax | boolean | Las barras de desplazamiento mostradas se basan en el número total de columnas y líneas de la hoja. |
-| scrollByPixel | boolean | Activar desplazamiento de precisión por píxel. |
-| scrollIgnoreHidden | boolean | La barra de desplazamiento ignora líneas o columnas ocultas. |
-| scrollPixel | integer | Decide el desplazamiento por ese número de píxeles cuando scrollByPixel es true. Decide el desplazamiento por ese número de píxeles cuando scrollByPixel es true. Por ejemplo: delta de desplazamiento es 3, scrollPixel es 5, los píxeles finales de desplazamiento son 15. |
-| showDragDropTip | boolean | Mostrar la punta de arrastrar y soltar. |
-| showDragFillSmartTag | boolean | Mostrar el diálogo de arrastrar y rellenar. |
-| showDragFillTip | boolean | Mostrar la punta de arrastrar y soltar. |
-| showHorizontalScrollbar | boolean | Mostrar la barra de desplazamiento horizontal. |
-| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Valores disponibles: Constante Valor Descripción vk show resize tip both 3 Se muestran los consejos de redimensionamiento horizontal y vertical. vk show resize tip column 1 Sólo se muestra el consejo de redimensionamiento horizontal. vk show resize tip none 0 No se muestra ningún consejo de redimensionamiento. vk show resize tip row 2 Sólo se muestra el consejo de redimensionamiento vertical.
|
-| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Valores disponibles: Constante Valor Descripción vk show scroll tip both 3 Se muestran los consejos de desplazamiento horizontal y vertical. vk show scroll tip horizontal 1 Sólo se muestra el consejo de desplazamiento horizontal. vk show scroll tip none No se muestra ninguna información de desplazamiento. vk show scroll tip vertical 2 Sólo se muestra la información de desplazamiento vertical.
|
-| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
-| tabEditable | boolean | La pestaña de la hoja se puede editar. |
-| tabNavigationVisible | boolean | Mostrar la navegación por pestañas. |
-| tabStripPosition | number | Posición de la barra de pestañas. Valores disponibles: Constante Valor Descripción vk tab strip position bottom 0 La posición del tabulador es relativa a la parte inferior del libro. vk tab strip position left 2 La posición de la barra es relativa a la izquierda del libro. vk tab strip position right 3 La posición de la barra es relativa a la derecha del libro. vk tab strip position top 1 La posición de la barra de pestañas es relativa a la parte superior del libro.
|
-| tabStripRatio | number | Valor porcentual (0,x) que especifica qué parte del espacio horizontal se asignará al tabulador. El resto del área horizontal (1 - 0.x) se asignará a la barra de desplazamiento horizontal. |
-| tabStripVisible | boolean | Mostrar la barra de pestañas de la hoja. |
-| tabStripWidth | number | Ancho de la etiqueta cuando la posición es izquierda o derecha. Por defecto y el mínimo es 80. |
-| useTouchLayout | boolean | Si se va a utilizar el diseño táctil para presentar el componente Spread. |
+| Propiedad | Tipo | Descripción |
+| ------------------------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| allowUserDragMerge | boolean | Se permite la operación de fusión por arrastre (seleccionar celdas y arrastrar la selección para fusionar celdas) |
+| allowAutoCreateHyperlink | boolean | Permite la creación automática de hipervínculos en la hoja de cálculo. |
+| allowContextMenu | boolean | Se puede abrir el menú contextual integrado. |
+| allowCopyPasteExcelStyle | boolean | Los estilos de una hoja de cálculo pueden copiarse y pegarse en Excel, y viceversa. |
+| allowDynamicArray | boolean | Permite arrays dinámicos en hojas de cálculo |
+| allowExtendPasteRange | boolean | Amplía el rango pegado si éste no es suficiente para los datos pegados |
+| allowSheetReorder | boolean | Se permite reordenar la hoja |
+| allowUndo | boolean | Deshacer ediciones está permitido. |
+| allowUserDeselect | boolean | Se permite desmarcar celdas específicas de una selección. |
+| allowUserDragDrop | boolean | Se permite arrastrar y soltar los datos del rango |
+| allowUserDragFill | boolean | Se permite el relleno por arrastre |
+| allowUserEditFormula | boolean | Las fórmulas pueden introducirse en las celdas |
+| allowUserResize | boolean | Columnas y filas redimensionables |
+| allowUserZoom | boolean | Se permite hacer zoom (ctrl + rueda del ratón) |
+| autoFitType | number | El contenido se formatea para que se ajuste en las celdas, o en las celdas y los encabezados. Valores disponibles: Constante Valor Descripción vk auto fit type cell 0 El contenido se ajusta automáticamente a las celdas vk auto fit type cell with header 1 El contenido se ajusta automáticamente a las celdas y encabezados
|
+| backColor | string | Una cadena de color utilizada para representar el color de fondo del área, como "red", "#FFFF00", "rgb(255,0,0)", "Acento 5". El color de fondo inicial se oculta cuando se define una backgroundImage. |
+| backgroundImage | string / picture / file | Imagen de fondo para el área. |
+| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Valores disponibles: Constante Valor Descripción vk image layout center 1 En el centro del área. vk image layout none 3 En la esquina superior izquierda del área con su tamaño original. vk image layout stretch 0 Llena el área. vk show resize tip none 0 No se muestra ningún consejo de redimensionamiento.
|
+| calcOnDemand | boolean | Las fórmulas se calculan sólo cuando se piden. |
+| columnResizeMode | number | Redimensiona modo para columnas. Valores disponibles: Constante Valor Descripción vk resize mode normal 0 Utiliza el modo de redimensionamiento normal (es decir, las columnas restantes se ven afectadas) vk resize mode split 1 Utiliza el modo dividido (es decir, las columnas restantes no se ven afectadas)
|
+| copyPasteHeaderOptions | number | Encabezados para incluir cuando se copian o pegan datos. Encabezados para incluir cuando se copian o pegan datos.Valores disponibles:Constante Valor Descripción vk copy paste header options all headers 3 Incluye los encabezados seleccionados cuando se copian los datos; sobrescribe los encabezados seleccionados cuando se pegan los datos. Valores disponibles:Constante Valor Descripción vk copy paste header options all headers 3 Incluye los encabezados seleccionados cuando se copian los datos; sobrescribe los encabezados seleccionados cuando se pegan los datos. vk copy paste header options column headers 2 Incluye los encabezados de columnas seleccionadas cuando se copian los datos; sobrescribe los encabezados de columna seleccionados cuando se pegan los datos. vk copy paste header options no headers 0 Los encabezados de columnas y de líneas no se incluyen cuando se copian los datos; los encabezados de columnas o de líneas selecciondos no sobreescriben los encabezados de columnas o filas cuando se pegan los datos.
|
+| customList | collection | La lista para que los usuarios personalicen el relleno de arrastre, dar prioridad a que coincida con esta lista en cada relleno. Cada elemento de colección es una colección de cadenas. Vet en [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). |
+| cutCopyIndicatorBorderColor | string | Color del borde del indicador que aparece cuando el usuario corta o copia la selección. |
+| cutCopyIndicatorVisible | boolean | Muestra un indicador al copiar o cortar el elemento seleccionado. |
+| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : Constante Valor Descripción vk auto fill type auto 5 Rellena automáticamente las celdas. vk auto fill type clear values 4 Borra los valores de las celdas. Valores disponibles : Constante Valor Descripción vk auto fill type auto 5 Rellena automáticamente las celdas. vk auto fill type clear values 4 Borra los valores de las celdas. vk auto fill type copycells 0 Llena las celdas con todos los objetos de datos, incluyendo valores, formato y fórmulas. vk auto fill type fill without formatting 3 Rellena las celdas con valores y no con formato.
|
+| enableAccessibility | boolean | El soporte de accesibilidad está activado en la hoja de cálculo. |
+| enableFormulaTextbox | boolean | Se activa la caja de texto de la fórmula. |
+| grayAreaBackColor | string | Una cadena color utilizada para representar el color de fondo del área gris, como "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. |
+| highlightInvalidData | boolean | Los datos inválidos son resaltados. |
+| iterativeCalculation | boolean | Activa el cálculo iterativo. Vet en [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/formulareference/formulaoverview/calculating-iterative). |
+| iterativeCalculationMaximumChange | numeric | Cantidad máxima de cambio entre dos valores de cálculo. |
+| iterativeCalculationMaximumIterations | numeric | Número de veces que la fórmula debe recalcular. |
+| newTabVisible | boolean | Mostrar una pestaña especial para permitir a los usuarios insertar nuevas hojas. |
+| numbersFitMode | number | Cambia el modo de visualización cuando el ancho de los datos de fecha/número es mayor que el ancho de la columna. Valores disponibles: Constante Valor Descripción vk numbers fit mode mask 0 Sustituye el contenido de los datos por "###" y muestra la punta vk numbers fit mode overflow 1 Muestra el contenido de los datos como una cadena. Si la siguiente celda está vacía, se desborda el contenido.
|
+| pasteSkipInvisibleRange | boolean | Pegar u omitir el pegado de datos en rangos invisibles: - False (por defecto): pegar datos
- True: omitir el pegado en rangos invisibles
Ver [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/rows-columns/paste-skip-data-invisible-range) para más información sobre rangos invisibles. |
+| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Valores disponibles: Constante Valor Descripción vk reference style A1 0 Utiliza el estilo A1. vk estilo de referencia R1C1 1 Utilizar el estilo R1C1
|
+| resizeZeroIndicator | number | Política de dibujo cuando las líneas o columnas se redimensionan a 0. Política de dibujo cuando las líneas o columnas se redimensionan a 0.Valores disponibles:Constante Valor Descripción vk resize zero indicator default 0 Utiliza la política de dibujo actual cuando la fila o columna se redimensiona a cero. Valores disponibles:Constante Valor Descripción vk resize zero indicator default 0 Utiliza la política de dibujo actual cuando la fila o columna se redimensiona a cero.
|
+| rowResizeMode | number | La forma en que se redimensionan las líneas. Los valores disponibles son los mismos qe columnResizeMode |
+| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Apariencia de la barra de desplazamiento.Valores disponibles: Constante Valor Descripción vk scrollbar appearance mobile 1 Aspecto de la barra de desplazamiento móvil.
|
+| scrollbarMaxAlign | boolean | La barra de desplazamiento se alinea con la última línea y columna de la hoja activa. |
+| scrollbarShowMax | boolean | Las barras de desplazamiento mostradas se basan en el número total de columnas y líneas de la hoja. |
+| scrollByPixel | boolean | Activar desplazamiento de precisión por píxel. |
+| scrollIgnoreHidden | boolean | La barra de desplazamiento ignora líneas o columnas ocultas. |
+| scrollPixel | integer | Decide el desplazamiento por ese número de píxeles cuando scrollByPixel es true. Decide el desplazamiento por ese número de píxeles cuando scrollByPixel es true. Por ejemplo: delta de desplazamiento es 3, scrollPixel es 5, los píxeles finales de desplazamiento son 15. |
+| showDragDropTip | boolean | Mostrar la punta de arrastrar y soltar. |
+| showDragFillSmartTag | boolean | Mostrar el diálogo de arrastrar y rellenar. |
+| showDragFillTip | boolean | Mostrar la punta de arrastrar y soltar. |
+| showHorizontalScrollbar | boolean | Mostrar la barra de desplazamiento horizontal. |
+| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Cómo se muestra la imagen de fondo.Valores disponibles: Constante Valor Descripción vk image layout center 1 En el centro del área. vk image layout none 3 En la esquina superior izquierda del área con su tamaño original. vk image layout stretch 0 Llena el área.
|
+| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Cómo mostrar el tip de desplazamiento.Valores disponibles: Constante Valor Descripción vk show scroll tip both 3 Se muestran los consejos de desplazamiento horizontal y vertical. Valores disponibles: Constante Valor Descripción vk show scroll tip both 3 Se muestran los consejos de desplazamiento horizontal y vertical. vk show scroll tip horizontal 1 Solo se muestra la punta de desplazamiento vertical. vk show scroll tip none No se muestra ninguna propina.
|
+| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
+| tabEditable | boolean | La pestaña de la hoja se puede editar. |
+| tabNavigationVisible | boolean | Mostrar la navegación por pestañas. |
+| tabStripPosition | number | Posición de la barra de pestañas. Posición de la barra de pestañas.Valores disponibles:Constante Valor Descripción vk tab strip position bottom 0 La posición de la barra de pestañas es relativa a la parte inferior del libro. Valores disponibles:Constante Valor Descripción vk tab strip position bottom 0 La posición de la barra de pestañas es relativa a la parte inferior del libro. vk tab strip position left 2 La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. vk tab strip position right 3 La posición de la barra de tabulación es relativa a la parte derecha del libro de trabajo.
|
+| tabStripRatio | number | Valor porcentual (0,x) que especifica qué parte del espacio horizontal se asignará al tabulador. El resto del área horizontal (1 - 0.x) se asignará a la barra de desplazamiento horizontal. |
+| tabStripVisible | boolean | Mostrar la barra de pestañas de la hoja. |
+| tabStripWidth | number | Ancho de la etiqueta cuando la posición es izquierda o derecha. Por defecto y el mínimo es 80. |
+| useTouchLayout | boolean | Si se va a utilizar el diseño táctil para presentar el componente Spread. |
## Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/configuring.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/configuring.md
index 6d548c325c289e..954f94f35d298d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/configuring.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/configuring.md
@@ -332,16 +332,16 @@ Los atributos de orientación se utilizan para especificar la dirección del dis
Los atributos página se utilizan para especificar la configuración general de impresión del documento.
-| Propiedad | Tipo | Descripción |
-| --------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| blackAndWhite | boolean | Impresión sólo en blanco y negro. Valor por defecto = false
**Nota**: este atributo no afecta a los archivos PDF. Se mantienen los colores en los PDF.
|
-| centering | entero largo | Como se centran los contenidos en la página impresa. Valores disponibles: `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (por defecto), `vk print centering vertical` |
-| firstPageNumber | entero largo | El número de página a imprimir en la primera página. Valor por defecto = 1 |
-| pageOrder | entero largo | Las páginas del pedido se imprimen. Valores disponibles: `vk print page order auto` (por defecto), `vk print page order down then over`, `vk print page order over then down`. |
-| pageRange | text | El rango de páginas a imprimir |
-| qualityFactor | entero largo | El factor de calidad para la impresión (1 - 8). Cuanto mayor sea el factor de calidad, mejor será la calidad de impresión, sin embargo, el rendimiento de impresión puede verse afectado. Valor por defecto = 2
|
-| useMax | boolean | Sólo se imprimen columnas y líneas con datos.Valor predeterminado = true
|
-| zoomFactor | real | La cantidad para ampliar o reducir la página impresa.Valor predeterminado = 1
|
+| Propiedad | Tipo | Descripción |
+| --------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| blackAndWhite | boolean | Impresión sólo en blanco y negro. Valor por defecto = false
**Nota**: este atributo no afecta a los archivos PDF. Se mantienen los colores en los PDF.
|
+| centering | entero largo | Como se centran los contenidos en la página impresa. Valores disponibles: `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (por defecto), `vk print centering vertical` |
+| firstPageNumber | entero largo | El número de página a imprimir en la primera página. Valor por defecto = 1 |
+| pageOrder | entero largo | Las páginas del pedido se imprimen. Valores disponibles: `vk print page order auto` (por defecto), `vk print page order down then over`, `vk print page order over then down`. |
+| pageRange | text | El rango de páginas a imprimir |
+| qualityFactor | entero largo | El factor de calidad para la impresión (1 - 8). Cuanto mayor sea el factor de calidad, mejor será la calidad de impresión, aunque el rendimiento de la impresión puede verse afectado.Valor por defecto = 2
|
+| useMax | boolean | Sólo se imprimen columnas y líneas con datos.Valor por defecto = true
|
+| zoomFactor | real | La cantidad para ampliar o reducir la página impresa.Valor por defecto = 1
|
### Tamaño del papel
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/authentication.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/authentication.md
index 79995c30a85577..7c5f1409fba7e4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/authentication.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/authentication.md
@@ -158,7 +158,7 @@ El parámetro `$IPServer` recibe la dirección IP utilizada para llamar al servi
#### $user y $password - Nombre de usuario y contraseña
-Generalidades Generalidades Generalidades Generalidades Generalidades Generalidades Generalidades Generalidades Generalidades Esta caja de diálogo aparece para cada conexión, si se selecciona la autenticación [basic](#basic-protocol) o [digest](#digest-protocol).
+Generalidades Generalidades Generalidades Generalidades Generalidades Generalidades Generalidades Generalidades Esta caja de diálogo aparece para cada conexión, si se selecciona la autenticación [basic](#basic-protocol) o [digest](#digest-protocol).
> Si el nombre de usuario enviado por el navegador existe en 4D, el parámetro $password (la contraseña del usuario) no se devuelve por razones de seguridad.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/quotas.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/quotas.md
index 2556a34a6f20a2..4165a11157a896 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/quotas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/quotas.md
@@ -4,7 +4,7 @@ title: Cuotas del servidor web
---
Las aplicaciones web pueden recibir solicitudes de muchos clientes diferentes, lo que genera distintos niveles de tráfico y consumo de recursos. Sin los límites adecuados, una actividad excesiva por parte de uno o varios clientes puede afectar al rendimiento y a la disponibilidad del servidor web.
-Las cuotas del servidor web le permiten controlar el uso de recursos limitando el tráfico, las solicitudes, las sesiones activas, las sesiones de invitados y los conjuntos de entidades REST. Quotas can be configured at the web server global level (for all sessions combined), at the session default level (for each new session) or at the current REST session level.
+Las cuotas del servidor web le permiten controlar el uso de recursos limitando el tráfico, las solicitudes, las sesiones activas, las sesiones de invitados y los conjuntos de entidades REST. Las cuotas se pueden configurar a nivel global del servidor web (para el conjunto de sesiones), en el nivel predeterminado de las sesiones (para cada nueva sesión) o a nivel de la sesión REST actual.
:::tip Entradas de blog relacionadas
@@ -20,7 +20,7 @@ La configuración de cuotas requiere la activación de las [sesiones escalables]
### Al inicio
-At startup, you can configure quotas in the `quotas` property passed to [`WebServer.start()`](../API/WebServerClass.md#start) for the host Web server or a component Web server. For the host Web server only, you can also load quotas from an **HTTPQuotas.json** file stored in the [`Project/Sources`](../Project/architecture.md#sources) folder.
+Al inicio, puede configurar las cuotas en la propiedad `quotas` pasada a [`WebServer.start()`](../API/WebServerClass.md#start) para el servidor Web anfitrión o un servidor Web de componentes. Para el servidor web anfitrión únicamente, también puede cargar cuotas desde un archivo **HTTPQuotas.json** almacenado en la carpeta [`Project/Sources`](../Project/architecture.md#sources).
#### Uso de la propiedad `quotas`
@@ -36,7 +36,7 @@ WEB Server().start({quotas: $quotas})
#### Usando un archivo HTTPQuotas.json
-For the host Web server, you can create an **HTTPQuotas.json** file and store it in the [`Project/Sources`](../Project/architecture.md#sources) folder. El servidor web del host carga este archivo al iniciarse. El archivo debe contener un objeto JSON cuyas propiedades sean los [nombres de las propiedades de cuotas](../API/QuotaManagerClass.md):
+Para el servidor web anfitrión, se puede crear un archivo **HTTPQuotas.json** y guardarlo en la carpeta [`Project/Sources`](../Project/architecture.md#sources). El servidor web del host carga este archivo al iniciarse. El archivo debe contener un objeto JSON cuyas propiedades sean los [nombres de las propiedades de cuotas](../API/QuotaManagerClass.md):
```json title="/Project/Sources/HTTPQuotas.json"
{
@@ -57,7 +57,7 @@ En un servidor web en ejecución, puede actualizar las cuotas mediante la propie
### Cuotas de sesión REST actuales
-La propiedad [`Session.quotas`](../API/SessionClass.md#quotas) configura las cuotas para la sesión REST actual. Proporciona los valores de uso actuales y permite configurar los límites de conjuntos de entidades REST y los tiempos de espera de la sesión. These quotas are distinct from the session default quotas configured through [`WebServer.quotas`](../API/WebServerClass.md#quotas), which are applied when new Web sessions are created.
+La propiedad [`Session.quotas`](../API/SessionClass.md#quotas) configura las cuotas para la sesión REST actual. Proporciona los valores de uso actuales y permite configurar los límites de conjuntos de entidades REST y los tiempos de espera de la sesión. Estas cuotas son distintas de las cuotas predeterminadas de sesión configuradas a través de [`WebServer.quotas`](../API/WebServerClass.md#quotas), que se aplican cuando se crean nuevas sesiones web.
### Ejemplo
@@ -92,7 +92,7 @@ $webServer.start({quotas: $quotas})
## Aplicación de las cuotas
-For each incoming request, the Web server checks quotas during preprocessing, before the [`On Web Connection`](./httpRequests.md#on-web-connection) database method is called (if defined):
+Para cada petición entrante, el servidor Web verifica las cuotas durante el preprocesamiento, antes de que se llame al método base [`On Web Connection`](./httpRequests.md#on-web-connection) (si está definido):
1. Si se configura una cuota de sesión, se verifica primero.
2. Si se acepta la solicitud, se comprueba el límite global del servidor.
@@ -118,9 +118,9 @@ Los contadores de cuota se almacenan en la memoria de cada instancia de 4D Serve
## Servidores web de componentes
-Quotas configured for a component Web server apply only to that server and are independent of the quotas configured for the host Web server or other component Web servers.
+Las cuotas configuradas para el servidor web de un componente solo se aplican a ese servidor y son independientes de las cuotas configuradas para el servidor web anfitrión u otros servidores web de componentes.
-El archivo de configuración [**HTTPQuotas.json**](#using-an-httpquotasjson-file) solo se aplica al servidor web anfitrión. Component Web servers must be configured with the Web server [`.quotas`](../API/WebServerClass.md#quotas) property and/or the session [`.quotas`](../API/SessionClass.md#quotas) property.
+El archivo de configuración [**HTTPQuotas.json**](#using-an-httpquotasjson-file) solo se aplica al servidor web anfitrión. Los servidores web de los componentes deben configurarse con la propiedad [`.quotas`](../API/WebServerClass.md#quotas) del servidor web y/o la propiedad [`.quotas`](../API/SessionClass.md#quotas) de la sesión.
## Ver también
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md
index 580478fb26be82..13b71caccb1f41 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md
@@ -12,7 +12,7 @@ Usar el servidor web en un cliente 4D remoto (4D) es **obsoleto** a partir de 4D
:::
-## Administración simplificada
+## Fácil de supervisar
Puede iniciar o detener la publicación de la aplicación web en cualquier momento. Para ello, basta con seleccionar un comando del menú o ejecutar una sola línea de código.
@@ -37,7 +37,7 @@ La seguridad de los datos está presente en todas las etapas de las implementaci
- **Sandboxing** mediante la definición de una [carpeta HTML raíz](webServerConfig.md#root-folder) por defecto,
-- **Control of server resource usage** through [web server quotas](quotas.md) and options such as [maximum concurrent web processes](webServerConfig.md#maximum-concurrent-web-processes).
+- **Control del uso de los recursos del servidor** mediante [cuotas del servidor web](quotas.md) y opciones como [el número máximo de procesos web simultáneos](webServerConfig.md#maximum-concurrent-web-processes).
> Para una visión general de las funciones de seguridad de 4D, consulte la [Guía de seguridad de 4D](https://blog.4d.com/4d-security-guide/).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md
index 30431da2c19e1b..0aed0401b0d530 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md
@@ -623,9 +623,9 @@ En algunos casos, se pueden invocar otras funciones internas optimizadas. Las co
Dos opciones le permiten definir cómo funcionan las conexiones persistentes:
-- **Número de peticiones por conexión**: permite definir el número máximo de peticiones y de respuestas capaces de viajar por una conexión persistente. Limitar el número de peticiones por conexión le permite evitar la inundación del servidor debido a un gran número de peticiones entrantes (una técnica utilizada por los hackers).
- El valor por defecto (100) puede aumentarse o disminuirse en función de los recursos de la máquina que aloja el Servidor Web 4D.
+- **Número de peticiones por conexión**: permite definir el número máximo de peticiones y de respuestas capaces de viajar por una conexión persistente. Limitar el número de peticiones por conexión permite evitar la saturación del servidor, debido a un gran número de peticiones entrantes (una técnica utilizada por los hackers).
+ El valor por defecto (100) puede ser aumentado o disminuido en función de los recursos de la máquina que aloja el servidor 4D web.
-- **Tiempo de espera antes de desconexión**: este valor define el periodo máximo de espera (en segundos) durante el cual el servidor web mantiene una conexión TCP abierta sin recibir ninguna petición del navegador web. Una vez transcurrido este periodo, el servidor cierra la conexión.
- Si el navegador envía una solicitud después de que se haya cerrado la conexión, se crea automáticamente una nueva conexión TCP. Esta operación no es visible para el usuario.
+- **Tiempo de espera antes de desconexión**: este valor define el periodo máximo de espera (en segundos) durante el cual el servidor web mantiene una conexión TCP abierta sin recibir ninguna petición del navegador web. **Tiempo de espera antes de desconexión**: este valor define el periodo máximo de espera (en segundos) durante el cual el servidor web mantiene una conexión TCP abierta sin recibir ninguna petición del navegador web.
+ Si el navegador web envía una solicitud después de cerrar la conexión, se crea automáticamente una nueva conexión TCP. Esta operación no es visible para el usuario.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-get-view-properties.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-get-view-properties.md
index 58c9ac42e007b8..26c9110b3c9e98 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-get-view-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-get-view-properties.md
@@ -49,6 +49,7 @@ El objeto devuelto contiene todas las propiedades de vista del área 4D Write Pr
| wk visible HTML WYSIWYG | htmlWYSIWIGEnabled | Activa la vista HTML WYSIWYG. Valores posibles: True/False |
| wk visible page frames | visiblePageFrames | Muestra los marcos de página (efecto visible solo en el modo de visualización de página). Valores posibles: Verdadero/Falso |
| wk visible references | visibleReferences | Muestra todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: Verdadero/Falso |
+| wk visible table borders | visibleTableBorders | Muestra los bordes internos y externos de las tablas como líneas de puntos cuando estos bordes son parcial o totalmente invisibles. Valores posibles: Verdadero/Falso |
| wk visible vertical ruler | visibleVerticalRuler | Muestra la regla vertical (efecto visible solo en el modo de visualización de página). Valores posibles: Verdadero/Falso |
| wk zoom | zoom | Porcentaje de zoom para mostrar los contenidos del área 4D Write Pro. Valores posibles: Número mayor que 1 |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-set-view-properties.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-set-view-properties.md
index 77a0c414b85a93..1007e788a65cab 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-set-view-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-set-view-properties.md
@@ -42,12 +42,13 @@ En *wpViewProps*, pase un objeto en el que cada propiedad sea una propiedad vist
| wk visible HTML WYSIWYG | htmlWYSIWIGEnabled | Activa la vista HTML WYSIWYG. Valores posibles: True/False |
| wk visible page frames | visiblePageFrames | Muestra los marcos de página (efecto visible solo en el modo de visualización de página). Valores posibles: Verdadero/Falso |
| wk visible references | visibleReferences | Muestra todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: Verdadero/Falso |
+| wk visible table borders | visibleTableBorders | Muestra los bordes internos y externos de las tablas como líneas de puntos cuando estos bordes son parcial o totalmente invisibles. Valores posibles: Verdadero/Falso |
| wk visible vertical ruler | visibleVerticalRuler | Muestra la regla vertical (efecto visible solo en el modo de visualización de página). Valores posibles: Verdadero/Falso |
| wk zoom | zoom | Porcentaje de zoom para mostrar los contenidos del área 4D Write Pro. Valores posibles: Número mayor que 1 |
Todas las propiedades se pueden modificar en cualquier momento, pero algunas solo se tienen en cuenta si se utiliza un modo de visualización compatible con 4D Write Pro. Por lo tanto, incluso si se modifica una propiedad de vista, es posible que no haya un efecto visible en el modo de visualización actual.
-**Nota:** para más información sobre las propiedades vista, consulte la página *Definir un área 4D Write Pro*.
+**Nota:** para más información sobre las propiedades de vista, consulte la sección [Propiedades de vista](../configuring-4d-write-pro-areas#view-properties).
Una vez que se han establecido las propiedades de vista para *wpArea* utilizando este comando, se aplican mientras que el área de formulario se usa siempre que no sea modificada por otra llamada. Las modificaciones de propiedad no se guardan con el documento o el formulario.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md
index e2bdcab352705f..fd6e178f075819 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md
@@ -35,14 +35,14 @@ Puede pasar un *filePath* o *fileObj*:
Puede omitir el parámetro *format*, en cuyo caso deberá especificar la extensión en *filePath*. También puede pasar una constante del tema *4D Write Pro Constants* en el parámetro *format*. En este caso, 4D añade la extensión apropiada al nombre del archivo si es necesario. Se soportan los siguientes formatos:
-| Constante | Valor | Comentario |
-| -------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk 4wp | 4 | El documento 4D Write Pro se guarda en un formato de archivo nativo (HTML comprimido e imágenes guardadas en una carpeta separada). Se incluyen las etiquetas específicas 4D y no se calculan las expresiones 4D. Este formato es especialmente adecuado para guardar y archivar documentos 4D Write Pro en disco sin pérdida alguna. |
-| wk docx | 7 | Extensión .docx. El documento 4D Write Pro se guarda en formato Microsoft Word. Compatibilidad certificada con Microsoft Word 2010 y versiones posteriores.
Las partes del documento exportadas son: - Cuerpo / encabezados / pies de página / secciones
- Página / configuración de impresión (márgenes, color de fondo / imagen, bordes, relleno, tamaño de papel / orientación)
- Imágenes - en línea, ancladas, y patrón de imagen de fondo (definido con wk background image)
- Hojas de estilo (caracter, párrafo)
- Variables y expresiones compatibles (número de página, número de páginas, fecha, hora, metadatos). Las variables y expresiones no compatibles se evaluarán y se congelarán antes de la exportación.
- Enlaces: marcadores y URL
Tenga en cuenta que es posible que algunos ajustes de 4D Write Pro no estén disponibles o que se comporten de forma diferente en Microsoft Word. |
-| wk mime html | 1 | El documento 4D Write Pro se guarda como HTML MIME estándar con documentos HTML e imágenes anidadas como partes MIME (codificadas en base64). Se calculan las expresiones y se eliminan las etiquetas específicas de 4D y los enlaces de métodos. Sólo se exportan los cuadros de texto anclados a la vista incrustada (como divs). Este formato es especialmente adecuado para enviar correos electrónicos HTML. |
-| wk pdf | 5 | Extensión .pdf. El documento 4D Write Pro se guarda en formato PDF, según el modo vista Página. Los siguientes metadatos se exportan en un documento PDF: Título / Autor / Asunto / Creador del contenido
**Notas**: - las expresiones se congelan automáticamente al exportar el documento
- Los enlaces a métodos NO se exportan
|
-| wk svg | 8 | La página del documento 4D Write Pro se guarda en formato SVG, según el modo vista Página. **Nota:** al exportar a SVG, sólo puede exportar una página cada vez. Utilice el wk page index para especificar qué página exportar. |
-| wk web page complete | 2 | Extensión .htm o .html. El documento se guarda como HTML estándar y sus recursos se guardan por separado. Se eliminan las etiquetas 4D y los enlaces a métodos 4D y se calculan las expresiones. Sólo se exportan los cuadros de texto anclados a la vista incrustada (como divs). Sólo se exportan los cuadros de texto anclados a la vista incrustada (como divs). |
+| Constante | Valor | Comentario |
+| -------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk 4wp | 4 | El documento 4D Write Pro se guarda en un formato de archivo nativo (HTML comprimido e imágenes guardadas en una carpeta separada). Se incluyen las etiquetas específicas 4D y no se calculan las expresiones 4D. Este formato es especialmente adecuado para guardar y archivar documentos 4D Write Pro en disco sin pérdida alguna. |
+| wk docx | 7 | Extensión .docx. El documento 4D Write Pro se guarda en formato Microsoft Word. Compatibilidad certificada con Microsoft Word 2010 y versiones posteriores.
Las partes del documento exportadas son: - Cuerpo / encabezados / pies de página / secciones
- Página / configuración de impresión (márgenes, color de fondo / imagen, bordes, relleno, tamaño de papel / orientación)
- Imágenes - en línea, ancladas, y patrón de imagen de fondo (definido con wk background image)
- Hojas de estilo (caracter, párrafo)
- Variables y expresiones compatibles (número de página, número de páginas, fecha, hora, metadatos). Las variables y expresiones no compatibles se evaluarán y congelarán antes de la exportación.
- Enlaces - Marcadores y URLs
Tenga en cuenta que algunos ajustes de 4D Write Pro pueden no estar disponibles o comportarse de forma diferente en Microsoft Word. |
+| wk mime html | 1 | El documento 4D Write Pro se guarda como HTML MIME estándar con documentos HTML e imágenes anidadas como partes MIME (codificadas en base64). Se calculan las expresiones y se eliminan las etiquetas específicas de 4D y los enlaces de métodos. Sólo se exportan los cuadros de texto anclados a la vista incrustada (como divs). Este formato es especialmente adecuado para enviar correos electrónicos HTML. |
+| wk pdf | 5 | Extensión .pdf. El documento 4D Write Pro se guarda en formato PDF, según el modo vista Página. Los siguientes metadatos se exportan en un documento PDF: Título / Autor / Asunto / Creador del contenido
**Notas**: - las expresiones se congelan automáticamente al exportar el documento
- Los enlaces a métodos NO se exportan
|
+| wk svg | 8 | La página del documento 4D Write Pro se guarda en formato SVG, según el modo vista Página. **Nota:** al exportar a SVG, sólo puede exportar una página cada vez. Utilice el wk page index para especificar qué página exportar. |
+| wk web page complete | 2 | Extensión .htm o .html. El documento se guarda como HTML estándar y sus recursos se guardan por separado. Se eliminan las etiquetas 4D y los enlaces a métodos 4D y se calculan las expresiones. Sólo se exportan los cuadros de texto anclados a la vista incrustada (como divs). Only text boxes anchored to embedded view are exported (as divs). |
**Notas:**
@@ -55,25 +55,25 @@ Puede omitir el parámetro *format*, en cuyo caso deberá especificar la extensi
Pase en *option* un objeto que contenga los valores para definir las propiedades del documento exportado. Las siguientes propiedades están disponibles:
-| Constante | Valor | Comentario |
-| ------------------------------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: - true (por defecto): las imágenes están incrustadas en el archivo .svg exportado
- false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no se integran, sino que se hace referencia a ellas en el archivo .svg.
Nota: si la carpeta ya existe, se vacía antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
-| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
-| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: - false (por defecto): no se añade ninguna regla de importación de google fonts.
- true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS.
**Nota:** esta propiedad está definida en false de forma predeterminada porque, cuando está activa, las fuentes de Google anulan las fuentes nativas y, por lo general, las fuentes nativas se muestran mejor en el navegador. |
-| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
-| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
-| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles:- `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)
- `wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la representación en pantalla.
**Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (se ignora la opción wk optimized for). |
-| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
-| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: - `wk pdfa2`: exporta a la versión "PDF/A-2"
- `wk pdfa3`: exporta a la versión "PDF/A-3"
- **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". Valores posibles:
- `wk pdfa2`: exporta a la versión "PDF/A-2"
- `wk pdfa3`: exporta a la versión "PDF/A-3"
- **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. |
-| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:
- true - Valor por defecto. Se vuelven a calcular todas las fórmulas
- false - No se vuelven a calcular las fórmulas
|
-| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
-| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True. Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para las imágenes en línea. |
-| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
-| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
+| Constante | Valor | Comentario |
+| ------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: - true (por defecto): las imágenes están incrustadas en el archivo .svg exportado
- false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.
Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
+| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: - false (por defecto): no se añade ninguna regla de importación de fuentes de Google.
- true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS.
**Nota:** esta propiedad está definida en false de forma predeterminada porque, cuando está activada, las fuentes de Google sustituyen a las fuentes nativas y, por lo general, las fuentes nativas se muestran mejor en el navegador. |
+| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
+| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
+| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles:- `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)
- `wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la renderización en pantalla.
**Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
+| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
+| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: - `wk pdfa2`: exporta a la versión "PDF/A-2"
- `wk pdfa3`: exporta a la versión "PDF/A-3"
- **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
+| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:
- true - Valor por defecto. Se vuelven a calcular todas las fórmulas
- false - No se vuelven a calcular las fórmulas
|
+| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
+| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True. Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para las imágenes en línea. |
+| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
+| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
La siguiente tabla indica la *option* disponible por *format* de exportación:
@@ -103,14 +103,14 @@ La siguiente tabla indica la *option* disponible por *format* de exportación:
La propiedad wk files permite [exportar un PDF con archivos adjuntos](https://blog.4d.com/4d-write-pro-export-to-pdf-with-enclosures). Esta propiedad debe contener una colección de objetos que describan los archivos que se integrarán en el documento final. Cada objeto de la colección puede contener las siguientes propiedades:
-| **Propiedad** | **Tipo** | **Description** |
-| ------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| name | Text | Nombre de archivo. Opcional si se utiliza la propiedad *file*, en cuyo caso el nombre se infiere por defecto a partir del nombre del archivo. Obligatorio si se utiliza la propiedad *data* (excepto para el primer archivo de una exportación Factur-X, en cuyo caso el nombre del archivo es automáticamente "factur-x.xml", ver abajo) |
-| description | Text | Opcional. Si se omite, el valor por defecto para el primer archivo de exportación a Factur-X es "Factur-X/ZUGFeRD Invoice", en caso contrario vacío. |
-| mimeType | Text | Opcional. Si se omite, el valor predeterminado puede adivinarse normalmente a partir de la extensión del archivo; de lo contrario, se utiliza "application/octet-stream". Si se pasa, asegúrese de utilizar un tipo mime ISO, de lo contrario el archivo exportado podría no ser válido. |
-| data | Texto o BLOB | Obligatorio si falta la propiedad *file* |
-| file | Objeto 4D.File | Obligatorio si falta la propiedad *data*, ignorado en caso contrario. |
-| relationship | Text | Opcional. Si se omite, el valor por defecto es "Data". Valores posibles para el primer archivo Factur-X: - para los perfiles BASIC, EN 16931 o EXTENDED: "Alternative", "Source" o "Data" ("Alternative" sólo para factura alemana)
- para los perfiles MINIMUM y BASIC WL: sólo "Data"
- para los otros perfiles : "Alternative", "Source" o "Data" (con restricciones quizás dependiendo del país: ver la especificación del perfil para más información sobre otros perfiles - por ejemplo para el perfil RECHNUNG sólo se permite "Alternative")
- para otros archivos (excepto archivo Factur-X invoice): "Alternative", "Source", "Data", "Supplement" o "Unspecified"
- cualquier otro valor genera un error.
|
+| **Propiedad** | **Tipo** | **Description** |
+| ------------- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| name | Text | Nombre de archivo. Opcional si se utiliza la propiedad *file*, en cuyo caso el nombre se infiere por defecto a partir del nombre del archivo. Obligatorio si se utiliza la propiedad *data* (excepto para el primer archivo de una exportación Factur-X, en cuyo caso el nombre del archivo es automáticamente "factur-x.xml", ver abajo) |
+| description | Text | Opcional. Si se omite, el valor por defecto para el primer archivo de exportación a Factur-X es "Factur-X/ZUGFeRD Invoice", en caso contrario vacío. |
+| mimeType | Text | Opcional. Si se omite, el valor predeterminado puede adivinarse normalmente a partir de la extensión del archivo; de lo contrario, se utiliza "application/octet-stream". Si se pasa, asegúrese de utilizar un tipo mime ISO, de lo contrario el archivo exportado podría no ser válido. |
+| data | Texto o BLOB | Obligatorio si falta la propiedad *file* |
+| file | Objeto 4D.File | Obligatorio si falta la propiedad *data*, ignorado en caso contrario. |
+| relationship | Text | Opcional. Si se omite, el valor por defecto es "Data". Valores posibles para el primer archivo de Factur-X:- para los perfiles BASIC, EN 16931 o EXTENDED: "Alternative", "Source" o "Data" ("Alternative" sólo para factura alemana)
- para los perfiles MINIMUM y BASIC WL: sólo "Data".
- para los otros perfiles: "Alternative", "Source" o "Data" (con restricciones quizás dependiendo del país: ver la especificación del perfil para más información sobre otros perfiles - por ejemplo para el perfil RECHNUNG sólo se permite "Alternative")
- para los otros archivos (excepto el archivo xml de la factura Factur-X) : "Alternative", "Source", "Data", "Supplement" o "Unspecified".
- cualquier otro valor genera un error.
|
Si el parámetro *option* también contiene una propiedad wk factur x, entonces el primer elemento de la colección wk files debe ser el fichero xml de la factura Factur-X (ZUGFeRD) (ver más abajo).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-variable.md
index ce29b70bb5bedb..70a82bcb2cde7e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-variable.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-variable.md
@@ -23,7 +23,7 @@ displayed_sidebar: docs
## Descripción
-The **WP EXPORT VARIABLE** command exports the *wpDoc* 4D Write Pro object to the 4D *destination* variable in the specified *format*.
+El comando **WP EXPORT VARIABLE** exporta el objeto *wpDoc* 4D Write Pro a la variable *destination* 4D en el *format* especificado.
En *wpDoc*, pase el objeto 4D Write Pro que desea exportar.
@@ -34,14 +34,14 @@ En *destination*, pase la variable que quiere llenar con el objeto exportado de
En el parámetro *format*, pase una constante del tema *4D Write Pro Constants* para definir el formato de exportación que desea utilizar. Cada formato está relacionado con un uso específico. Se soportan los siguientes formatos:
-| Constante | Tipo | Valor | Comentario |
-| ------------------- | ------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk 4wp | Integer | 4 | El documento 4D Write Pro se guarda en un formato de archivo nativo (HTML comprimido e imágenes guardadas en una carpeta separada). Se incluyen las etiquetas específicas 4D y no se calculan las expresiones 4D. Este formato es especialmente adecuado para guardar y archivar documentos 4D Write Pro en disco sin pérdida alguna. |
-| wk docx | Integer | 7 | Extensión .docx. El documento 4D Write Pro se guarda en formato Microsoft Word. Compatibilidad certificada con Microsoft Word 2010 y versiones posteriores.
Las partes del documento exportadas son: - Cuerpo / encabezados / pies de página / secciones
- Página / configuración de impresión (márgenes, color de fondo / imagen, bordes, relleno, tamaño de papel / orientación)
- Imágenes - en línea, ancladas, y patrón de imagen de fondo (definido con wk background image)
- Hojas de estilo (caracter, párrafo)
- Variables y expresiones compatibles (número de página, número de páginas, fecha, hora, metadatos). Las variables y expresiones no compatibles se evaluarán y se congelarán antes de la exportación.
- Enlaces: marcadores y URL
Tenga en cuenta que es posible que algunos ajustes de 4D Write Pro no estén disponibles o que se comporten de forma diferente en Microsoft Word. |
-| wk mime html | Integer | 1 | El documento 4D Write Pro se guarda como HTML MIME estándar con documentos HTML e imágenes anidadas como partes MIME (codificadas en base64). Se calculan las expresiones y se eliminan las etiquetas específicas de 4D y los enlaces de métodos. Sólo se exportan los cuadros de texto anclados a la vista incrustada (como divs). Este formato es especialmente adecuado para enviar correos electrónicos HTML. |
-| wk pdf | Integer | 5 | Extensión .pdf. El documento 4D Write Pro se guarda en formato PDF, según el modo vista Página. Los siguientes metadatos se exportan en un documento PDF: Título Autor Asunto Creador del contenido **Notas**: Las expresiones se congelan automáticamente al exportar el documento Los enlaces a métodos NO se exportan |
-| wk svg | Integer | 8 | La página del documento 4D Write Pro se guarda en formato SVG, según el modo vista Página. **Nota:** al exportar a SVG, sólo puede exportar una página cada vez. Utilice el wk page index para especificar qué página exportar. |
-| wk web page html 4D | Integer | 3 | El documento 4D Write Pro se guarda como HTML e incluye etiquetas específicas 4D; cada expresión se inserta como un espacio inseparable. Como este formato no tiene pérdidas, es apropiado para almacenar propósitos en un campo de texto. |
+| Constante | Tipo | Valor | Comentario |
+| ------------------- | ------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk 4wp | Integer | 4 | El documento 4D Write Pro se guarda en un formato de archivo nativo (HTML comprimido e imágenes guardadas en una carpeta separada). Se incluyen las etiquetas específicas 4D y no se calculan las expresiones 4D. Este formato es especialmente adecuado para guardar y archivar documentos 4D Write Pro en disco sin pérdida alguna. |
+| wk docx | Integer | 7 | Extensión .docx. El documento 4D Write Pro se guarda en formato Microsoft Word. Compatibilidad certificada con Microsoft Word 2010 y versiones posteriores.
Las partes del documento exportadas son: - Cuerpo / encabezados / pies de página / secciones
- Página / configuración de impresión (márgenes, color de fondo / imagen, bordes, relleno, tamaño de papel / orientación)
- Imágenes - en línea, ancladas, y patrón de imagen de fondo (definido con wk background image)
- Hojas de estilo (caracter, párrafo)
- Variables y expresiones compatibles (número de página, número de páginas, fecha, hora, metadatos). Las variables y expresiones no compatibles se evaluarán y congelarán antes de la exportación.
- Enlaces - Marcadores y URLs
Tenga en cuenta que algunos ajustes de 4D Write Pro pueden no estar disponibles o comportarse de forma diferente en Microsoft Word. |
+| wk mime html | Integer | 1 | El documento 4D Write Pro se guarda como HTML MIME estándar con documentos HTML e imágenes anidadas como partes MIME (codificadas en base64). Se calculan las expresiones y se eliminan las etiquetas específicas de 4D y los enlaces de métodos. Sólo se exportan los cuadros de texto anclados a la vista incrustada (como divs). Este formato es especialmente adecuado para enviar correos electrónicos HTML. |
+| wk pdf | Integer | 5 | Extensión .pdf. El documento 4D Write Pro se guarda en formato PDF, según el modo vista Página. Los siguientes metadatos se exportan en un documento PDF: Título Autor Asunto Creador del contenido **Notas**: Las expresiones se congelan automáticamente al exportar el documento Los enlaces a métodos NO se exportan |
+| wk svg | Integer | 8 | La página del documento 4D Write Pro se guarda en formato SVG, según el modo vista Página. **Nota:** al exportar a SVG, sólo puede exportar una página cada vez. Utilice el wk page index para especificar qué página exportar. |
+| wk web page html 4D | Integer | 3 | El documento 4D Write Pro se guarda como HTML e incluye etiquetas específicas 4D; cada expresión se inserta como un espacio inseparable. Como este formato no tiene pérdidas, es apropiado para almacenar propósitos en un campo de texto. |
**Notas:**
@@ -55,25 +55,25 @@ En el parámetro *format*, pase una constante del tema *4D Write Pro Constants*
Pase en *option* un objeto que contenga los valores para definir las propiedades del documento exportado. Las siguientes propiedades están disponibles:
-| Constante | Valor | Comentario |
-| ------------------------------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: - true (por defecto): las imágenes están incrustadas en el archivo .svg exportado
- false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no se integran, sino que se hace referencia a ellas en el archivo .svg.
Nota: si la carpeta ya existe, se vacía antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
-| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
-| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: - false (por defecto): no se añade ninguna regla de importación de google fonts.
- true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS.
**Nota:** esta propiedad está definida en false de forma predeterminada porque, cuando está activa, las fuentes de Google anulan las fuentes nativas y, por lo general, las fuentes nativas se muestran mejor en el navegador. |
-| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
-| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
-| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles:- `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)
- `wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la representación en pantalla.
**Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (se ignora la opción wk optimized for). |
-| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
-| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: - `wk pdfa2`: exporta a la versión "PDF/A-2"
- `wk pdfa3`: exporta a la versión "PDF/A-3"
- **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". Valores posibles:
- `wk pdfa2`: exporta a la versión "PDF/A-2"
- `wk pdfa3`: exporta a la versión "PDF/A-3"
- **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. |
-| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:
- true - Valor por defecto. Se vuelven a calcular todas las fórmulas
- false - No se vuelven a calcular las fórmulas
|
-| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
-| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True. Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para las imágenes en línea. |
-| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
-| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
+| Constante | Valor | Comentario |
+| ------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: - true (por defecto): las imágenes están incrustadas en el archivo .svg exportado
- false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.
Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
+| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: - false (por defecto): no se añade ninguna regla de importación de fuentes de Google.
- true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS.
**Nota:** esta propiedad está definida en false de forma predeterminada porque, cuando está activada, las fuentes de Google sustituyen a las fuentes nativas y, por lo general, las fuentes nativas se muestran mejor en el navegador. |
+| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
+| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
+| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles:- `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)
- `wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la renderización en pantalla.
**Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
+| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
+| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: - `wk pdfa2`: exporta a la versión "PDF/A-2"
- `wk pdfa3`: exporta a la versión "PDF/A-3"
- **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
+| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:
- true - Valor por defecto. Se vuelven a calcular todas las fórmulas
- false - No se vuelven a calcular las fórmulas
|
+| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
+| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True. Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para las imágenes en línea. |
+| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
+| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
La siguiente tabla indica la *option* disponible por *format* de exportación:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-get-attributes.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-get-attributes.md
index b47322d0066fa2..e0eea3dd76c849 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-get-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-get-attributes.md
@@ -23,7 +23,7 @@ displayed_sidebar: docs
## Descripción
-El comando **WP Get attributes** devuelve el valor de cualquier atributo en un rango 4D Write Pro, encabezado, cuerpo, pie de página, tabla o documento. Este comando le da acceso a cualquier tipo de atributos internos 4D Write Pro: carácter, párrafo, documento, tabla o imagen.
+El comando **WP Get attributes** devuelve el valor de todo atributo en un rango 4D Write Pro, encabezado, cuerpo, pie de página, tabla o documento. Este comando le da acceso a cualquier tipo de atributo interno de 4D Write Pro: caracter, párrafo, documento, tabla o imagen.
En *targetObj*, puede pasar:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-insert-picture.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-insert-picture.md
index d7247e67a75038..cfba2ce1314b32 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-insert-picture.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-insert-picture.md
@@ -37,7 +37,7 @@ Para el segundo parámetro, puede pasar cualquiera de los dos:
- En *picture*:
- Campo o variable de imagen
- Cadena que contiene una ruta a un archivo de imagen almacenado en disco, en la sintaxis del sistema.
- Si utiliza una cadena, puede pasar un nombre de ruta completo o un nombre de ruta relativo al archivo de estructura de la base de datos. También puede pasar un nombre de archivo, en cuyo caso el archivo debe estar situado junto al archivo de estructura de la base de datos. También puede pasar un nombre de archivo, en cuyo caso el archivo debe estar situado junto al archivo de estructura de la base de datos.
+ Si utiliza una cadena, puede pasar un nombre de ruta completo o un nombre de ruta relativo al archivo de estructura de la base de datos. También puede pasar un nombre de archivo, en cuyo caso el archivo debe estar situado junto al archivo de estructura de la base de datos. Si pasa un nombre de archivo, debe indicar la extensión del archivo.
- En *pictureFile* : un objeto `File` que representa un archivo imagen o una ruta.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-reset-attributes.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-reset-attributes.md
index 08de872b2e0b53..e079d99e189be8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-reset-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-reset-attributes.md
@@ -22,7 +22,7 @@ displayed_sidebar: docs
## Descripción
-El comando **WP RESET ATTRIBUTES** le permite restablecer el valor de uno o más atributos en el rango, elemento o documento pasado como parámetro. Este comando puede eliminar cualquier tipo de atributo interno 4D Write Pro: carácter, párrafo, documento, tabla o imagen. Puede pasar el nombre del atributo a restablecer en *attribName* o puede pasar una colección de atributos en *attribColl* para restablecer varios atributos a la vez.
+El comando **WP RESET ATTRIBUTES** le permite restablecer el valor de uno o más atributos en el rango, elemento o documento pasado como parámetro. Este comando puede eliminar cualquier tipo de atributo interno de 4D Write Pro: carácter, párrafo, documento, tabla o imagen. Puede pasar el nombre del atributo a restablecer en *attribName* o puede pasar una colección de atributos en *attribColl* para restablecer varios atributos a la vez.
> En el caso de una sección o subsección, el objeto *sectionOrSubsection* puede pasarse solo y todos los atributos se restablecen a la vez.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md
index 440870f42f124a..600e3e3e59303c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md
@@ -22,7 +22,7 @@ displayed_sidebar: docs
## Descripción
-El comando **WP SET ATTRIBUTES** le permite definir el valor de todo atributo en un rango, elemento, documento. Este comando le da acceso a todo de atributo interno 4D Write Pro: carácter, párrafo, documento, tabla o imagen.
+El comando **WP SET ATTRIBUTES** le permite definir el valor de cualquier atributo en un rango, elemento, documento. Este comando le da acceso a cualquier tipo de atributo interno de 4D Write Pro: caracter, párrafo, documento, tabla o imagen.
En *targetObj*, puede pasar:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
index c46c0656eee5bd..745e66ce1cc99c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
@@ -65,8 +65,8 @@ Puede insertar expresiones especiales relacionadas con los atributos del documen
| This.notes | Text | Notas definidas en el atributo wk notes |
| This.dateCreation | Fecha | Fecha de creación definida en el atributo wk date creation |
| This.dateModified | Fecha | Fecha de modificación definida en el atributo wk date modified |
-| This.pageNumber (\*) | Number | Número de página tal y como está definido:- Desde el inicio del documento (por defecto) o
- Desde el inicio de página de sección si está definido por inicio de página de sección.
Esta fórmula es siempre dinámica; no se ve afectada por el comando [**WP FREEZE FORMULAS**](commands-legacy/wp-freeze-formulas.md). |
-| This.pageCount (\*) | Number | Conteo de páginas: recuento total de páginas.
Esta fórmula es siempre dinámica; no se ve afectada por el comando [**WP FREEZE FORMULAS**](commands-legacy/wp-freeze-formulas.md). |
+| This.pageNumber (\*) | Number | Número de página tal y como está definido:- Desde el inicio del documento (por defecto) o
- Desde el inicio de página de sección si está definido por inicio de página de sección.
Esta fórmula siempre es dinámica; no se ve afectada por el comando [**FORMULAS WP FREEZE**](commands-legacy/wp-freeze-formulas.md). |
+| This.pageCount (\*) | Number | Número de páginas: número total de páginas.
Esta fórmula siempre es dinámica; no se ve afectada por el comando [**FORMULAS WP FREEZE**](commands-legacy/wp-freeze-formulas.md). |
| This.document | Object | Documento 4D Write Pro |
| This.data | Object | Contexto de datos del documento 4D Write Pro definido por [**WP SET DATA CONTEXT**](commands-legacy/wp-set-data-context.md) |
| This.sectionIndex | Number | El índice de la sección en el documento 4D Write Pro a partir de 1 |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md
index a0d530645fb037..a333ae7785ad11 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md
@@ -32,9 +32,9 @@ La clase `OpenAIChatCompletionsParameters` está diseñada para manejar los par
### Propiedades de retrollamada asíncrona
-\| Propiedad | Tipo | Descripción |
+\| Property | Type | Description |
\|---------------------------|---------|-------------------------|---------------------------------------------------------------------------------------------------|
-\| `onData`
(o `formula`) | 4D.Function | Una función que se llamará asíncronamente al recibir un trozo de datos.
*Asegúrese de que el proceso actual no termina.*
+\| `onData`
(or `formula`) | 4D.Function | A function to be called asynchronously when receiving data chunk.
*Asegúrese de que el proceso actual no termina.* |
`onData` recibirá como argumento un [OpenAIChatCompletionsStreamResult](OpenAIChatCompletionsStreamResult.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatHelper.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatHelper.md
index 9e4d848c885cdc..6f0b35f3a9503c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatHelper.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatHelper.md
@@ -25,7 +25,7 @@ El asistente de chat permite conservar una lista de mensajes en memoria y efectu
Para crear una nueva instancia de `OpenAIChatHelper`, lo mejor es utilizar el método `create()` de la [API de chat del cliente OpenAI](OpenAIChatAPI.md):
```4D
-var $chatHelper:=$client.chat.create("You are a helpful assistant.")
+var $chatHelper:=$client.chat.create("Eres un asistente útil.")
```
Este método crea un nuevo asistente de chat con el prompt sistema especificado y lo inicializa con los parámetros por defecto. El prompt del sistema define el rol y comportamiento del asistente a lo largo de la conversación.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
index 7bb18d3fe24611..0810933d28b5d5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -20,7 +20,7 @@ La clase `OpenAIFileListParameters` contiene los parámetros para listar los arc
| `order` | Text | Opcional | desc | Ordenar por la marca de tiempo 'created_at' de los objetos. `asc` para el orden ascendente y `desc` para el descendente. |
| `purpose` | Text | Opcional | - | Devuelve sólo los archivos con la finalidad indicada. |
-## Ejemplo de uso
+## Ejemplo de Uso
```4d
// Obtener los primeros 100 archivos con el objeto "fine-tune"
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
index c3c55f592c0ad1..4397a2aca9ea9b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
@@ -3,7 +3,7 @@ id: asynchronous-call
title: Asynchronous Call
---
-# Llamada asíncrona
+# Asynchronous Call
Si no desea esperar la respuesta del OpenAPI al hacer una petición a su API, debe utilizar un código asíncrono.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/provider-model-aliases.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/provider-model-aliases.md
index 55e02940200fc3..8b954e8d5cec9e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/provider-model-aliases.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/provider-model-aliases.md
@@ -3,7 +3,7 @@ id: provider-model-aliases
title: Alias de proveedores y modelos
---
-# Alias de proveedores y de modelos
+# Alias de proveedores y modelos
El cliente OpenAI soporta alias de proveedores y de modelos, permitiéndole definir las configuraciones de proveedores y de los alias de los modelos nombrados en los archivos JSON y referenciarlos utilizando sintaxis simples.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/table-index.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/table-index.png
new file mode 100644
index 00000000000000..2ae900e7691202
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/table-index.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/ai-icon.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/ai-icon.png
new file mode 100644
index 00000000000000..b2b39026716d47
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/ai-icon.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/field-unique.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/field-unique.png
new file mode 100644
index 00000000000000..e775efe53a9b43
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/field-unique.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/indec-add.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/indec-add.png
new file mode 100644
index 00000000000000..05e72c5f179854
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/indec-add.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/index-list.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/index-list.png
new file mode 100644
index 00000000000000..9c49f4ffcd2ee7
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/index-list.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/index-window.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/index-window.png
new file mode 100644
index 00000000000000..26782fdcb4e315
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/index-window.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/inspector-class.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/inspector-class.png
index 8dc13acd80b328..2a6f37497dc307 100644
Binary files a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/inspector-class.png and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/inspector-class.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/new-table.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/new-table.png
new file mode 100644
index 00000000000000..c0935af5940aa2
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/new-table.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-1.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-1.png
new file mode 100644
index 00000000000000..0b150d00b367cb
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-1.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon1.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon1.png
new file mode 100644
index 00000000000000..21fd5f043036d2
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon1.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon2.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon2.png
new file mode 100644
index 00000000000000..286c39b04bd897
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon2.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon3.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon3.png
new file mode 100644
index 00000000000000..6d805e50feacc4
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon3.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon4.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon4.png
new file mode 100644
index 00000000000000..a22bab09084eec
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-icon4.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-manager.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-manager.png
new file mode 100644
index 00000000000000..8cf2d7b4c8306b
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/pk-manager.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-align.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-align.png
new file mode 100644
index 00000000000000..6a35a76f895053
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-align.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-button.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-button.png
new file mode 100644
index 00000000000000..31a0dad4c0b701
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-button.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-dimmed.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-dimmed.png
new file mode 100644
index 00000000000000..bfa3737a0e30ef
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-dimmed.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-display.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-display.png
new file mode 100644
index 00000000000000..07c94f5626e38e
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-display.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-inspector.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-inspector.png
new file mode 100644
index 00000000000000..363275b8f9d3e9
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-inspector.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-lock.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-lock.png
new file mode 100644
index 00000000000000..3935943c52ce8f
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-lock.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-properties.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-properties.png
new file mode 100644
index 00000000000000..f3b3366493b0a9
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-properties.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-search.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-search.png
new file mode 100644
index 00000000000000..68ea55ecc43dce
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-search.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-table1.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-table1.png
new file mode 100644
index 00000000000000..2ce7e6db9c4a36
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-table1.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-table2.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-table2.png
new file mode 100644
index 00000000000000..c185669f0342c5
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-table2.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-toolbar.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-toolbar.png
new file mode 100644
index 00000000000000..908933442f32e5
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/structure-toolbar.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/table-rename-2.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/table-rename-2.png
new file mode 100644
index 00000000000000..8b9454ca650034
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/table-rename-2.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/table-rename.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/table-rename.png
new file mode 100644
index 00000000000000..9ee1a51d0df1c9
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/table-rename.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/vector-index.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/vector-index.png
new file mode 100644
index 00000000000000..513a6e61b0e9d2
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Develop/vector-index.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/FormObjects/button_custom.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/FormObjects/button_custom.png
index 7779b50bc22c2a..08fe1a91182a5f 100644
Binary files a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/FormObjects/button_custom.png and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/FormObjects/button_custom.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/FormObjects/visible.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/FormObjects/visible.png
new file mode 100644
index 00000000000000..33d197b738d0d2
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/FormObjects/visible.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict2646292.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict2646292.en.png
new file mode 100644
index 00000000000000..2f6dd9ff7667f9
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict2646292.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict2646294.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict2646294.en.png
new file mode 100644
index 00000000000000..c5706f5b23244e
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict2646294.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3033006.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3033006.en.png
new file mode 100644
index 00000000000000..ad7e034e246705
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3033006.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3033008.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3033008.en.png
new file mode 100644
index 00000000000000..51f1aa5c128b59
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3033008.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3071271.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3071271.en.png
new file mode 100644
index 00000000000000..e7f020cc979f5e
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3071271.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3307937.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3307937.en.png
new file mode 100644
index 00000000000000..fb12b681bed355
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3307937.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3307941.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3307941.en.png
new file mode 100644
index 00000000000000..0016bc2e11049d
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3307941.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3308424.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3308424.en.png
new file mode 100644
index 00000000000000..17c545dcd5e7cc
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3308424.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3513503.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3513503.en.png
new file mode 100644
index 00000000000000..eddf97544e0575
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3513503.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3513505.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3513505.en.png
new file mode 100644
index 00000000000000..5e8669f5c2aace
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3513505.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3541581.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3541581.en.png
new file mode 100644
index 00000000000000..8d2321c8b19748
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3541581.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3626363.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3626363.en.png
new file mode 100644
index 00000000000000..823fcf7c97fbcb
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3626363.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3752166.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3752166.en.png
new file mode 100644
index 00000000000000..40ec61e14638df
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3752166.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3752176.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3752176.en.png
new file mode 100644
index 00000000000000..1b09211ea8ac30
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3752176.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3893246.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3893246.en.png
new file mode 100644
index 00000000000000..84c289b866e8e6
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3893246.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3893248.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3893248.en.png
new file mode 100644
index 00000000000000..c21d5b60eeb195
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict3893248.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict4619596.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict4619596.en.png
new file mode 100644
index 00000000000000..0c0a886b53349f
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict4619596.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict4619694.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict4619694.en.png
new file mode 100644
index 00000000000000..4ace1703dab061
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict4619694.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict4619865.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict4619865.en.png
new file mode 100644
index 00000000000000..e708853ddf2c4c
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict4619865.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5562054.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5562054.en.png
new file mode 100644
index 00000000000000..dee167c5ccf7c3
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5562054.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5562058.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5562058.en.png
new file mode 100644
index 00000000000000..f84f46638756cb
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5562058.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761667.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761667.en.png
new file mode 100644
index 00000000000000..a6e16bcd3e31bf
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761667.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761669.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761669.en.png
new file mode 100644
index 00000000000000..6f56866e06cff7
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761669.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761671.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761671.en.png
new file mode 100644
index 00000000000000..d2b933e6253bd5
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761671.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761673.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761673.en.png
new file mode 100644
index 00000000000000..eef0da9b30d61f
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761673.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761675.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761675.en.png
new file mode 100644
index 00000000000000..f21fa89866c9ef
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761675.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761677.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761677.en.png
new file mode 100644
index 00000000000000..b6b82029e3bdaa
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5761677.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5859437.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5859437.en.png
new file mode 100644
index 00000000000000..8a546866502013
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5859437.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907021.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907021.en.png
new file mode 100644
index 00000000000000..bcbe548297f87d
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907021.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907023.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907023.en.png
new file mode 100644
index 00000000000000..6eba7f2baedff6
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907023.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907026.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907026.en.png
new file mode 100644
index 00000000000000..d526c51578eb27
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907026.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907030.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907030.en.png
new file mode 100644
index 00000000000000..964245707b6717
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5907030.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5941073.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5941073.en.png
new file mode 100644
index 00000000000000..66f10af3210774
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict5941073.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6014414.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6014414.en.png
new file mode 100644
index 00000000000000..1454f02b49f34c
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6014414.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6014426.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6014426.en.png
new file mode 100644
index 00000000000000..5430cc882d6f13
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6014426.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6014429.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6014429.en.png
new file mode 100644
index 00000000000000..12cb8442c5f68c
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6014429.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6022144.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6022144.en.png
new file mode 100644
index 00000000000000..ab1d4670b16d55
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6022144.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6131919.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6131919.en.png
new file mode 100644
index 00000000000000..d8b2b0f013f901
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6131919.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6260026.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6260026.en.png
new file mode 100644
index 00000000000000..25b899cdd7ca87
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6260026.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6260033.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6260033.en.png
new file mode 100644
index 00000000000000..d8271cd06a6220
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6260033.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6260036.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6260036.en.png
new file mode 100644
index 00000000000000..a93bbc2deb6580
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6260036.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421031.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421031.en.png
new file mode 100644
index 00000000000000..f338bd44caeb38
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421031.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421340.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421340.en.png
new file mode 100644
index 00000000000000..a00a64fa003fe5
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421340.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421342.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421342.en.png
new file mode 100644
index 00000000000000..e7bbdb0445e7dc
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421342.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421344.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421344.en.png
new file mode 100644
index 00000000000000..b1da7d4f717589
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421344.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421356.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421356.en.png
new file mode 100644
index 00000000000000..e19848f65d2951
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6421356.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434575.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434575.en.png
new file mode 100644
index 00000000000000..b98b7a71deb16b
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434575.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434579.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434579.en.png
new file mode 100644
index 00000000000000..232ad5653b5bdf
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434579.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434721.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434721.en.png
new file mode 100644
index 00000000000000..199e62f81ef736
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434721.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434723.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434723.en.png
new file mode 100644
index 00000000000000..480da0bfc5f80f
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434723.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434756.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434756.en.png
new file mode 100644
index 00000000000000..ffdcce4bd30899
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6434756.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6441966.en.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6441966.en.png
new file mode 100644
index 00000000000000..e6b76b3b690664
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/pict6441966.en.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/set-rgb-colors-2.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/set-rgb-colors-2.png
new file mode 100644
index 00000000000000..fffe9c591144a9
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/set-rgb-colors-2.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/set-rgb-colors.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/set-rgb-colors.png
new file mode 100644
index 00000000000000..943b18a6888d79
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/set-rgb-colors.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
index 36f2eda5f138f0..374ebadde5ecbf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
@@ -25,16 +25,16 @@ Si está acostumbrado a codificar con **VS Code**, también puede utilizar este
Cada ventana del Editor de Código tiene una barra de herramientas que ofrece acceso instantáneo a las funciones básicas relacionadas con la ejecución y edición de código.
-| Elemento | Icono | Descripción |
-| ------------------------------------ | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Ejecución del método** |  | Cuando se trabaja con métodos, cada ventana del Editor de Código tiene un botón que puede utilizarse para ejecutar el método actual. Utilizando el menú asociado a este botón, puede elegir el tipo de ejecución:- **Ejecutar nuevo proceso**: Crea un proceso y ejecuta el método en modo estándar en este proceso.
- **Ejecutar y depurar nuevo proceso**: Crea un nuevo proceso y muestra el método en la ventana Depurador para su ejecución paso a paso en este proceso.
- **Ejecutar en proceso Aplicación**: Ejecuta el método en modo estándar en el contexto del proceso Aplicación (es decir, en la ventana de visualización del registro).
- **Ejecutar y depurar en el proceso Aplicación**: Muestra el método en la ventana del Depurador para su ejecución paso a paso en el contexto del proceso Aplicación (en otras palabras, la ventana de visualización de registros).
Para más información sobre la ejecución de métodos, ver [Métodos proyecto](../Project/project-method-properties.md). |
-| **Buscar en el método** |  | Muestra el [*Área de búsqueda*](#find-and-replace). |
-| **Macros** |  | Inserta una macro en la selección. Haga clic en la flecha desplegable para mostrar una lista de macros disponibles. Para obtener más información sobre como crear e instanciar macros, consulte [Macros](#macros). |
-| **Expandir todo/Contraer todo** |  | Estos botones permiten expandir o contraer todas las estructuras de flujo de control del código. |
-| **Información del método** |  | Muestra el diálogo [Propiedades del método](../Project/project-method-properties.md) (sólo métodos proyecto). |
-| **Últimos valores del portapapeles** |  | Muestra los últimos valores almacenados en el portapapeles. |
-| **Portapapeles** |  | Nueve portapapeles disponibles en el editor de código. Puede [utilizar estos portapapeles](#clipboards) haciendo clic directamente en ellos o utilizando los atajos de teclado. Puede utilizar la opción [Preferencias](Preferences/methods.md#options-1) para ocultarlas. |
-| **Menú desplegable de navegación** |  | Le permite navegar dentro de métodos y clases con contenido etiquetado automáticamente o marcadores declarados manualmente. Ver abajo |
+| Elemento | Icono | Descripción |
+| ------------------------------------ | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Ejecución del método** |  | Cuando se trabaja con métodos, cada ventana del Editor de Código tiene un botón que puede utilizarse para ejecutar el método actual. Utilizando el menú asociado a este botón, puede elegir el tipo de ejecución:- **Ejecutar nuevo proceso**: Crea un proceso y ejecuta el método en modo estándar en este proceso.
- **Ejecutar y depurar nuevo proceso**: crea un nuevo proceso y muestra el método en la ventana del depurador para la ejecución paso a paso en este proceso.
- **Ejecutar en el proceso de la aplicación**: ejecuta el método en modo estándar en el contexto del proceso de la aplicación (es decir, la ventana de visualización de los registros).
- **Ejecutar y depurar en el proceso Aplicación**: muestra el método en la ventana Depurador para su ejecución paso a paso en el contexto del proceso Aplicación (es decir, en la ventana de visualización de registros).
Para más información sobre la ejecución de métodos, ver [Métodos proyecto](../Project/project-method-properties.md). |
+| **Buscar en el método** |  | Muestra el [*Área de búsqueda*](#find-and-replace). |
+| **Macros** |  | Inserta una macro en la selección. Haga clic en la flecha desplegable para mostrar una lista de macros disponibles. Para obtener más información sobre como crear e instanciar macros, consulte [Macros](#macros). |
+| **Expandir todo/Contraer todo** |  | Estos botones permiten expandir o contraer todas las estructuras de flujo de control del código. |
+| **Información del método** |  | Muestra el diálogo [Propiedades del método](../Project/project-method-properties.md) (sólo métodos proyecto). |
+| **Últimos valores del portapapeles** |  | Muestra los últimos valores almacenados en el portapapeles. |
+| **Portapapeles** |  | Nueve portapapeles disponibles en el editor de código. Puede [utilizar estos portapapeles](#clipboards) haciendo clic directamente en ellos o utilizando los atajos de teclado. Puede utilizar la opción [Preferencias](Preferences/methods.md#options-1) para ocultarlas. |
+| **Menú desplegable de navegación** |  | Le permite navegar dentro de métodos y clases con contenido etiquetado automáticamente o marcadores declarados manualmente. Ver abajo |
### Área de edición
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-index.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-index.md
index 3dce4ccc69ad3d..3c9c52d42dd752 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-index.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-index.md
@@ -155,7 +155,7 @@ title: Comandos por nombre
[`CREATE EMPTY SET`](../commands/create-empty-set)
[`Create entity selection`](../commands/create-entity-selection)
[`CREATE FOLDER`](../commands/create-folder)
-[`CREATE INDEX`](../commands/create-index)
+[`CREATE INDEX`](../commands/create-index) **modified 4D 21 R5**
[`Create menu`](../commands/create-menu)
[`CREATE RECORD`](../commands/create-record)
[`CREATE RELATED ONE`](../commands/create-related-one)
@@ -1072,7 +1072,7 @@ title: Comandos por nombre
[`SET GROUP ACCESS`](../commands/set-group-access)
[`Set group properties`](../commands/set-group-properties)
[`SET HELP MENU`](../commands/set-help-menu)
-[`SET INDEX`](../commands/set-index)
+[`SET INDEX`](../commands/set-index) **modified 4D 21 R5**
[`SET INDEX CACHE PRIORITY`](../commands/set-index-cache-priority)
[`SET LIST ITEM`](../commands/set-list-item)
[`SET LIST ITEM FONT`](../commands/set-list-item-font)
@@ -1113,7 +1113,7 @@ title: Comandos por nombre
[`SET UPDATE FOLDER`](../commands/set-update-folder)
[`SET USER ALIAS`](../commands/set-user-alias)
[`Set user properties`](../commands/set-user-properties)
-[`SET WINDOW DOCUMENT ICON`](../commands/set-window-document-icon) - **nuevo 4D 20 R7**
+[`SET WINDOW DOCUMENT ICON`](../commands/set-window-document-icon) - **new 4D 20 R7**
[`SET WINDOW RECT`](../commands/set-window-rect)
[`SET WINDOW TITLE`](../commands/set-window-title)
[`Shift down`](../commands/shift-down)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-get-border-style.md b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-get-border-style.md
index 5e27b1a155969e..3d566ca83ef0a7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-get-border-style.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-get-border-style.md
@@ -22,6 +22,7 @@ displayed_sidebar: docs
|Versión|Cambios|
|---|---|
+|21 R5|Nuevas constantes `Border Custom` y `Border System Rounded`|
|14|Creado por|
@@ -37,8 +38,9 @@ Si pasa el parámetro opcional *\** indica que el parámetro *objeto* es un nomb
El comando devuelve un valor que corresponde al estilo de la línea fronteriza. Puede comparar el valor recibido con las siguientes constantes, que se encuentran en el tema "*Propiedades de los objetos*":
-| Constante | Tipo | Valor | Comentario |
-| ------------- | ------------ | ----- | ------------------------------------------------------------------------------------------------------------------- |
+| Constante | Tipo | Valor | Comentario |
+| ------------- | ------------ | ----- | ---------- |
+| Border Custom | Entero largo | 9 | (solo botones) Activa el diseño del marco interior de los botones y admite propiedades adicionales |
| Border Dotted | Entero largo | 2 | Los objetos aparecen enmarcados con una línea punteada de 1-pt. |
| Border Double | Entero largo | 5 | Los objetos aparecen enmarcados con una línea doble, es decir, dos líneas continuas de 1-pt. separadas por un píxel |
| Border None | Entero largo | 0 | Los objetos aparecen sin borde |
@@ -46,6 +48,7 @@ El comando devuelve un valor que corresponde al estilo de la línea fronteriza.
| Border Raised | Entero largo | 3 | Los objetos aparecen con un efecto 3D (relieve) |
| Border Sunken | Entero largo | 4 | Los objetos aparecen enmarcados con un efecto 3D hundido (relieve inverso) |
| Border System | Entero largo | 6 | La línea del borde se dibuja en función de las especificaciones gráficas del sistema |
+| Border System Rounded | Entero largo | 8 | En macOS, la línea del borde utiliza la apariencia gráfica "Liquid Glass". En Windows, el resultado es similar a `Border System`. |
## Ver también
@@ -58,4 +61,3 @@ El comando devuelve un valor que corresponde al estilo de la línea fronteriza.
| Número de comando | 1263 |
| Hilo seguro | no |
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-get-rgb-colors.md b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-get-rgb-colors.md
index f114e9e3ac67db..80f8c993e4f61d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-get-rgb-colors.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-get-rgb-colors.md
@@ -5,7 +5,7 @@ slug: /commands/object-get-rgb-colors
displayed_sidebar: docs
---
-**OBJECT GET RGB COLORS** ( * ; *objeto* : Text ; *colorPrimerPlano* : Text, Integer {; *colorFondo* : Text, Integer {; *colorFondoAlt* : Text, Integer}} )
**OBJECT GET RGB COLORS** ( *objeto* : Variable, Field ; *colorPrimerPlano* : Text, Integer {; *colorFondo* : Text, Integer {; *colorFondoAlt* : Text, Integer}} )
+**OBJECT GET RGB COLORS** ( * ; *objeto* : Text ; *colorPrimerPlano* : Text, Integer {; *colorFondo* : Text, Integer {; *colorFondoAlt* : Text, Integer {; *borderColor* : Text, Integer}}} )
**OBJECT GET RGB COLORS** ( *objeto* : Variable, Field ; *colorPrimerPlano* : Text, Integer {; *colorFondo* : Text, Integer {; *colorFondoAlt* : Text, Integer {; *borderColor* : Text, Integer}}} )
@@ -16,6 +16,7 @@ displayed_sidebar: docs
| colorPrimerPlano | Text, Integer | ← | Valor del color RGB del primer plano |
| colorFondo | Text, Integer | ← | Valor del color RGB del fondo |
| colorFondoAlt | Text, Integer | ← | Valor del color RGB del fondo alterno |
+| borderColor | Text, Integer | ← | Valor del color RGB del borde |
@@ -24,6 +25,7 @@ displayed_sidebar: docs
|Versión|Cambios|
|---|---|
+|21 R5|Compatibilidad con el parámetro *borderColor*|
|17 R6|Modificado|
|12|Creado por|
@@ -32,18 +34,26 @@ displayed_sidebar: docs
## Descripción
-El comando OBJECT GET RGB COLORS devuelve los colores de fondo y primer plano del objeto o grupo de objetos designados por *objeto*.
+El comando **OBJECT GET RGB COLORS** devuelve los colores de primer plano y de fondo y, opcionalmente, los colores de fondo alterno y del borde del objeto o grupo de objetos designados por *objeto*.
Si pasa el parámetro opcional *\**, indica que el parámetro *objeto* es un nombre de objeto (cadena). Si no pasa este parámetro, indica que el parámetro *objeto* es un campo o una variable. En este caso, se pasa una referencia de campo o variable (campo o variable objeto únicamente) en lugar de una cadena.
Cuando el comando se aplica a un objeto de tipo List box, el color de fondo alterno de las filas pueden se devuelto en el parámetro *colorFondoAlt*. En este caso, el valor de *colorFondo* se utiliza para el fondo de las líneas impares.
-Los valores de colores RGB devueltos en los parámetros a *colorPrimerPlano*, *colorFondo* y *colorFondoAlt* dependen del tipo de parámetro:
+Cuando el comando se aplica a un objeto que admite la propiedad [`borderColor`](../../FormObjects/properties_BackgroundAndBorder.md#border-color), el color del borde se puede devolver en el parámetro *borderColor*.
-* si se pasa un parámetro de tipo texto, el color se devuelve en formato CSS con la sintaxis "#rrggbb" (por ejemplo: "# 0000FF")
-* Si se pasa un parámetro de tipo [entero largo](# "Entre -2 millardos y +2 millardos"), el color puede ser un entero largo de 4 bytes del formato (0x00RRGGBB) o valores negativos correspondientes a los colores del "sistema".
+:::note
-Para obtener más información acerca del formato de los parámetros *colorPrimerPlano*, *colorFondo* y *colorFondoAlt*, consulte la descripción del comando [OBJECT SET RGB COLORS](../commands/object-set-rgb-colors).
+El parámetro *borderColor* no está disponible en las bases de datos binarias.
+
+:::
+
+Los valores RGB devueltos en los parámetros *colorPrimerPlano*, *colorFondo*, *colorFondoAlt* y *borderColor* dependen del tipo del parámetro:
+
+- si el parámetro es de tipo texto, el color se devuelve en formato CSS con la sintaxis "#rrggbb" (por ejemplo, "#0000FF");
+- si el parámetro es de tipo entero, el color puede ser un entero largo de 4 bytes con el formato (0x00RRGGBB) o un valor negativo correspondiente a los colores del "sistema".
+
+Para más información sobre el formato de estos parámetros, consulte la descripción del comando [OBJECT SET RGB COLORS](../commands/object-set-rgb-colors).
## Ver también
@@ -56,4 +66,3 @@ Para obtener más información acerca del formato de los parámetros *colorPrime
| Número de comando | 1074 |
| Hilo seguro | no |
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-set-border-style.md b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-set-border-style.md
index d46a35c19de6ab..53cca689d7322c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-set-border-style.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-set-border-style.md
@@ -22,6 +22,7 @@ displayed_sidebar: docs
|Versión|Cambios|
|---|---|
+|21 R5|Nuevas constantes `Border Custom` y `Border System Rounded`|
|14|Creado por|
@@ -37,8 +38,9 @@ Al pasar el parámetro opcional *\** indica que el parámetro *objeto* es un nom
En el parámetro *estiloBorde*, pase el valor del estilo de la línea fronteriza que desea aplicar al objeto. Puede pasar una de las siguientes constantes, que se encuentra en el tema "*Propiedades de los objetos*":
-| Constante | Tipo | Valor | Comentario |
-| ------------- | ------------ | ----- | ------------------------------------------------------------------------------------------------------------------- |
+| Constante | Tipo | Valor | Comentario |
+| ------------- | ------------ | ----- | ---------- |
+| Border Custom | Entero largo | 9 | (solo botones) Activa el diseño del marco interior de los botones y admite propiedades adicionales |
| Border Dotted | Entero largo | 2 | Los objetos aparecen enmarcados con una línea punteada de 1-pt. |
| Border Double | Entero largo | 5 | Los objetos aparecen enmarcados con una línea doble, es decir, dos líneas continuas de 1-pt. separadas por un píxel |
| Border None | Entero largo | 0 | Los objetos aparecen sin borde |
@@ -46,6 +48,7 @@ En el parámetro *estiloBorde*, pase el valor del estilo de la línea fronteriza
| Border Raised | Entero largo | 3 | Los objetos aparecen con un efecto 3D (relieve) |
| Border Sunken | Entero largo | 4 | Los objetos aparecen enmarcados con un efecto 3D hundido (relieve inverso) |
| Border System | Entero largo | 6 | La línea del borde se dibuja en función de las especificaciones gráficas del sistema |
+| Border System Rounded | Entero largo | 8 | En macOS, la línea del borde utiliza la apariencia gráfica "Liquid Glass". Esta apariencia *no* se utiliza en un objeto de entrada multilínea si está activada la [propiedad de barras de desplazamiento](../../FormObjects/properties_Appearance.md#vertical-scroll-bar) (en ese caso se utiliza `Border System`). En Windows, el resultado es similar a `Border System`. |
## Ver también
@@ -58,4 +61,3 @@ En el parámetro *estiloBorde*, pase el valor del estilo de la línea fronteriza
| Número de comando | 1262 |
| Hilo seguro | no |
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-set-rgb-colors.md b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-set-rgb-colors.md
index 5fde9287758215..bdc840c4033e5a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-set-rgb-colors.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Forms)/object-set-rgb-colors.md
@@ -5,7 +5,7 @@ slug: /commands/object-set-rgb-colors
displayed_sidebar: docs
---
-**OBJECT SET RGB COLORS** ( * ; *objeto* : Text ; *colorPrimerPlano* : Text, Integer {; *colorFondo* : Text, Integer {; *colorFondoAlt* : Text, Integer}} )
**OBJECT SET RGB COLORS** ( *objeto* : Variable, Field ; *colorPrimerPlano* : Text, Integer {; *colorFondo* : Text, Integer {; *colorFondoAlt* : Text, Integer}} )
+**OBJECT SET RGB COLORS** ( * ; *objeto* : Text ; *colorPrimerPlano* : Text, Integer {; *colorFondo* : Text, Integer {; *colorFondoAlt* : Text, Integer {; *borderColor* : Text, Integer}}} )
**OBJECT SET RGB COLORS** ( *objeto* : Variable, Field ; *colorPrimerPlano* : Text, Integer {; *colorFondo* : Text, Integer {; *colorFondoAlt* : Text, Integer {; *borderColor* : Text, Integer}}} )
@@ -16,6 +16,7 @@ displayed_sidebar: docs
| colorPrimerPlano | Text, Integer | → | Valor del color RGB del primer plano |
| colorFondo | Text, Integer | → | Valor del color RGB del fondo |
| colorFondoAlt | Text, Integer | → | Valor del color RGB del fondo alterno |
+| borderColor | Text, Integer | → | Valor del color RGB del borde ("" = sin cambios) |
@@ -24,6 +25,7 @@ displayed_sidebar: docs
|Versión|Cambios|
|---|---|
+|21 R5|Compatibilidad con el parámetro *borderColor*|
|17 R6|Modificado|
|14|Modificado|
|12|Renombrar|
@@ -35,17 +37,27 @@ displayed_sidebar: docs
## Descripción
-El comando **OBJECT SET RGB COLORS** cambia los colores de fondo y primer plano de los objetos especificados por *objeto* y el parámetro opcional *\**. Cuando el comando se aplica a un objeto list box, un parámetro adicional le permite modificar el color alterno de las filas.
+El comando **OBJECT SET RGB COLORS** cambia los colores de primer plano y de fondo de los objetos especificados por el parámetro *objeto* y el parámetro opcional *\**. Según el objeto al que se aplique el comando, pueden estar disponibles otros dos parámetros de color.
Si pasa el parámetro opcional *\**, especifica que el parámetro *objeto* es el nombre de objeto (una cadena). Si omite el parámetro opcional \*, especifica que *objeto* es un campo o una variable. En este caso, no pasa en *objeto* una cadena sino una referencia a un campo o a una variable (campo o variable de tipo objeto únicamente) en lugar de una cadena. Para mayor información sobre nombres de objetos, consulte la sección *Propiedades de los objetos*.
-El parámetro opcional *colorFondoAlt* le permite definir un color alternativo para el fondo de las líneas pares. Este parámetro sólo se utiliza cuando el objeto se especifica como List box o columna de List box. Cuando se utiliza este parámetro, el parámetro *c* *olorFondo* se utiliza para las líneas impares únicamente. La utilización de colores alternativos hace que las listas sean más fáciles de leer.
+El parámetro opcional *colorFondoAlt* permite definir un color de fondo alternativo para las filas pares. Este parámetro solo se utiliza cuando el objeto especificado es un list box o una columna de list box. Cuando se utiliza, el parámetro *colorFondo* se aplica únicamente al fondo de las filas impares. El uso de colores alternos facilita la lectura de las listas.
Si *objeto* especifica un objeto List box, los colores alternos se utilizan en todo el List box. Si *objeto* especifica una columna del List box, sólo la columna utilizará los colores definidos.
+El parámetro opcional *borderColor* permite cambiar el color del borde en tiempo de ejecución. Solo se puede aplicar a objetos que admitan la propiedad `borderColor` y requiere que el estilo del borde sea "plain" o "dotted" (excepto en los botones con estilo personalizado). Para más información, consulte la sección ["Color del borde"](../../FormObjects/properties_BackgroundAndBorder.md#border-color).
+
+:::note
+
+El parámetro *borderColor* no está disponible en las bases de datos binarias.
+
+:::
+
+Puede utilizar "" (cadena vacía) en *colorPrimerPlano*, *colorFondo*, *colorFondoAlt* y/o *borderColor* para dejar el color sin cambios.
+
**Definición de colores**
-Los valores de los colores RGB se indican en los parámetros *colorPrimerPlano* y opcionalmente en *colorFondo* y *colorFondoAlt*. Los siguientes formatos se soportan:
+Los valores RGB se indican en el parámetro *colorPrimerPlano* y, opcionalmente, en *colorFondo*, *colorFondoAlt* y *borderColor*. Se admiten los siguientes formatos:
| **Nombre del formato
** | **Tipo** | **Descripción** | **Ejemplos** |
| ----------------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
@@ -115,6 +127,21 @@ Cambia a fondo transparente con un color de fuente claro:

+## Ejemplo 3
+
+Cambiar únicamente el color del borde del list box:
+
+
+
+```4d
+ //cambiar el estilo del borde a plain (system por defecto)
+OBJECT SET BORDER STYLE(*; "listOfDays"; Border Plain)
+ //definir el color del borde en rojo
+OBJECT SET RGB COLORS(*; "listOfDays"; ""; ""; ""; "#ff0000")
+```
+
+
+
## Ver también
[OBJECT GET RGB COLORS](../commands/object-get-rgb-colors)
@@ -127,4 +154,3 @@ Cambia a fondo transparente con un color de fuente claro:
| Número de comando | 628 |
| Hilo seguro | no |
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-entries.md b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-entries.md
index 711e3ae244b2e9..a857d47362c325 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-entries.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-entries.md
@@ -72,6 +72,6 @@ El uso de un objeto como un mapa hash (sistema llave/valor) ofrece un acceso rá
| | |
| --- | --- |
| Número de comando | 1720 |
-| Hilo seguro | no |
+| Hilo seguro | yes | |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-keys.md b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-keys.md
index a8d8769b87a3ac..3562e6717d301e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-keys.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-keys.md
@@ -62,6 +62,6 @@ Quiere una colección con todos los nombres de propiedad de primer nivel de un o
| | |
| --- | --- |
| Número de comando | 1719 |
-| Hilo seguro | no |
+| Hilo seguro | yes |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-values.md b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-values.md
index fbb0f0a7d1ab92..f37005cfb0c6cc 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-values.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/language-legacy/Objects (Language)/ob-values.md
@@ -62,6 +62,6 @@ Desea una colección con todos los valores de propiedad de un objeto:
| | |
| --- | --- |
| Número de comando | 1718 |
-| Hilo seguro | no |
+| Hilo seguro | yes |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/server/service.md b/i18n/es/docusaurus-plugin-content-docs/current/server/service.md
index 5cb40e749d24f5..4c39da3f337ee6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/server/service.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/server/service.md
@@ -16,7 +16,7 @@ Esta operación le permite garantizar la disponibilidad de una aplicación 4D Se
:::
-To register a 4D Server application as a Service, select **Register Current Application as Service** in the [**File** menu](./menus.md#file) of 4D Server. La próxima vez que se inicie el equipo, 4D Server se ejecutará automáticamente y se abrirá el proyecto actual. Puede registrar cualquier número de proyectos. Cada proyecto solo se puede registrar una vez.
+Para registrar una aplicación 4D Server como servicio, seleccione **Registrar la aplicación actual como un servicio** en el [**menú Archivo**](./menus.md#file) de 4D Server. La próxima vez que se inicie el equipo, 4D Server se ejecutará automáticamente y se abrirá el proyecto actual. Puede registrar cualquier número de proyectos. Cada proyecto solo se puede registrar una vez.
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/server/sso.md b/i18n/es/docusaurus-plugin-content-docs/current/server/sso.md
index c0354b3f3e16c1..98d2d45ba6d0ba 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/server/sso.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/server/sso.md
@@ -30,7 +30,7 @@ Si desea utilizar Kerberos como protocolo de autenticación, también debe compl

-Esta opción declara el SPN tal y como se configuró en Active Directory. Un nombre principal de servicio es un identificador único de una instancia de servicio. Los SPNs son utilizados por la autenticación Kerberos para asociar una instancia de servicio con una cuenta de inicio de sesión de servicio. Esto permite que una aplicación cliente solicite al servicio que autentifique una cuenta, incluso si el cliente no dispone del nombre de la cuenta. For more information, please refer to the [SPN page on the MSDN web site](https://msdn.microsoft.com/en-us/library/windows/desktop/ms677949%28v=vs.85%29.aspx).
+Esta opción declara el SPN tal y como se configuró en Active Directory. Un nombre principal de servicio es un identificador único de una instancia de servicio. Los SPNs son utilizados por la autenticación Kerberos para asociar una instancia de servicio con una cuenta de inicio de sesión de servicio. Esto permite que una aplicación cliente solicite al servicio que autentifique una cuenta, incluso si el cliente no dispone del nombre de la cuenta. Para más información, consulte la [página SPN en el sitio web MSDN](https://msdn.microsoft.com/en-us/library/windows/desktop/ms677949%28v=vs.85%29.aspx).
El identificador SPN debe respetar este formato:
@@ -40,7 +40,7 @@ El identificador SPN debe respetar este formato:
Donde:
- *ServiceName* es el nombre del servicio en el que el cliente desea autenticarse.
-- The *Fully Qualified Domain Name* (FQDN) is a domain name that specifies its exact location in the tree hierarchy of the Active Directory for both computers and users.
+- El *Fully Qualified Domain Name* (FQDN) es un nombre de dominio que especifica su ubicación exacta en la jerarquía de árbol del Active Directory, tanto para las máquinas como para los usuarios.
En las aplicaciones 4D, se puede configurar el SPN:
@@ -102,7 +102,7 @@ Donde:
### Configuración requerida para el SSO
-4D Server admite diversas configuraciones de SSO, en función de la arquitectura y los ajustes actuales. El protocolo utilizado para la autenticación (NTLM o Kerberos), así como la información que devuelve el comando [`Current client authentication`](../commands/current-client-authentication), depende de la configuración real, siempre que se cumplan todos los requisitos (ver más abajo). The protocol actually used for authentication is returned in the protocol parameter of the [`Current client authentication`](../commands/current-client-authentication) command.
+4D Server admite diversas configuraciones de SSO, en función de la arquitectura y los ajustes actuales. El protocolo utilizado para la autenticación (NTLM o Kerberos), así como la información que devuelve el comando [`Current client authentication`](../commands/current-client-authentication), depende de la configuración real, siempre que se cumplan todos los requisitos (ver más abajo). El protocolo utilizado para la autenticación se devuelve en el parámetro protocolo del comando [`Current client authentication`](../commands/current-client-authentication).
La siguiente tabla muestra los requisitos para utilizar la autenticación NTLM o Kerberos:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/server/vss.md b/i18n/es/docusaurus-plugin-content-docs/current/server/vss.md
index a219ed0c797db3..32db226ce8d86c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/server/vss.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/server/vss.md
@@ -3,9 +3,9 @@ id: vss
title: Volume Shadow Copy Service (VSS)
---
-4D Server Windows comes with a dedicated **VSS writer** application that will automatically manage snapshot requests sent through Windows Volume Shadows Copy Service (VSS).
+4D Server en Windows incluye una aplicación **VSS writer** dedicada que gestiona automáticamente las peticiones de copias instantáneas (snapshot) enviadas a través del servicio VSS (Volume Shadows Copy Service) de Windows.
-VSS is provided by Windows Server to allow backup applications to capture snapshots (shadow copies) of any files or entire hard disks at a given moment, while applications are running. Gracias a esta tecnología, puede recuperar, por ejemplo, una base 4D Server tal y como estaba en el momento de tomar la instantánea. Este mecanismo requiere que los archivos de la aplicación en ejecución estén en un estado consistente cuando se realiza la copia. Por esta razón, una aplicación compatible con VSS debe instalar una aplicación o un servicio VSS writer. This component is then "warned" by the service when a shadow copy is about to be done and tells the **VSS requestor** (basically the backup application) how to back up its file and data.
+VSS es proporcionado por Windows Server para permitir que las aplicaciones de copia de seguridad capturen instantáneas (copias sombra) de archivos en ejecución o de la totalidad de un disco duro en un momento dado. Gracias a esta tecnología, puede recuperar, por ejemplo, una base 4D Server tal y como estaba en el momento de tomar la instantánea. Este mecanismo requiere que los archivos de la aplicación en ejecución estén en un estado consistente cuando se realiza la copia. Por esta razón, una aplicación compatible con VSS debe instalar una aplicación o un servicio VSS writer. El servicio notifica entonces a este componente cuando una copia instantánea está a punto de realizarse, y este indica al solicitante VSS (básicamente la aplicación de copia de seguridad) cómo hacer una copia de seguridad de sus archivos y datos.
## Requisitos del sistema del host (hipervisor)
@@ -27,7 +27,7 @@ Generalmente, el escenario inicial será:
El ejecutable VSS writer se inicia como un servicio con el nombre "VSS \". Se ejecutará un único servicio VSS para todas las instancias de 4D Server. Se ejecutará un servicio VSS por cada aplicación con motor integrado (con un nombre distinto) que se ejecute en el equipo (ver más abajo).
-The [Monitor Page](../ServerWindow/monitor.md) of the 4D Server Administration window displays the status of VSS writer service, in Application information area:
+La [Página Monitor](../ServerWindow/monitor.md) de la ventana de administración de 4D Server muestra el estado del servicio VSS writer en el área Información de la aplicación:

diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md
index 3ff341680fe68d..04afe4316bcacf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md
@@ -68,7 +68,7 @@ Se ofrecen tres opciones de ubicación:
- **Idioma del archivo de datos actual:** permite configurar el lenguaje utilizado para el procesamiento y la comparación de cadenas de caracteres. La elección de un idioma de comparación afecta a la ordenación y la búsqueda de textos, así como al cambio entre minúsculas y mayúsculas, pero no afecta a la traducción de etiquetas ni a los formatos de fecha, hora o moneda, que permanecen en el idioma del sistema. Por defecto, 4D utiliza el lenguaje del sistema.
- Así, un proyecto 4D puede funcionar en un lenguaje distinto del del sistema. Cuando se abre un proyecto, el motor de 4D detecta el lenguaje utilizado por el archivo de datos y lo pasa al lenguaje (modo interpretado o compilado). Las comparaciones de texto, independientemente de si las efectúa el motor del proyecto o el lenguaje, se hacen en el mismo idioma.
+ Así, un proyecto 4D puede funcionar en un lenguaje distinto del del sistema. Cuando se abre un proyecto, el motor de 4D detecta el lenguaje utilizado por el archivo de datos y lo pasa al lenguaje (modo intérpretado o compilado). Las comparaciones de texto, independientemente de si las efectúa el motor del proyecto o el lenguaje, se hacen en el mismo idioma.
> Puede modificar esta configuración en las Preferencias de la aplicación (ver [Página general](../Preferences/general.md)). En este caso, la configuración se aplica a todas las nuevas bases creadas por 4D.
@@ -78,7 +78,7 @@ Se ofrecen tres opciones de ubicación:
Cuando esta opción está marcada, 4D utiliza un algoritmo simplificado. En esta configuración, todo caracter no alfanumérico (es decir, que no sea una letra o un número) se considera un separador de palabras claves. Esta configuración cumple requisitos específicos asociados a determinados idiomas, como el japonés.
-- **Orden de clasificación apropiado para la búsqueda**: esta opción sólo aparece cuando se selecciona el idioma japonés. Modifica la interpretación de caracteres como la "Marca sonora prolongada Katakana-Hiragana" o "長音記号" o las "Marcas de iteración japonesas" como "ゝ" o "ゞ". Es probable que un hablante típico de japonés prefiera los resultados cuando el ajuste está activado.
+- **Orden de clasificación apropiado para la búsqueda**: esta opción sólo aparece cuando se selecciona el idioma japonés. Modifica la interpretación de caracteres como la "Marca sonora prolongada Katakana-Hiragana" o "長音記号" o las "Marcas de iteración japonesa" como "ゝ" o "ゞ". Es probable que un hablante típico de japonés prefiera los resultados cuando el ajuste está activado.
#### Soporte de Mecab (versión japonesa)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/security.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/security.md
index b178e4c4ccd14a..54179b9d9e0697 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/settings/security.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/security.md
@@ -23,13 +23,13 @@ Note que:
#### Usuario por defecto
-When a Default User has been set, every user that opens the database or logs onto it has the same access privileges and restrictions defined for this Default User. Ya no es necesario ingresar un nombre de usuario. Además, si no ha asociado una contraseña al usuario por defecto, la caja de diálogo Contraseña ya no aparece y la base se abre directamente.
+Cuando se ha definido un Usuario por defecto, todos los usuarios que abren o se conectan a la base tienen los mismos privilegios y restricciones de acceso definidos para este Usuario por defecto. Ya no es necesario ingresar un nombre de usuario. Además, si no ha asociado una contraseña al usuario por defecto, la caja de diálogo Contraseña ya no aparece y la base se abre directamente.
Esta opción simplifica el acceso a la base de datos a la vez que mantiene un sistema completo de control de datos.
- Si ha asociado una contraseña al usuario predeterminado, al abrir la base aparece una caja de diálogo en el que los usuarios deben introducir una contraseña.
- Si no ha asociado una contraseña al usuario por defecto, el cuadro de diálogo de identificación de usuario no aparecerá.
- **Note:** You can "force" the display of the User Identification dialog box when the "Default User" mode is active, for instance in order to connect as Administrator or Designer. Para ello, presione la tecla **Mayús** mientras abre la base de datos o se conecta a ella.
+ **Nota:** puede "forzar" la visualización del cuadro de diálogo de identificación de usuario cuando el modo "Usuario por defecto" está activo, por ejemplo para conectarse como Administrador o Diseñador. Para ello, presione la tecla **Mayús** mientras abre la base de datos o se conecta a ella.
#### Mostrar la lista de usuarios en el cuadro de diálogo Contraseña
@@ -63,7 +63,7 @@ Debe seleccionar esta opción para poder mostrar cuadros de diálogo independien
#### Ejecutar el método "On Host Database Event" de los componentes
-The [On Host Database Event database method](../commands/on-host-database-event-database-method) facilitates the initialization and backup phases for 4D components. Por razones de seguridad, debe autorizar explícitamente la ejecución de este método en cada base de datos local. Para hacer esto, debe marcar esta opción. Por defecto, no está marcado.
+El [método base On Host Database Event](../commands/on-host-database-event-database-method) facilita las fases de inicialización y de copia de seguridad de los componentes 4D. Por razones de seguridad, debe autorizar explícitamente la ejecución de este método en cada base de datos local. Para hacer esto, debe marcar esta opción. Por defecto, no está marcado.
Cuando esta opción está seleccionada:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/BlobClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/BlobClass.md
index a1d51b038c29e2..93a3eaaca23575 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/BlobClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/BlobClass.md
@@ -3,19 +3,19 @@ id: BlobClass
title: Blob
---
-La clase Blob permite crear y manipular los [blob objects](../Concepts/dt_blob.md#blob-types) (`4D.Blob`).
+La clase Blob permite crear y manipular [objetos blob](../Concepts/dt_blob.md#blob-types) (`4D.Blob`).
### Resumen
-| |
-| --------------------------------------------------------------------------------------------------------------------------------------- |
-| [](#4dblobnew) |
-| [](#size) |
-| [](#slice) |
+| |
+| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [](#4dblobnew) |
+| [](#size) |
+| [](#slice) |
## 4D.Blob.new()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -25,20 +25,21 @@ La clase Blob permite crear y manipular los [blob objects](../Concepts/dt_blob.m
**4D.Blob.new()** : 4D.Blob
**4D.Blob.new**( *blobScal* : Blob ) : 4D.Blob
**4D.Blob.new**( *blobObj* : 4D.Blob ) : 4D.Blob
-
+
-| Parámetro | Tipo | | Descripción |
-| --------- | --------------- | :-: | ------------ |
-| Blob | Blob | -> | Blob a copiar |
-| Resultado | 4D.Blob | <- | Nuevo 4D.Blob |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ----------------------- | :-------------------------: | ----------------------------- |
+| blob | Blob | -> | Blob a copiar |
+| Resultado | 4D.Blob | <- | Nuevo 4D.Blob |
+
#### Descripción
-`4D. Blob.new` crea un nuevo objeto `4D.Blob` encapsulando opcionalmente una copia de los datos de otro blob (blob escalar o `4D.Blob`).
+`4D.Blob.new` crea un nuevo objeto `4D.Blob` opcionalmente encapsulando una copia de los datos de otro blob (blob escalar o `4D.Blob`).
Si el parámetro `blob` se omite, el método devuelve un 4D.Blob vacío.
@@ -47,11 +48,12 @@ Si el parámetro `blob` se omite, el método devuelve un 4D.Blob vacío.
**.size** : Real
#### Descripción
+
La propiedad `.size` devuelve el tamaño de un `4D.Blob`, expresado en bytes.
## .slice()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -61,15 +63,16 @@ La propiedad `.size` devuelve el tamaño de un `4
**.slice()** : 4D.Blob
**.slice**( *start* : Real ) : 4D.Blob
**.slice**( *start* : Real; *end* : Real ) : 4D.Blob
-
+
-| Parámetro | Tipo ||Descripción |
-| --------- | ------- | :-: | --- |
-| start| Real | -> | índice del primer byte a incluir en el nuevo `4D.Blob`. |
-| end| Real | -> | índice del primer byte que no se incluirá en el nuevo `4D.Blob` |
-| Resultado| 4D.Blob | <- | New `4D.Blob`|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ----------------------- | :-------------------------: | ----------------------------------------------------------------------- |
+| start | Real | -> | índice del primer byte a incluir en el nuevo `4D.Blob`. |
+| end | Real | -> | índice del primer byte que no se incluirá en el nuevo `4D.Blob` |
+| Resultado | 4D.Blob | <- | Nuevo `4D.Blob` |
+
@@ -86,24 +89,12 @@ El parámetro `end` es un índice en el blob que indica el primer byte que no se
```4d
var $myBlob : 4D.Blob
-// Store text in a 4D.Blob
+// Almacenar texto en un 4D.Blob
CONVERT FROM TEXT("Hello, World!"; "UTF-8"; $myBlob)
$is4DBlob:=OB Instance of($myBlob; 4D.Blob); //True
$myString:=Convert to text($myBlob; "UTF-8")
-// $myString contains "Hello, World!"
-
-// Create a new 4D.Blob from $myBlob
-$myNewBlob:=$myBlob.slice(0; 5)
-
-$myString:=Convert to text($myNewBlob; "UTF-8")
-// $myString contains "Hello"
-
-// Crear un nuevo 4D.Blob a partir de $myBlob
-$myNewBlob:=$myBlob.slice(0; 5)
-
-$myString:=Convert to text($myNewBlob; "UTF-8")
-// $myString contiene "Hello"
+// $myString contiene "Hello, World!"
// Crear un nuevo 4D.Blob a partir de $myBlob
$myNewBlob:=$myBlob.slice(0; 5)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/ClassClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/ClassClass.md
index 30c07416e6c465..928ce0695a1b84 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/ClassClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/ClassClass.md
@@ -3,26 +3,21 @@ id: ClassClass
title: Class
---
-
Cuando una clase usuario es [definida](Concepts/classes.md#class-definition) en el proyecto, se carga en el entorno del lenguaje 4D. Una clase es un objeto en sí mismo, de la clase "Class", que tiene propiedades y una función.
-
-
### Resumen
-
-| |
-| -------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [](#name) |
-| [](#new) |
+| |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [](#name) |
+| [](#new) |
| [](#superclass) |
-
-
+
## .name
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -36,16 +31,15 @@ Cuando una clase usuario es [definida](Concepts/classes.md#class-definition) en
La propiedad `.name` contiene el nombre del objeto `4D.Class`. .
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
-
-
+
## .new()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -55,23 +49,23 @@ Esta propiedad es **de sólo lectura**.
**.new**() : 4D.Object
**.new**( *param* : any { *;...paramN* } ) : 4D.Object
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|param|any|->|Parámetro(s) a pasar a la función constructor|
-|Resultado|4D.Object|<-|New object of the class|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------------------------- | :-------------------------: | ---------------------------------------------------------------- |
+| param | any | -> | Parámetro(s) a pasar a la función constructor |
+| Resultado | 4D.Object | <- | Nuevo objeto de la clase |
+
-
#### Descripción
-La función `.new()` crea y devuelve un objeto `cs.className` que es una nueva instancia de la clase sobre la que se llama. Esta función está disponible automáticamente en todas las clases del class store [`cs`](Concepts/classes.md#cs).
+La función `.new()` crea y devuelve un objeto `cs.className` que es una nueva instancia de la clase sobre la que se llama. Esta función está disponible automáticamente en todas las clases a partir del [class store `cs`](Concepts/classes.md#cs).
-Puede pasar uno o más parámetros opcionales *param*, que se pasarán a la función [constructor de la clase](Concepts/classes.md#class-constructor) (si la hay) en la definición de la clase className. Dentro de la función constructor, [`This`](Concepts/classes.md#this) está ligado al nuevo objeto que se está construyendo.
+You can pass one or more optional *param* parameters, which will be passed to the [class constructor](Concepts/classes.md#class-constructor) function (if any) in the className class definition. Dentro de la función constructor, el [`This`](Concepts/classes.md#this) está vinculado al nuevo objeto que se está construyendo.
Si se llama a `.new()` en una clase inexistente, se devuelve un error.
@@ -90,9 +84,9 @@ Para crear una nueva instancia de la clase Person con parámetros:
```4d
//Class: Person.4dm
Class constructor($firstname : Text; $lastname : Text; $age : Integer)
- This.firstName:=$firstname
- This.lastName:=$lastname
- This.age:=$age
+ This.firstName:=$firstname
+ This.lastName:=$lastname
+ This.age:=$age
```
```4d
@@ -104,15 +98,13 @@ $person:=cs.Person.new("John";"Doe";40)
//$person.age = 40
```
-
-
-
+
## .superclass
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -128,7 +120,7 @@ La propiedad `.superclass` devuelve l
Para definir una superclase para una clase usuario, utilice la palabra clave [`extends`](Concepts/classes.md#class-extends-classname) como: `Class extends `.
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
#### Ejemplos
@@ -143,7 +135,6 @@ $sup:=cs.MyFile.superclass //File
```
-
-
**Ver también:** [Super](Concepts/classes.md#super)
+
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 0a4849e24b54aa..c1d5a3c140c112 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -3,96 +3,88 @@ id: CollectionClass
title: Collection
---
-
-La clase Collection gestiona expresiones de tipo [Collection](Concepts/dt_collection.md).
+La clase Collection gestiona las expresiones de tipo [Collection](Concepts/dt_collection.md).
Una colección se inicializa con:
-| |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [](#new-collection) |
-| [](#new-shared-collection) |
-
+| |
+| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [](#new-collection) |
+| [](#new-shared-collection) |
### Ejemplo
```4d
- var $colVar : Collection //creación de una variable 4D de tipo colección
- $colVar:=New collection //inicialización de la colección y asignación a la variable 4D
+Notas
```
-
### Resumen
-
-| |
-| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [](#at) |
-| [](#average) |
-| [](#clear) |
-| [](#combine) |
-| [](#concat) |
-| [](#copy) |
-| [](#count) |
-| [](#countvalues) |
-| [](#distinct) |
-| [](#equal) |
-| [](#every) |
-| [](#extract) |
-| [](#fill) |
-| [](#filter) |
-| [](#find) |
-| [](#find) |
-| [](#first) |
-| [](#flat) |
-| [](#flatmap) |
-| [](#includes) |
-| [](#indexof) |
-| [](#indices) |
-| [](#insert) |
-| [](#join) |
-| [](#last) |
-| [](#lastindexof) |
-| [](#length) |
-| [](#map) |
-| [](#max) |
-| [](#min) |
-| [](#orderby) |
-| [](#orderbymethod) |
-| [](#pop) |
-| [](#push) |
-| [](#query) |
-| [](#reduce) |
-| [](#reduceright) |
-| [](#remove) |
-| [](#resize) |
-| [](#reverse) |
-| [](#shift) |
-| [](#slice) |
-| [](#some) |
-| [](#sort) |
-| [](#sum) |
-| [](#unshift) |
-
-
-
-## `Nueva colección`
-
+| |
+| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [](#at) |
+| [](#average) |
+| [](#clear) |
+| [](#combine) |
+| [](#concat) |
+| [](#copy) |
+| [](#count) |
+| [](#countvalues) |
+| [](#distinct) |
+| [](#equal) |
+| [](#every) |
+| [](#extract) |
+| [](#fill) |
+| [](#filter) |
+| [](#find) |
+| [](#find) |
+| [](#first) |
+| [](#flat) |
+| [](#flatmap) |
+| [](#includes) |
+| [](#indexof) |
+| [](#indices) |
+| [](#insert) |
+| [](#join) |
+| [](#last) |
+| [](#lastindexof) |
+| [](#length) |
+| [](#map) |
+| [](#max) |
+| [](#min) |
+| [](#orderby) |
+| [](#orderbymethod) |
+| [](#pop) |
+| [](#push) |
+| [](#query) |
+| [](#reduce) |
+| [](#reduceright) |
+| [](#remove) |
+| [](#resize) |
+| [](#reverse) |
+| [](#shift) |
+| [](#slice) |
+| [](#some) |
+| [](#sort) |
+| [](#sum) |
+| [](#unshift) |
+
+## `New collection`
**New collection** {( *...value* : any )} : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|value|Number, Text, Date, Time, Boolean, Object, Collection, Picture, Pointer|->|Valor(es) de la colección|
-|Resultado|Collection|<-|The new collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ----------------------------------------------------------------------- | :-------------------------: | ------------------------------------------ |
+| value | Number, Text, Date, Time, Boolean, Object, Collection, Picture, Pointer | -> | Valor(es) de collection |
+| Resultado | Collection | <- | La nueva colección |
+
-
#### Descripción
El comando `New collection` crea una nueva colección vacía o precargada y devuelve su referencia.
@@ -100,7 +92,8 @@ El comando `New collection` crea
Si no se pasa ningún parámetro, `New collection` crea una colección vacía y devuelve su referencia.
Debe asignar la referencia devuelta a una variable 4D del tipo Collection.
-> Tenga en cuenta que las instrucciones `var : Collection` or `C_COLLECTION` declaran una variable de tipo `Collection` pero no crea ninguna colección.
+
+> Tenga en cuenta que las instrucciones `var : Collection` o `C_COLLECTION` declaran una variable de tipo `Collection` pero no crean ninguna colección.
Opcionalmente, puede prellenar la nueva colección pasando uno o varios *valores* como parámetro(s).
@@ -116,14 +109,12 @@ Puede pasar cualquier número de valores de todos los tipos soportados (number,
Debe prestar atención a los siguientes aspectos de la conversión:
-* Si pasa un puntero, se mantiene "tal cual"; se evalúa con el comando `JSON Stringify`
-* Las fechas se almacenan como fechas "aaaa-mm-dd" o de cadenas con el formato "AAAA-MM-DDTHH:mm:ss.SSSZ", según la configuración actual "fechas dentro de los objetos" de la base de datos. Al convertir las fechas 4D en texto antes de almacenarlas en la colección, por defecto el programa tiene en cuenta la zona horaria local. Puede modificar este comportamiento utilizando el selector `Dates inside objects` del comando `SET DATABASE PARAMETER`.
-* Si pasa un tiempo, se almacena como un número de milisegundos (Real).
+- Si pasasun puntero, se mantiene "tal cual"; se evalúa utilizando el comando `JSON Stringify`
+- Las fechas se almacenan como fechas "aaaa-mm-dd" o de cadenas con el formato "AAAA-MM-DDTHH:mm:ss.SSSZ", según la configuración actual "fechas dentro de los objetos" de la base de datos. Al convertir las fechas 4D en texto antes de almacenarlas en la colección, por defecto el programa tiene en cuenta la zona horaria local. Puede modificar este comportamiento utilizando el selector `Dates inside objects` del comando `SET DATABASE PARAMETER`.
+- Si pasa un tiempo, se almacena como un número de milisegundos (Real).
#### Ejemplo 1
-
-
Quiere crear una nueva colección vacía y asignarla a una variable colección 4D:
```4d
@@ -155,12 +146,9 @@ Se crea una nueva colección y se añade un nuevo elemento:
//$coll=["a","b","c",null,null,null,null,null,null,"z"]
```
-
-
-
## `New shared collection`
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -170,27 +158,27 @@ Se crea una nueva colección y se añade un nuevo elemento:
**New shared collection** {( *...value* : any )} : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|value|Number, Text, Date, Time, Boolean, Object, Collection|->|Valor(es) de la colección compartida||
-|Resultado|Collection|<-|The new shared collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ----------------------------------------------------- | :-------------------------: | -------------------------------------------------------- |
+| value | Number, Text, Date, Time, Boolean, Object, Collection | -> | Valor(es) de la collection compartida |
+| Resultado | Collection | <- | La nueva colección compartida |
+
-
#### Descripción
-El comando `New shared collection` crea una nueva colección vacía o precargada compartida y devuelve su referencia.
+El comando `New shared collection` crea una nueva colección compartida vacía o precargada y devuelve su referencia.
La adición de un elemento a esta colección utilizando el operador de asignación debe estar rodeada por la estructura [`Use...End use`](Concepts/shared.md#useend-use), de lo contrario se genera un error (esto no es necesario cuando se añaden elementos utilizando funciones como [`push()`](#push) o [`map()`](#map) porque activan automáticamente una estructura interna *Use...End use*). Sin embargo, es posible leer un elemento sin una estructura *Use...End use*.
:::info
-Para más información sobre las colecciones compartidas, consulte la página [Objetos y colecciones compartidos](Concepts/shared.md).
+Para más información sobre las colecciones compartidas, por favor consulte la página [Objetos y colecciones compartidas](Concepts/shared.md).
:::
@@ -198,22 +186,22 @@ Si no se pasa ningún parámetro, `New shared collection` crea una colección co
Debe asignar la referencia devuelta a una variable 4D del tipo Collection.
-> Tenga en cuenta que las instrucciones `var : Collection` or `C_COLLECTION` declaran una variable de tipo `Collection` pero no crea ninguna colección.
+> Tenga en cuenta que las instrucciones `var : Collection` o `C_COLLECTION` declaran una variable de tipo `Collection` pero no crean ninguna colección.
-Opcionalmente, puede prellenar la nueva colección compartida pasando uno o varios *valores* como parámetro(s). De lo contrario, puede añadir o modificar elementos posteriormente por asignación notación objeto (ver ejemplo).
+Opcionalmente, puedes precargar la nueva colección compartida pasando uno o varios *valor(es)* como parámetro(s). De lo contrario, puede añadir o modificar elementos posteriormente por asignación notación objeto (ver ejemplo).
Si el nuevo índice del elemento está más allá del último elemento existente de la colección compartida, la colección se redimensiona automáticamente y a todos los nuevos elementos intermedios se les asigna un valor **null**.
Puede pasar cualquier número de valores de los siguientes tipos soportados:
-* number (real, longint...). Los valores numéricos se almacenan siempre como reales.
-* text
-* boolean
-* date
-* time (almacenado como número de milisegundos - real)
-* null
-* objeto compartido
-* colección compartida
+- number (real, longint...). Los valores numéricos se almacenan siempre como reales.
+- text
+- boolean
+- date
+- time (almacenado como número de milisegundos - real)
+- null
+- objeto compartido
+- colección compartida
:::note
@@ -221,7 +209,6 @@ Esta función modifica la colección original.
:::
-
#### Ejemplo
```4d
@@ -231,13 +218,11 @@ Esta función modifica la colección original.
End use
```
-
-
-
+
## .at()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -247,21 +232,22 @@ Esta función modifica la colección original.
**.at**( *index* : Integer ) : any
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|index|Integer|->|Índice de elemento a regresar|
-|Resultado|cualquiera |<-|The element at that index|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------- | :-------------------------: | ------------------------------ |
+| index | Integer | -> | Índice del elemento a devolver |
+| Resultado | any | <- | El elemento en ese índice |
+
-
#### Descripción
La función `.at()` devuelve el elemento en la posición *index*, permitiendo enteros positivos y negativos.
+
> Esta función no modifica la colección original.
Los números enteros negativos cuentan hacia atrás desde el último elemento de la colección.
@@ -282,11 +268,11 @@ $element:=$col.at(10) // indefinido
-
+
## .average()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -296,35 +282,31 @@ $element:=$col.at(10) // indefinido
**.average**( {*propertyPath* : Text } ) : Real
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|propertyPath|Text|->|Ruta de propiedad del objeto a utilizar para el cálculo|
-|Resultado|Real, Undefined|<-|Arithmetic mean (average) of collection values|
+| Parámetros | Tipo | | Descripción |
+| ------------ | --------------- | :-------------------------: | ----------------------------------------------------------------------------- |
+| propertyPath | Text | -> | Ruta de la propiedad del objeto que se utilizará para el cálculo |
+| Resultado | Real, Undefined | <- | Media aritmética (promedio) de los valores de la colección |
+
-
-
#### Descripción
La función `.average()` devuelve la media aritmética (promedio) de los valores definidos en la instancia de la colección.
-
-
Para el cálculo sólo se tienen en cuenta los elementos numéricos (se ignoran otros tipos de elementos).
Si la colección contiene objetos, pasa el parámetro *propertyPath* para indicar la propiedad del objeto a tener en cuenta.
-`.average()` devuelve `undefined` if:
-
-* la colección está vacía,
-* la colección no contiene elementos numéricos,
-* *propertyPath* no se encuentra en la colección.
+`.average()` devuelve `undefined` si:
+- la colección está vacía,
+- la colección no contiene elementos numéricos,
+- *propertyPath* no se encuentra en la colección.
#### Ejemplo 1
@@ -347,12 +329,11 @@ Si la colección contiene objetos, pasa el parámetro *propertyPath* para indica
-
-
+
## .clear()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -362,20 +343,21 @@ Si la colección contiene objetos, pasa el parámetro *propertyPath* para indica
**.clear()** : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|Collection|<-|Original collection with all elements removed|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | ------------------------------------------- |
+| Resultado | Collection | <- | Colección original sin elementos eliminados |
+
-
#### Descripción
La función `.clear()` elimina todos los elementos de la instancia de la colección y devuelve una colección vacía.
+
> Esta función modifica la colección original.
#### Ejemplo
@@ -389,14 +371,11 @@ $vSize:=$col.length //$vSize=0
-
-
-
-
+
## .combine()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -406,31 +385,32 @@ $vSize:=$col.length //$vSize=0
**.combine**( *col2* : Collection {; *index* : Integer } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|col2|Collection|->|Collection a combinar|
-|index|Integer|->|Posición a la que insertar los elementos a combinar en la colección (por defecto=length+1)|
-|Resultado|Collection|<-|Original collection containing combined element(s)|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------ |
+| col2 | Collection | -> | Colección a combinar |
+| index | Integer | -> | Posición a la que se deben combinar los elementos de inserción en la colección (por defecto=length+1) |
+| Resultado | Collection | <- | Colección original sin elementos eliminados |
+
-
#### Descripción
-La función `.combine()` inserta elementos *col2* al final o en la posición *índice* especificada en la instancia de la colección y devuelve la colección editada. .
+La función `.combine()` inserta elementos *col2* al final o en la posición *index* especificada en la instancia de la colección y devuelve la colección modificada. A diferencia de la función `.insert()`, `.combine()` añade cada valor de *col2* en la colección original, y no como un único elemento de la colección.
+
> Esta función modifica la colección original.
-Por defecto, los elementos *col2* se añaden al final de la colección original. Puede pasar en *index* la posición en la que quiere que se inserten los elementos *col2* en la colección.
-> Esta función no modifica la colección original.
+Por defecto, los elementos *col2* se añaden al final de la colección original. Puede pasar en *index* la posición donde desea insertar los elementos *col2* en la colección.
-* Si *índice* > la longitud de la colección, el *índice* inicial real se fijará en la longitud de la colección.
-* Si *índice* < 0, se recalcula como *index:=index+length* (se considera el desplazamiento desde el final de la colección).
-* Si el valor calculado es negativo, *index* toma el valor 0.
+> **Atención**: recuerde que los elementos de la colección están numerados desde 0.
+- Si *index* es mayor que la longitud de la colección, el índice inicial real se definirá en la longitud de la colección.
+- Si *index* < 0, se recalcula como *index:=index+length* (se considera el desplazamiento desde el final de la colección).
+- Si el valor calculado es negativo, *index* toma el valor 0.
#### Ejemplo
@@ -443,14 +423,11 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-
-
-
-
+
## .concat()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -460,25 +437,25 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
**.concat**( *value* : any { ; *...valueN* : any } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|value|any|->|Valor(es) a concatenar. Si *value* es una colección, todos los elementos de la colección se añaden a la colección original|
-|Resultado|Collection|<-|New collection with value(s) added to the original collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
+| Resultado | Collection | <- | Nueva colección con valor(es) añadido(s) a la colección original |
+
-
#### Descripción
-La función `.pop()` elimina el último elemento de la colección y lo devuelve como resultado de la función.
-> Esta función no modifica la colección original.
+La función.`.concat()` devuelve una nueva colección que contiene los elementos de la colección original con todos los elementos del parámetro *value* añadidos al final.
-Si *value* es una colección, todos sus elementos se añaden al final de la colección original. Si *value* no es una colección, se añade ella misma como un nuevo elemento.
+> Esta función no modifica la colección original.
+La colección devuelta contiene el elemento especificado por *startFrom* y todos los elementos subsiguientes hasta, pero sin incluir, el elemento especificado por *end*. Si sólo se especifica el parámetro *startFrom*, la colección devuelta contiene todos los elementos desde *startFrom* hasta el último elemento de la colección original.
#### Ejemplo
@@ -493,54 +470,53 @@ $c2:=$c.concat(6;7;8) //[1,2,3,4,5,6,7,8]
-
-
-
+
## .copy()
-Histórico
+Historia
-| Lanzamiento | Modificaciones |
-| ----------- | ------------------------------------------------------- |
+| Lanzamiento | Modificaciones |
+| ----------- | ----------------------------------------------------------------------- |
| 18 R3 | Nueva opción *ck shared*. Nuevos parámetros *groupWith* |
-| v16 R6 | Añadidos |
+| v16 R6 | Añadidos |
**.copy**() : Collection
**.copy**( *option* : Integer ) : Collection
**.copy**( *option* : Integer ; *groupWithCol* : Collection ) : Collection
**.copy**( *option* : Integer ; *groupWithObj* : Object ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|option|Integer|->|`ck resolve pointers`: resolver los punteros antes de copiar,
`ck shared`: devuelve una colección compartida|
-|groupWithCol |Collection|->|Colección compartida a agrupar con la colección resultante|
-|groupWithObj |Object|->|Objeto compartido a agrupar con la colección resultante|
-|Resultado|Collection|<-|Deep copy of the original collection|
+| Parámetros | Tipo | | Descripción |
+| ------------ | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------- |
+| option | Integer | -> | `ck resolve pointers`: resolver punteros antes de copiar,
`ck shared`: devolver una colección compartida |
+| groupWithCol | Collection | -> | Colección compartida que se agrupa con la colección resultante |
+| groupWithObj | Object | -> | Objeto compartido que se agrupa con la colección resultante |
+| Resultado | Collection | <- | Copia profunda de la colección original |
+
-
#### Descripción
La función `.copy()` devuelve una copia profunda de la instancia de la colección.***Deep copy*** significa que los objetos o colecciones dentro de la colección original se duplican y no comparten ninguna referencia con la colección devuelta.
+
> Esta función no modifica la colección original.
-Si se pasa, el parámetro *opción* puede contener una de las siguientes constantes (o ambas):
+Si se pasa, el parámetro *option* puede contener una de las siguientes constantes (o ambas):
-| option | Descripción |
-| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `ck resolve pointers` | Si la colección original contiene valores de tipo puntero, por defecto la copia también contiene los punteros. Sin embargo, puede resolver punteros al copiar pasando la constante `ck resolve pointers`. En este caso, cada puntero presente en la colección se evalúa al copiar y se utiliza su valor desreferenciado. |
-| `ck shared` | Por defecto, `copy()` devuelve una colección normal (no compartida), incluso si el comando se aplica a una colección compartida. Pase la constante `ck shared` para crear una colección compartida. En este caso, puede utilizar el parámetro *groupWith* para asociar la colección compartida a otra colección u objeto (ver abajo). |
+| option | Descripción |
+| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `ck resolve pointers` | Si la colección original contiene valores de tipo puntero, por defecto la copia también contiene los punteros. Si la colección original contiene valores de tipo puntero, por defecto la copia también contiene los punteros. En este caso, cada puntero presente en la colección se evalúa al copiar y se utiliza su valor desreferenciado. |
+| `ck shared` | Por defecto, `copy()` devuelve una colección Clásica (no compartida), incluso si el comando se aplica a una colección compartida. Pasa la constante `ck shared` para crear una colección compartida. En este caso, puede utilizar el parámetro *groupWith* para asociar la colección compartida con otra colección u objeto (ver más adelante). |
Los parámetros *groupWithCol* o *groupWithObj* permiten designar una colección o un objeto al que se debe asociar la colección resultante.
:::note
-Los objetos Datastore, dataclass y entity no son copiables. Si se llama a `.copy()` con ellos, se devuelven valores `null`.
+Los objetos Datastore, dataclass y entity no son copiables. Si se llama a `.copy()` con ellos, se devuelven valores `Null`.
:::
@@ -566,10 +542,9 @@ Use($sharedObject)
End use
```
-
#### Ejemplo 2
-Queremos combinar *$sharedColl1* and *$sharedColl2*. Dado que pertenecen a diferentes grupos compartidos, una combinación directa daría lugar a un error. Por lo tanto, debemos hacer una copia compartida de *$sharedColl1* y designar *$sharedColl2* como grupo compartido para la copia.
+Queremos combinar *$sharedColl1* y *$sharedColl2*. Dado que pertenecen a diferentes grupos compartidos, una combinación directa daría lugar a un error. Dado que pertenecen a diferentes grupos compartidos, una combinación directa daría lugar a un error.
```4d
var $sharedColl1;$sharedColl2;$copyColl : Collection
@@ -586,7 +561,7 @@ $sharedColl2:=New shared collection(New shared object("lastname";"Brown"))
#### Ejemplo 3
-Tenemos una colección Clásica (*$lastnames*) y queremos ponerla en el **Storage** de la aplicación. Para ello, debemos crear previamente una copia compartida (*$sharedLastnames*).
+Tenemos una distribución estándar (*$lastnames*) y queremos ponerla en el **Storage** de la aplicación. Para ello, debemos crear previamente una copia compartida (*$sharedLastnames*).
```4d
var $lastnames;$sharedLastnames : Collection
@@ -617,11 +592,6 @@ Este ejemplo ilustra el uso de la opción `ck resolve pointers`:
$col2:=$col.copy()
$col2[1].beta:="World!"
- ALERT($col[0].alpha+" "+$col2[1].beta) //displays "Hello World!"
-
- $what:="You!"
- $col3:=$col2.copy(ck resolve pointers)
- ALERT($col3[0].alpha+" "+$col3[1].what) //displays "Hello You!"
ALERT($col[0].alpha+" "+$col2[1].beta) //muestra "Hello World!"
$what:="You!"
@@ -629,17 +599,13 @@ Este ejemplo ilustra el uso de la opción `ck resolve pointers`:
ALERT($col3[0].alpha+" "+$col3[1].what) //muestra "Hello You!"
```
-
-
-
-
-
+
## .count()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -649,23 +615,23 @@ Este ejemplo ilustra el uso de la opción `ck resolve pointers`:
**.count**( { *propertyPath* : Text } ) : Real
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|propertyPath|Text|->|Ruta de propiedad del objeto a utilizar para el cálculo|
-|Resultado|Real|<-|Number of elements in the collection|
+| Parámetros | Tipo | | Descripción |
+| ------------ | ---- | :-------------------------: | ---------------------------------------------------------------- |
+| propertyPath | Text | -> | Ruta de la propiedad del objeto que se utilizará para el cálculo |
+| Resultado | Real | <- | Número de elementos en la colección |
+
-
#### Descripción
-La función `.push()` devuelve el número de elementos no nulos de la colección.
+La función `.count()` devuelve el número de elementos no nulos en la colección.
-Si la colección contiene objetos, se puede pasar el parámetro *propertyPath*. En este caso, sólo se tienen en cuenta los elementos que contienen la *propertyPath*.
+Si la colección contiene objetos, puede pasar el parámetro *propertyPath*. En este caso, sólo se tienen en cuenta los elementos que contienen el *propertyPath*.
#### Ejemplo
@@ -684,14 +650,11 @@ Si la colección contiene objetos, se puede pasar el parámetro *propertyPath*.
-
-
-
-
+
## .countValues()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -701,32 +664,32 @@ Si la colección contiene objetos, se puede pasar el parámetro *propertyPath*.
**.countValues**( *value* : any {; *propertyPath* : Text } ) : Real
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|value|Text, Number, Boolean, Date, Object, Collection|->|Valor a contar|
-|propertyPath|Text|->|Ruta de la propiedad del objeto a utilizar para evaluar los valores|
-|Resultado|Real|<-|Number of occurrences of the value |
+| Parámetros | Tipo | | Descripción |
+| ------------ | ----------------------------------------------- | :-------------------------: | ---------------------------------------------------------------- |
+| value | Text, Number, Boolean, Date, Object, Collection | -> | Valor a contar |
+| propertyPath | Text | -> | Ruta de la propiedad del objeto que se utilizará para el cálculo |
+| Resultado | Real | <- | Número de ocurrencias del valor |
+
-
#### Descripción
-La función `.concat()` devuelve una nueva colección que contiene los elementos de la colección original con todos los elementos del parámetro *valor* añadidos al final.
+La función `.countValues()` devuelve el número de veces que se encuentra el valor en la colección.
Puede pasar en *value*:
-* un valor escalar (texto, número, booleano, fecha),
-* una referencia de objeto o de colección.
-
+- un valor escalar (texto, número, booleano, fecha),
+- una referencia de objeto o de colección.
Para encontrar un elemento, el tipo de *value* debe ser equivalente al tipo del elemento; el método utiliza el operador de igualdad.
El parámetro opcional *propertyPath* permite contar valores dentro de una colección de objetos: pase en *propertyPath* la ruta de la propiedad cuyos valores quiere contar.
+
> Esta función no modifica la colección original.
#### Ejemplo 1
@@ -738,7 +701,6 @@ El parámetro opcional *propertyPath* permite contar valores dentro de una colec
$vCount:=$col.countValues(5) // $vCount=3
```
-
#### Ejemplo 2
```4d
@@ -753,7 +715,6 @@ El parámetro opcional *propertyPath* permite contar valores dentro de una colec
$vCount:=$col.countValues(5;"age") //$vCount=2
```
-
#### Ejemplo 3
```4d
@@ -766,17 +727,13 @@ El parámetro opcional *propertyPath* permite contar valores dentro de una colec
$vCount:=$numbers.countValues($letters) //$vCount=1
```
-
-
-
-
-
+
## .distinct()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ---------------------------- |
@@ -787,36 +744,36 @@ El parámetro opcional *propertyPath* permite contar valores dentro de una colec
**.distinct**( {*options* : Integer} ) : Collection
**.distinct**( *propertyPath* : Text {; *options* : Integer } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|propertyPath|Text|->|Ruta del atributo cuyos valores distintos desea obtener|
-|options|Integer|->|`ck diacritical`, `ck count values`|
-|Resultado|Collection|<-|New collection with only distinct values|
+| Parámetros | Tipo | | Descripción |
+| ------------ | ---------- | :-------------------------: | ------------------------------------------------------- |
+| propertyPath | Text | -> | Ruta del atributo cuyos valores distintos desea obtener |
+| options | Integer | -> | `ck diacritical`, `ck count values` |
+| Resultado | Collection | <- | Nueva colección con sólo valores distintos |
+
-
#### Descripción
-La función `.distinct()` devuelve una colección que sólo contiene valores distintos (diferentes) de la colección original.
+La función `.distinct()` devuelve una colección que contiene sólo valores distintos (diferentes) de la colección original.
+
> Esta función no modifica la colección original.
-La colección devuelta se clasifica automáticamente. Los valores **Null** no se devuelven.
+La colección devuelta se clasifica automáticamente. Los valores **Null** no son devueltos.
Si la colección contiene objetos, puede pasar el parámetro *propertyPath* para indicar la propiedad del objeto cuyos valores distintos desea obtener.
-En el parámetro *options*, puede pasar una o una combinación de las siguientes constantes:
+Ejemplos
-| Constante | Valor | Comentario |
-| ----------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `ck diacritical` | 8 | La evaluación distingue entre mayúsculas y minúsculas y diferencia los caracteres acentuados. Por defecto si se omite, se realiza una evaluación no diacrítica |
+| Constante | Valor | Comentario |
+| ----------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `ck diacritical` | 8 | La evaluación distingue entre mayúsculas y minúsculas y diferencia los caracteres acentuados. Por defecto si se omite, se realiza una evaluación no diacrítica |
| `ck count values` | 32 | Devuelve el conteo de elementos para cada valor distinto. Cuando se pasa esta opción, `.distinct()` devuelve una colección de objetos que contienen un par de atributos `{"value":*value*; "count":*count*}`. |
-
#### Ejemplos
```4d
@@ -835,14 +792,11 @@ En el parámetro *options*, puede pasar una o una combinación de las siguientes
-
-
-
-
+
## .equal()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -852,22 +806,22 @@ En el parámetro *options*, puede pasar una o una combinación de las siguientes
**.equal**( *collection2* : Collection {; *option* : Integer } ) : Boolean
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|collection2|Collection|->|Colección para comparar|
-|option|Integer|->|`ck diacritical`: evaluación diacrítica ("A" # "a" por ejemplo)
-|Resultado|Boolean|<-|True if collections are identical, false otherwise|
+| Parámetros | Tipo | | Descripción |
+| ----------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------- |
+| collection2 | Collection | -> | Colección a comparar |
+| option | Integer | -> | `ck diacritical`: evaluación diacrítica ("A" # "a" por ejemplo) |
+| Resultado | Boolean | <- | True si las colecciones son idénticas, false en caso contrario |
+
-
#### Descripción
-La función `.equal()` compara collection con collection2 y devuelve **true** si son idénticos (deep comparison).
+The `.equal()` function compares the collection with collection2 and returns **true** if they are identical (deep comparison).
:::note Notas
@@ -876,8 +830,7 @@ La función `.equal()` compara collectio
:::
-Por defecto, se realiza una evaluación no diacrítica. Si desea que la evaluación diferencie entre mayúsculas y minúsculas o que diferencie los caracteres acentuados, pase la constante `ck diacritical` en el parámetro option.
-
+Por defecto, se realiza una evaluación no diacrítica. La evaluación distingue entre mayúsculas y minúsculas y diferencia los caracteres acentuados.
#### Ejemplo
@@ -904,13 +857,11 @@ Por defecto, se realiza una evaluación no diacrítica. Si desea que la evaluaci
-
-
-
+
## .every()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------ |
@@ -921,51 +872,50 @@ Por defecto, se realiza una evaluación no diacrítica. Si desea que la evaluaci
**.every**( { *startFrom* : Integer ; } *formula* : 4D.Function { ;*...param* : any } ) : Boolean
**.every**( { *startFrom* : Integer ; } *methodName* : Text { ;*...param* : any } ) : Boolean
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|startFrom|Integer|->|Índice en el que se inicia la prueba|
-|formula|4D.Function|->|Objeto de fórmula|
-|methodName|Text|->|Nombre de un método|
-|param|Mixed|->|Parámetro(s) a pasar a *formula* o *methodName*|
-|Resultado|Boolean|<-|True if all elements successfully passed the test|
+| Parámetros | Tipo | | Descripción |
+| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------- |
+| startFrom | Integer | -> | Índice para iniciar la prueba en |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| param | Mixed | -> | Parámetro(s) a pasar a la *formula* o *methodName* |
+| Resultado | Boolean | <- | True si todos los elementos han pasado la prueba con éxito |
+
-
#### Descripción
-La función `.every()` La función `.distinct()`.
+La función `.every()` devuelve **true** si todos los elementos de la colección han superado con éxito una prueba implementada en el objeto *formula* o el método *methodName*.
Se designa la retrollamada a ejecutar para evaluar los elementos de la colección utilizando:
-- *formula* (sintaxis recomendada), un [objeto fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
-- o en *methodName*, el nombre de un método proyecto (texto).
+- *formula* (sintaxis recomendada), un [objeto Fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
+- o *methodName*, el nombre de un método proyecto (texto).
-La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada puede efecturar toda prueba, con o sin los parámetros, y debe devolver **true** para cada elemento que cumpla la prueba. Recibe un objeto `` en el primer parámetro ($1).
+La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada puede efecturar toda prueba, con o sin los parámetros, y debe devolver *true* para cada elemento que cumpla la prueba. Recibe un `Object` en el primer parámetro ($1).
La retrollamada recibe los siguientes parámetros:
-* en *$1.value*: valor del elemento a evaluar
-* en *$2*: param
-* en *$N...*: paramN...
+- en *$1.value*: valor del elemento a evaluar
+- en *$2*: param
+- en *$N...*: paramN...
Puede definir los siguientes parámetros:
-* (obligatorio si se ha utilizado un método) *$1.result* (booleano): **true** si la evaluación del valor del elemento es éxitosa, **false** en caso contrario.
-* *$1.stop* (Boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
+- (obligatorio si se ha utilizado un método) *$1.result* (booleano): **true** si la evaluación del valor del elemento tiene éxito, **false** en caso contrario.
+- *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
-En todos los casos, en el momento en que la función `.every()` encuentra el primer elemento de la colección evaluado como **false**, deja de llamar a la retrollamada y devuelve **false**.
+En todos los casos, en el momento en que la función.every() encuentra el primer elemento de la colección evaluado como false, deja de llamar a la retrollamada y devuelve false\*\*.
-Por defecto, `.every()` comprueba toda la colección. Opcionalmente, se puede pasar en *startFrom* el índice del elemento desde el que iniciar la prueba.
-
-* Si *startFrom* >= la longitud de la colección, se devuelve **false<**, lo que significa que la colección no se prueba.
-* Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*).
-* Si *startFrom* = 0, se busca en toda la colección (por defecto).
+Por defecto, `.every()` evalúa toda la colección. Opcionalmente, se puede pasar en *startFrom* el índice del elemento desde el que iniciar la prueba.
+- Si *startFrom* >= la longitud de la colección, se devuelve **false**, lo que significa que no se prueba la colección.
+- Diferente de Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*).
+- Si *startFrom* = 0, se busca en toda la colección (por defecto).
#### Ejemplo 1
@@ -1000,16 +950,13 @@ $c:=$c.push(New object("name";"Blountsville";"zc";35031))
$b:=$c.every($f;Is real) //$b=false
```
-
-
-
-
+
## .extract()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1019,34 +966,33 @@ $b:=$c.every($f;Is real) //$b=false
**.extract**( *propertyPath* : Text { ; *option* : Integer } ) : Collection
**.extract**( *propertyPath* : Text ; *targetPath* : Text { ;...*propertyPathOrTargetPathN* : Text } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|propertyPath|Text|->|Ruta de propiedad del objeto cuyos valores deben ser extraídos en la nueva colección|
-|targetpath|Text|->|Ruta o nombre de propiedad objetivo|
-|option|Integer|->|`ck keep null`: incluir propiedades null en la colección devuelta (ignoradas por defecto). Parámetro ignorado si se pasa *targetPath*.|
-|Resultado|Collection|<-|New collection containing extracted values|
+| Parámetros | Tipo | | Descripción |
+| ------------ | ---------- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| propertyPath | Text | -> | Ruta de la propiedad del objeto cuyos valores deben ser extraídos a la nueva colección |
+| targetpath | Text | -> | Ruta de la propiedad de destino o nombre de la propiedad |
+| option | Integer | -> | `ck keep null`: incluye la propiedad null en la colección devuelta (se ignora por defecto). Parámetro ignorado si se pasa *targetPath*. |
+| Resultado | Collection | <- | Nueva colección que contiene los valores extraídos |
+
-
#### Descripción
-La función `.reduce()` crea y devuelve una nueva colección que contiene los valores*propertyPath* extraídos de la colección original de objetos.
+La función `.extract()` crea y devuelve una nueva colección que contiene valores *propertyPath* extraídos de la colección original de objetos.
+
> Esta función no modifica la colección original.
El contenido de la colección devuelta depende del parámetro *targetPath*:
-* Si se omite el parámetro, *targetPath*, `.extract()` rellena la nueva colección con los valores de *propertyPath* de la colección original.
-
- Por defecto, los elementos cuya *propertyPath* es null o indefinida se ignoran en la colección resultante. Puede pasar la constante `ck keep null` en el parámetro *option* para incluir estos valores como elementos nulos en la colección devuelta.
+- Si se omite el parámetro *targetPath*, `.extract()` llena la nueva colección con los valores *propertyPath* de la colección original.
+ Por defecto, los elementos cuya *propertyPath* es null o indefinida se ignoran en la colección resultante. Puede pasar la constante `ck keep null` en el parámetro *option* para incluir estos valores como elementos null en la colección devuelta.
-* Si se pasan uno o más parámetros *targetPath* (correspondientes a uno o más parámetros *propertyPath*), `.extract()` rellena la nueva colección con las propiedades *propertyPath* y cada elemento de la nueva colección es un objeto con las propiedades *targetPath* llenadas con las propiedades *propertyPath* correspondientes. Se mantienen los valores null (el parámetro *option* se ignora) con esta sintaxis.
-
+- Si se pasan uno o más parámetros *targetPath* (correspondientes a uno o más parámetros *propertyPath*), `.extract()` llena la nueva colección con las propiedades *propertyPath* y cada elemento de la nueva colección es un objeto con propiedades *targetPath* llenadas con las propiedades *propertyPath* coincidentes. Se conservan los valores null (el parámetro *opción* se ignora con esta sintaxis).
#### Ejemplo 1
@@ -1061,10 +1007,8 @@ $c2:=$c.extract("name") // $c2=[Cleveland,Blountsville]
$c2:=$c.extract("name";ck keep null) //$c2=[Cleveland,null,Blountsville,null]
```
-
#### Ejemplo 2
-
```4d
var $c : Collection
$c:=New collection
@@ -1079,16 +1023,13 @@ $c2:=$c.extract("name";"City") //$c2=[{City:null},{City:Cleveland},{City:Blounts
$c2:=$c.extract("name";"City";"zc";"Zip") //$c2=[{Zip:35060},{City:null,Zip:35049},{City:Cleveland,Zip:35049},{City:Blountsville,Zip:35031},{City:Adger,Zip:35006},{City:Clanton,Zip:35046},{City:Clanton,Zip:35045}]
```
-
-
-
-
+
## .fill()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1098,36 +1039,35 @@ $c2:=$c.extract("name";"City";"zc";"Zip") //$c2=[{Zip:35060},{City:null,Zip:3504
**.fill**( *value* : any ) : Collection
**.fill**( *value* : any ; *startFrom* : Integer { ; *end* : Integer } ) : Collection
-
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|value|number, Text, Collection, Object, Date, Boolean|->|Valor de relleno|
-|startFrom|Integer|->|Índice inicial (incluido)|
-|end||Integer|->|Índice final (no incluido)|
-|Resultado|collection|<-|Original collection with filled values|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ----------------------------------------------- | :-------------------------: | ---------------------------------------------- |
+| value | number, Text, Collection, Object, Date, Boolean | -> | Valor a asignar |
+| startFrom | Integer | -> | Índice de inicio (incluido) |
+| end | Integer | -> | Índice final (no incluido) |
+| Resultado | collection | <- | Colección original con valores rellenados |
+
-
#### Descripción
La función `.fill()` llena la colección con el *valor* especificado, opcionalmente desde el índice *startFrom* hasta el índice *end*, y devuelve la colección resultante.
+
> Esta función modifica la colección original.
-* Si se omite el parámetro *startFrom*, *value* se define en todos los elementos de la colección (*startFrom*=0).
-* Si se pasa el parámetro *startFrom* y se omite *end*, *value* se establece en los elementos de la colección empezando por *startFrom* hasta el último elemento de la colección (*end*=length).
-* Si se pasan ambos parámetros *startFrom* y *end*, *value* se establece en los elementos de la colección empezando por *startFrom* hasta el elemento *end*.
+- Si se omite el parámetro *startFrom*, *value* se aplica a todos los elementos de la colección (*startFrom*=0).
+- Si se pasa el parámetro *startFrom* y se omite *end*, *value* se aplica a los elementos de la colección a partir de *startFrom* hasta el último elemento de la colección (*end*=length).
+- Si se pasan tanto el parámetro *startFrom* como *end*, *value* se aplica a los elementos de la colección empezando en *startFrom* hasta el elemento *end*.
En caso de incoherencia, se aplican las siguientes reglas:
-* Si *startFrom* < 0, se recalcula como *startFrom:=startFrom+length* (se considera el desplazamiento desde el final de la colección). Si el valor calculado es negativo, *startFrom* toma el valor 0.
-* Si *end* < 0 , se recalcula como *end:=end+length*.
-* Si *end* < *startFrom* (valores pasados o calculados), el método no hace nada.
-
+- Si *startFrom* < 0, se recalcula como *startFrom:=startFrom+length* (se considera el desplazamiento desde el final de la colección). Si el valor calculado es negativo, *startFrom* toma el valor 0.
+- Si *end* < 0 , se recalcula como *end:=end+length*.
+- Si *end* < *startFrom* (valores pasados o calculados), el método no hace nada.
#### Ejemplo
@@ -1140,16 +1080,13 @@ En caso de incoherencia, se aplican las siguientes reglas:
$c.fill("world";1;-5) //-5+8=3 -> $c=[2,"world","world",0,0,Hello,Hello,Hello]
```
-
-
-
-
+
## .filter()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------ |
@@ -1160,46 +1097,47 @@ En caso de incoherencia, se aplican las siguientes reglas:
**.filter**( *formula* : 4D.Function { ; *...param* : any } ) : Collection
**.filter**( *methodName* : Text { ; *...param* : any } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|formula|4D.Function|->|Objeto de fórmula|
-|methodName|Text|->|Nombre de un método|
-|param|any|->|Parámetro(s) a pasar a *formula* o *methodName*|
-|Resultado|Collection|<-|New collection containing filtered elements (shallow copy)|
+| Parámetros | Tipo | | Descripción |
+| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------------------------- |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| param | any | -> | Parámetro(s) a pasar a la *formula* o *methodName* |
+| Resultado | Collection | <- | Nueva colección que contiene elementos filtrados (copia superficial) |
+
-
#### Descripción
-La función `.filter()` La función `.filter()`. Esta función devuelve una ***copia superficial***, lo que significa que los objetos o colecciones de ambas colecciones comparten la misma referencia. Si la colección original es una colección compartida, la colección devuelta es también una colección compartida.
+La función `.filter()` devuelve una nueva colección que contiene todos los elementos de la colección original para los que el resultado de *formula* o *methodName* es **true**. Esta función devuelve una ***shallow copy***, lo que significa que los objetos o colecciones de ambas colecciones comparten la misma referencia. Si la colección original es una colección compartida, la colección devuelta es también una colección compartida.
+
> Esta función no modifica la colección original.
Se designa la retrollamada a ejecutar para filtrar los elementos de la colección utilizando:
-- *formula* (sintaxis recomendada), un [objeto fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
-- o en *methodName*, el nombre de un método proyecto (texto).
+- *formula* (sintaxis recomendada), un [objeto Fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
+- o *methodName*, el nombre de un método proyecto (texto).
-Se llama a la retrollamada con los parámetros pasados en *param* (opcional) y un objeto en primer parámetro (*$1*). The callback is called with the parameter(s) passed in *param* (optional).
+Se llama a la retrollamada con los parámetros pasados en *param* (opcional) y un objeto en primer parámetro (*$1*). La retrollamada puede realizar cualquier prueba, con o sin el parámetro(s) y debe devolver **true** para cada elemento que cumpla la condición y por lo tanto, debe añadirse a la nueva colección.
La retrollamada recibe los siguientes parámetros:
-* en *$1.value*: valor del elemento a evaluar
-* en *$2*: param
-* en *$N...*: paramN...
+- en *$1.value*: valor del elemento a evaluar
+- en *$2*: param
+- en *$N...*: paramN...
Puede definir los siguientes parámetros:
-* *$1.result* (booleano): **true** si el valor del elemento coincide con la condición del filtro y debe conservarse, **false** en caso contrario.
-* *$1.stop* (Boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
+- *$1.result* (booleano): **true** si el valor del elemento coincide con la condición de filtro y debe conservarse, **false** en caso contrario.
+- *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
:::note
-Cuando se utiliza *methodName* como callback, y si el método no devuelve ningún valor, `.filter()` buscará la propiedad *$1.result* que debe definir como **true** para cada elemento que cumpla la condición.
+Cuando se utiliza *methodName* como callback, y si el método no devuelve ningún valor, `.filter()` buscará la propiedad *$1.result* que debe dar el valor **true** para cada elemento que cumpla la condición.
:::
@@ -1231,7 +1169,6 @@ Quiere filtrar los elementos según su tipo de valor:
// $c3=[{name:Cleveland,zc:35049},{name:Blountsville,zc:35031}]
```
-
#### Ejemplo 3
La función `.filter()` se puede utilizar para comparar dos colecciones y extraer las diferencias entre ellas:
@@ -1243,17 +1180,13 @@ var $diff:=$c1.filter(Formula(Not($c2.includes($1.value))))
// $diff=[45, 156]
```
-
-
-
-
-
+
## .find()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------ |
@@ -1264,51 +1197,51 @@ var $diff:=$c1.filter(Formula(Not($c2.includes($1.value))))
**.find**( { *startFrom* : Integer ; } *formula* : 4D.Function { ; *...param* : any } ) : any
**.find**( { *startFrom* : Integer ; } *methodName* : Text { ; *...param* : any } ) : any
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|startFrom|Integer|->|Índice para iniciar la búsqueda|
-|formula|4D.Function|->|Objeto fórmula|
-|methodName|Text|->|Nombre de un método|
-|param|any|->|Parámetro(s) a pasar a *formula* o *methodName*|
-|Resultado|any |<-|First value found, or Undefined if not found|
+| Parámetros | Tipo | | Descripción |
+| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------- |
+| startFrom | Integer | -> | Índice para iniciar la búsqueda en |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| param | any | -> | Parámetro(s) a pasar a la *formula* o *methodName* |
+| Resultado | any | <- | Primer valor encontrado, o Undefined si no se encuentra |
+
-
#### Descripción
-La función `.distinct()` La función `.extract()`.
+La función `.find()` devuelve el primer valor de la colección para el que el resultado de *formula* o de *methodName*, aplicado a cada elemento, devuelve **true**.
+
> Esta función no modifica la colección original.
Se designa la retrollamada a ejecutar para evaluar los elementos de la colección utilizando:
-- *formula* (sintaxis recomendada), un [objeto fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
-- o en *methodName*, el nombre de un método proyecto (texto).
+- *formula* (sintaxis recomendada), un [objeto Fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
+- o *methodName*, el nombre de un método proyecto (texto).
-La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada se llama con los parámetros pasados en *param* (opcional). Recibe un objeto `` en el primer parámetro ($1).
+La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada se llama con los parámetros pasados en *param* (opcional). Recibe un `Object` en el primer parámetro ($1).
La retrollamada recibe los siguientes parámetros:
-* en *$1.value*: valor del elemento a evaluar
-* en *$2*: param
-* en *$N...*: paramN...
+- en *$1.value*: valor del elemento a evaluar
+- en *$2*: param
+- en *$N...*: paramN...
Puede definir los siguientes parámetros:
-* (obligatorio si ha utilizado un método) *$1.result* (booleano): **true** si el valor del elemento coincide con la condición de búsqueda, **false** en caso contrario.
-* *$1.stop* (Boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
-
+- (obligatorio si ha utilizado un método) *$1.result* (booleano): **true** si el valor del elemento coincide con la condición de búsqueda, **false** en caso contrario.
+- *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
Por defecto, `.find()` busca en toda la colección. Opcionalmente, se puede pasar en *startFrom* el índice del elemento desde el que iniciar la búsqueda.
-* Si *startFrom* >= la longitud de la colección, se devuelve -1, lo que significa que la colección no se busca.
-* Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*). **Nota**: incluso si *startFrom* es negativo, la colección se sigue buscando de izquierda a derecha.
-* Si *startFrom* = 0, se busca en toda la colección (por defecto).
-
+- Si *startFrom* >= la longitud de la colección, se devuelve -1, lo que significa que la colección no se busca.
+- Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*).
+ **Nota**: incluso si *startFrom* es negativo, la colección se sigue buscando de izquierda a derecha.
+- Si *startFrom* = 0, se busca en toda la colección (por defecto).
#### Ejemplo 1
@@ -1337,16 +1270,14 @@ $c.push(New object("name"; "Clanton"; "zc"; 35045))
$c2:=$c.find(Formula($1.value.name=$2); "Clanton") //$c2={name:Clanton,zc:35046}
```
-
-
-
-
+
+
## .findIndex()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------ |
@@ -1355,52 +1286,53 @@ $c2:=$c.find(Formula($1.value.name=$2); "Clanton") //$c2={name:Clanton,zc:35046
-
**.findIndex**( { *startFrom* : Integer ; } *formula* : 4D.Function { ; *...param* : any } ) : Integer
**.findIndex**( { *startFrom* : Integer ; } *methodName* : Text { ; *...param* : any } ) : Integer
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|startFrom|Integer|->|Índice para iniciar la búsqueda|
-|formula|4D.Function|->|Objeto fórmula|
-|methodName|Text|->|Nombre de un método|
-|param|any|->|Parámetro(s) a pasar a *formula* o *methodName*|
-|Resultado|Integer |<-|Index of first value found, or -1 if not found|
+| Parámetros | Tipo | | Descripción |
+| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------- |
+| startFrom | Integer | -> | Índice para iniciar la búsqueda en |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| param | any | -> | Parámetro(s) a pasar a la *formula* o *methodName* |
+| Resultado | Integer | <- | Índice del primer valor encontrado, o -1 si no se encuentra |
+
-
#### Descripción
-La función `.findIndex()` La función `.findIndex()`.
+La función `.findIndex()` devuelve el índice, en la colección, del primer valor para el que *formula* o *methodName*, aplicados sobre cada elemento, devuelven **true**.
+
> Esta función no modifica la colección original.
Se designa la retrollamada a ejecutar para evaluar los elementos de la colección utilizando:
-- *formula* (sintaxis recomendada), un [objeto fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
+- *formula* (sintaxis recomendada), un [objeto Fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
- *methodName*, el nombre de un método proyecto (texto).
-La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada se llama con los parámetros pasados en *param* (opcional). Recibe un objeto `` en el primer parámetro ($1).
+La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada se llama con los parámetros pasados en *param* (opcional). Recibe un `Object` en el primer parámetro ($1).
La retrollamada recibe los siguientes parámetros:
-* en *$1.value*: valor del elemento a evaluar
-* en *$2*: param
-* en *$N...*: paramN...
+- en *$1.value*: valor del elemento a evaluar
+- en *$2*: param
+- en *$N...*: paramN...
Puede definir los siguientes parámetros:
-* (obligatorio si ha utilizado un método) *$1.result* (booleano): **true** si el valor del elemento coincide con la condición de búsqueda, **false** en caso contrario.
-* *$1.stop* (Boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
+- (obligatorio si ha utilizado un método) *$1.result* (booleano): **true** si el valor del elemento coincide con la condición de búsqueda, **false** en caso contrario.
+- *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
Por defecto, `.findIndex()` busca en toda la colección. Opcionalmente, se puede pasar en *startFrom* el índice del elemento desde el que iniciar la búsqueda.
-* Si *startFrom* >= la longitud de la colección, se devuelve -1, lo que significa que la colección no se busca.
-* Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*). **Nota**: incluso si *startFrom* es negativo, la colección se sigue buscando de izquierda a derecha.
-* Si *startFrom* = 0, se busca en toda la colección (por defecto).
+- Si *startFrom* >= la longitud de la colección, se devuelve -1, lo que significa que la colección no se busca.
+- Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*).
+ **Nota**: incluso si *startFrom* es negativo, la colección se sigue buscando de izquierda a derecha.
+- Si *startFrom* = 0, se busca en toda la colección (por defecto).
#### Ejemplo
@@ -1421,12 +1353,11 @@ $val3:=$c.findIndex($val2+1;Formula($1.value.name=$2);"Clanton") //$val3=4
-
-
+
## .first()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1436,27 +1367,27 @@ $val3:=$c.findIndex($val2+1;Formula($1.value.name=$2);"Clanton") //$val3=4
**.first**() : any
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|any|<-|First element of collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-------------------------: | ------------------------------- |
+| Resultado | any | <- | Primer elemento de la colección |
+
-
#### Descripción
La función `.first()` devuelve el primer elemento de la colección.
+
> Esta función no modifica la colección original.
La función devuelve Undefined si la colección está vacía.
#### Ejemplo
-
```4d
var $col; $emptyCol : Collection
var $first : Variante
@@ -1467,15 +1398,14 @@ $emptyCol:=New collection() //vacío
// $first:=$emptyCol[0] //daría error
$first:=$emptyCol.first() // devuelve Undefined
```
-
-
-
+
+
## .flat()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1485,29 +1415,28 @@ $first:=$emptyCol.first() // devuelve Undefined
**.flat**( { *depth* : Integer } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|depth|Integer |->|La profundidad a la cual una estructura de colección anidada debe anidarse. Por defecto=1|
-|Resultado|Colección |<-|Flattened collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------- |
+| depth | Integer | -> | A qué profundidad debe aplanarse una estructura de colección anidada. Por defecto=1 |
+| Resultado | Collection | <- | Colección aplanada |
+
-
#### Descripción
-La función `.flat()` crea una nueva colección con todos los elementos de la subcolección concatenados en ella recursivamente hasta la *profundidad* especificada.
+La función `.flat()` crea una nueva colección con todos los elementos de la subcolección concatenados recursivamente hasta la *depth* especificada.
Por defecto, si se omite el parámetro *depth*, sólo se aplanará el primer nivel de la estructura de la colección anidada.
-> Esta función no modifica la colección original.
+> Esta función no modifica la colección original.
#### Ejemplo
-
```4d
$col:=New collection(1; 2; New collection(3; 4))
$col.flat()
@@ -1528,12 +1457,11 @@ $col.flat(MAXLONG)
-
-
+
## .flatMap()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1544,43 +1472,44 @@ $col.flat(MAXLONG)
**.flatMap**( *formula* : 4D.Function { ; *...param* : any } ) : Collection
**.flatMap**( *methodName* : Text { ; *...param* : any } ) : Collection
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|formula|4D.Function|->|Objeto fórmula|
-|methodName|Text|->|Nombre de un método|
-|param|any|->|Parámetro(s) a pasar a *formula* o *methodName*|
-|Resultado|Collection |<-|Collection of transformed values and flattened by a depth of 1|
+| Parámetros | Tipo | | Descripción |
+| ---------- | --------------------------- | :-------------------------: | ---------------------------------------------------------------------- |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| param | any | -> | Parámetro(s) a pasar a la *formula* o *methodName* |
+| Resultado | Collection | <- | Colección de valores transformados y aplanados en una profundidad de 1 |
+
#### Descripción
-La función `.combine()` inserta elementos *col2* al final o en la posición *índice* especificada en la instancia de la colección y devuelve la colección editada. .
+La función `.flatMap()` crea una nueva colección basada en el resultado de la llamada a la función *formula* 4D o al método *methodName* sobre cada elemento de la colección original y aplanada por una profundidad de 1. Opcionalmente, puede pasar parámetros a *formula* o *methodName* utilizando los parámetros *param*.
Esta función es idéntica a una llamada a [`map()`](#map) seguida de una llamada a [`flat()`](#flat) de profundidad 1.
-> Esta función no modifica la colección original.
+> Esta función no modifica la colección original.
Se designa la retrollamada a ejecutar para evaluar los elementos de la colección utilizando:
-- *formula* (sintaxis recomendada), un [objeto fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
-- o en *methodName*, el nombre de un método proyecto (texto).
+- *formula* (sintaxis recomendada), un [objeto Fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
+- o *methodName*, el nombre de un método proyecto (texto).
-La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada puede realizar cualquier operación, con o sin los parámetros, y debe devolver un nuevo valor transformado para añadirlo a la colección resultante. Recibe un objeto `` en el primer parámetro ($1).
+La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada puede realizar cualquier operación, con o sin los parámetros, y debe devolver un nuevo valor transformado para añadirlo a la colección resultante. Recibe un `Object` en el primer parámetro ($1).
La retrollamada recibe los siguientes parámetros:
-* en *$1.value*: valor del elemento a evaluar
-* en *$2*: param
-* en *$N...*: paramN...
+- en *$1.value*: valor del elemento a evaluar
+- en *$2*: param
+- en *$N...*: paramN...
Puede definir los siguientes parámetros:
-* (obligatorio si ha utilizado un método) *$1.result* (cualquier tipo): nuevo valor transformado para añadir a la colección resultante
-* *$1.stop* (Boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
-
+- (obligatorio si ha utilizado un método) *$1.result* (cualquier tipo): nuevo valor transformado para añadir a la colección resultante
+- *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
#### Ejemplo 1
@@ -1601,15 +1530,9 @@ $result:=$col.flatMap(Formula(New collection($1.value*2)))
var $col; $result : Collection
$col:=New collection("Hello how"; ""; "are you ?")
-var $col; $result : Collection
-$col:=New collection("Hello how"; ""; "are you ?")
-
$result:=$col.map(Formula(Split string($1.value; " ")))
// [["Hello", "how"], [], ["are", "you", "?"]]
-$result:=$col.flatMap(Formula(Split string($1.value; " ")))
-// ["Hello", "how", "are", "you", "?"]
-
$result:=$col.flatMap(Formula(Split string($1.value; " ")))
// ["Hello", "how", "are", "you", "?"]
```
@@ -1629,13 +1552,11 @@ $c2:=$c.flatMap($f; $c.sum())
-
-
-
+
## .includes()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1643,39 +1564,40 @@ $c2:=$c.flatMap($f; $c.sum())
-**.includes**( *toSearch* : expresión { ; *startFrom* : entero } ) : Booleano
-
+**.includes**( *toSearch* : expression { ; *startFrom* : Integer } ) : Boolean
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|toSearch|Expression|->|Expresión a buscar en la colección|
-|startFrom|Integer|->|Índice a partir del cual comenzar la búsqueda|
-|Resultado|Boolean|<-|True if *toSearch* is found in the collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | ----------------------------------------------- |
+| toSearch | expression | -> | Expresión a buscar en la colección |
+| startFrom | Integer | -> | Índice para iniciar la búsqueda en |
+| Resultado | Boolean | <- | True si *toSearch* se encuentra en la colección |
+
-
#### Descripción
-La función `.includes()` devuelve True si la expresión *toSearch* se encuentra entre los elementos de la colección; en caso contrario, False.
+La función `.includes()` devuelve True si la expresión *toSearch* se encuentra entre los elementos de la colección, en caso contrario False.
+
> Esta función no modifica la colección original.
En *toSearch*, pase la expresión a encontrar en la colección. Puede pasar:
-* un valor escalar (texto, número, booleano, fecha),
-* el valor null,
-* una referencia de objeto o de colección.
+- un valor escalar (texto, número, booleano, fecha),
+- el valor null,
+- una referencia de objeto o de colección.
*toSearch* debe coincidir exactamente con el elemento a encontrar (se aplican las mismas reglas que para el operador de igualdad del tipo de datos).
Opcionalmente, puede pasar el índice de la colección desde el que iniciar la búsqueda en *startFrom*.
-* Si *startFrom* >= longitud de la colección, se devuelve False, lo que significa que no se busca en la colección.
-* Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*). Si *startFrom* < 0, se recalcula como *startFrom:=startFrom+length* (se considera el desplazamiento desde el final de la colección).
-* Si *startFrom* = 0, se busca en toda la colección (por defecto).
+- Si *startFrom* >= la longitud de la colección, se devuelve False, lo que significa que no se busca en la colección.
+- Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*). Tenga en cuenta que incluso si *startFrom* es negativo, la colección se sigue buscando de izquierda a derecha.
+- Si *startFrom* = 0, se busca en toda la colección (por defecto).
#### Ejemplo
@@ -1695,15 +1617,11 @@ Opcionalmente, puede pasar el índice de la colección desde el que iniciar la b
-
-
-
-
-
+
## .indexOf()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1713,37 +1631,39 @@ Opcionalmente, puede pasar el índice de la colección desde el que iniciar la b
**.indexOf**( *toSearch* : expression { ; *startFrom* : Integer } ) : Integer
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|toSearch|Expression|->|Expresión a buscar en la colección|
-|startFrom|Integer|->|Índice a partir del cual comenzar la búsqueda|
-|Resultado|Integer |<-|Index of the first occurrence of toSearch in the collection, -1 if not found|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | ---------------------------------------------------------------------------------- |
+| toSearch | expression | -> | Expresión a buscar en la colección |
+| startFrom | Integer | -> | Índice para iniciar la búsqueda en |
+| Resultado | Integer | <- | Índice de la primera ocurrencia de toSearch en la colección, -1 si no se encuentra |
+
-
#### Descripción
-La función `.extract()` busca la expresión *toSearch* entre los elementos de la colección y devuelve el índice de la primera ocurrencia encontrada, o -1 si no se encontró.
+La función `.indexOf()` busca la expresión *toSearch* entre los elementos de la colección y devuelve el índice de la primera ocurrencia encontrada, o -1 si no se encontró.
+
> Esta función no modifica la colección original.
En *toSearch*, pase la expresión a encontrar en la colección. Puede pasar:
-* un valor escalar (texto, número, booleano, fecha),
-* el valor null,
-* una referencia de objeto o de colección.
+- un valor escalar (texto, número, booleano, fecha),
+- el valor null,
+- una referencia de objeto o de colección.
*toSearch* debe coincidir exactamente con el elemento a encontrar (se aplican las mismas reglas que para el operador de igualdad del tipo de datos).
Opcionalmente, puede pasar el índice de la colección desde el que iniciar la búsqueda en *startFrom*.
-* Si *startFrom* >= la longitud de la colección, se devuelve -1, lo que significa que la colección no se busca.
-* Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*). **Nota**: incluso si *startFrom* es negativo, la colección se sigue buscando de izquierda a derecha.
-* Si *startFrom* = 0, se busca en toda la colección (por defecto).
+- Si *startFrom* >= la longitud de la colección, se devuelve -1, lo que significa que la colección no se busca.
+- Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*).
+ **Nota**: incluso si *startFrom* es negativo, la colección se sigue buscando de izquierda a derecha.
+- Si *startFrom* = 0, se busca en toda la colección (por defecto).
#### Ejemplo
@@ -1759,12 +1679,11 @@ Opcionalmente, puede pasar el índice de la colección desde el que iniciar la b
+
+## .indices()
-
-## .indices()
-
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1774,22 +1693,23 @@ Opcionalmente, puede pasar el índice de la colección desde el que iniciar la b
**.indices**( *queryString* : Text { ; *...value* : any } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|queryString|Text|->|Criterios de búsqueda|
-|value|any|->|Valor(es) a comparar cuando se utiliza(n) marcador(es) de posición|
-|Resultado|Collection |<-|Element index(es) matching queryString in the collection|
+| Parámetros | Tipo | | Descripción |
+| ----------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------- |
+| queryString | Text | -> | Criterio de búsqueda |
+| value | any | -> | Valor(es) a comparar cuando se utiliza(n) marcador(es) de posición |
+| Resultado | Collection | <- | Índice(s) de elementos que coinciden con queryString en la colección |
+
-
#### Descripción
-La función `.indices()` funciona exactamente igual que la función [`.query()`](#query) pero devuelve los índices, en la colección original, de los elementos de la colección de objetos que coinciden con las condiciones de búsqueda de *queryString*y no los elementos en sí mismos. Los índices se devuelven en orden ascendente.
+La función `.indices()` funciona exactamente igual que la función [`.query()`](#query) pero devuelve índices, en la colección original, de elementos de la colección de objetos que coinciden con las condiciones de búsqueda *queryString*, y no elementos en sí. Los índices se devuelven en orden ascendente.
+
> Esta función no modifica la colección original.
El parámetro *queryString* utiliza la siguiente sintaxis:
@@ -1802,7 +1722,6 @@ Para una descripción detallada de los parámetros *queryString* y *value*, cons
#### Ejemplo
-
```4d
var $c; $icol : Collection
$c:=New collection
@@ -1818,13 +1737,11 @@ Para una descripción detallada de los parámetros *queryString* y *value*, cons
-
-
-
+
## .insert()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1834,30 +1751,32 @@ Para una descripción detallada de los parámetros *queryString* y *value*, cons
**.insert**( *index* : Integer ; *element* : any ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|index|Integer|->|Dónde insertar el elemento|
-|element|any|->|Elemento a insertar en la colección|
-|Resultado|Collection |<-|Original collection containing inserted element|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | -------------------------------------------------------- |
+| index | Integer | -> | Dónde insertar el elemento |
+| element | any | -> | Elemento a insertar en la colección |
+| Resultado | Collection | <- | Colección original que contiene los elementos insertados |
+
-
#### Descripción
-La función `.insert()` inserta *element* en la posición *índice* especificada en la instancia de la colección y devuelve la colección editada.
+La función `.insert()` inserta *element* en la posición *index* especificada en la instancia de la colección y devuelve la colección modificada.
+
> Esta función modifica la colección original.
-En *index*, pase la posición donde quiere que se inserte el elemento en la colección.
-> Esta función no modifica la colección original.
+En *index*, pase la posición donde quiere insertar el elemento en la colección.
-* Si *índice* > la longitud de la colección, el índice inicial real se fijará en la longitud de la colección.
-* Si *index* <0, se recalcula como *index:=index+length* (se considera el desplazamiento desde el final de la colección).
-* Si el valor calculado es negativo, index toma el valor 0.
+> **Atención**: recuerde que los elementos de la colección están numerados desde 0.
+
+- Si *index* la longitud de la colección, el índice inicial real se fijará en la longitud de la colección.
+- Si *index* <0, se recalcula como *index:=index+length* (se considera el desplazamiento desde el final de la colección).
+- Si el valor calculado es negativo, index toma el valor 0.
Se puede insertar cualquier tipo de elemento aceptado por una colección, incluso otra colección.
@@ -1873,14 +1792,11 @@ Se puede insertar cualquier tipo de elemento aceptado por una colección, inclus
-
-
-
-
+
## .join()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1890,29 +1806,29 @@ Se puede insertar cualquier tipo de elemento aceptado por una colección, inclus
**.join**( *delimiter* : Text { ; *option* : Integer } ) : Text
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|delimiter|Text|->|Separador a utilizar entre elementos|
-|option|Integer|->|`ck ignore null or empty`: ignorar cadenas null y vacías en el resultado|
-|Resultado|Text |<-|String containing all elements of the collection, separated by delimiter|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------- | :-------------------------: | --------------------------------------------------------------------------------------------- |
+| delimiter | Text | -> | Separador a utilizar entre elementos |
+| option | Integer | -> | `ck ignore null or empty`: ignorar las cadenas nulas y vacías en el resultado |
+| Resultado | Text | <- | Cadena que contiene todos los elementos de la colección, separados por un delimitador |
+
-
#### Descripción
-La función `.join()` convierte todos los elementos de la colección en cadenas y los concatena utilizando el delimitador *especificado* cadena como separador. La función devuelve la cadena resultante.
+La función `.join()` convierte todos los elementos de la colección en cadenas y las concatena utilizando la cadena delimiter especificada como separador.La función devuelve la cadena resultante.
+
> Esta función no modifica la colección original.
-Por defecto, los elementos nulos o vacíos de la colección se devuelven en la cadena resultante. Pase la constante `ck ignore null o empty` en el parámetro *option* si quiere eliminarlos de la cadena resultante.
+Por defecto, los elementos nulos o vacíos de la colección se devuelven en la cadena resultante. Pase la constante `ck ignore null or empty` en el parámetro *option* si quiere eliminarlos de la cadena resultante.
#### Ejemplo
-
```4d
var $c : Collection
var $t1;$t2 : Text
@@ -1923,13 +1839,11 @@ Por defecto, los elementos nulos o vacíos de la colección se devuelven en la c
-
-
-
+
## .last()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1939,27 +1853,27 @@ Por defecto, los elementos nulos o vacíos de la colección se devuelven en la c
**.last**() : any
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|any |<-|Last element of collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-------------------------: | ------------------------------- |
+| Resultado | any | <- | Último elemento de la colección |
+
-
#### Descripción
-La función `.last()` La función `.last()`.
+La función `.last()` devuelve el último elemento de la colección.
+
> Esta función no modifica la colección original.
La función devuelve Undefined si la colección está vacía.
#### Ejemplo
-
```4d
var $col; $emptyCol : Collection
var $last : Variant
@@ -1974,14 +1888,11 @@ $last:=$emptyCol.last() // devuelve Indefinido
-
-
-
-
+
## .lastIndexOf()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1991,41 +1902,42 @@ $last:=$emptyCol.last() // devuelve Indefinido
**.lastIndexOf**( *toSearch* : expression { ; *startFrom* : Integer } ) : Integer
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|toSearch|expression|->|El elemento a buscar en la colección|
-|startFrom|Integer|->|Índice en el que se inicia la búsqueda|
-|Resultado|Integer |<-|Index of last occurrence of toSearch in the collection, -1 if not found|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------- |
+| toSearch | expression | -> | El elemento que se va a buscar dentro de la colección |
+| startFrom | Integer | -> | Índice para iniciar la búsqueda en |
+| Resultado | Integer | <- | Índice de la última ocurrencia de toSearch en la colección, -1 si no se encuentra |
+
-
#### Descripción
-La función `.lastIndexOf()` busca la expresión *toSearch* entre los elementos de la colección y devuelve el índice de la última aparicióno -1 si no se encuentra.
+La función `.lastIndexOf()` busca la expresión *toSearch* entre los elementos de la colección y devuelve el índice de la última ocurrencia, o -1 si no se encontró.
+
> Esta función no modifica la colección original.
En *toSearch*, pase la expresión a encontrar en la colección. Puede pasar:
-* un valor escalar (texto, número, booleano, fecha),
-* el valor null,
-* una referencia de objeto o de colección.
+- un valor escalar (texto, número, booleano, fecha),
+- el valor null,
+- una referencia de objeto o de colección.
*toSearch* debe coincidir exactamente con el elemento a encontrar (se aplican las mismas reglas que para el operador de igualdad).
Opcionalmente, puede pasar el índice de la colección desde el cual iniciar una búsqueda en reversa en *startFrom*.
-* Si *startFrom* >= la longitud de la colección menos uno (coll.length-1), se busca en toda la colección (por defecto).
-* Si *startFrom* < 0, se recalcula como *startFrom:=startFrom+length* (se considera el desplazamiento desde el final de la colección). Si el valor calculado es negativo, se devuelve -1 (no se busca en la colección). **Nota:** incluso si *startFrom* es negativo, la colección se sigue buscando de derecha a izquierda.
-* Si *startFrom* = 0, se devuelve -1 lo que significa que la colección no se busca.
+- Si *startFrom* >= la longitud de la colección menos uno (coll.length-1), se busca en toda la colección (por defecto).
+- Si *startFrom* < 0, se recalcula como *startFrom:=startFrom+length* (se considera el desplazamiento desde el final de la colección). Si el valor calculado es negativo, se devuelve -1 (no se busca en la colección).
+ **Nota:** incluso si *startFrom* es negativo, la colección se sigue buscando de derecha a izquierda.
+- Si *startFrom* = 0, se devuelve -1 lo que significa que la colección no se busca.
#### Ejemplo
-
```4d
var $col : Collection
var $pos1;$pos2;$pos3;$pos4;$pos5 : Integer
@@ -2039,13 +1951,11 @@ Opcionalmente, puede pasar el índice de la colección desde el cual iniciar una
-
-
-
+
## .length
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -2053,19 +1963,16 @@ Opcionalmente, puede pasar el índice de la colección desde el cual iniciar una
-**.length**: Integer
-
-
+**.length** : Integer
#### Descripción
-La propiedad `.length` devuelve el número de elementos de la colección.
+La propiedad `.length` devuelve el número de elementos en la colección.
La propiedad `.length` se inicializa cuando se crea la colección. Añadir o eliminar elementos actualiza la longitud, si es necesario. Esta propiedad es **sólo lectura** (no se puede utilizar para definir el tamaño de la colección).
#### Ejemplo
-
```4d
var $col : Collection //$col.length inicializada en 0
$col:=New collection("one";"two";"three") //$col.length actualizada a 3
@@ -2075,13 +1982,11 @@ La propiedad `.length` se inicializa cuando se crea la colección. Añadir o eli
-
-
-
+
## .map()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------ |
@@ -2092,48 +1997,46 @@ La propiedad `.length` se inicializa cuando se crea la colección. Añadir o eli
**.map**( *formula* : 4D.Function { ; *...param* : any } ) : Collection
**.map**( *methodName* : Text { ; *...param* : any } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|formula|4D.Function|->|Objeto fórmula|
-|methodName|Text|->|Nombre de un método|
-|param|any|->|Parámetro(s) a pasar a *formula* o *methodName*|
-|Resultado|Collection |<-|Collection of transformed values|
+| Parámetros | Tipo | | Descripción |
+| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------- |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| param | any | -> | Parámetro(s) a pasar a la *formula* o *methodName* |
+| Resultado | Collection | <- | Colección de valores transformados |
+
-
#### Descripción
-La función `.map()` La función `.map()`. . `.map()` siempre devuelve una colección con el mismo tamaño que la colección original, excepto si se ha utilizado *$1.stop* (ver abajo).
-> Esta función no modifica la colección original.
+La función `.map()` crea una nueva colección basada en el resultado de la llamada a la función *formula* 4D o al método *methodName* sobre cada elemento de la colección original. Opcionalmente, puede pasar parámetros a *formula* o *methodName* utilizando los parámetros *param*. `.map()` siempre devuelve una colección con el mismo tamaño que la colección original, excepto si se utilizó *$1.stop* (ver más abajo).
+> Esta función no modifica la colección original.
Se designa la retrollamada a ejecutar para evaluar los elementos de la colección utilizando:
-- *formula* (sintaxis recomendada), un [objeto fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
-- o en *methodName*, el nombre de un método proyecto (texto).
+- *formula* (sintaxis recomendada), un [objeto Fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
+- o *methodName*, el nombre de un método proyecto (texto).
-La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada puede realizar cualquier operación, con o sin los parámetros, y debe devolver un nuevo valor transformado para añadirlo a la colección resultante. Recibe un objeto `` en el primer parámetro ($1).
+La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada puede realizar cualquier operación, con o sin los parámetros, y debe devolver un nuevo valor transformado para añadirlo a la colección resultante. Recibe un `Object` en el primer parámetro ($1).
La retrollamada recibe los siguientes parámetros:
-* en *$1.value*: valor del elemento a evaluar
-* en *$2*: param
-* en *$N...*: paramN...
+- en *$1.value*: valor del elemento a evaluar
+- en *$2*: param
+- en *$N...*: paramN...
Puede definir los siguientes parámetros:
-* (obligatorio si ha utilizado un método) *$1.result* (cualquier tipo): nuevo valor transformado para añadir a la colección resultante
-* *$1.stop* (Boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
-
+- (obligatorio si ha utilizado un método) *$1.result* (cualquier tipo): nuevo valor transformado para añadir a la colección resultante
+- *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
#### Ejemplo
-
```4d
var $c; $c2 : Collection
$c:=New collection(1; 4; 9; 10; 20)
@@ -2143,14 +2046,11 @@ $c2:=$c.map(Formula(Round(($1.value/$2)*100; 2)); $c.sum())
-
-
-
-
+
## .max()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -2160,33 +2060,32 @@ $c2:=$c.map(Formula(Round(($1.value/$2)*100; 2)); $c.sum())
**.max**( { *propertyPath* : Text } ) : any
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|propertyPath|Text|->|Ruta de propiedad del objeto a utilizar para la evaluación|
-|Resultado|Boolean, Text, Number, Collection, Object, Date |<-|Maximum value in the collection|
+| Parámetros | Tipo | | Descripción |
+| ------------ | ----------------------------------------------- | :-------------------------: | ------------------------------------------------------------------- |
+| propertyPath | Text | -> | Ruta de la propiedad del objeto que se utilizará para la evaluación |
+| Resultado | Boolean, Text, Number, Collection, Object, Date | <- | Valor máximo en la colección |
+
-
#### Descripción
-La función `.max()` devuelve el elemento con el valor más alto de la colección (el último elemento de la colección tal y como se ordenaría de forma ascendente mediante la función [`.sort()`](#sort)).
+La función `.max()` devuelve el elemento con el valor más alto de la colección (el último elemento de la colección tal y como se ordenaría en orden ascendente utilizando la función [`.sort()`](#sort)).
+
> Esta función no modifica la colección original.
Si la colección contiene diferentes tipos de valores, la función `.max()` devolverá el valor máximo dentro del último tipo de elemento en el orden de la lista de tipos (ver la descripción de [`.sort()`](#sort)).
-
Si la colección contiene objetos, pase el parámetro *propertyPath* para indicar la propiedad del objeto cuyo valor máximo desea obtener.
Si la colección está vacía, `.max()` devuelve *Undefined*.
#### Ejemplo
-
```4d
var $col : Collection
$col:=New collection(200;150;55)
@@ -2200,13 +2099,11 @@ Si la colección está vacía, `.max()` devuelve *Undefined*.
-
-
-
+
## .min()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -2216,21 +2113,22 @@ Si la colección está vacía, `.max()` devuelve *Undefined*.
**.min**( { *propertyPath* : Text } ) : any
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|propertyPath|Text|->|Ruta de propiedad del objeto a utilizar para la evaluación|
-|Resultado|Boolean, Text, Number, Collection, Object, Date |<-|Minimum value in the collection|
+| Parámetros | Tipo | | Descripción |
+| ------------ | ----------------------------------------------- | :-------------------------: | ------------------------------------------------------------------- |
+| propertyPath | Text | -> | Ruta de la propiedad del objeto que se utilizará para la evaluación |
+| Resultado | Boolean, Text, Number, Collection, Object, Date | <- | Valor mínimo en la colección |
+
-
#### Descripción
-La función `.min()` devuelve el elemento con el menor valor de la colección (el primer elemento de la colección tal y como se ordenaría de forma ascendente mediante la función [`.sort()`](#sort)).
+La función `.min()` devuelve el elemento con el valor más pequeño de la colección (el primer elemento de la colección tal y como se ordenaría en orden ascendente utilizando la función [`.sort()`](#sort)).
+
> Esta función no modifica la colección original.
Si la colección contiene diferentes tipos de valores, la función `.min()` devolverá el valor mínimo dentro del primer tipo de elemento en el orden de la lista de tipos (ver la descripción de [`.sort()`](#sort)).
@@ -2241,7 +2139,6 @@ Si la colección está vacía, `.min()` devuelve *Undefined*.
#### Ejemplo
-
```4d
var $col : Collection
$col:=New collection(200;150;55)
@@ -2255,13 +2152,11 @@ Si la colección está vacía, `.min()` devuelve *Undefined*.
-
-
-
+
## .orderBy()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -2271,34 +2166,35 @@ Si la colección está vacía, `.min()` devuelve *Undefined*.
**.orderBy**( ) : Collection
**.orderBy**( *pathStrings* : Text ) : Collection
**.orderBy**( *pathObjects* : Collection ) : Collection
**.orderBy**( *ascOrDesc* : Integer ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|pathStrings|Text|->|Ruta(s) de propiedades a utilizar para ordenar la colección|
-|pathObjects|Collection|->|Colección de objetos criterio|
-|ascOrDesc|Integer|->|`ck ascending` o `ck descending` (valores escalares)|
-|Resultado|Collection |<-|Ordered copy of the collection (shallow copy)|
+| Parámetros | Tipo | | Descripción |
+| ----------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------- |
+| pathStrings | Text | -> | Ruta(s) de propiedad(es) a utilizar para ordenar la colección |
+| pathObjects | Collection | -> | Colección de objetos criterio |
+| ascOrDesc | Integer | -> | `ck ascending` o `ck descending` (valores escalares) |
+| Resultado | Collection | <- | Copia ordenada de la colección (copia superficial) |
+
-
#### Descripción
-La función `.fill()` devuelve una nueva colección que contiene todos los elementos de la colección en el orden especificado.
+La función `.orderBy()` devuelve una nueva colección que contiene todos los elementos de la colección en el orden especificado.
Esta función devuelve una *copia superficial*, lo que significa que los objetos o colecciones de ambas colecciones comparten la misma referencia. Si la colección original es una colección compartida, la colección devuelta es también una colección compartida.
+
> Esta función no modifica la colección original.
Si no se pasa ningún parámetro, la función ordena los valores escalares de la colección en orden ascendente (otros tipos de elementos como objetos o colecciones se devuelven con un orden interno). Puede modificar este orden automático pasando las constantes `ck ascending` o `ck descending` en el parámetro *ascOrDesc* (ver más abajo).
También puede pasar un parámetro de criterios para definir cómo deben ordenarse los elementos de la colección. Se admiten tres sintaxis para este parámetro:
-* *pathStrings*: Texto (fórmula). **Sintaxis**: `propertyPath1 {desc or asc}, propertyPath2 {desc or asc},...` (orden por defecto: asc). *pathStrings* contiene una fórmula compuesta de 1 a x rutas de propiedades y (opcionalmente) órdenes de clasificación, separados por comas. El orden en que se pasan las propiedades determina la prioridad de ordenación de los elementos de la colección. Por defecto, las propiedades se clasifican en orden ascendente. Puede definir el orden de clasificación de una propiedad en la cadena de criterios, separado de la ruta de la propiedad por un solo espacio: pase "asc" para ordenar en orden ascendente o "desc" en orden descendente.
+- *pathStrings* : Texto (fórmula). **Sintaxis**: `propertyPath1 {desc or asc}, propertyPath2 {desc or asc},...` (orden por defecto: asc). *pathStrings* contiene una fórmula compuesta de 1 a x rutas de propiedades y (opcionalmente) órdenes de clasificación, separados por comas. El orden en que se pasan las propiedades determina la prioridad de ordenación de los elementos de la colección. Por defecto, las propiedades se clasifican en orden ascendente. Puede definir el orden de clasificación de una propiedad en la cadena de criterios, separado de la ruta de la propiedad por un solo espacio: pase "asc" para ordenar en orden ascendente o "desc" en orden descendente.
-* *pathObjects* : Collection. Puede añadir tantos objetos en la colección *pathObjects* como sea necesario. Por defecto, las propiedades se clasifican en orden ascendente ("descending" es false). Cada elemento de la colección contiene un objeto estructurado de la siguiente manera:
+- *pathObjects* : Collection. Puede añadir tantos objetos en la colección *pathObjects* como sea necesario. Por defecto, las propiedades se clasifican en orden ascendente ("descending" es false). Cada elemento de la colección contiene un objeto estructurado de la siguiente manera:
```4d
{
@@ -2308,24 +2204,24 @@ También puede pasar un parámetro de criterios para definir cómo deben ordenar
}
```
-* *ascOrDesc*: Integer. Se pasa una de las siguientes constantes del tema **Objects and collections**:
+- *ascOrDesc* : Integer. Se pasa una de las siguientes constantes del tema **Objects and collections**:
- | Constante | Tipo | Valor | Comentario |
- | ------------- | ------- | ----- | ---------------------------------------------------------- |
- | ck ascending | Integer | 0 | Los elementos se ordenan de forma ascendente (por defecto) |
- | ck descending | Integer | 1 | Los elementos se ordenan de forma descendente |
+ | Constante | Tipo | Valor | Comentario |
+ | ------------- | ------- | ----- | ----------------------------------------------------------------------------- |
+ | ck ascending | Integer | 0 | Los elementos se ordenan de forma ascendente (por defecto) |
+ | ck descending | Integer | 1 | Los elementos se ordenan de forma descendente |
- Esta sintaxis sólo ordena los valores escalares de la colección (otros tipos de elementos, como objetos o colecciones, se devuelven desordenados).
+ Esta sintaxis sólo ordena los valores escalares de la colección (otros tipos de elementos, como objetos o colecciones, se devuelven desordenados).
-Si la colección contiene elementos de diferentes tipos, se agrupan primero por tipo y se ordenan después. Si *attributePath* lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después.
+Si la colección contiene elementos de diferentes tipos, se agrupan primero por tipo y se ordenan después. Si attributePath lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después.
-1. null
-2. booleans
-3. cadenas
-4. numbers
-5. objects
-6. collections
-7. dates
+1. null
+2. booleans
+3. cadenas
+4. numbers
+5. objects
+6. collections
+7. dates
#### Ejemplo 1
@@ -2341,7 +2237,6 @@ Ordenar una colección de números de forma ascendente y descendente:
$c3:=$c.orderBy(ck descending)
```
-
#### Ejemplo 2
Ordenar una colección de objetos a partir de una fórmula de texto con nombres de propiedades:
@@ -2368,7 +2263,6 @@ Ordenar una colección de objetos con una ruta de propiedades:
$c2:=$c.orderBy("phones.p1 asc")
```
-
#### Ejemplo 3
Ordenar una colección de objetos utilizando una colección de objetos criterio:
@@ -2396,17 +2290,13 @@ Ordenar con una ruta de propiedad:
$c2:=$c.orderBy($crit)
```
-
-
-
-
-
+
## .orderByMethod()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------ |
@@ -2417,43 +2307,42 @@ Ordenar con una ruta de propiedad:
**.orderByMethod**( *formula* : 4D.Function { ; *...extraParam* : expression } ) : Collection
**.orderByMethod**( *methodName* : Text { ; *...extraParam* : expression } ) : Collection
-
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|formula|4D.Function|->|Objeto fórmula|
-|methodName|Text|->|Nombre de un método|
-|extraParam|any|->|Parámetro(s) a transmitir |
-|Resultado|Collection |<-|Sorted copy of the collection (shallow copy)|
+| Parámetros | Tipo | | Descripción |
+| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------- |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| extraParam | any | -> | Parámetro(s) a pasar |
+| Resultado | Collection | <- | Copia ordenada de la colección (copia superficial) |
+
-
#### Descripción
-La función `.find()` La función `.every()`.
+La función `.orderByMethod()` devuelve una nueva colección que contiene todos los elementos de la colección en el orden definido mediante la función *formula* 4D o el método *methodName*.
Esta función devuelve una *copia superficial*, lo que significa que los objetos o colecciones de ambas colecciones comparten la misma referencia. Si la colección original es una colección compartida, la colección devuelta es también una colección compartida.
-> Esta función no modifica la colección original.
+> Esta función no modifica la colección original.
Se designa la retrollamada a ejecutar para evaluar los elementos de la colección utilizando:
-- *formula* (sintaxis recomendada), un [objeto fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
+- *formula* (sintaxis recomendada), un [objeto Fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
-- o en *methodName*, el nombre de un método proyecto (texto).
+- o *methodName*, el nombre de un método proyecto (texto).
En la retrolamada, pase un código que compare dos valores y devuelva **true** si el primer valor es menor que el segundo. Puede ofrecer los parámetros *extraParam* a la retrollamada si es necesario.
La retrollamada recibe los siguientes parámetros:
- $1 (objeto), donde:
- - *$1.value* (todo tipo): primer valor del elemento a comparar
- - *$1.value2* (todo tipo): segundo valor del elemento a comparar
- - $2...$N (cualquier tipo): parámetros adicionales
+ - *$1.value* (todo tipo): valor del primer elemento a comparar
+ - *$1.value2* (todo tipo): valor del segundo elemento a comparar
+ - $2...$N (cualquier tipo): parámetros adicionales
Si utilizó un método, debe definir el siguiente parámetro:
@@ -2502,22 +2391,16 @@ $strings2:=$strings1.orderByMethod(Formula(sortCollection);sk strict)
El método ***sortCollection***:
```4d
-var $1 : Object
-var $2: Integer // opción de ordenación
-
-$1.result:=(Compare strings($1.value;$1.value2;$2)<0)
+Lanzamiento
```
-
-
-
-
+
## .pop()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -2525,30 +2408,30 @@ $1.result:=(Compare strings($1.value;$1.value2;$2)<0)
-
**.pop()** : any
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|any |<-|Last element of collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-------------------------: | ------------------------------- |
+| Resultado | any | <- | Último elemento de la colección |
+
-
#### Descripción
La función `.pop()` elimina el último elemento de la colección y lo devuelve como resultado de la función.
+
> Esta función modifica la colección original.
Cuando se aplica a una colección vacía, `.pop()` devuelve ***undefined***.
#### Ejemplo
-`.pop()`, utilizado junto con [`.push()`](#push), puede utilizarse para implementar una funcionalidad primera entrada, última salida de tratamiento de datos apilados:
+`.pop()`, utilizado junto con [`.push()`](#push), puede utilizarse para implementar una funcionalidad primera entrada última salida de tratamiento de datos apilados:
```4d
var $stack : Collection
@@ -2560,17 +2443,13 @@ Cuando se aplica a una colección vacía, `.pop()` devuelve ***undefined***.
$stack.pop() //$stack=[] Devuelve 1
```
-
-
-
-
-
+
## .push()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -2580,23 +2459,23 @@ Cuando se aplica a una colección vacía, `.pop()` devuelve ***undefined***.
**.push**( *element* : any { ;...*elementN* } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|element|Mixed|->|Elemento(s) a añadir a la colección|
-|Resultado|Collection |<-|Original collection containing added elements|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | ------------------------------------------------------ |
+| element | Mixed | -> | Elemento(s) a añadir a la colección |
+| Resultado | Collection | <- | Colección que contiene los elementos añadidos |
+
-
#### Descripción
La función `.push()` añade uno o más *elemento*(s) al final de la instancia de la colección y devuelve la colección editada.
-> Esta función modifica la colección original.
+> Esta función modifica la colección original.
#### Ejemplo 1
@@ -2608,8 +2487,6 @@ La función `.push()` añade uno o más *
//$col=[1,2,3,6,{firstname:John,lastname:Smith}
```
-
-
#### Ejemplo 2
Desea ordenar la colección resultante:
@@ -2622,18 +2499,13 @@ Desea ordenar la colección resultante:
//$sortedCol=[3,5,7,9,50]
```
-
-
-
-
-
-
+
## .query()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------------ |
@@ -2644,23 +2516,24 @@ Desea ordenar la colección resultante:
**.query**( *queryString* : Text ; *...value* : any ) : Collection
**.query**( *queryString* : Text ; *querySettings* : Object ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|queryString|Text|->|Criterios de búsqueda|
-|value|Mixed|->|Valor(es) a comparar cuando se utiliza(n) marcador(es) de posición |
-|querySettings|Object|->|Opciones de consulta: parámetros, atributos|
-|Resultado|Collection |<-|Element(s) matching queryString in the collection|
+| Parámetros | Tipo | | Descripción |
+| ------------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------- |
+| queryString | Text | -> | Criterio de búsqueda |
+| value | Mixed | -> | Valor(es) a comparar cuando se utiliza(n) marcador(es) de posición |
+| querySettings | Object | -> | Opciones de búsqueda: parámetros, atributos |
+| Resultado | Collection | <- | Elemento(s) que coincide(n) con queryString en la colección |
+
-
#### Descripción
-La función `.query()` devuelve todos los elementos de una colección de objetos que coinciden con las condiciones de búsqueda definido por *queryString* y (opcionalmente) *value* o *querySettings*. Si la colección original es una colección compartida, la colección devuelta es también una colección compartida.
+La función `.query()` devuelve todos los elementos de una colección de objetos que coinciden con las condiciones de búsqueda definidas por *queryString* y (opcionalmente) *value* o *querySettings*. Si la colección original es una colección compartida, la colección devuelta es también una colección compartida.
+
> Esta función no modifica la colección original.
El parámetro *queryString* utiliza la siguiente sintaxis:
@@ -2669,9 +2542,9 @@ El parámetro *queryString* utiliza la siguiente sintaxis:
propertyPath comparator value {logicalOperator propertyPath comparator value}
```
-Para obtener información detallada sobre cómo construir una consulta utilizando los parámetros *queryString*, *value* y *querySettings*, consulte la descripción de la función [`dataClass.query()`](DataClassClass.md#query).
+For detailed information on how to build a query using *queryString*, *value* and *querySettings* parameters, please refer to the [`dataClass.query()`](DataClassClass.md#query) function description.
-> Esta función no modifica la colección original.
+> Formulas are not supported by the `collection.query()` function, neither in the *queryString* parameter nor as *formula* object parameter.
#### Ejemplo 1
@@ -2687,7 +2560,6 @@ Para obtener información detallada sobre cómo construir una consulta utilizand
$c3:=$c.query("zc > 35040") //$c3=[{name:Cleveland,zc:35049},{name:Clanton,zc:35046},{name:Clanton,zc:35045}]
```
-
#### Ejemplo 2
```4d
@@ -2697,10 +2569,6 @@ Para obtener información detallada sobre cómo construir una consulta utilizand
$c.push(New object("name";"Wesson";"dateHired";!30-11-2017!))
$c.push(New object("name";"Winch";"dateHired";!16-05-2018!;"age";36))
- $c.push(New object("name";"Sterling";"dateHired";!10-5-1999!;"age";Null))
- $c.push(New object("name";"Mark";"dateHired";!01-01-2002!))
- $c.push(New object("name";"Winch";"dateHired";!16-05-2018!;"age";36))
-
$c.push(New object("name";"Sterling";"dateHired";!10-5-1999!;"age";Null))
$c.push(New object("name";"Mark";"dateHired";!01-01-2002!))
```
@@ -2731,24 +2599,20 @@ Este ejemplo devuelve las personas contratadas hace más de 90 días:
```4d
$col:=$c.query("dateHired < :1";(Current date-90))
- //$col=[{name:Smith...},{name:Sterling...},{name:Mark...}] if today is 01/10/2018 si hoy es 01/10/2018
+ //$col=[{name:Smith...},{name:Sterling...},{name:Mark...}] si hoy es 01/10/2018
```
-
#### Ejemplo 3
Se pueden encontrar más ejemplos de búsquedas en la página `dataClass.query()`.
-
-
-
-
+
## .reduce()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------ |
@@ -2759,58 +2623,55 @@ Se pueden encontrar más ejemplos de búsquedas en la página `dataClass.query()
**.reduce**( *formula* : 4D.Function { ; *initValue* : any { ; *...param* : expression }} ) : any
**.reduce**( *methodName* : Text { ; *initValue* : any { ; *...param* : expression }} ) : any
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|formula|4D.Function|->|Objeto fórmula|
-|methodName|Text|->|Nombre de un método|
-|initValue |Text, Number, Object, Collection, Date, Boolean|->|Valor a utilizar como primer argumento en la primera llamada de *formula* o *methodName*|
-|param |expression|->|Parámetro(s) a pasar|
-|Resultado|Text, Number, Object, Collection, Date, Boolean |<-|Result of the accumulator value|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ----------------------------------------------- | :-------------------------: | ---------------------------------------------------------------------------------------- |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| initValue | Text, Number, Object, Collection, Date, Boolean | -> | Valor a utilizar como primer argumento de la primera llamada de *formula* o *methodName* |
+| param | expression | -> | Parámetro(s) a pasar |
+| Resultado | Text, Number, Object, Collection, Date, Boolean | <- | Resultado del valor del acumulador |
+
-
#### Descripción
+La función `.reduce()` aplica la retrollamada *formula* o *methodName* a un acumulador y cada elemento de la colección (de izquierda a derecha) para reducirlo a un único valor.
-La función `.reduce()` La función `.reduceRight()`.
> Esta función no modifica la colección original.
Se designa la retrollamada a ejecutar para evaluar los elementos de la colección utilizando:
-- *formula* (sintaxis recomendada), un [objeto fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
-- o en *methodName*, el nombre de un método proyecto (texto).
+- *formula* (sintaxis recomendada), un [objeto Fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
+- o *methodName*, el nombre de un método proyecto (texto).
La retrollamada toma cada elemento de la colección y realiza toda operación deseada para acumular el resultado en *$1.accumulator*, que se devuelve en *$1.value*.
-Puede pasar el valor para inicializar el acumulador en *initValue*. Si se omite, *$1.accumulator>* comienza con *Undefined*.
+Puede pasar el valor para inicializar el acumulador en *initValue*. Si se omite, *$1.accumulator* empieza por *Undefined*.
La retrollamada recibe los siguientes parámetros:
-* en *$1.value*: valor del elemento a procesar
-* en *$2: param*
-* en *$N...*: *paramN...*
+- en *$1.value*: valor del elemento a procesar
+- en *$2: param*
+- en *$N...*: *paramN...*
La retrollamada define los siguientes parámetros:
-* *$1.accumulator*: valor que va a ser modificado por la función y que es inicializado por *initValue*.
-* *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
-
+- *$1.accumulator*: valor que va a ser modificado por la función y que es inicializado por *initValue*.
+- *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
#### Ejemplo 1
-
```4d
var $c : Collection
$c:=New collection(5;3;5;1;3;4;4;6;2;2)
$r:=$c.reduce(Formula($1.accumulator=$1.value); 1) //devuelve 86400
```
-
#### Ejemplo 2
Este ejemplo permite reducir varios elementos de la colección a uno solo:
@@ -2836,14 +2697,11 @@ Con el siguiente método ***Flatten***:
-
-
-
-
+
## .reduceRight()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -2853,62 +2711,57 @@ Con el siguiente método ***Flatten***:
**.reduceRight**( *formula* : 4D.Function { ; *initValue* : any { ; *...param* : expression }} ) : any
**.reduceRight**( *methodName* : Text { ; *initValue* : any { ; *...param* : expression }} ) : any
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|formula|4D.Function|->|Objeto fórmula|
-|methodName|Text|->|Nombre de un método|
-|initValue |Text, Number, Object, Collection, Date, Boolean|->|Valor a utilizar como primer argumento en la primera llamada de *formula* o *methodName*|
-|param |expression|->|Parámetro(s) a pasar|
-|Resultado|Text, Number, Object, Collection, Date, Boolean |<-|Result of the accumulator value|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ----------------------------------------------- | :-------------------------: | ---------------------------------------------------------------------------------------- |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| initValue | Text, Number, Object, Collection, Date, Boolean | -> | Valor a utilizar como primer argumento de la primera llamada de *formula* o *methodName* |
+| param | expression | -> | Parámetro(s) a pasar |
+| Resultado | Text, Number, Object, Collection, Date, Boolean | <- | Resultado del valor del acumulador |
+
-
#### Descripción
+La función `.reduceRight()` aplica la retrollamada *formula* o *methodName* contra un acumulador y cada elemento de la colección (de derecha a izquierda) para reducirlo a un único valor.
-La función `.reduce()` aplica la *formula * o callback *methodName* contra un acumulador y cada elemento de la colección (de izquierda a derecha) para reducirlo a un único valor.
> Esta función no modifica la colección original.
Se designa la retrollamada a ejecutar para evaluar los elementos de la colección utilizando:
-- *formula* (sintaxis recomendada), un [objeto fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
-- o en *methodName*, el nombre de un método proyecto (texto).
+- *formula* (sintaxis recomendada), un [objeto Fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
+- o *methodName*, el nombre de un método proyecto (texto).
La retrollamada toma cada elemento de la colección y realiza toda operación deseada para acumular el resultado en *$1.accumulator*, que se devuelve en *$1.value*.
-Puede pasar el valor para inicializar el acumulador en *initValue*. Si se omite, *$1.accumulator>* comienza con *Undefined*.
+Puede pasar el valor para inicializar el acumulador en *initValue*. Si se omite, *$1.accumulator* empieza por *Undefined*.
La retrollamada recibe los siguientes parámetros:
-* en *$1.value*: valor del elemento a procesar
-* en *$2: param*
-* en *$N...*: *paramN...*
+- en *$1.value*: valor del elemento a procesar
+- en *$2: param*
+- en *$N...*: *paramN...*
La retrollamada define los siguientes parámetros:
-* *$1.accumulator*: valor que va a ser modificado por la función y que es inicializado por *initValue*.
-* *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
-
+- *$1.accumulator*: valor que va a ser modificado por la función y que es inicializado por *initValue*.
+- *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
#### Ejemplo 1
-
```4d
var $c : Collection
$c:=New collection(5;3;5;1;3;4;4;6;2;2)
-$r:=$c.reduceRight(Formula($1.accumulator=$1.value); 1) //devuelve 86400
+$r:=$c.reduceRight(Formula($1.accumulator=$1.value); 1) //returns 86400
```
-
-
-
#### Ejemplo 2
Este ejemplo permite reducir varios elementos de la colección a uno solo:
@@ -2926,21 +2779,20 @@ Este ejemplo permite reducir varios elementos de la colección a uno solo:
Con el siguiente método ***Flatten***:
```4d
- //Método proyecto Flatten
+ //Método proyecto Flatten
If($1.accumulator=Null)
- $1.accumulator:=Nueva colección
+ $1.accumulator:=New collection
End if
$1.accumulator.combine($1.value)
```
-
-
+
## .remove()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -2950,41 +2802,39 @@ Con el siguiente método ***Flatten***:
**.remove**( *index* : Integer { ; *howMany* : Integer } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|index |Integer|->|Elemento a partir del cual empezar la eliminación|
-|howMany |Integer|->|Número de elementos a eliminar, o 1 elemento si se omite|
-|Resultado|Collection|<-|Modified collection without removed element(s)|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | -------------------------------------------------------- |
+| index | Integer | -> | Elemento en el que se inicia la eliminación |
+| howMany | Integer | -> | Número de elementos a eliminar, o 1 elemento si se omite |
+| Resultado | Collection | <- | O |
+
-
#### Descripción
-La función `.insert()` inserta *element* en la posición *índice* especificada en la instancia de la colección y devuelve la colección editada.
+La función `.remove()` elimina uno o más elementos a partir de la posición *index* especificada en la colección y devuelve la colección editada.
+
> Esta función modifica la colección original.
En *index*, pase la posición donde quiere eliminar el elemento de la colección.
-> Esta función no modifica la colección original. If *startFrom* < 0, it is considered as the offset from the end of the collection (*startFrom:=startFrom+length*).
-* Si *índice* < 0, se recalcula como *index:=index+length* (se considera el desplazamiento desde el final de la colección).
-* Si el valor calculado < 0, *index* toma el valor 0.
-* Si el valor calculado > la longitud de la colección, *index* se establece para la longitud.
-
-En *howMany*, pase el número de elementos a eliminar de *index*. Si no se especifica *howMany*, se elimina un elemento.
+> **Atención**: recuerde que los elementos de la colección están numerados desde 0. Si *startFrom* < 0, se considera el desplazamiento desde el final de la colección (*startFrom:=startFrom+length*).
+- Si *index* < 0, se recalcula como *index:=index+length* (se considera el desplazamiento desde el final de la colección).
+- Si el valor calculado < 0, *index* toma el valor 0.
+- Si el valor calculado > la longitud de la colección, *index* toma el valor de la longitud.
+En *howMany*, pase el número de elementos a eliminar de *index*. Si no se especifica *howMany*, se elimina un elemento.
Si se intenta eliminar un elemento de una colección vacía, el método no hace nada (no se genera ningún error).
-
#### Ejemplo
-
```4d
var $col : Collection
$col:=New collection("a";"b";"c";"d";"e";"f";"g";"h")
@@ -2996,16 +2846,11 @@ Si se intenta eliminar un elemento de una colección vacía, el método no hace
-
-
-
-
-
-## .resize()
+## .resize()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -3013,36 +2858,34 @@ Si se intenta eliminar un elemento de una colección vacía, el método no hace
-
-
**.resize**( *size* : Integer { ; *defaultValue* : any } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|size |Integer|->|Nuevo tamaño de la colección|
-|defaultValue |Number, Text, Object, Collection, Date, Boolean|->|Valor por defecto para rellenar nuevos elementos|
-|Resultado|Collection|<-|Resized original collection|
+| Parámetros | Tipo | | Descripción |
+| ------------ | ----------------------------------------------- | :-------------------------: | ---------------------------------------------- |
+| size | Integer | -> | Nuevo tamaño de la colección |
+| defaultValue | Number, Text, Object, Collection, Date, Boolean | -> | Valor por defecto para llenar nuevos elementos |
+| Resultado | Collection | <- | Colección original redimensionada |
+
-
#### Descripción
-La función `.resize()` define la longitud de la colección al nuevo tamaño especificado y devuelve la colección redimensionada.
+La función `.resize()` ajusta la longitud de la colección al nuevo tamaño especificado y devuelve la colección redimensionada.
+
> Esta función modifica la colección original.
-* Si *size* < la longitud de la colección, los elementos que exceden se eliminan de la colección.
-* Si *size* > longitud de la colección, la longitud de la colección se incrementa al tamaño.
+- Si *size* la longitud de la colección, los elementos que exceden se eliminan de la colección.
+- Si *size* > longitud de la colección, *size* es la nueva longitud de la colección.
Por defecto, los nuevos elementos se llenan con valores **null**. Puede especificar el valor a llenar en los elementos añadidos utilizando el parámetro *defaultValue*.
#### Ejemplo
-
```4d
var $c : Collection
$c:=New collection
@@ -3061,15 +2904,11 @@ Por defecto, los nuevos elementos se llenan con valores **null**. Puede especifi
-
-
-
-
-
+
## .reverse()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -3079,25 +2918,25 @@ Por defecto, los nuevos elementos se llenan con valores **null**. Puede especifi
**.reverse( )** : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|Collection|<-|Inverted copy of the collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | ------------------------------- |
+| Resultado | Collection | <- | Copia invertida de la colección |
+
-
#### Descripción
-La función `.reverse()` La función `.reverse()`. Si la colección original es una colección compartida, la colección devuelta es también una colección compartida.
+La función `.reverse()` devuelve una nueva colección con todos los elementos de la colección original en orden inverso. Si la colección original es una colección compartida, la colección devuelta es también una colección compartida.
+
> Esta función no modifica la colección original.
#### Ejemplo
-
```4d
var $c; $c2 : Collection
$c:=New collection(1;3;5;2;4;6)
@@ -3106,14 +2945,11 @@ La función `.reverse()` La función `
-
-
-
-
+
## .shift()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -3123,27 +2959,27 @@ La función `.reverse()` La función `
**.shift()** : any
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|any|<-|First element of collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-------------------------: | ------------------------------- |
+| Resultado | any | <- | Primer elemento de la colección |
+
-
#### Descripción
-La función `.shift()` elimina el primer elemento de la colección y lo devuelve como resultado de la función.
+La función `.shift()` elimina el primer elemento de la colección y lo devuelve como resultado de la función.
+
> Esta función modifica la colección original.
Si la colección está vacía, este método no hace nada.
#### Ejemplo
-
```4d
var $c : Collection
var $val : Variant
@@ -3155,16 +2991,11 @@ Si la colección está vacía, este método no hace nada.
-
-
-
-
-
-
+
## .slice()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -3174,34 +3005,34 @@ Si la colección está vacía, este método no hace nada.
**.slice**( *startFrom* : Integer { ; *end* : Integer } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|startFrom |Integer |->|Índice inicial (incluido)|
-|end |Integer |->Índice final (no incluido)|
-|Resultado|Collection|<-|New collection containing sliced elements (shallow copy)|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------- |
+| startFrom | Integer | -> | Índice de inicio (incluido) |
+| end | Integer | -> | Índice final (no incluido) |
+| Resultado | Collection | <- | Nueva colección que contiene elementos cortados (copia superficial) |
+
-
#### Descripción
-La función `.slice()` devuelve una parte de una colección en una nueva colección, seleccionado desde *startFrom* index hasta *end* index (final no incluido). Esta función devuelve una *copia superficial* de la colección. Si la colección original es una colección compartida, la colección devuelta es también una colección compartida.
+La función `.slice()` devuelve una parte de una colección en una nueva colección, seleccionada de la posición *startFrom* a la posición *end* (no incluye *end*). Esta función devuelve una *copia superficial* de la colección. Si la colección original es una colección compartida, la colección devuelta es también una colección compartida.
+
> Esta función no modifica la colección original.
La colección devuelta contiene el elemento especificado por *startFrom* y todos los elementos subsiguientes hasta, pero sin incluir, el elemento especificado por *end*. Si sólo se especifica el parámetro *startFrom*, la colección devuelta contiene todos los elementos desde *startFrom* hasta el último elemento de la colección original.
-* Si *startFrom* < 0, se recalcula como *startFrom:=startFrom+length* (se considera el desplazamiento desde el final de la colección).
-* Si el valor calculado < 0, *startFrom* toma el valor 0.
-* Si *end* < 0 , se recalcula como *end:=end+length*.
-* Si *end < startFrom* (valores pasados o calculados), el método no hace nada.
+- Si *startFrom* < 0, se recalcula como *startFrom:=startFrom+length* (se considera el desplazamiento desde el final de la colección).
+- Si el valor calculado < 0, *startFrom* toma el valor 0.
+- Si *end* < 0 , se recalcula como *end:=end+length*.
+- Si *end < startFrom* (valores pasados o calculados), el método no hace nada.
#### Ejemplo
-
```4d
var $c; $nc : Collection
$c:=New collection(1;2;3;4;5)
@@ -3213,14 +3044,11 @@ La colección devuelta contiene el elemento especificado por *startFrom* y todos
-
-
-
-
+
## .some()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------ |
@@ -3231,52 +3059,50 @@ La colección devuelta contiene el elemento especificado por *startFrom* y todos
**.some**( { *startFrom* : Integer ; } *formula* : 4D.Function { ; *...param* : any } ) : Boolean
**.some**( { *startFrom* : Integer ; } *methodName* : Text { ; *...param* : any } ) : Boolean
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|startFrom |Integer |->|Índice de inicio de la prueba|
-|formula|4D.Function|->|Objeto Fórmula|
-|methodName|Text|->|Nombre de un método|
-|param |Mixed |->|Parámetro(s) a pasar|
-|Resultado|Boolean|<-|True if at least one element successfully passed the test|
+| Parámetros | Tipo | | Descripción |
+| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------ |
+| startFrom | Integer | -> | Índice para iniciar la prueba en |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| param | Mixed | -> | Parámetro(s) a pasar |
+| Resultado | Boolean | <- | True si al menos un elemento ha superado la prueba con éxito |
+
-
#### Descripción
-La propiedad `.length` devuelve el número de elementos de la colección.
+La función `.some()` devuelve true si al menos un elemento de la colección ha pasado con éxito una prueba implementada en el código *formula* o *methodName* suministrado.
Se designa el código 4D de retrollamada (callback) a ejecutar para evaluar los elementos de la colección utilizando:
-- *formula* (sintaxis recomendada), un [objeto fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
-- o en *methodName*, el nombre de un método proyecto (texto).
-
-La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada puede efecturar toda prueba, con o sin los parámetros, y debe devolver **true** para cada elemento que cumpla la prueba. Recibe un objeto `` en el primer parámetro ($1).
+- *formula* (sintaxis recomendada), un [objeto Fórmula](FunctionClass.md) que puede encapsular toda expresión ejecutable, incluyendo funciones y métodos proyecto;
+- o *methodName*, el nombre de un método proyecto (texto).
+La retrollamada se llama con los parámetros pasados en *param* (opcional). La retrollamada puede efecturar toda prueba, con o sin los parámetros, y debe devolver *true* para cada elemento que cumpla la prueba. Recibe un `Object` en el primer parámetro ($1).
La retrollamada recibe los siguientes parámetros:
-* en *$1.value*: valor del elemento a procesar
-* en *$2: param*
-* en *$N...*: *paramN...*
+- en *$1.value*: valor del elemento a procesar
+- en *$2: param*
+- en *$N...*: *paramN...*
Puede definir los siguientes parámetros:
-* (obligatorio si se ha utilizado un método) *$1.result* (booleano): **true** si la evaluación del valor del elemento es éxitoso, **false** en caso contrario.
-* *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
+- (obligatorio si se ha utilizado un método) *$1.result* (booleano): **true** si la evaluación del valor del elemento tiene éxito, **false** en caso contrario.
+- *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado.
En todo caso, en el momento en que la función `.some()` encuentra el primer elemento de la colección que devuelve true, deja de llamar a la llamada de retorno y devuelve **true**.
Por defecto, `.some()` comprueba toda la colección. Opcionalmente, puede pasar el índice de un elemento desde el cual iniciar la prueba en *startFrom*.
-* Si *startFrom* >= la longitud de la colección, se devuelve **False**, lo que significa que la colección no se prueba.
-* Si *startFrom* < 0, se considera como el desplazamiento desde el final de la colección.
-* Si *startFrom* = 0, se busca en toda la colección (por defecto).
-
+- Si *startFrom* >= la longitud de la colección, se devuelve **False**, lo que significa que no se prueba la colección.
+- Si *startFrom* < 0, se considera como el desplazamiento desde el final de la colección.
+- Si *startFrom* = 0, se busca en toda la colección (por defecto).
#### Ejemplo
@@ -3297,18 +3123,13 @@ Quiere saber si al menos un valor de la colección es >0.
$b:=$c.some(1;Formula($1.value>0)) //$b=false
```
-
-
-
-
-
-
+
## .sort()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------ |
@@ -3319,63 +3140,64 @@ Quiere saber si al menos un valor de la colección es >0.
**.sort**() : Collection
**.sort**( *ascOrDesc* : Integer ) : Collection
**.sort**( *formula* : 4D.Function { ; *...extraParam* : any } ) : Collection
**.sort**( *methodName* : Text { ; *...extraParam* : any } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|ascOrDesc|Integer|->|`ck ascendente` o `ck descendente` (valores escalares)|
-|formula|4D.Function|->|Objeto de fórmula|
-|methodName|Text|->|Nombre de un método|
-|extraParam |any |->|Parámetro(s) para el método|
-|Result|Collection|<-|Original collection sorted|
+| Parámetros | Tipo | | Descripción |
+| ---------- | --------------------------- | :-------------------------: | ----------------------------------------------------------------------- |
+| ascOrDesc | Integer | -> | `ck ascending` o `ck descending` (valores escalares) |
+| formula | 4D.Function | -> | Objeto fórmula |
+| methodName | Text | -> | Nombre de un método |
+| extraParam | any | -> | Parámetros del método |
+| Resultado | Collection | <- | Colección original ordenada |
+
-
#### Descripción
-La función `.orderBy()` ordena los elementos de la colección original y también devuelve la colección ordenada .
-> Esta función modifica la colección original.
+La función `.sort()` ordena los elementos de la colección original y además devuelve la colección ordenada.
-Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo. También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
+> Esta función modifica la colección original.
- |Constante| Tipo|Valor|Comentario|
- |---|-|-|-|---|
- |ck ascending|Integer|0|Los elementos se ordenan en orden ascendente (por defecto)|
- |ck descending|Integer|1|Los elementos se ordenan en orden descendente|
-
- Esta sintaxis ordena sólo valores escalares en la colección (otros tipos de elementos como objetos o colecciones se devuelven desordenados).
+Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo.
+También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
- Si la colección contiene elementos de diferentes tipos, se agrupan primero por tipo y se ordenan después. Si *attributePath* lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después.
+ ```
+ |Constant| Type|Value|Comment|
+ |---|---|---|---|
+ |ck ascending|Integer|0|Elements are ordered in ascending order (default)|
+ |ck descending|Integer|1|Elements are ordered in descending order|
+
+ This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
+ ```
-1. null
-2. booleans
-3. cadenas
-4. numbers
-5. objects
-6. collections
-7. dates
+Si la colección contiene elementos de diferentes tipos, se agrupan primero por tipo y se ordenan después. Si attributePath lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después.
+1. null
+2. booleans
+3. cadenas
+4. numbers
+5. objects
+6. collections
+7. dates
-Si desea ordenar los elementos de la colección en otro orden u ordenar cualquier tipo de elemento, debe pasar en *formula* ([objeto Formula](FunctionClass.md)) o *methodName* (Text) una retrollamada que defina el sentido de la ordenación. El valor de retorno debe ser un booleano que indique el orden relativo de los dos elementos: **True** si *$1.value* es menor que *$1.value2*, **False** si *$1.value* es mayor que *$1.value2*. Puede ofrecer parámetros adicionales a la retrollamada si es necesario.
+Si quiere ordenar los elementos de la colección en algún otro orden o ordenar cualquier tipo de elemento, debe suministrar en *formula* ([objeto Formula](FunctionClass.md)) o *methodName* (Text) una retro llamada que define el orden de clasificación. El valor de retorno debe ser un booleano que indica el orden relativo de los dos elementos: **True** si *$1.value* es menor que *$1.value2*, **False** si *$1.value* es mayor que *$1.value2*. Puede ofrecer parámetros adicionales a la retrollamada si es necesario.
La retrollamada recibe los siguientes parámetros:
- $1 (objeto), donde:
- - *$1.value* (todo tipo): primer valor del elemento a comparar
- - *$1.value2* (todo tipo): segundo valor del elemento a comparar
+ - *$1.value* (todo tipo): valor del primer elemento a comparar
+ - *$1.value2* (todo tipo): valor del segundo elemento a comparar
- $2...$N (cualquier tipo): parámetros adicionales
Si utilizó un método, debe definir el siguiente parámetro:
-- *$1.result* (boolean): **True** if *$1.value < $1.value2*, **False** de lo contrario.
-
+- *$1.result* (boolean): **True** si *$1.value < $1.value2*, **False** en caso contrario.
#### Ejemplo 1
-
```4d
var $col; $col2 : Collection
$col:=New collection("Tom";5;"Mary";3;"Henry";1;"Jane";4;"Artie";6;"Chip";2)
@@ -3397,18 +3219,16 @@ Si utilizó un método, debe definir el siguiente parámetro:
var $col; $col2; $col3 : Collection
$col:=New collection(33;4;66;1111;222)
$col2:=$col.sort() //numerical sort: [4,33,66,222,1111]
-$col3:=$col.sort(Formula(String($1.value)
-
-
-
+
## .sum()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -3418,21 +3238,21 @@ $col3:=$col.sort(Formula(String($1.value)**.sum**( { *propertyPath* : Text } ) : Real
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|propertyPath |Text |->|Ruta de propiedad del objeto a utilizar para el cálculo|
-|Resultado|Real|<-|Sum of collection values|
+| Parámetros | Tipo | | Descripción |
+| ------------ | ---- | :-------------------------: | ---------------------------------------------------------------- |
+| propertyPath | Text | -> | Ruta de la propiedad del objeto que se utilizará para el cálculo |
+| Resultado | Real | <- | Suma de los valores de la colección |
+
-
#### Descripción
-La función `.orderByMethod()` devuelve la suma de todos los valores de la instancia de la colección.
+La función `.sum()` devuelve la suma de todos los valores de la instancia de la colección.
Para el cálculo sólo se tienen en cuenta los elementos numéricos (se ignoran otros tipos de elementos).
@@ -3440,13 +3260,12 @@ Si la colección contiene objetos, pasa el parámetro *propertyPath* para indica
`.sum()` devuelve 0 si:
-* la colección está vacía,
-* la colección no contiene elementos numéricos,
-* *propertyPath* no se encuentra en la colección.
+- la colección está vacía,
+- la colección no contiene elementos numéricos,
+- *propertyPath* no se encuentra en la colección.
#### Ejemplo 1
-
```4d
var $col : Collection
var $vSum : Real
@@ -3468,14 +3287,11 @@ Si la colección contiene objetos, pasa el parámetro *propertyPath* para indica
-
-
-
-
+
## .unshift()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -3485,30 +3301,29 @@ Si la colección contiene objetos, pasa el parámetro *propertyPath* para indica
**.unshift**( *value* : any { ;...*valueN* : any } ) : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|valor |Text, Number, Object, Collection, Date |->|Valor(es) a insertar al inicio de la colección|
-|Resultado|Collection|<-|Collection containing added element(s)
-|
+| Parámetros | Tipo | | Descripción |
+| ---------- | -------------------------------------- | :-------------------------: | -------------------------------------------------------------------- |
+| value | Text, Number, Object, Collection, Date | -> | Valor(es) a insertar al principio de la colección |
+| Resultado | Collection | <- | Colección que contiene los elementos añadidos |
+| | | | |
+
-
#### Descripción
-La función `.unshift()` inserta el *valor* dado al principio de la colección y devuelve la colección modificada.
+La función `.unshift()` inserta el *valor*(es) dado al principio de la colección y devuelve la colección modificada.
+
> Esta función modifica la colección original.
Si se pasan varios valores, se insertan todos a la vez, lo que significa que aparecen en la colección resultante en el mismo orden que en la lista de argumentos.
-
#### Ejemplo
-
```4d
var $c : Collection
$c:=New collection(1;2)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CryptoKeyClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CryptoKeyClass.md
index 018f272d5fca7d..fccf5fc5db99d3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CryptoKeyClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CryptoKeyClass.md
@@ -3,66 +3,66 @@ id: CryptoKeyClass
title: CryptoKey
---
+La clase `CryptoKey` del lenguaje 4D encapsula un par de llaves de cifrado asimétrico.
-La clase `CryptoKey` del lenguaje 4D contiene un par de llaves de cifrado asimétrico.
-
-Esta clase está disponible en el almacén de clases de `4D`.
+Esta clase está disponible en el "class store" de `4D`.
:::info Ver también
-Para obtener una visión general de esta clase, consulte la página [**CryptoKey: ¡Cifrar, descifrar, firmar y verificar!**](https://blog.4d.com/cryptokey-encrypt-decrypt-sign-and-verify/) en el blog.
+Para obtener una visión general de esta clase, consulte la entrada del blog [**CryptoKey: cifrar, descifrar, firmar y verificar**](https://blog.4d.com/cryptokey-encrypt-decrypt-sign-and-verify/).
:::
### Resumen
-| |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [](#4dcryptokeynew)
|
-| [](#curve)
|
-| [](#decrypt)
|
-| [](#encrypt)
|
-| [](#getprivatekey)
|
-| [](#getpublickey)
|
-| [](#pem)
|
-| [](#sign)
|
-| [](#size)
|
-| [](#type)
|
-| [](#verify)
|
+| |
+| ---------------------------------------------------------------------------------------------------------------------------- |
+| [](#4dcryptokeynew)
|
+| [](#curve)
|
+| [](#decrypt)
|
+| [](#encrypt)
|
+| [](#getprivatekey)
|
+| [](#getpublickey)
|
+| [](#pem)
|
+| [](#sign)
|
+| [](#size)
|
+| [](#type)
|
+| [](#verify)
|
## 4D.CryptoKey.new()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 18 R4 | Añadidos |
+
**4D.CryptoKey.new**( *settings* : Object ) : 4D.CryptoKey
-
+
-|Parámetro|Tipo||Descripción|
-||---|---|----|---|
-|settings|Object|->|Configuración para generar o cargar un par de claves|
-|Resultado|4D.CryptoKey|<-|Object encapsulating an encryption key pair|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------------------------- | --------------------------- | ------------------------------------------------- |
+| settings | Object | -> | Parámetros para generar o cargar un par de llaves |
+| Resultado | 4D.CryptoKey | <- | Objeto que encapsula un par de llaves de cifrado |
+
-La función `4D.CryptoKey.new()` crea un nuevo objeto `4D.CryptoKey` que encapsula un par de llaves de cifrado, basado en el parámetro objeto *settings*. Permite generar una nueva llave RSA o ECDSA, o cargar un par de llaves existente desde una definición PEM.
+La función `4D.CryptoKey.new()` crea un nuevo objeto `4D.CryptoKey` que encapsula un par de llaves de cifrado, en función del parámetro *settings*. Permite generar una nueva llave RSA o ECDSA, o cargar un par de llaves existente desde una definición PEM.
#### *settings*
-| Propiedad | Tipo | Descripción |
-| --------------- | ------- | -------------------------------------------------------------------------------------------------------------- |
-| [type](#type) | text | Define el tipo de la llave a crear: - "RSA": genera un par de llaves RSA, utilizando [.size](#size) como tamaño.
- "ECDSA": genera un par de llaves Elliptic Curve Digital Signature Algorithm, utilizando [.curve](#curve) como curva. Tenga en cuenta que las llaves ECDSA no pueden utilizarse para el cifrado, sino sólo para la firma.
- "PEM": carga una definición de par de llaves en formato PEM, utilizando [.pem](#pem).
|
-| [curve](#curve) | text | Nombre de la curva ECDSA |
-| [pem](#pem) | text | Definición PEM de una llave de cifrado a cargar |
-| [size](#size) | integer | Tamaño de la llave RSA en bits |
-
+| Propiedad | Tipo | Descripción |
+| --------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [type](#type) | text | Define el tipo de llave a crear: - "RSA": genera un par de llaves RSA, utilizando [.size](#size) como tamaño.
- "ECDSA": genera un par de llaves Elliptic Curve Digital Signature Algorithm, utilizando [.curve](#curve) como curva. Tenga en cuenta que las llaves ECDSA no pueden utilizarse para el cifrado, sino solo para la firma.
- "PEM": carga una definición de par de llaves en formato PEM, utilizando [.pem](#pem).
|
+| [curve](#curve) | text | Nombre de la curva ECDSA |
+| [pem](#pem) | text | Definición PEM de una llave de cifrado a cargar |
+| [size](#size) | integer | Tamaño de la llave RSA en bits |
#### *CryptoKey*
@@ -128,65 +128,66 @@ $status:=$key.verify($message;$signature;New object("hash";"SHA256"))
ASSERT($status.success)
```
-
-
-
-
+
## .curve
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 18 R4 | Añadidos |
+
**.curve** : Text
+Definido sólo para las llaves ECDSA: el nombre de la curva normalizada de la llave. .
-Definido sólo para llaves RSA: el tamaño de la llave en bits. .
+
## .decrypt()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 18 R4 | Añadidos |
+
**.decrypt**( *message* : Text ; *options* : Object ) : Object
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|----|---|
-|message|Text|->|Cadena de mensaje a decodificar usando `options.encodingEncrypted` y descifrado.|
-|options|Object|->|Opciones de decodificación|
-|Resultado|Object|<-|Status|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | --------------------------- | ----------------------------------------------------------------------------------------------------------- |
+| message | Text | -> | Cadena mensaje que se descodificará utilizando `options.encodingEncrypted` y se descifrará. |
+| options | Object | -> | Opciones de decodificación |
+| Resultado | Object | <- | Estado |
+
-La función `.decrypt()` descifra el parámetro *mensaje* utilizando la llave **privada**. El algoritmo utilizado depende del tipo de la llave.
+La función `.decrypt()` descifra el parámetro *message* utilizando la llave **privada**. El algoritmo utilizado depende del tipo de la llave.
La llave debe ser una llave RSA, el algoritmo es RSA-OAEP (ver [RFC 3447](https://tools.ietf.org/html/rfc3447)).
-#### *options*
+#### *opciones*
-| Propiedad | Tipo | Descripción |
-| ----------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Propiedad | Tipo | Descripción |
+| ----------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| hash | text | Algoritmo Digest a utilizar. Por ejemplo: "SHA256", "SHA384" o "SHA512". |
-| encodingEncrypted | text | Codificación utilizada para convertir el parámetro `mensaje` en la representación binaria a descifrar. Puede ser "Base64", o "Base64URL". Por defecto es "Base64". |
+| encodingEncrypted | text | Codificación utilizada para convertir el parámetro `message` en la representación binaria a descifrar. Puede ser "Base64", o "Base64URL". Por defecto es "Base64". |
| encodingDecrypted | text | Codificación utilizada para convertir el mensaje binario descifrado en la cadena de resultados. Puede ser "UTF-8", "Base64", o "Base64URL". Por defecto es "UTF-8". |
#### *Resultado*
-La función devuelve un objeto "status" con la propiedad `success` definida como `true` si el *message* pudo ser descifrado con éxito.
+La función devuelve un objeto status con la propiedad `success` definida en `true` si el *message* pudo ser desencriptado con éxito.
| Propiedad | Tipo | Descripción |
| --------- | ---------- | ------------------------------------------------------------------------ |
@@ -194,98 +195,110 @@ La función devuelve un objeto "status" con la propiedad `success` definida como
| resultado | text | Mensaje descifrado y decodificado utilizando `options.encodingDecrypted` |
| errors | collection | Si `success` es `false`, puede contener una colección de errores |
-En caso de que el *message* no haya podido ser descifrado por no haber sido encriptado con la misma llave o algoritmo, el objeto `status` que se devuelve contiene una colección de errores en `status.errors`.
+En caso de que *message* no haya podido ser descifrado por no haber sido cifrado con la misma clave o algoritmo, el objeto `status` devuelto contiene una colección de errores en `status.errors`.
+
+
## .encrypt()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 18 R4 | Añadidos |
+
**.encrypt**( *message* : Text ; *options* : Object ) : Text
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|----|---|
-|message|Text|->|Cadena de mensaje a codificar usando `options.encodingDecrypted` y encriptado.|
-|options|Object|->|Opciones de codificación|
-|Resultado|Text|<-|Message encrypted and encoded using the `options.encodingEncrypted`|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | --------------------------- | ----------------------------------------------------------------------------------------------- |
+| message | Text | -> | Cadena mensaje a codificar utilizando `options.encodingDecrypted` y encriptada. |
+| options | Object | -> | Opciones de codificación |
+| Resultado | Text | <- | Mensaje encriptado y codificado utilizando la opción `options.encodingEncrypted` |
+
-La función `.encrypt()` encripta el parámetro *mensaje* utilizando la llave **pública**. El algoritmo utilizado depende del tipo de la llave.
+La función `.encrypt()` cifra el parámetro *message* utilizando la llave **pública**. El algoritmo utilizado depende del tipo de la llave.
La llave debe ser una llave RSA, el algoritmo es RSA-OAEP (ver [RFC 3447](https://tools.ietf.org/html/rfc3447)).
-##### *options*
+##### *opciones*
-| Propiedad | Tipo | Descripción |
-| ----------------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Propiedad | Tipo | Descripción |
+| ----------------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| hash | text | Algoritmo Digest a utilizar. Por ejemplo: "SHA256", "SHA384" o "SHA512". |
| encodingEncrypted | text | Codificación utilizada para convertir el mensaje binario encriptado en la cadena de resultados. Puede ser "Base64", o "Base64URL". Por defecto es "Base64". |
-| encodingDecrypted | text | Codificación utilizada para convertir el parámetro `mensaje` en la representación binaria a cifrar. Puede ser "UTF-8", "Base64", o "Base64URL". Por defecto es "UTF-8". |
+| encodingDecrypted | text | Codificación utilizada para convertir el parámetro `message` en la representación binaria a cifrar. Puede ser "UTF-8", "Base64", o "Base64URL". Por defecto es "UTF-8". |
#### *Resultado*
El valor devuelto es un mensaje encriptado.
+
+
## .getPrivateKey()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 18 R4 | Añadidos |
+
**.getPrivateKey()** : Text
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|----|---|
-|Resultado|Text|<-|Private key in PEM format|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | --------------------------- | ---------------------------- |
+| Resultado | Text | <- | Llave privada en formato PEM |
+
-La función `.getPrivateKey()` devuelve la llave privada del objeto `CryptoKey` en formato PEM, o una cadena vacía si no hay ninguna disponible.
+La función `.getPrivateKey()` devuelve la llave privada del objeto `CryptoKey` en formato PEM, o una cadena vacía si no está disponible.
#### *Resultado*
El valor devuelto es la llave privada.
+
+
## .getPublicKey()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 18 R4 | Añadidos |
+
**.getPublicKey**() : Text
-
+
-|Parámetro|Tipo||Descripción|
-|---|----|---|---|
-|Resultado|Text|<-|Public key in PEM format|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | --------------------------- | ---------------------------- |
+| Resultado | Text | <- | Llave pública en formato PEM |
+
@@ -294,155 +307,166 @@ La función `.getPublicKey()` devu
#### *Resultado*
El valor devuelto es la llave pública.
+
---
+
+
## .pem
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 18 R4 | Añadidos |
+
**.pem** : Text
-
Definición PEM de una llave de cifrado a cargar. Si la llave es una llave privada, se deducirá de ella la llave pública RSA o ECDSA.
+
## .sign()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ----------------------------- |
| 20 R8 | Soporte de mensajes como Blob |
| 18 R4 | Añadidos |
+
.**sign** (*message* : Text ; *options* : Object) : Text
.**sign** (*message* : Blob ; *options* : Object) : Text
-
+
-|Parámetro|Tipo||Descripción|
-|---|----|---|-|
-|message|Text|->|Mensaje a firmar|
-|options|Object|->|Opciones de firma|
-|Resultado|Text|<-|Signature in Base64 or Base64URL representation, depending on "encoding" option|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------------ | --------------------------- | --------------------------------------------------------------------- |
+| message | Texto O Blob | -> | Mensaje a firmar |
+| options | Object | -> | Opciones de firma |
+| Resultado | Text | <- | Firma en representación Base64 o Base64URL, según la opción "encoding |
+
-La función `.sign()` firma la representación utf8 de una cadena o de un Blob *message* utilizando las llaves del objeto `CryptoKey` y las *opciones* suministradas. Devuelve su firma en formato base64 o base64URL, dependiendo del valor del atributo `options.encoding` que haya pasado.
+La función `.sign()` firma la representación utf8 de una cadena *message* o Blob utilizando las llaves del objeto `CryptoKey` y las *options* suministradas. Devuelve su firma en formato base64 o base64URL, dependiendo del valor del atributo `options.encoding` que le haya pasado.
-`CryptoKey` debe contener una llave válida **privada**.
+La `CryptoKey` debe contener una llave **privada** válida.
-#### *options*
+#### *opciones*
-| Propiedad | Tipo | Descripción |
-| ----------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Propiedad | Tipo | Descripción |
+| ----------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| hash | text | Algoritmo Digest a utilizar. Por ejemplo: "SHA256", "SHA384" o "SHA512". Cuando se utiliza para producir un JWT, el tamaño del hash debe coincidir con el tamaño del algoritmo PS@, ES@, RS@ o PS@ |
-| encodingEncrypted | text | Codificación utilizada para convertir el mensaje binario encriptado en la cadena de resultados. Puede ser "Base64", o "Base64URL". Por defecto es "Base64". |
-| pss | boolean | Utilice el Probabilistic Signature Scheme (PSS). Se ignora si la llave no es una llave RSA. Pase `true` al producir un JWT para el algoritmo PS@ |
-| encoding | text | Representation of provided signature. Puede ser "Base64", o "Base64URL". Por defecto es "Base64". |
+| encodingEncrypted | text | Codificación utilizada para convertir el mensaje binario encriptado en la cadena de resultados. Puede ser "Base64", o "Base64URL". Por defecto es "Base64". |
+| pss | boolean | Utilice el Probabilistic Signature Scheme (PSS). Se ignora si la llave no es una llave RSA. Pase `true` al producir un JWT para el algoritmo PS@ |
+| encoding | text | Representation of provided signature. Puede ser "Base64", o "Base64URL". Por defecto es "Base64". |
#### *Resultado*
La representación utf8 de *message*.
+
+
## .size
+
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 18 R4 | Añadidos |
+
**.size** : Integer
-
-Definido sólo para llaves ECDSA: el el tamaño de la llave en bits. .
+Definido sólo para llaves RSA: el tamaño de la llave en bits. .
+
## .type
+
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 18 R4 | Añadidos |
+
**.type** : Text
-
Contiene el nombre del tipo de llave - "RSA", "ECDSA", "PEM" .
-
-- "RSA": un par de llaves RSA, utilizando l`settings.size` como [.size](#size).
-- "ECDSA": un par de llaves del Algoritmo Elliptic Curve Digital Signature Algorithm, utilizando `settings.curve` como [.curve](#curve). Tenga en cuenta que las llaves ECDSA no pueden utilizarse para el cifrado, sino sólo para la firma.
-- "PEM": una definición de par de llaves en formato PEM, utilizando `settings.pem` como [.pem](#pem).
-
-
+- "RSA": un par de llaves RSA, utilizando `settings.size` como [.size](#size).
+- "ECDSA": un par de llaves Elliptic Curve Digital Signature Algorithm, utilizando `settings.curve` como [.curve](#curve). Tenga en cuenta que las llaves ECDSA no pueden utilizarse para el cifrado, sino sólo para la firma.
+- "PEM": definición de par de llaves en formato PEM, utilizando `settings.pem` como [.pem](#pem).
+
## .verify()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ----------------------------- |
| 20 R8 | Soporte de mensajes como Blob |
| 18 R4 | Añadidos |
+
**.verify**( *message* : Text ; *signature* : Text ; *options* : Object) : Object
*.verify**( *message* : Blob ; *signature* : Text ; *options* : Object) : Object
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|-|---|-|
-|message|Text O Blob|->|Mensaje que se utilizó para producir la firma|
-|signature|Text|->|Firma a verificar, en representación Base64 o Base64URL, dependiendo del valor de `options.encoding`|
-|options|Object|->|Opciones de firma|
-|Resultado|Object|<-|Status of the verification|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------------ | --------------------------- | --------------------------------------------------------------------------------------------- |
+| message | Texto O Blob | -> | Mensaje utilizado para producir la firma |
+| signature | Text | -> | Firma a verificar, en representación Base64 o Base64URL, según el valor de `options.encoding` |
+| options | Object | -> | Opciones de firma |
+| Resultado | Object | <- | Estado de la verificación |
+
-
-La función `.verify()` verifica la firma base64 contra la representación utf8 del *mensaje* utilizando las llaves del objeto `CryptoKey` y las *opciones* suministradas.
+La función `.verify()` verifica la firma base64 contra la representación utf8 del *message* usando las llaves del objeto `CryptoKey` y las *options* suministradas.
La `CryptoKey` debe contener una llave **pública** válida.
-#### *options*
+#### *opciones*
-| Propiedad | Tipo | Descripción |
-| --------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Propiedad | Tipo | Descripción |
+| --------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| hash | text | Algoritmo Digest a utilizar. Por ejemplo: "SHA256", "SHA384" o "SHA512". Cuando se utiliza para producir un JWT, el tamaño del hash debe coincidir con el tamaño del algoritmo PS@, ES@, RS@ o PS@ |
-| pss | boolean | Utilice el Probabilistic Signature Scheme (PSS). Se ignora si la llave no es una llave RSA. Pase `true` al verificar un JWT para el algoritmo PS@ |
-| encoding | text | Codificación utilizada para convertir el mensaje binario encriptado en la cadena de resultados. Puede ser "Base64", o "Base64URL". Por defecto es "Base64". |
+| pss | boolean | Utilice el Probabilistic Signature Scheme (PSS). Se ignora si la llave no es una llave RSA. Pase `true` al verificar un JWT para el algoritmo PS@ |
+| encoding | text | Codificación utilizada para convertir el mensaje binario encriptado en la cadena de resultados. Puede ser "Base64", o "Base64URL". Por defecto es "Base64". |
#### *Resultado*
-La función devuelve un objeto de estado con la propiedad `success` definida como `true` si el `message` pudo ser verificado con éxito (es decir, la firma coincide).
+La función devuelve un objeto de estado con la propiedad `success` en `true` si `message` ha podido ser verificado con éxito (es decir, la firma coincide).
-La función devuelve un objeto de estado con la propiedad `success` definida como `true` si el `message` pudo ser verificado con éxito (es decir, la firma coincide).
+En caso de que la firma no se haya podido verificar porque no se ha firmado con el mismo *message*, llave o algoritmo, el objeto `status` que se devuelve contiene una colección de errores en `status.errors`.
| Propiedad | Tipo | Descripción |
| --------- | ---------- | ---------------------------------------------------------------- |
| success | boolean | True si la firma coincide con el mensaje |
| errors | collection | Si `success` es `false`, puede contener una colección de errores |
+
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md
index a820e8fc18fd36..9494659f9de1ce 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md
@@ -3,74 +3,74 @@ id: DataClassClass
title: DataClass
---
-
-Una [DataClass](ORDA/dsMapping.md#dataclass) ofrece una interfaz de objeto a una tabla de la base de datos. Todas las clases de datos de una aplicación 4D están disponibles como una propiedad del `ds` [datastore](ORDA/dsMapping.md#datastore).
+Una [DataClass](ORDA/dsMapping.md#dataclass) ofrece un objeto de interfaz a una tabla de la base de datos. Todas las dataclasses de una aplicación 4D están disponibles como propiedad del [datastore](ORDA/dsMapping.md#datastore) `ds`.
### Resumen
-| |
-| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [](#attributename) |
-| [](#all) |
-| [](#clearremotecache) |
-| [](#fromcollection) |
-| [](#get) |
-| [](#getcount) |
-| [](#getdatastore) |
-| [](#getinfo) |
-| [](#getremotecache) |
-| [](#new) |
-| [](#newselection) |
-| [](#query) |
+| |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [](#attributename) |
+| [](#all) |
+| [](#clearremotecache) |
+| [](#fromcollection) |
+| [](#get) |
+| [](#getcount) |
+| [](#getdatastore) |
+| [](#getinfo) |
+| [](#getremotecache) |
+| [](#new) |
+| [](#newselection) |
+| [](#query) |
| [](#setremotecachesettings) |
+
## .*attributeName*
-Histórico
+Historia
-| Lanzamiento | Modificaciones |
-| ----------- | ---------------------------- |
+| Lanzamiento | Modificaciones |
+| ----------- | -------------------------------------------- |
| 19 R3 | Añadido el atributo .exposed |
-| 17 | Añadidos |
+| 17 | Añadidos |
-***.attributeName***: objeto
+***.attributeName*** : object
#### Descripción
Los atributos de las clases de datos son objetos que están disponibles directamente como propiedades de estas clases.
Los objetos devueltos tienen propiedades que puede leer para obtener información sobre los atributos de su clase de datos.
-> Los objetos del atributo Dataclass pueden ser modificados, pero la estructura subyacente de la base de datos no será alterada.
+> Los objetos del atributo Dataclass pueden ser modificados, pero la estructura subyacente de la base de datos no será alterada.
#### Objeto devuelto
Los objetos de atributo devueltos contienen las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| autoFilled | Boolean | True si el valor del atributo es rellenado automáticamente por 4D. Corresponde a las siguientes propiedades de campo 4D: "Autoincremento" para campos de tipo numérico y "Auto UUID" para campos UUID (alfa). No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". |
-| exposed | Boolean | True si el atributo está expuesto en REST |
-| fieldNumber | integer | Número de campo 4D interno del atributo. No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". |
-| fieldType | Integer | Tipo de campo de base de datos 4D del atributo. Depende del atributo `kind`. Valores posibles: - si `.kind` = "storage": tipo de campo 4D correspondiente, ver [`Value type`](https://doc.4d.com/4dv20/help/command/en/page1509.html)
- si `.kind` = "relatedEntity": 38 (`is object`)
- si `.kind` = "relatedEntities": 42 (`is collection`)
- si `.kind` = "calculated" o "alias" = igual que arriba, dependiendo del valor resultante (tipo de campo, relatedEntity o relatedEntities)
|
-| indexed | Boolean | True si hay un índice B-tree o Cluster B-tree en el atributo. No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". |
-| inverseName | Text | Nombre del atributo que se encuentra al otro lado de la relación. Se devuelve sólo cuando `.kind` = "relatedEntity" o "relatedEntities". |
-| keywordIndexed | Boolean | True si existe un índice de palabras clave en el atributo. No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". |
-| kind | Text | Categoría del atributo. Valores posibles:- "storage": atributo de almacenamiento (o escalar), es decir, atributo que almacena un valor, no una referencia a otro atributo
- "calculated": atributo calculado, es decir, definido a través de una [función `get`](../ORDA/ordaClasses.md#function-get-attributename)
- "alias": atributo creado a partir de [otro atributo](../ORDA/ordaClasses.md#alias-attributes-1)
- "relatedEntity": N -> 1 atributo de relación (referencia a una entidad)
- "relatedEnties": 1 -> N atributo de relación (referencia a una selección de entidades)
|
-| mandatory | Boolean | True si se rechaza la entrada de valores null para el atributo. No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". Nota: esta propiedad corresponde a la propiedad de campo "Rechazar entrada de valor NULL" a nivel de base de datos 4D. No tiene relación con la propiedad "Obligatorio" existente, que es una opción de control de entrada de datos para una tabla. |
-| name | Text | Nombre del atributo como cadena |
-| path | Text | Ruta de [un atributo alias](../ORDA/ordaClasses.md#alias-attributes-1) basado en una relación |
-| readOnly | Boolean | True si el atributo es de sólo lectura. Por ejemplo, los atributos calculados sin función [`set`](../ORDA/ordaClasses.md#function-set-attributename) son solo lectura. |
-| relatedDataClass | Text | Nombre del dataclass relacionado con el atributo. Se devuelve sólo cuando `.kind` = "relatedEntity" o "relatedEntities". |
-| type | Text | Tipo de valor conceptual del atributo, útil para la programación genérica. Depende del atributo `kind`. Valores posibles: - si `.kind` = "storage": "blob", "bool", "date", "image", "number", "object", o "string". "number" se devuelve para todo tipo numérico, incluida la duración; "string" se devuelve para los tipos de atributo uuid, alpha y text; los atributos "blob" son [objetos blob](../Concepts/dt_blob.md#blob-types).
- si `.kind` = "relatedEntity": nombre de la dataClass relacionada
- si `.kind` = "relatedEntities": nombre de la dataClass relacionada + sufijo "Selection"
- si `.kind` = "calculated" o "alias": igual que arriba, dependiendo del resultado
|
-| unique | Boolean | True si el valor del atributo debe ser único. No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". |
+| Propiedad | Tipo | Descripción |
+| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| autoFilled | Boolean | True si el valor del atributo es rellenado automáticamente por 4D. Corresponde a las siguientes propiedades de campo 4D: "Autoincremento" para campos de tipo numérico y "Auto UUID" para campos UUID (alfa). No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". |
+| exposed | Boolean | True si el atributo está expuesto en REST |
+| fieldNumber | integer | Número de campo 4D interno del atributo. No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". |
+| fieldType | Integer | Tipo de campo de base de datos 4D del atributo. Depende del atributo `kind`. Valores posibles: - si `.kind` = "storage": tipo de campo 4D correspondiente, ver [`Value type`](https://doc.4d.com/4dv20/help/command/en/page1509.html)
- si `.kind` = "relatedEntity": 38 (`is object`)
- si `.kind` = "relatedEntities": 42 (`is collection`)
- si `.kind` = "calculated" o "alias" = igual que arriba, dependiendo del valor resultante (tipo de campo, relatedEntity o relatedEntities)
|
+| indexed | Boolean | True si hay un índice B-tree o Cluster B-tree en el atributo. No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". |
+| inverseName | Text | Nombre del atributo que se encuentra al otro lado de la relación. Sólo se devuelve cuando `.kind` = "relatedEntity" o "relatedEntities". |
+| keywordIndexed | Boolean | True si existe un índice de palabras clave en el atributo. No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". |
+| kind | Text | Categoría del atributo. Valores posibles:- "storage": atributo de almacenamiento (o escalar), es decir, un atributo que almacena un valor, no una referencia a otro atributo
- "calculated": atributo calculado, es decir, definido a través de una [`función get`](../ORDA/ordaClasses.md#function-get-attributename)
- "alias": atributo construido sobre [otro atributo](../ORDA/ordaClasses.md#alias-attributes-1)
- "relatedEntity": atributo de relación N -> 1 (referencia a una entidad)
- "relatedEntities": atributo de relación 1 -> N (referencia a una selección de entidades)
|
+| mandatory | Boolean | True si se rechaza la entrada de valores null para el atributo. No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". Nota: esta propiedad corresponde a la propiedad de campo "Rechazar entrada de valor NULL" a nivel de base de datos 4D. No tiene relación con la propiedad "Obligatorio" existente, que es una opción de control de entrada de datos para una tabla. |
+| name | Text | Nombre del atributo como cadena |
+| path | Text | Ruta de [un atributo alias](../ORDA/ordaClasses.md#alias-attributes-1) basada en una relación |
+| readOnly | Boolean | True si el atributo es de sólo lectura. Por ejemplo, los atributos calculados sin la [función `set`](../ORDA/ordaClasses.md#function-set-attributename) son de solo lectura. |
+| relatedDataClass | Text | Nombre del dataclass relacionado con el atributo. Sólo se devuelve cuando `.kind` = "relatedEntity" o "relatedEntities". |
+| type | Text | Tipo de valor conceptual del atributo, útil para la programación genérica. Depende del atributo `kind`. Valores posibles: - si `.kind` = "storage": "blob", "bool", "date", "image", "number", "object" o "string". "number" se devuelve para todo tipo numérico, incluida la duración; "string" se devuelve para los tipos de atributo uuid, alpha y text; los atributos "blob" son [objetos blob](../Concepts/dt_blob.md#blob-types).
- si `.kind` = "relatedEntity": nombre de la dataClass relacionada
- si `.kind` = "relatedEntities": nombre de la dataClass relacionada + sufijo "Selection
- si `.kind` = "calculated" o "alias": lo mismo que arriba, dependiendo del resultado
|
+| unique | Boolean | True si el valor del atributo debe ser único. No se devuelve si `.kind` = "relatedEntity" o "relatedEntities". |
:::tip
-Para programación genérica, utilice `Bool(attributeName.property)`, `Num(attributeName.property)` o `String(attributeName.property)` (dependiendo del tipo de propiedad) para obtener un valor válido aunque no se devuelva la propiedad.
+Para programación genérica, utilice `Bool(attributeName.property)`, `Num(attributeName.property)` o `String(attributeName.property)` (dependiendo del tipo de propiedad) para obtener un valor válido incluso si la propiedad no se devuelve.
:::
@@ -122,7 +122,7 @@ Considerando las propiedades de tabla siguientes:
## .all()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------------------------- |
@@ -133,20 +133,21 @@ Considerando las propiedades de tabla siguientes:
**.all** ( { *settings* : Object } ) : 4D.EntitySelection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|settings|Object|->|Build option: context|
-|Resultado|4D.EntitySelection|<-|References on all entities related to the Dataclass|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------------------------------- | :-------------------------: | ------------------------------------------------------------------------ |
+| settings | Object | -> | Opciones de construcción: context |
+| Resultado | 4D.EntitySelection | <- | Referencias sobre todas las entidades relacionadas con la clase de datos |
+
#### Descripción
-La función `.all()` consulta el almacén de datos para encontrar todas las entidades relacionadas con la clase de datos y las devuelve como una selección de entidades.
+La función `.all()` consulta el datastore para encontrar todas las entidades relacionadas con la dataclass y las devuelve como una selección de entidades.
Las entidades se devuelven en el orden por defecto, que es inicialmente el orden en que fueron creadas. Tenga en cuenta, sin embargo, que si se han eliminado entidades y se han añadido otras nuevas, el orden por defecto ya no refleja el orden de creación.
@@ -158,11 +159,11 @@ Se aplica carga diferida.
En el parámetro opcional *settings* se puede pasar un objeto que contenga opciones adicionales. Se soporta la siguiente propiedad:
-| Propiedad | Tipo | Descripción |
-| --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Propiedad | Tipo | Descripción |
+| --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| context | Text | Etiqueta para el contexto de optimización aplicado a la selección de entidades. Este contexto será utilizado por el código que maneja la selección de entidades para que pueda beneficiarse de la optimización. Esta funcionalidad está [diseñada para el procesamiento cliente/servidor ORDA](../ORDA/remoteDatastores.md#clientserver-optimization). |
-> Para conocer el número total de entidades de una clase de datos, se recomienda utilizar la función [`getCount()`](#getcount) más optimizada que la expresión `ds.myClass.all().length`.
+> Para conocer el número total de entidades de una dataclass, se recomienda utilizar la función [`getCount()`](#getcount) que está más optimizada que la expresión `ds.myClass.all().length`.
#### Ejemplo
@@ -171,10 +172,9 @@ En el parámetro opcional *settings* se puede pasar un objeto que contenga opcio
$allEmp:=ds.Employee.all()
```
-
## .clearRemoteCache()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -184,22 +184,22 @@ En el parámetro opcional *settings* se puede pasar un objeto que contenga opcio
**.clearRemoteCache()**
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-||||No requiere ningún parámetro|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-: | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
-
#### Descripción
-La función `.clearRemoteCache()` vacía la caché ORDA de una clase de datos.
+La función `.clearRemoteCache()` vacía la caché ORDA de una dataclass.
-> Esta función no restablece los valores de `timeout` y `maxEntries`.
+> Esta función no reinicializa los valores `timeout` y `maxEntries`.
#### Ejemplo
@@ -225,12 +225,11 @@ $ds.Persons.clearRemoteCache()
// Caché de la dataclass Persons = {timeout:30;maxEntries:30000;stamp:255;entries:[]}
```
-
-
+
## .fromCollection()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------------------------- |
@@ -241,57 +240,60 @@ $ds.Persons.clearRemoteCache()
**.fromCollection**( *objectCol* : Collection { ; *settings* : Object } ) : 4D.EntitySelection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|objectCol |Collection|->|Colección de objetos a mapear con entidades|
-|settings |Object|->|Opción Build: contexto|
-|Resultado|4D.EntitySelection|<-|Entity selection filled from the collection|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------------------------------- | :-------------------------: | ------------------------------------------------- |
+| objectCol | Collection | -> | Colección de objetos a mapear con entidades |
+| settings | Object | -> | Opciones de construcción: context |
+| Resultado | 4D.EntitySelection | <- | Selección de entidades llenadas de la colección |
+
#### Descripción
-La función `.fromCollection()` actualiza o crea entidades en la clase de datos según la colección de objetos *objectCol* y devuelve la selección de entidades correspondiente.
+La función `.fromCollection()` actualiza o crea entidades en la clase de datos según la colección de objetos *objectCol*, y devuelve la selección de entidades correspondiente.
-En el parámetro *objectCol*, pasa una colección de objetos para crear nuevas entidades o actualizar las existentes de la clase de datos. Los nombres de las propiedades deben ser los mismos que los de los atributos de la clase de datos. Si un nombre de propiedad no existe en la clase de datos, se ignora. Si un valor de atributo no está definido en la colección, su valor es null.
+En el parámetro *objectCol*, pasa una colección de objetos para crear nuevas entidades o actualizar las existentes de la dataclass. Los nombres de las propiedades deben ser los mismos que los de los atributos de la clase de datos. Si un nombre de propiedad no existe en la clase de datos, se ignora. Si un valor de atributo no está definido en la colección, su valor es null.
-El mapeo entre los objetos de la colección y las entidades se realiza sobre los **nombres de atributos** y **tipos coincidentes**. Si la propiedad de un objeto tiene el mismo nombre que el atributo de una entidad pero sus tipos no coinciden, el atributo de la entidad no se llena.
+El mapeo entre los objetos de la colección y las entidades se realiza sobre los **nombres de atributos** y sus **tipos de datos**. Si la propiedad de un objeto tiene el mismo nombre que el atributo de una entidad pero sus tipos no coinciden, el atributo de la entidad no se llena.
-**Crear o actualizar modos**
+**Crear o actualizar modo**
Para cada objeto de *objectCol*:
-* Si el objeto contiene una propiedad booleana "\__NEW" establecida en false (o no contiene una propiedad booleana "\__NEW"), la entidad se actualiza o se crea con los valores correspondientes de las propiedades del objeto. No se realiza ninguna comprobación con respecto a la llave primaria:
- * Si la llave primaria se da y existe, la entidad se actualiza. En este caso, la llave primaria puede darse tal cual o con una propiedad "\_\_KEY" (llenada con el valor de la llave primaria).
- * Si se da la llave primaria (tal cual) y no existe, se crea la entidad
- * Si no se da la llave primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos.
-* Si el objeto contiene una propiedad booleana "\_\_NEW" establecida como **true**, la entidad se crea con los valores correspondientes de los atributos del objeto. Se realiza una verificación con respecto a la llave primaria:
- * Si se da la llave primaria (tal cual) y existe, se envía un error
- * Si se da la llave primaria (tal cual) y no existe, se crea la entidad
- * Si no se da la primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos.
-> The nested objects featuring related entities must contain a "\_\_KEY" property (filled with the primary key value of the related entity) or the primary key attribute of the related entity itself. En todos los demás casos, el valor de la propiedad "\_\_KEY" se ignora, el valor de la llave primaria debe pasarse "tal cual".
+- Si el objeto contiene una propiedad booleana "\__NEW" establecida en false (o no contiene una propiedad booleana "\__NEW"), la entidad se actualiza o se crea con los valores correspondientes de las propiedades del objeto. No se realiza ninguna comprobación con respecto a la llave primaria:
+ - Si la llave primaria se da y existe, la entidad se actualiza. En este caso, la llave primaria puede darse tal cual o con una propiedad "\_\_KEY" (llenada con el valor de la llave primaria).
+ - Si se da la llave primaria (tal cual) y no existe, se crea la entidad
+ - Si no se da la llave primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos.
+- Si el objeto contiene una propiedad booleana "\_\_NEW" definida como **true**, la entidad se crea con los valores correspondientes de los atributos del objeto. Se realiza una verificación con respecto a la llave primaria:
+ - Si se da la llave primaria (tal cual) y existe, se envía un error
+ - Si se da la llave primaria (tal cual) y no existe, se crea la entidad
+ - Si no se da la primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos.
-**Related entities**
+> La propiedad "\__KEY" que contiene un valor sólo se tiene en cuenta cuando la propiedad "\__NEW" tiene el valor **false** (o se omite) y existe una entidad correspondiente. En todos los demás casos, el valor de la propiedad "\_\_KEY" se ignora, el valor de la llave primaria debe pasarse "tal cual".
+
+**Entidades relacionadas**
Los objetos de *objectCol* pueden contener uno o más objetos anidados que presentan una o más entidades relacionadas, lo que puede ser útil para crear o actualizar enlaces entre entidades.
-Los objetos anidados que presentan entidades relacionadas deben contener una propiedad "\_\_KEY" (llenada con el valor de la llave primaria de la entidad relacionada) o el atributo de llave primaria de la propia entidad relacionada. El uso de una propiedad \_\_KEY permite la independencia del nombre del atributo de la llave primaria.
+Los objetos anidados que presentan entidades relacionadas deben contener una propiedad "\_\*KEY" (llenada con el valor de la llave primaria de la entidad relacionada) o el atributo de llave primaria de la propia entidad relacionada. El uso de una propiedad \*\_KEY permite la independencia del nombre del atributo de la llave primaria.
+
> El contenido de las entidades relacionadas no puede ser creado / actualizado a través de este mecanismo.
**Stamp**
-Si se da un atributo \_\_STAMP, se realiza una comprobación con el sello en el almacén de datos y se puede devolver un error ("El sello dado no coincide con el actual para el registro# XX de la tabla XXXX"). Para más información, consulte [Entity locking](ORDA/entities.md#entity-locking).
+Si se da un atributo \_\_STAMP, se realiza una comprobación con el sello en el almacén de datos y se puede devolver un error ("El sello dado no coincide con el actual para el registro# XX de la tabla XXXX"). Para obtener más información, consulte [Bloqueo de entidades](ORDA/entities.md#bloqueo-de-entidades).
**settings**
En el parámetro opcional *settings* se puede pasar un objeto que contenga opciones adicionales. Se soporta la siguiente propiedad:
-| Propiedad | Tipo | Descripción |
-| --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Propiedad | Tipo | Descripción |
+| --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| context | Text | Etiqueta para el contexto de optimización aplicado a la selección de entidades. Este contexto será utilizado por el código que maneja la selección de entidades para que pueda beneficiarse de la optimización. Esta funcionalidad está [diseñada para el procesamiento cliente/servidor ORDA](../ORDA/remoteDatastores.md#clientserver-optimization). |
#### Ejemplo 1
@@ -316,7 +318,7 @@ Queremos actualizar una entidad existente. La propiedad \_\_NEW no se da, la lla
#### Ejemplo 2
-Queremos actualizar una entidad existente. La propiedad \_\_NEW no se da, la llave primaria del empleado está con el atributo \_\_KEY y existe:
+Queremos actualizar una entidad existente. La propiedad \_\*NEW no se da, la llave primaria del empleado está con el atributo \*\_KEY y existe:
```4d
var $empsCollection : Collection
@@ -429,9 +431,10 @@ En este ejemplo, la primera entidad se creará y guardará pero la segunda falla
+
## .get()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -441,25 +444,26 @@ En este ejemplo, la primera entidad se creará y guardará pero la segunda falla
**.get**( *primaryKey* : Integer { ; *settings* : Object } ) : 4D.Entity
**.get**( *primaryKey* : Text { ; *settings* : Object } ) : 4D.Entity
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|primaryKey |Integer O Text|->|Valor de la llave primaria de la entidad a recuperar|
-|settings |Object|->|Opción de Build: contexto|
-|Resultado|4D.Entity|<-|Entity matching the designated primary key|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------------------------- | :-------------------------: | ---------------------------------------------------- |
+| primaryKey | Integer OR Text | -> | Valor de la llave primaria de la entidad a recuperar |
+| settings | Object | -> | Opciones de construcción: context |
+| Resultado | 4D.Entity | <- | Entidad que coincide con la llave primaria designada |
+
#### Descripción
-La función `.get()` consulta la clase de datos a recuperar la entidad que coincide con el parámetro *primaryKey*.
+La función `.get()` consulta la clase de datos para recuperar la entidad que coincide con el parámetro *primaryKey*.
-En *primaryKey*, pase el valor de la llave primaria de la entidad a recuperar. El tipo de valor debe coincidir con el tipo de la llave primaria definida en el almacén de datos (Entero o Texto). También puede asegurarse de que el valor de la llave primaria se devuelva siempre como Texto utilizando la función [`.getKey()`](EntityClass.md#getkey) con el parámetro `dk key as string`.
+En *primaryKey*, pase el valor de la llave primaria de la entidad a recuperar. El tipo de valor debe coincidir con el tipo de la llave primaria definida en el almacén de datos (Entero o Texto). También puede asegurarse de que el valor de la llave primaria siempre se devuelva como Texto utilizando la función [`.getKey()`](EntityClass.md#getkey) con el parámetro `dk key as string`.
-Si no se encuentra ninguna entidad con*primaryKey*, se devuelve una entidad **Null**.
+Si no se encuentra ninguna entidad con *primaryKey*, se devuelve una entidad **Null**.
Se aplica la carga diferida, lo que significa que los datos relacionados se cargan desde el disco sólo cuando son necesarios.
@@ -467,17 +471,16 @@ Se aplica la carga diferida, lo que significa que los datos relacionados se carg
En el parámetro opcional *settings* se puede pasar un objeto que contenga opciones adicionales. Se soporta la siguiente propiedad:
-| Propiedad | Tipo | Descripción |
-| --------- | ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Propiedad | Tipo | Descripción |
+| --------- | ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| context | Text | Etiqueta para el contexto de optimización automática aplicado a la entidad. Este contexto será utilizado por el código siguiente que carga la entidad para que pueda beneficiarse de la optimización. Esta funcionalidad está [diseñada para el procesamiento cliente/servidor ORDA](../ORDA/remoteDatastores.md#clientserver-optimization). |
:::info
-Cuando se llama a la función `.get()` **sin** parámetro de *configuración*, se envía directamente al servidor una petición de valores de atributos (no se utiliza la [caché ORDA](../ORDA/remoteDatastores.md#orda-cache)). Por otro lado, cuando se llama a la función `.get()` **con** un `contexto` pasado en el parámetro *settings*, los valores de los atributos se recuperan de la caché ORDA correspondiente al contexto. En este caso, puede ser aconsejable llamar a [`reload()`](EntityClass.md#reload) para asegurarse de recuperar los datos más recientes del servidor.
+Cuando se llama a la función `.get()` **sin** parámetro *settings*, se envía directamente al servidor una petición de valores de atributos (la [caché ORDA](../ORDA/remoteDatastores.md#orda-cache) no se utiliza). Por otro parte, cuando se llama a la función `.get()` **con** un `context` pasado en el parámetro *settings*, los valores de los atributos se recuperan de la caché ORDA correspondiente al contexto. En este caso, puede ser aconsejable llamar a [`reload()`](EntityClass.md#reload) para asegurarse de recuperar los datos más recientes del servidor.
:::
-
#### Ejemplo 1
```4d
@@ -514,9 +517,10 @@ Este ejemplo ilustra el uso de la propiedad *context*:
+
## .getCount()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -524,15 +528,16 @@ Este ejemplo ilustra el uso de la propiedad *context*:
-**.getCount()**: Integer
-
+**.getCount()** : Integer
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|resultado|Integer|<-|Number of entities in the dataclass|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------- | --------------------------- | ----------------------------------- |
+| resultado | Integer | <- | Número de entidades en la dataclass |
+
@@ -556,9 +561,10 @@ $number:=$ds.Persons.getCount()
+
## .getDataStore()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -566,30 +572,31 @@ $number:=$ds.Persons.getCount()
-**.getDataStore()**: cs.DataStore
-
+**.getDataStore()** : cs.DataStore
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|cs.DataStore|<-|Datastore of the dataclass|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------------------------- | :-------------------------: | ------------------------- |
+| Resultado | cs.DataStore | <- | Datastore de la dataclass |
+
#### Descripción
-La función `.getDataStore()` devuelve el almacén de datos para la clase de datos especificada.
+La función `.getDataStore()` devuelve el datastore para la clase de datos especificada.
El almacén de datos puede ser:
-* el almacén de datos principal, devuelto por el comando `ds`.
-* un almacén de datos remoto, abierto con el comando `Open datastore`.
+- el datastore principal, devuelto por el comando `ds`.
+- un datastore remoto, abierto utilizando el comando `Open datastore`.
#### Ejemplo
-El método de proyecto ***SearchDuplicate*** busca valores duplicados en cualquier clase de datos.
+El método proyecto ***SearchDuplicate*** busca valores duplicados en cualquier clase de datos.
```4d
var $pet : cs.CatsEntity
@@ -611,9 +618,10 @@ El método de proyecto ***SearchDuplicate*** busca valores duplicados en cualqui
+
## .getInfo()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ---------------------------------- |
@@ -624,19 +632,20 @@ El método de proyecto ***SearchDuplicate*** busca valores duplicados en cualqui
**.getInfo()** : Object
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|Resultado|Object|<-|Information on the dataclass|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | --------------------------- | ----------------------------------- |
+| Resultado | Object | <- | Información sobre la clase de datos |
+
#### Descripción
-La función `.getInfo()` devuelve un objeto que ofrece información sobre la clase de datos. Esta función es útil para configurar el código genérico.
+La función `.getInfo()` devuelve un objeto que suministra información sobre la clase de datos. Esta función es útil para configurar el código genérico.
**Objeto devuelto**
@@ -683,13 +692,11 @@ La función `.getInfo()` devuelve
$dataClassAttribute:=ds.Employee[$pk] // Si es necesario, el atributo que coincide con la llave primaria es accesible
```
-
-
## .getRemoteCache()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -697,63 +704,62 @@ La función `.getInfo()` devuelve
-**.getRemoteCache**(): Objeto
-
+**.getRemoteCache**() : Object
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|resultado|Object|<-|Object describing the contents of the ORDA cache for the dataclass.|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | --------------------------- | ----------------------------------------------------------------------------------------- |
+| resultado | Object | <- | Objeto que describe el contenido de la caché ORDA para la clase de datos. |
+
-
-> **Modo avanzado:** esta función está pensada para los desarrolladores que necesitan personalizar las funcionalidades por defecto de ORDA para configuraciones específicas. En la mayoría de los casos, no será necesario utilizarla.
-
+> **Modo avanzado**: esta función está pensada para los desarrolladores que necesitan personalizar las funcionalidades por defecto de ORDA para configuraciones específicas. En la mayoría de los casos, no será necesario utilizarla.
#### Descripción
-La función `.getRemoteCache()` devuelve un objeto que contiene el contenido de la caché ORDA para una clase de datos..
+La función `.setRemoteCacheSettings()` define el tiempo de espera y el tamaño máximo de la caché ORDA para una dataclass..
Llamar a esta función desde una aplicación monopuesto de 4D devuelve `Null`.
El objeto devuelto tiene las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ---------- | ---------- | -------------------------------------------------------------------------------------- |
+| Propiedad | Tipo | Descripción |
+| ---------- | ---------- | ------------------------------------------------------------------------------------------------------ |
| maxEntries | Integer | Número máximo de colecciones "entries". |
| stamp | Integer | Marcador de la caché. |
| timeout | Integer | Tiempo restante antes de que las nuevas entradas de la caché se marquen como vencidas. |
| entries | Collection | Contiene un objeto de entrada para cada entidad en la caché. |
-Cada objeto entrada de la colección `entries<` contiene las siguientes propiedades:
+Cada objeto entrada de la colección `entries` contiene las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| --------- | ------- | -------------------------------------------- |
+| Propiedad | Tipo | Descripción |
+| --------- | ------- | ------------------------------------------------------------ |
| data | Object | Objeto que contiene los datos de la entrada. |
| expired | Boolean | True si la entrada ha expirado. |
| key | Text | Llave primaria de la entidad. |
El objeto `data` de cada entrada contiene las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
-| __KEY | Text | Llave primaria de la entidad |
-| __STAMP | Integer | Stamp de la entidad en la base de datos |
-| __TIMESTAMP | Text | Timestamp de la entidad en la base de datos (el formato es YYYY-MM-DDTHH:MM:SS:ms:Z) |
-| dataClassAttributeName | Variant | Si hay datos en la caché para un atributo de dataclass, se devuelven en una propiedad con el mismo tipo que en la base de datos. |
+| Propiedad | Tipo | Descripción |
+| ----------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| __KEY | Text | Llave primaria de la entidad |
+| __STAMP | Integer | Stamp de la entidad en la base de datos |
+| __TIMESTAMP | Text | Timestamp de la entidad en la base de datos (el formato es YYYY-MM-DDTHH:MM:SS:ms:Z) |
+| dataClassAttributeName | Variant | Si hay datos en la caché para un atributo de dataclass, se devuelven en una propiedad con el mismo tipo que en la base de datos. |
Los datos relativos a las entidades relacionadas se almacenan en la caché del objeto de datos.
#### Ejemplo
-En el siguiente ejemplo, `$ds.Persons.all()` carga la primera entidad con todos sus atributos. A continuación, se activa la optimización de la petición, de modo que sólo se cargan `firstname` and `address.city`.
+En el siguiente ejemplo, `$ds.Persons.all()` carga la primera entidad con todos sus atributos. A continuación, se activa la optimización de la consulta, de modo que sólo se cargan `firstname` y `address.city`.
Tenga en cuenta que `address.city` se carga en la caché de la dataclass `Persons`.
-Sólo la primera entidad de la dataclass `Address` se almacena en la caché. Se carga durante la primera iteración del bucle.
+Sólo se almacena en la caché la primera entidad de la dataclass `Address`. Se carga durante la primera iteración del bucle.
```4d
var $ds : 4D.DataStoreImplementation
@@ -780,9 +786,10 @@ $cacheAddress:=$ds.Adress.getRemoteCache()
[.setRemoteCacheSettings()](#setremotecachesettings)
[.clearRemoteCache()](#clearremotecache)
+
## .new()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -792,13 +799,14 @@ $cacheAddress:=$ds.Adress.getRemoteCache()
**.new()** : 4D.Entity
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|Resultado|4D.Entity|<-|New entity matching the Dataclass|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------------------------- | --------------------------- | ------------------------------------------------ |
+| Resultado | 4D.Entity | <- | Nueva entidad que coincide con la clase de datos |
+
@@ -812,7 +820,7 @@ El objeto entidad se crea en memoria y no se guarda en la base de datos hasta qu
Todos los atributos de la entidad se inicializan con el valor **null**.
-> Los atributos se pueden inicializar con valores por defecto si se selecciona la opción **Traducir los NULL a valores vacío** al nivel de la estructura de la base 4D.
+> Los atributos se pueden inicializar con valores por defecto si se selecciona la opción **Asignar valores NULL a valores en blanco** al nivel de la estructura de la base 4D.
#### Ejemplo
@@ -828,9 +836,10 @@ Este ejemplo crea una nueva entidad en la clase de datos "Log" y registra la inf
+
## .newSelection()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -840,26 +849,27 @@ Este ejemplo crea una nueva entidad en la clase de datos "Log" y registra la inf
**.newSelection**( { *keepOrder* : Integer } ) : 4D.EntitySelection
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|keepOrder |Integer |-> |`dk keep ordered`: crea una selección de entidades ordenada,
`dk non ordered`: crea una selección de entidades desordenada (por defecto si se omitió) |
-|Resultado|4D.EntitySelection|<-|New blank entity selection related to the dataclass|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| keepOrder | Integer | -> | `dk keep ordered`: crea una entity selection ordenada,
`dk non ordered`: crea una entity selection no ordenada (por defecto si se omite) |
+| Resultado | 4D.EntitySelection | <- | Nueva selección de entidades en blanco relacionadas con la clase de datos |
+
#### Descripción
-La función `.newSelection()` crea una nueva selección de entidades en blanco, no compartible, relacionada con la clase de datos, en la memoria.
+La función `.newSelection()` crea una nueva selección de entidades en blanco, no compartible, relacionada con la clase de datos, en memoria.
-> Para obtener información sobre las selecciones de entidades no compartibles, por favor consulte [esta sección](ORDA/entities.md#shareable-or-alterable-entity-selections).
+> Para obtener información sobre las selecciones de entidades no compartibles, consulte [esta sección](ORDA/entities.md#shareable-or-alterable-entity-selections).
-Si quieres crear una selección de entidades ordenada, pase el selector `dk keep ordered` en el parámetro *keepOrder*. Por defecto, si se omite este parámetro, o si se pasa el selector `dk non ordered`, el método crea una selección de entidades no ordenada. Las selecciones de entidades desordenadas son más rápidas pero no se puede confiar en las posiciones de las entidades. Para más información, consulte [Selecciones de entidades ordenadas y desordenadas](ORDA/dsMapping.md#ordered-or-unordered-entity-selection).
+Si desea crear una selección de entidades ordenada, pase el selector `dk keep ordered` en el parámetro *keepOrder*. Por defecto, si se omite este parámetro, o si se pasa el selector `dk non ordered`, el método crea una selección de entidades no ordenada. Las selecciones de entidades desordenadas son más rápidas pero no se puede confiar en las posiciones de las entidades. Para más información, consulte [Selecciones de entidades ordenadas frente a no ordenadas](ORDA/dsMapping.md#ordered-or-unordered-entity-selection).
-Cuando se crea, la selección de entidades no contiene ninguna entidad (`mySelection.length` devuelve 0). Este método le permite crear selecciones de entidades gradualmente haciendo llamadas posteriores a la función [`add()`](EntitySelectionClass.md#add).
+Cuando se crea, la selección de entidades no contiene ninguna entidad (`mySelection.length` devuelve 0). Este método permite construir gradualmente selecciones de entidades haciendo llamadas posteriores a la función [`add()`](EntitySelectionClass.md#add).
#### Ejemplo
@@ -872,9 +882,10 @@ Cuando se crea, la selección de entidades no contiene ninguna entidad (`mySelec
+
## .query()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ------------------------------------------ |
@@ -886,23 +897,24 @@ Cuando se crea, la selección de entidades no contiene ninguna entidad (`mySelec
**.query**( *queryString* : Text { ; *...value* : any } { ; *querySettings* : Object } ) : 4D.EntitySelection
**.query**( *formula* : Object { ; *querySettings* : Object } ) : 4D.EntitySelection
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|queryString |Text |-> |Criterios de búsqueda como cadena|
-|formula |Object |-> |Criterios de búsqueda como objeto fórmula|
-|value|any|->|Valor(es) a utilizar para marcador(es) de posición indexado(s)|
-|querySettings|Object|->Opciones de consulta: parameters, attributes, args, allowFormulas, context, queryPath, queryPlan|
-|Result|4D.EntitySelection|<-|New entity selection made up of entities from dataclass meeting the search criteria specified in *queryString* or *formula*|
+| Parámetros | Tipo | | Descripción |
+| ------------- | ---------------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| queryString | Text | -> | Criterios de búsqueda como cadena |
+| formula | Object | -> | Criterios de búsqueda como objeto fórmula |
+| value | any | -> | Valor(es) a utilizar para los marcadores de posición indexados |
+| querySettings | Object | -> | Opciones de búsqueda: parameters, attributes, args, allowFormulas, context, queryPath, queryPlan |
+| Resultado | 4D.EntitySelection | <- | Nueva selección de entidades formada por las entidades de la clase de datos que cumplen los criterios de búsqueda especificados en *queryString* o *formula* |
+
#### Descripción
-La función `.query()` busca entidades que cumplan los criterios de búsqueda especificados en *queryString* o *formula* y (opcionalmente) *valor*para todas las entidades de la clase de datos, y devuelve un nuevo objeto de tipo `EntitySelection` que contiene todas las entidades encontradas. Se aplica carga diferida.
+La función `.query()` busca las entidades que cumplan con los criterios de búsqueda especificados en *queryString* o *formula* y (opcionalmente) *value*(s), para todas las entidades de la dataclass, y devuelve un nuevo objeto de tipo `EntitySelection` que contiene todas las entidades encontradas. Se aplica carga diferida.
Si no se encuentran entidades coincidentes, se devuelve una `EntitySelection` vacía.
@@ -918,51 +930,57 @@ attributePath|formula comparator value
donde:
-* **attributePath**: ruta del atributo sobre el que se quiere ejecutar la búsqueda. Este parámetro puede ser un nombre simple (por ejemplo, "país") o cualquier ruta de atributo válida (por ejemplo, "país.nombre"). En el caso de una ruta de atributos cuyo tipo sea `Collection`, se utiliza la notación `[]` para tratar todas las ocurrencias (por ejemplo `children[].age`).
-> *No puede utilizar directamente atributos cuyo nombre contenga caracteres especiales como ".", "\[ ]", o "=", ">", "#"..., porque se evaluarán incorrectamente en la cadena de consulta. Si necesita consultar dichos atributos, debe considerar el uso de marcadores, que permiten un rango ampliado de caracteres en las rutas de los atributos (ver* **Uso de marcadores de posición** *a continuación).*
+- **attributePath**: ruta del atributo sobre el que se quiere ejecutar la búsqueda. Este parámetro puede ser un nombre simple (por ejemplo, "país") o cualquier ruta de atributo válida (por ejemplo, "país.nombre"). En el caso de una ruta de atributo cuyo tipo es `Collection`, se utiliza la notación `[]` para manejar todas las ocurrencias (por ejemplo `children[].age`).
+
+> \*No puede utilizar directamente atributos cuyo nombre contenga caracteres especiales como ".", "\[ ]", o "=", ">", "#"..., porque se evaluarán incorrectamente en la cadena de consulta. Si necesita consultar dichos atributos, debe considerar el uso de marcadores de posición, que permiten un rango ampliado de caracteres en las rutas de los atributos (ver **Uso de marcadores de posición** *a continuación*)
-* **formula**: una fórmula válida pasada como `Text` o en `Object`. La fórmula se evaluará para cada entidad procesada y debe devolver un valor booleano. Dentro de la fórmula, la entidad está disponible a través del objeto `This`.
+- **formula**: una fórmula válida pasada como `Text` u `Object`. La fórmula se evaluará para cada entidad procesada y debe devolver un valor booleano. Dentro de la fórmula, la entidad está disponible a través del objeto `This`.
- * **Text**: la cadena de fórmulas debe ir precedida de la declaración `eval( )`, para que el analizador de consultas evalúe la expresión correctamente. Por ejemplo: *"eval(length(This.lastname) >=30)"*
- * **Object**: el [objeto fórmula](FunctionClass.md) se pasa como un **marcador** (ver abajo). La fórmula debe haber sido creada utilizando los comandos [`Formula`](FunctionClass.md#formula) o [`Formula from string`](FunctionClass.md#formula-from-string).
-> * > * > * > * > * > * Keep in mind that 4D formulas only support `&` and `|` symbols as logical operators.
+ - **Text**: the formula string must be preceeded by the `eval( )` statement, so that the query parser evaluates the expression correctly. Por ejemplo: *"eval(length(This.lastname) >=30) "*
+ - **Objeto**: el [objeto fórmula](FunctionClass.md) se pasa como **placeholder** (ver más abajo). La fórmula debe haber sido creada utilizando el comando [`Formula`](FunctionClass.md#formula) o [`Formula from string`](FunctionClass.md#formula-from-string).
+
+> * Tenga en cuenta que las fórmulas 4D sólo admiten los símbolos `&` y `|` como operadores lógicos.
> * Si la fórmula no es el único criterio de búsqueda, el optimizador del motor de búsquedas podría procesar previamente otros criterios (por ejemplo, los atributos indexados) y, por tanto, la fórmula podría evaluarse sólo para un subconjunto de entidades.
- Las fórmulas en las consultas pueden recibir parámetros a través de $1. Este punto se detalla en el párrafo **Parámetro fórmula** más abajo.
-> * También puede pasar directamente un objeto parámetro `formula` en lugar del parámetro `queryString` (recomendado cuando las fórmulas son más complejas). Ver el párrafo **Parámetro fórmula** más abajo.
-> * Por razones de seguridad, las llamadas a fórmulas dentro de las funciones `query()` pueden ser desestimadas. Ver la descripción del parámetro `querySettings`.
-
-* **comparator**: símbolo que compara *attributePath* y *value*. Se soportan los siguientes símbolos:
-
- | Comparación | Símbolo(s) | Comentario |
- | ------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- | Igual a | =, == | Obtiene los datos coincidentes, admite el comodín (@), no distingue entre mayúsculas de minúsculas ni diacríticas. |
- | | ===, IS | Obtiene los datos coincidentes, considera @ como carácter estándar, no distingue entre mayúsculas de minúsculas ni diacríticas |
- | Diferente de | #, != | Soporta el comodín (@). Equivale a "Condición no aplicada en una sentencia" ([ver abajo](#not-equal-to-in-collections)). |
- | | !==, IS NOT | Considera la @ como un caracter estándar |
- | Condición No aplicada a una sentencia | NOT | Los paréntesis son obligatorios cuando se utiliza NOT antes de una instrucción que contiene varios operadores. Equivalente a "No igual a" ([ver abajo](#not-equal-to-in-collections)). |
- | Menor que | < | |
- | Mayor que | > | |
- | Menor o igual que | <= | |
- | Mayor o igual que | >= | |
- | Incluído en | IN | Devuelve los datos iguales a al menos uno de los valores de una colección o de un conjunto de valores, admite el comodín (@) |
- | Contiene palabra clave | % | Las palabras claves pueden utilizarse en atributos de tipo texto o imagen |
-
-* **value**: el valor a comparar con el valor actual de la propiedad de cada entidad en la selección de entidades o elemento en la colección. Puede ser un **marcador** (ver **Uso de marcadores** más adelante) o cualquier expresión que coincida con la propiedad de tipo de datos. Tenga en cuenta que, en caso de discordancia de tipo con tipos escalares (texto, fecha, número...), 4D intentará convertir el tipo **value** en el tipo de datos de atributo siempre que sea posible, para una gestión más fácil de los valores procedentes de Internet. Por ejemplo, si la cadena "v20" se introduce como **value** para comparar con un atributo entero, se convertirá a 20. Al utilizar un valor constante, deben respetarse las siguientes reglas:
- * La constante de tipo **texto** puede pasarse con o sin comillas simples (ver **Uso de comillas** más abajo). Para consultar una cadena dentro de otra cadena (una consulta de tipo "contiene"), utilice el símbolo de comodín (@) en el valor para aislar la cadena a buscar como se muestra en este ejemplo: "@Smith@". Las siguientes palabras claves están prohibidas para las constantes de texto: true, false.
- * Valores constantes de tipo **boolean**: **true** o **false** (Sensible a las mayúsculas y minúsculas).
- * Valores constantes de tipo **numérico**: los decimales se separan con un '.'
- * Constantes de tipo **date**: formato "YYYY-MM-DD"
- * Constantes **null**: utilizando la palabra clave "null" encontrará las propiedades **null** y **undefined**.
- * en el caso de una búsqueda con un comparador IN, el *valor* debe ser una colección, o valores que coincidan con el tipo de la ruta del atributo entre \[ ] separados por comas (para las cadenas, los caracteres `"` deben escaparse con `\`).
-* **logicalOperator**: utilizado para unir condiciones múltiples en la búsqueda (opcional). Puede utilizar uno de los siguientes operadores lógicos (se puede utilizar el nombre o el símbolo):
-
- | Conjunción | Símbolo(s) |
- | ---------- | ----------------------- |
- | AND | &, &&, and |
- | O | |,||, or |
-
-* **order by attributePath**: puede incluir una declaración order by *attributePath* en la búsqueda para que los datos resultantes se ordenen de acuerdo con esa declaración. Puede utilizar varias instrucciones de ordenación, separadas por comas (por ejemplo, ordenación por *attributePath1* desc, *attributePath2* asc). Por defecto, el orden es ascendente. Pase 'desc' para definir un orden descendente y 'asc' para definir un orden ascendente. >Si utiliza esta instrucción, la selección de entidades devuelta es ordenada (para más información, consulte [>Selecciones de entidades ordenadas y no ordenadas](ORDA/dsMapping.md#ordered-or-unordered-entity-selection)).
+Las fórmulas en las consultas pueden recibir parámetros a través de $1. Este punto se detalla en el párrafo **Parámetro fórmula** más abajo.
+
+> - También puede pasar directamente un objeto parámetro `formula` en lugar del parámetro `queryString` (recomendado cuando las fórmulas son más complejas). Vea el párrafo **Parámetros fórmula** abajo.
+> - Por razones de seguridad, las llamadas a fórmulas dentro de las funciones `query()` pueden ser desestimadas. Ver la descripción del parámetro `querySettings`.
+
+- **comparator**: símbolo que compara *attributePath* y *value*. Se soportan los siguientes símbolos:
+
+| Comparación | Símbolo(s) | Comentario |
+| ------------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Igual a | =, == | Obtiene los datos coincidentes, admite el comodín (@), no distingue entre mayúsculas de minúsculas ni diacríticas. |
+| | ===, IS | Obtiene los datos coincidentes, considera @ como carácter estándar, no distingue entre mayúsculas de minúsculas ni diacríticas |
+| Diferente de | #, != | Soporta el comodín (@). Equivale a "Condición no aplicada en una sentencia" ([ver más abajo](#not-equal-to-in-collections)). |
+| | !==, IS NOT | Considera la @ como un caracter estándar |
+| Condición No aplicada a una sentencia | NOT | Los paréntesis son obligatorios cuando se utiliza NOT antes de una instrucción que contiene varios operadores. Equivalente a "Not equal to" ([ver abajo](#not-equal-to-in-collections)). |
+| Menor que | < | |
+| Mayor que | > | |
+| Menor o igual que | <= | |
+| Mayor o igual que | > = | |
+| Incluído en | IN | Devuelve los datos iguales a al menos uno de los valores de una colección o de un conjunto de valores, admite el comodín (@) |
+| Contiene palabra clave | % | Las palabras claves pueden utilizarse en atributos de tipo texto o imagen |
+
+- **value**: the value to compare to the current value of the property of each entity in the entity selection or element in the collection. **value**: el valor a comparar con el valor actual de la propiedad de cada entidad en la selección de entidades. Por ejemplo, si se introduce la cadena "v20" como **value** para comparar con un atributo entero, se convertirá a 20. Por ejemplo, si la cadena "v20" se introduce como **value** para comparar con un atributo entero, se convertirá en 20.
+ Al utilizar un valor constante, deben respetarse las siguientes reglas:
+ - La constante de tipo **texto** puede pasarse con o sin comillas simples (ver **Uso de comillas** más abajo). Para consultar una cadena dentro de otra cadena (una consulta de tipo "contiene"), utilice el símbolo de comodín (@) en el valor para aislar la cadena a buscar como se muestra en este ejemplo: "@Smith@". Las siguientes palabras claves están prohibidas para las constantes de texto: true, false.
+ - Valores constantes de tipo **booleano**: **true** o **false** (Sensible a las mayúsculas y minúsculas).
+ - Valores constantes de **tipo numérico**: los decimales se separan con un '.' (punto).
+ - Constantes de tipo **date**: formato "YYYY-MM-DD"
+ - Constantes **null**: utilizando la palabra clave "null" se encontrarán las propiedades **null** y **undefined**.
+ - en el caso de una búsqueda con un comparador IN, *value* debe ser una colección, o los valores que coincidan con el tipo de la ruta del atributo entre \[ ] separados por comas (para las cadenas, los caracteres `"` deben escaparse con `\`).
+- **logicalOperator**: utilizado para unir condiciones múltiples en la búsqueda (opcional). Puede utilizar uno de los siguientes operadores lógicos (se puede utilizar el nombre o el símbolo):
+
+| Conjunción | Símbolo(s) |
+| ---------- | ----------------------------------------------------------------------------------- |
+| AND | &, &&, and |
+| O | |,||, or |
+
+- **order by attributePath**: puede incluir una declaración order by *attributePath* en la consulta para que los datos resultantes se ordenen según esa declaración. Puede utilizar varias sentencias order by, separadas por comas (por ejemplo, order by *attributePath1* desc, *attributePath2* asc). Por defecto, el orden es ascendente. Pase 'desc' para definir un orden descendente y 'asc' para definir un orden ascendente.
+
+> Si utiliza esta instrucción, la selección de entidades devuelta estará ordenada (para más información, consulte [Selecciones de entidades ordenadas o desordenadas](ORDA/dsMapping.md#ordered-or-unordered-entity-selection)).
#### Utilizar comillas
@@ -971,6 +989,7 @@ Cuando utilice comillas dentro de las consultas, debe utilizar comillas simples
```4d
"employee.name = 'smith' AND employee.firstname = 'john'"
```
+
> Las comillas simples (') no se admiten en los valores buscados, ya que romperían la cadena de búsqueda. Por ejemplo, "comp.name = 'John's pizza' " generará un error. Si necesita buscar en valores con comillas simples, puede considerar el uso de marcadores de posición (ver más abajo).
#### Uso del paréntesis
@@ -983,19 +1002,19 @@ Puede utilizar paréntesis en la búsqueda para dar prioridad al cálculo. Por e
#### Uso de marcadores de posición
-4D le permite utilizar marcadores para los argumentos *attributePath*, *formula* y *value* dentro del parámetro *queryString*. Un marcador es un parámetro que se inserta en las cadenas de búsqueda y que se sustituye por otro valor cuando se evalúa la cadena de búsqueda. El valor de los marcadores de posición se evalúa una sola vez al inicio de la consulta; no se evalúa para cada elemento.
+4D le permite utilizar marcadores de posición para los argumentos *attributePath*, *formula* y *value* en el parámetro *queryString*. Un marcador es un parámetro que se inserta en las cadenas de búsqueda y que se sustituye por otro valor cuando se evalúa la cadena de búsqueda. El valor de los marcadores de posición se evalúa una sola vez al inicio de la consulta; no se evalúa para cada elemento.
-Se pueden utilizar dos tipos de marcadores de posición: **marcadores de posición indexados** y **marcadores con nombre**:
+Se pueden utilizar dos tipos de marcadores de posición: **marcadores de posición indexados** y **marcadores de posición con nombre**:
-| | Marcadores de posición indexados | Nombre del marcador de posición |
-| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Definición | Los parámetros se insertan como `:paramIndex` (por ejemplo :1, :2...) en *queryString* y sus valores correspondientes son suministrados por la secuencia de parámetros *value*. Puede utilizar hasta 128 parámetros *valor* | Los parámetros se insertan como`: paramName` (por ejemplo :myparam) y sus valores se proporcionan en los atributos y/o objetos de parámetros en el parámetro *querySettings* |
-| Ejemplo | `$r:=class.query(":1=:2";"city";"Chicago")` | `$o.attributes:=New object("att";"city")`
`$o.parameters:=New object("name";"Chicago")`
`$r:=class.query(":att=:name";$o)` |
+| | Marcadores de posición indexados | Nombre del marcador de posición |
+| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Definición | Los parámetros se insertan como `:paramIndex` (por ejemplo :1, :2...) en *queryString* y sus valores correspondientes son proporcionados por la secuencia de parámetros *value*. Puede usar hasta 128 parámetros *value* | Los parámetros se insertan como: `:paramName` (por ejemplo :myparam) y sus valores se proporcionan en los atributos y/o objetos de parámetros en el parámetro *querySettings* |
+| Ejemplo | `$r:=class.query(":1=:2";"city";"Chicago")` | `$o.attributes:=New object("att";"city")`
`$o.parameters:=New object("name";"Chicago")`
`$r:=class.query(":att=:name";$o)` |
Puede mezclar todos los tipos de argumentos en *queryString*. Una *queryString* puede contener, para los parámetros *attributePath*, *formula* y *value*:
-* valores directos (sin marcadores),
-* marcadores indexados y/o con nombre.
+- valores directos (sin marcadores),
+- marcadores indexados y/o con nombre.
El uso de marcadores de posición en las búsquedas **se recomienda** por las siguientes razones:
@@ -1003,18 +1022,18 @@ El uso de marcadores de posición en las búsquedas **se recomienda** por las si
```4d
$vquery:="status = 'public' & name = "+myname //el usuario introduce su nombre
- $result:=$col.query($vquery)
+ $result:=$col.query($vquery)
```
- Esta búsqueda parece segura ya que se filtran los datos no públicos. Sin embargo, si el usuario introduce en el área *myname* algo como *"smith OR status='private'*, la cadena de búsqueda se modificaría en la etapa de la interpretación y podría devolver datos privados.
+Esta búsqueda parece segura ya que se filtran los datos no públicos. Sin embargo, si el usuario introduce en el área *myname* algo como *"smith OR status='private'*, la cadena de consulta se modificaría en el paso de interpretación y podría devolver datos privados.
- Cuando se utilizan marcadores de posición, no es posible anular las condiciones de seguridad:
+Cuando se utilizan marcadores de posición, no es posible anular las condiciones de seguridad:
```4d
$result:=$col.query("status='public' & name=:1";myname)
```
- En este caso, si el usuario introduce *smith OR status='private'* en el área *myname*, no se interpretará en la cadena de búsqueda, sino que sólo se pasará como valor. La búsqueda de una persona llamada "smith OR status='private'" simplemente fallará.
+En este caso, si el usuario introduce *smith OR status='private'* en el área *myname*, no se interpretará en la cadena de búsqueda, sino que sólo se pasará como valor. La búsqueda de una persona llamada "smith OR status='private'" simplemente fallará.
2. Evita tener que preocuparse por cuestiones de formato o caracteres, especialmente cuando se manejan los parámetros *attributePath* o *value* que pueden contener caracteres no alfanuméricos como ".", "['...
@@ -1041,22 +1060,21 @@ No obtendrá el resultado esperado porque el valor null será evaluado por 4D co
#### Diferente a valores null o undefined
-El comparador "not equal to *value*" (`#` o `!`) no devuelve atributos cuyo valor es null o indefinido. Por ejemplo, la siguiente consulta solo devolverá personas cuyo estado "info.married" es `false` y no personas cuya propiedad "info.married" es "null" o falta:
+El comparador "no igual a *value*" (`#` o `!=`) no devuelve atributos cuyo valor es null o indefinido. Por ejemplo, la siguiente consulta solo devolverá personas cuyo estado "info.married" es `false` y no personas cuya propiedad "info.married" es "null" o falta:
```4d
$notMarried:=ds.Person.query("info.married#true") //encuentra personas con valor de atributo false
```
-Si desea encontrar personas cuyo estado "info.married" es `false`, null, o no definido, necesita escribir:
+Si desea encontrar personas cuyo estado "info.married" es `false`, null, o indefinido, debe escribir:
```4d
$notMarried:=ds.Person.query("info.married#true | info.married=null") //encuentra atributos false, null e undefined
```
-
#### No igual a en colecciones
-Al buscar dentro de atributos de objetos dataclass que contengan colecciones, el comparador "no igual a *valor*" (`#` o `!=`) encontrará elementos en los que TODAS las propiedades sean diferentes de *valor* (y no aquellos en los que AL MENOS una propiedad sea diferente de *valor*, que es como funcionan otros comparadores). Básicamente, equivale a buscar "Not(buscar elementos de la colección cuya propiedad sea igual a *value*)". Por ejemplo, con las siguientes entidades:
+Al buscar dentro de atributos de objetos de dataclass que contengan las colecciones, el comparador "not equal to *value*" (`#` o `!=`) encontrará los elementos en los que TODAS las propiedades sean diferentes de *value* (y no aquellos en los que AL MENOS una propiedad sea diferente de *value*, que es como funcionan otros comparadores). Básicamente, equivale a buscar "Not(buscar elementos de la colección cuya propiedad sea igual a *value*)". Por ejemplo, con las siguientes entidades:
```
Entity 1:
@@ -1098,7 +1116,7 @@ ds.Class.query("info.coll[].val != :1";0)
ds.Class.query("Not(info.coll[].val = :1)";0)
```
-Si desea implementar una búsqueda que encuentre entidades en las que "al menos una propiedad sea diferente del valor **", deberá utilizar una notación especial utilizando una letra en el `[]`:
+Si desea implementar una búsqueda que encuentre entidades en las que "al menos una propiedad sea diferente del *value*", deberá utilizar una notación especial utilizando una letra en el `[]`:
```4d
ds.Class.query("info.coll[a].val != :1";0)
@@ -1108,12 +1126,11 @@ ds.Class.query("info.coll[a].val != :1";0)
Puede utilizar cualquier letra del alfabeto como notación `[a]`.
-
### Vinculación de los argumentos de búsqueda y los atributos de colección
:::info
-Esta funcionalidad sólo está disponible en las búsquedas en clases de datos y en las [selecciones de entidades](EntitySelectionClass.md#query). No se puede utilizar en las búsquedas en [colecciones](CollectionClass.md#query).
+This feature is only available in queries on dataclasses and [entity selections](EntitySelectionClass.md#query). It cannot be used in queries on [collections](CollectionClass.md#query).
:::
@@ -1150,10 +1167,10 @@ ds.People.query("places.locations[].kind= :1 and places.locations[].city= :2";"h
... la búsqueda devolverá "martin" **y** "smith" porque "smith" tiene un elemento "locations" cuyo "tipo" es "home" y un elemento "locations" cuya "ciudad" es "paris", aunque sean elementos diferentes.
-Si quiere obtener sólo las entidades en las que los argumentos correspondientes están en el mismo elemento de colección, necesita **enlazar los argumentos**. Para enlazar los argumentos de búsqueda:
+Si quiere obtener sólo las entidades en las que los argumentos correspondientes están en el mismo elemento de colección, necesita enlazar **los argumentos**. Para enlazar los argumentos de búsqueda:
-* Añada una letra entre los \[] en la primera ruta a enlazar y repita la misma letra en todos los argumentos enlazados. Por ejemplo: `locations[a].city and locations[a].kind`. Puede utilizar cualquier letra del alfabeto latino (no diferencia entre mayúsculas y minúsculas).
-* Para añadir diferentes criterios vinculados en la misma consulta, utilice otra letra. Puede crear hasta 26 combinaciones de criterios en una sola consulta.
+- Añada una letra entre los \[] en la primera ruta a enlazar y repita la misma letra en todos los argumentos enlazados. Por ejemplo: `locations[a].city y locations[a].kind`. Puede utilizar cualquier letra del alfabeto latino (no diferencia entre mayúsculas y minúsculas).
+- Para añadir diferentes criterios vinculados en la misma consulta, utilice otra letra. Puede crear hasta 26 combinaciones de criterios en una sola consulta.
Con las entidades anteriores, si escribe:
@@ -1163,8 +1180,6 @@ ds.People.query("places.locations[a].kind= :1 and places.locations[a].city= :2";
... la búsqueda sólo devolverá "martin" porque tiene un elemento "locations" cuyo "kind" es "home" y cuyo "city" es "paris". La búsqueda no devolverá "smith" porque los valores "home" y "paris" no están en el mismo elemento de colección.
-
-
#### Búsquedas en las relaciones Muchos a Muchos
ORDA ofrece una sintaxis especial para facilitar las consultas en las relaciones de muchos a muchos. En este contexto, puede ser necesario buscar diferentes valores con un operador `AND` PERO en el mismo atributo. Por ejemplo, de una mirada a la siguiente estructura:
@@ -1181,13 +1196,13 @@ $es:=ds.Movie.query("roles.actor.lastName = :1 AND roles.actor.lastName = :2";"H
Básicamente, el problema está relacionado con la lógica interna de la búsqueda: no se puede buscar un atributo cuyo valor sea tanto "A" como "B".
-Para poder realizar este tipo de búsqueda, ORDA permite una sintaxis especial: basta con añadir un *class index* entre **{}** en todos los atributos relacionales adicionales utilizados en la cadena:
+Para poder realizar este tipo de consultas, ORDA permite una sintaxis especial: basta con añadir un *índice de clase* entre **{}** en todos los atributos de relación adicionales utilizados en la cadena de búsqueda:
```4d
"relationAttribute.attribute = :1 AND relationAttribute{x}.attribute = :2 [AND relationAttribute{y}.attribute...]"
```
-**{x}** indica a ORDA que cree otra referencia para el atributo relacional. A continuación, realizará todas las operaciones de mapa de bits internas necesarias. Tenga en cuenta que **x** puede ser todo número **excepto 0**: {1}, o {2}, o {1540}... ORDA sólo necesita una referencia única en la búsqueda para cada clase índice.
+**{x}** indica a ORDA que cree otra referencia para el atributo relacional. A continuación, realizará todas las operaciones de mapa de bits internas necesarias. Tenga en cuenta que **x** puede ser cualquier número **excepto 0**: {1}, o {2}, o {1540}... ORDA sólo necesita una referencia única en la búsqueda para cada clase índice.
En nuestro ejemplo, sería:
@@ -1197,25 +1212,24 @@ $es:=ds.Movie.query("roles.actor.lastName = :1 AND roles.actor{2}.lastName = :2"
// $es contient des films (You've Got Mail, Sleepless in Seattle, Joe Versus the Volcano)
```
-
-
#### parámetro formula
Como alternativa a la inserción de fórmulas dentro del parámetro *queryString* (ver arriba), puede pasar directamente un objeto fórmula como criterio de búsqueda booleano. La utilización de un objeto fórmula para las búsquedas es **recomendada** ya que se beneficia de la tokenización, y el código es más fácil de buscar/leer.
-La fórmula debe haber sido creada utilizando los comandos [`Formula`](FunctionClass.md#formula) o [`Formula from string`](FunctionClass.md#formula-from-string). En este caso:
+La fórmula debe haber sido creada utilizando el comando [`Formula`](FunctionClass.md#formula) o [`Formula from string`](FunctionClass.md#formula-from-string). En este caso:
+
+- *formula* se evalúa para cada entidad y debe devolver true o false. Durante la ejecución de la búsqueda, si el resultado de la fórmula no es un booleano, se considera como false.
+- dentro de la *formula*, la entidad está disponible a través del objeto `This`.
+- if the `Formula` object is **null**, the error 1626 ("Expecting a text or formula") is generated, that you can intercept using a method installed with `ON ERR CALL`.
-* *fórmula* se evalúa para cada entidad y debe devolver true o false. Durante la ejecución de la búsqueda, si el resultado de la fórmula no es un booleano, se considera como false.
-* dentro de la *fórmula*, la entidad está disponible a través del objeto `This`.
-* si el objeto `Formula` es **null**, se genera el error 1626 ("Esperando un texto o una fórmula"), que puede interceptar utilizando un método instalado con `ON ERR CALL`.
> Por razones de seguridad, las llamadas a fórmulas dentro de las funciones `query()` pueden ser desestimadas. Ver la descripción del parámetro *querySettings*.
#### Pasar parámetros a fórmulas
-Todo parámetro *formula* llamado por la función `query()` puede recibir parámetros:
+Toda *formula* llamada por la función `query()` puede recibir los parámetros:
-* Los parámetros deben pasarse a través de la propiedad **args** (objeto) del parámetro *querySettings*.
-* La fórmula recibe este objeto **args** como parámetro **$1**.
+- Los parámetros deben pasarse a través de la propiedad **args** (objeto) del parámetro *querySettings*.
+- La fórmula recibe este objeto **args** como parámetro **$1**.
Este pequeño código muestra los principios de cómo se pasan los parámetros a los métodos:
@@ -1226,21 +1240,21 @@ Este pequeño código muestra los principios de cómo se pasan los parámetros a
En el ejemplo 3 se ofrecen más ejemplos.
-**4D Server**: en cliente/servidor, las fórmulas se ejecutan en el servidor. En este contexto, sólo se envía a las fórmulas el objeto `querySettings.args`.
+**4D Server**: en cliente/servidor, las fórmulas se ejecutan en el servidor. En este contexto, sólo el objeto `querySettings.args` se envía a las fórmulas.
#### Parámetro querySettings
En el parámetro *querySettings* se puede pasar un objeto que contenga opciones adicionales. Se soportan las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| parameters | Object | **Marcadores nombrados para los valores** utilizados en *queryString* o *formula*. Los valores se expresan como pares propiedad / valor, donde propiedad es el nombre del marcador de posición insertado para un valor en *queryString* o *formula* (":placeholder") y valor es el valor a comparar. Puede combinar marcadores de posición indexados (valores pasados directamente en parámetros de valor) y valores de marcadores de posición con nombre en la misma búsqueda. |
-| attributes | Object | **attributePath**: path of attribute on which you want to execute the query. Los atributos se expresan como pares propiedad / valor, donde propiedad es el nombre del marcador de posición insertado para una ruta de atributo en *queryString* o *formula* (":placeholder") y valor puede ser una cadena o una colección de cadenas. Cada valor es una ruta que puede designar un escalar o un atributo relacionado de la dataclass o una propiedad en un campo de objeto de la dataclassTipo Descripción String attributePath expresado con la notación de puntos, por ejemplo: "name" o "user.address.zipCode" Colección de cadenas Cada cadena de la colección representa un nivel de attributePath, por ejemplo: \["name"] o \["user","address","zipCode"]. El uso de una colección permite consultar atributos con nombres que no se ajustan a la notación de puntos, por ejemplo, ["4Dv17.1", "en/fr"]
Puede combinar marcadores de posición indexados (valores pasados directamente en los parámetros *value*) y los valores de marcadores de posición con nombre en la misma búsqueda. |
-| args | Object | Parámetro(s) a pasar a las fórmulas, si las hay. El objeto **args** se recibirá en $1 dentro de las fórmulas y, por tanto, sus valores estarán disponibles a través de *$1.property* (ver ejemplo 3). |
-| allowFormulas | Boolean | True para permitir las llamadas de fórmulas en la búsqueda (por defecto). Pase false para desautorizar la ejecución de fórmulas. Si se establece como false y `query()` recibe una fórmula, se envía un error (1278 - Fórmula no permitida en este método miembro). |
-| context | Text | Etiqueta para el contexto de optimización automática aplicado a la entity selection. Este contexto será utilizado por el código que maneja la selección de entidades para que pueda beneficiarse de la optimización. Esta funcionalidad está diseñada para el procesamiento cliente/servidor; para más información, consulte la sección [**Optimización cliente/servidor**](../ORDA/remoteDatastores.md#context). |
-| queryPlan | Boolean | En la entity selection resultante, devuelve o no la descripción detallada de la búsqueda justo antes de que se ejecute, es decir, la búsqueda planificada. La propiedad devuelta es un objeto que incluye cada búsqueda y sub búsqueda prevista (en el caso de una búsqueda compleja). Esta opción es útil durante la fase de desarrollo de una aplicación. Suele utilizarse junto con queryPath. Por defecto si se omite: false. **Nota**: esta propiedad sólo la soportan las funciones `entitySelection.query()` y `dataClass.query()`. |
-| queryPath | Boolean | En la entity selection resultante, devuelve o no la descripción detallada de la búsqueda tal cual es realizada. La propiedad devuelta es un objeto que contiene la ruta utilizada para la búsqueda (normalmente idéntica a la de queryPlan, pero puede diferir si el motor consigue optimizar la búsqueda), así como el tiempo de procesamiento y el número de registros encontrados. Esta opción es útil durante la fase de desarrollo de una aplicación. Por defecto si se omite: false. **Nota**: esta propiedad sólo la soportan las funciones `entitySelection.query()` y `dataClass.query()`. |
+| Propiedad | Tipo | Descripción |
+| ------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| parameters | Object | **Marcadores de posición con nombre para los valores** utilizados en *queryString* o *formula*. Los valores se expresan como pares propiedad / valor, donde propiedad es el nombre del marcador de posición insertado para un valor en *queryString* o *formula* (":placeholder") y valor es el valor a comparar. Puede combinar marcadores de posición indexados (valores pasados directamente en parámetros de valor) y valores de marcadores de posición con nombre en la misma búsqueda. |
+| attributes | Object | **Marcadores de posición con nombre para rutas de atributos** utilizados en *queryString* o *formula*. Los atributos se expresan como pares propiedad / valor, donde propiedad es el nombre del marcador de posición insertado para una ruta de atributo en *queryString* o *formula* (":placeholder") y valor puede ser una cadena o una colección de cadenas. Cada valor es una ruta que puede designar un escalar o un atributo relacionado de la clase de datos o una propiedad en un campo objeto de la clase de datosTipo de datos Descripción Cadena attributePath expresado utilizando la notación de puntos, por ejemplo "name" o "user.address.zipCode" Colección de cadenas Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. El uso de una colección permite realizar consultas sobre atributos con nombres que no se ajustan a la notación de puntos, por ejemplo, \["4Dv17.1", "en/fr"]
Puede mezclar marcadores de posición indexados (valores pasados directamente en parámetros *value*) y valores de marcador de posición con nombre en la misma consulta. |
+| args | Object | Parámetro(s) a pasar a las fórmulas, si las hay. El objeto **args** se recibirá en $1 dentro de las fórmulas y, por tanto, sus valores estarán disponibles a través de *$1.property* (ver el ejemplo 3). |
+| allowFormulas | Boolean | True para permitir las llamadas de fórmulas en la búsqueda (por defecto). Pase false para desautorizar la ejecución de fórmulas. Si se define como false y `query()` recibe una fórmula, se envía un error (1278 - Fórmula no autorizada en este método miembro). |
+| context | Text | Etiqueta para el contexto de optimización automática aplicado a la entity selection. Este contexto será utilizado por el código que maneja la selección de entidades para que pueda beneficiarse de la optimización. Esta funcionalidad está diseñada para el procesamiento cliente/servidor; para más información, consulte la sección [**Optimización cliente/servidor**](../ORDA/remoteDatastores.md#context). |
+| queryPlan | Boolean | En la entity selection resultante, devuelve o no la descripción detallada de la búsqueda justo antes de que se ejecute, es decir, la búsqueda planificada. La propiedad devuelta es un objeto que incluye cada búsqueda y sub búsqueda prevista (en el caso de una búsqueda compleja). Esta opción es útil durante la fase de desarrollo de una aplicación. Suele utilizarse junto con queryPath. Por defecto si se omite: false. **Note**: This property is supported only by the `entitySelection.query()` and `dataClass.query()` functions. |
+| queryPath | Boolean | En la entity selection resultante, devuelve o no la descripción detallada de la búsqueda tal cual es realizada. La propiedad devuelta es un objeto que contiene la ruta utilizada para la búsqueda (normalmente idéntica a la de queryPlan, pero puede diferir si el motor consigue optimizar la búsqueda), así como el tiempo de procesamiento y el número de registros encontrados. Esta opción es útil durante la fase de desarrollo de una aplicación. Por defecto si se omite: false. **Note**: This property is supported only by the `entitySelection.query()` and `dataClass.query()` functions. |
#### Sobre queryPlan y queryPath
@@ -1257,9 +1271,9 @@ queryPlan:
```4d
{Or:[{And:[{item:[index : Employee.salary ] < 50000},
- {item:Join on Table : Company : Employee.employerID = Company. ID,
+ {item:Join on Table : Company : Employee.employerID = Company.ID,
subquery:[{item:[index : Company.name ] = Lima West Kilo}]}]},
- {item:Join on Table : Company : Employee.employerID = Company. ID,
+ {item:Join on Table : Company : Employee.employerID = Company.ID,
subquery:[{item:[index : Company.revenues ] > 10000000}]}]}
```
@@ -1268,8 +1282,8 @@ queryPath:
```4d
{steps:[{description:OR,time:63,recordsfounds:1388132,
steps:[{description:AND,time:32,recordsfounds:131,
- steps:[{description:[index : Employee.salary ] < 50000,time:16,recordsfounds:728260},{description:Join on Table : Company : Employee.employerID = Company. ID,time:0,recordsfounds:131,
- steps:[{steps:[{description:[index : Company.name ] = Lima West Kilo,time:0,recordsfounds:1}]}]}]},{description:Join on Table : Company : Employee.employerID = Company. ID,time:31,recordsfounds:1388132,
+ steps:[{description:[index : Employee.salary ] < 50000,time:16,recordsfounds:728260},{description:Join on Table : Company : Employee.employerID = Company.ID,time:0,recordsfounds:131,
+ steps:[{steps:[{description:[index : Company.name ] = Lima West Kilo,time:0,recordsfounds:1}]}]}]},{description:Join on Table : Company : Employee.employerID = Company.ID,time:31,recordsfounds:1388132,
steps:[{steps:[{description:[index : Company.revenues ] > 10000000,time:0,recordsfounds:933}]}]}]}]}
```
@@ -1454,7 +1468,6 @@ Búsqueda con marcadores de posición con nombre para los atributos:
Búsqueda con marcadores de posición con nombre para los atributos y los valores:
-
```4d
var $querySettings : Object
var $es : cs.EmployeeSelection
@@ -1553,12 +1566,13 @@ Queremos desautorizar las fórmulas, por ejemplo, cuando el usuario introduce su
#### Ver también
-[`.query()`](EntitySelectionClass.md#query) para selecciones de entidades
+[`.query()`](EntitySelectionClass.md#query) para las selecciones de entidades
+
## .setRemoteCacheSettings()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1568,34 +1582,35 @@ Queremos desautorizar las fórmulas, por ejemplo, cuando el usuario introduce su
**.setRemoteCacheSettings**(*settings* : Object)
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|settings|Object|->|Objeto que define el tiempo de espera y el tamaño máximo de la caché ORDA para el nivel de datos.|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | -- | ------------------------------------------------------------------------------------------------------------ |
+| settings | Object | -> | Objeto que define el tiempo de espera y el tamaño máximo de la caché ORDA para el dataclass. |
+
-> **Modo avanzado:** esta función está pensada para los desarrolladores que necesitan personalizar las funcionalidades por defecto de ORDA para configuraciones específicas. En la mayoría de los casos, no será necesario utilizarla.
+> **Modo avanzado**: esta función está pensada para los desarrolladores que necesitan personalizar las funcionalidades por defecto de ORDA para configuraciones específicas. En la mayoría de los casos, no será necesario utilizarla.
#### Descripción
-La función `.setRemoteCacheSettings()` define el tiempo de espera y el tamaño máximo de la caché ORDA para una clase de datos..
+La función `.getRemoteCache()` devuelve un objeto que contiene el contenido de la caché ORDA para una clase de datos..
En el parámetro *settings*, pase un objeto con las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ---------- | ------- | ----------------------------- |
+| Propiedad | Tipo | Descripción |
+| ---------- | ------- | --------------------------------------------- |
| timeout | Integer | Tiempo de espera en segundos. |
| maxEntries | Integer | Número máximo de entidades. |
`timeout` define el tiempo de espera de la caché ORDA para la dataclass (por defecto es 30 segundos). Una vez transcurrido el tiempo de espera, las entidades de la dataclass en la caché son consideradas como vencidas. Esto significa que:
-* los datos siguen estando ahí
-* la próxima vez que se necesiten los datos, se le pedirán al servidor
-* 4D elimina automáticamente los datos caducados cuando se alcanza el número máximo de entidades
+- los datos siguen estando ahí
+- la próxima vez que se necesiten los datos, se le pedirán al servidor
+- 4D elimina automáticamente los datos caducados cuando se alcanza el número máximo de entidades
Definir la propiedad `timeout` define un nuevo timeout para las entidades ya presentes en la caché. Es útil cuando se trabaja con los datos que no cambian con mucha frecuencia y, por tanto, cuando no son necesarias nuevas peticiones al servidor.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md
index 2accede2436444..65d71f66936b8f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md
@@ -5,36 +5,36 @@ title: DataStore
Un [Datastore](ORDA/dsMapping.md#datastore) es el objeto de interfaz suministrado por ORDA para referenciar y acceder a una base de datos. Los objetos `Datastore` son devueltos por los siguientes comandos:
-* [ds](#ds): un acceso directo al almacén de datos principal
-* [Open datastore](#open-datastore): para abrir todo almacén de datos remoto
+- [ds](#ds): un acceso directo al datastore principal
+- [Open datastore](#open-datastore): para abrir cualquier datastore remoto
### Resumen
-| |
-| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [](#canceltransaction) |
-| [](#clearallremotecontexts) |
-| [](#dataclassname) |
-| [](#encryptionstatus) |
-| [](#flushandlock) |
-| [](#getallremotecontexts) |
-| [](#getinfo) |
-| [](#getremotecontextinfo) |
-| [](#getrequestlog) |
-| [](#locked) |
+| |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [](#canceltransaction) |
+| [](#clearallremotecontexts) |
+| [](#dataclassname) |
+| [](#encryptionstatus) |
+| [](#flushandlock) |
+| [](#getallremotecontexts) |
+| [](#getinfo) |
+| [](#getremotecontextinfo) |
+| [](#getrequestlog) |
+| [](#locked) |
| [](#makeselectionsalterable) |
-| [](#providedatakey) |
-| [](#setadminprotection) |
-| [](#setremotecontextinfo) |
-| [](#startrequestlog) |
-| [](#starttransaction) |
-| [](#stoprequestlog) |
-| [](#unlock) |
-| [](#validatetransaction) |
+| [](#providedatakey) |
+| [](#setadminprotection) |
+| [](#setremotecontextinfo) |
+| [](#startrequestlog) |
+| [](#starttransaction) |
+| [](#stoprequestlog) |
+| [](#unlock) |
+| [](#validatetransaction) |
## ds
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ----------------------------- |
@@ -45,14 +45,15 @@ Un [Datastore](ORDA/dsMapping.md#datastore) es el objeto de interfaz suministrad
**ds** { ( *localID* : Text ) } : cs.DataStore
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|localID|Text|->|ID local del datastore remoto a devolver|
-|Result |cs.DataStore|<-|Reference to the datastore|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------------------------- | --------------------------- | ----------------------------------------------- |
+| localID | Text | -> | ID local del almacén de datos remoto a devolver |
+| Resultado | cs.DataStore | <- | Referencia al almacén de datos |
+
@@ -62,12 +63,13 @@ El comando `ds` devuelve una referencia al alm
Si se omite el parámetro *localID* (o se pasa una cadena vacía ""), el comando devuelve una referencia al almacén de datos que coincide con la base de datos local de 4D (o la base de datos de 4D Server en caso de abrir una base de datos remota en 4D Server). El almacén de datos se abre automáticamente y está disponible directamente a través de `ds`.
-También puede obtener una referencia en un datastore remoto abierto pasando su id local en el parámetro *localID*. El almacén de datos debe haber sido abierto previamente con el comando [`Open datastore`](#open-datastore) por la base de datos actual (local o componente). La identificación local se define cuando se utiliza este comando.
+También puede obtener una referencia en un datastore remoto abierto pasando su id local en el parámetro *localID*. El datastore debe haber sido previamente abierto con el comando [`Open datastore`](#open-datastore) por la base de datos actual (host o componente). La identificación local se define cuando se utiliza este comando.
+
> El alcance del id local es la base de datos en la que se ha abierto el almacén de datos.
-Si no se encuentra ningún almacén de datos *localID*, el comando devuelve **Null**.
+Si no se encuentra ningún datastore *localID*, el comando devuelve **Null**.
-Objetos disponibles en `cs.Datastore` se mapean desde la base de datos de destino con respecto a las [reglas generales ORDA](ORDA/dsMapping.md#general-rules).
+Los objetos disponibles en el `cs.Datastore` son creados apartir de la base de datos objetivo en función de las [reglas generales ORDA](ORDA/dsMapping.md#reglas-generales).
#### Ejemplo 1
@@ -96,8 +98,8 @@ Utilizando el almacén de datos principal de la base 4D:
```
```4d
- //getFirst method
- //getFirst(localID;dataclass) -> entity
+ //método getFirst
+ //getFirst(localID;dataclass) -> entidad
#DECLARE( $localId : Text; $dataClassName : Text ) -> $entity : 4D.Entity
$0:=ds($localId)[$dataClassName].all().first()
@@ -105,44 +107,45 @@ Utilizando el almacén de datos principal de la base 4D:
## Open datastore
-Histórico
+Historia
-| Lanzamiento | Modificaciones |
-| ----------- | ----------------------------------- |
-| 20.3 | Nueva propiedad *passwordAlgorithm* |
-| 18 | Añadidos |
+| Lanzamiento | Modificaciones |
+| -------------------- | ----------------------------------- |
+| 20.3 | Nueva propiedad *passwordAlgorithm* |
+| 18 | Añadidos |
**Open datastore**( *connectionInfo* : Object ; *localID* : Text ) : 4D.DataStoreImplementation
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|connectionInfo|Object|->|Propiedades de conexión utilizadas para llegar al datastore remoto|
-|localID |Text|->|Id para asignar al datastore abierto en la aplicación local (obligatorio)|
-|Resultado |4D.DataStoreImplementation|<-|Datastore object|
+| Parámetros | Tipo | | Descripción |
+| -------------- | ------------------------------------------ | --------------------------- | --------------------------------------------------------------------------------------------------- |
+| connectionInfo | Object | -> | Propiedades de conexión utilizadas para alcanzar el almacén de datos remoto |
+| localID | Text | -> | Id para asignar al almacén de datos abierto en la aplicación local (obligatorio) |
+| Resultado | 4D.DataStoreImplementation | <- | Objeto del almacén de datos |
+
#### Descripción
-El comando `Open datastore` conecta la aplicación a la base de datos 4D identificada por el parámetro *connectionInfo* y devuelve un objeto `4D.DataStoreImplementation` coincidente asociado al alias local *localID*.
+The `Open datastore` command connects the application to the 4D database identified by the *connectionInfo* parameter and returns a matching `4D.DataStoreImplementation` object associated with the *localID* local alias.
La base de datos *connectionInfo* 4D debe estar disponible como almacén de datos remoto, es decir:
-* su servidor web debe ser lanzado con http y/o https activado,
-* su opción [**Exponer como servidor REST**](REST/configuration.md#starting-the-rest-server) debe estar marcada,
-* se dispone de al menos una licencia cliente.
+- su servidor web debe ser lanzado con http y/o https activado,
+- its [**Expose as REST server**](REST/configuration.md#starting-the-rest-server) option must be checked,
+- se dispone de al menos una licencia cliente.
Si no se encuentra ninguna base de datos coincidente, `Open datastore` devuelve **Null**.
*localID* es un alias local para la sesión abierta en el almacén de datos remoto. Si *localID* ya existe en la aplicación, se utiliza. En caso contrario, se crea una nueva sesión *localID* cuando se utiliza el objeto datastore.
-Los objetos disponibles en `4D.DataStoreImplementation` se mapean desde la base de datos de destino con respecto a las [reglas generales de ORDA](ORDA/dsMapping.md#general-rules).
+Objects available in the `4D.DataStoreImplementation` are mapped from the target database with respect to the [ORDA general rules](ORDA/dsMapping.md#general-rules).
Una vez abierta la sesión, las siguientes sentencias son equivalentes y devuelven una referencia sobre el mismo objeto datastore:
@@ -154,21 +157,21 @@ Una vez abierta la sesión, las siguientes sentencias son equivalentes y devuelv
Pase en *connectionInfo* un objeto que describa el almacén de datos remoto al que desea conectarse. Puede contener las siguientes propiedades (todas las propiedades son opcionales excepto *hostname*):
-| Propiedad | Tipo | Descripción |
-| ----------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| hostname | Text | Nombre o dirección IP de la base de datos remota + ":" + número de puerto (el número de puerto es obligatorio) |
-| user | Text | Nombre de usuario |
-| contraseña | Text | Contraseña del usuario. Por defecto, la contraseña se envía en claro, por lo que es **muy recomendable** utilizar comunicaciones cifradas pasando `true` en la propiedad `tls`. |
+| Propiedad | Tipo | Descripción |
+| ----------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| hostname | Text | Nombre o dirección IP de la base de datos remota + ":" + número de puerto (el número de puerto es obligatorio) |
+| user | Text | Nombre de usuario |
+| contraseña | Text | Contraseña del usuario. Por defecto, la contraseña se envía en claro, por lo que es **fuertemente recomendable** utilizar comunicaciones cifradas pasando `true` en la propiedad `tls`. |
| idleTimeout | Integer | Tiempo de espera de la sesión de inactividad (en minutos), después del cual la sesión es cerrada automáticamente por 4D. Si se omite, el valor por defecto es 60 (1h). El valor no puede ser < 60 (si se pasa un valor inferior, el tiempo de espera se establece en 60). Para más información, consulte **Cierre de sesiones**. |
-| tls | Boolean | Utilice una conexión segura(*). Si se omite, es false por defecto. Se recomienda utilizar una conexión segura siempre que sea posible. |
-| passwordAlgorithm | Text | Pasa "4d-rest-digest" si el servidor valida la contraseña utilizando el comando [`Validate password`](https://doc.4d.com/4dv20/help/command/en/page638.html) con el parámetro *digest* definido en `true`. |
-| type | Text | Debe ser "4D Server" |
+| tls | Boolean | Utilice una conexión segura(\*). Si se omite, es false por defecto. Se recomienda utilizar una conexión segura siempre que sea posible. |
+| passwordAlgorithm | Text | Pasa "4d-rest-digest" si el servidor valida la contraseña utilizando el comando [`Validate password`](https://doc.4d.com/4dv20/help/command/en/page638.html) con el parámetro *digest* definido en `true`. |
+| type | Text | Debe ser "4D Server" |
-(*) Si tls es true, se utiliza el protocolo HTTPS si:
+(\*) Si tls es true, se utiliza el protocolo HTTPS si:
-* HTTPS está activado en el almacén de datos remoto
-* el número de puerto especificado coincide con el puerto HTTPS configurado en los ajustes de la base de datos
-* un certificado válido y una llave privada de encriptación están instalados en la base de datos. En caso contrario, se produce el error "1610 - Una solicitud remota al host xxx ha fallado"
+- HTTPS está activado en el almacén de datos remoto
+- el número de puerto especificado coincide con el puerto HTTPS configurado en los ajustes de la base de datos
+- un certificado válido y una llave privada de encriptación están instalados en la base de datos. En caso contrario, se produce el error "1610 - Una solicitud remota al host xxx ha fallado"
#### Ejemplo 1
@@ -215,9 +218,10 @@ Trabajar con varios almacenes de datos remotos:
En caso de error, el comando devuelve **Null**. Si no se puede acceder al almacén de datos remoto (dirección incorrecta, servidor web no iniciado, http y https no habilitados...), se produce el error 1610 "Ha fallado una petición remota al host XXX". Puede interceptar este error con un método instalado por `ON ERR CALL`.
+
## *.dataclassName*
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -229,7 +233,7 @@ En caso de error, el comando devuelve **Null**. Si no se puede acceder al almac
#### Descripción
-Cada clase de datos de un almacén de datos está disponible como una propiedad del objeto [DataStore](ORDA/dsMapping.md#datastore)data. El objeto devuelto contiene una descripción de la dataclass.
+Cada dataclass en un datastore está disponible como propiedad del objeto [DataStore](ORDA/dsMapping.md#datastore). El objeto devuelto contiene una descripción de la clase de datos.
#### Ejemplo
@@ -249,7 +253,7 @@ Cada clase de datos de un almacén de datos está disponible como una propiedad
## .cancelTransaction()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -259,19 +263,20 @@ Cada clase de datos de un almacén de datos está disponible como una propiedad
**.cancelTransaction()**
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-||||No requiere ningún parámetro|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-: | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
#### Descripción
-La función `.cancelTransaction()` cancela la transacción abierto por la función [`.startTransaction()`](#starttransaction) en el nivel correspondiente del proceso actual para el almacén de datos especificado.
+La función `.cancelTransaction()` cancela la transacción abierta por la función [`.startTransaction()`](#starttransaction) en el nivel correspondiente en el proceso actual para el datastore especificado.
La función `.cancelTransaction()` cancela cualquier cambio realizado en los datos durante la transacción.
@@ -279,13 +284,13 @@ Puede anidar varias transacciones (subtransacciones). Si se cancela la transacci
#### Ejemplo
-Ver el ejemplo de la función [`.startTransaction()`](#starttransaction).
+Ver el ejemplo de la función [`.startTransaction() `](#starttransaction).
## .clearAllRemoteContexts()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -295,32 +300,34 @@ Ver el ejemplo de la función [`.startTransaction()`](#starttransaction).
**.clearAllRemoteContexts()**
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-||||No requiere ningún parámetro|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-: | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
#### Descripción
-La función `.clearAllRemoteContexts()` borra todos los atributos de todos los contextos activos en el almacén de datos.
+La función `.clearAllRemoteContexts()` borra todos los atributos de todos los contextos activos en el datastore.
Esta función se utiliza principalmente en el contexto de la depuración. Una cosa a tener en cuenta es que cuando se abre el depurador, éste envía peticiones al servidor y consulta todos los atributos de la clase de datos para mostrarlos. Esto puede sobrecargar sus contextos con datos innecesarios.
-En estos casos, puede utilizar `.clearAllRemoteContexts()` para reinicializar sus contextos.
+En estos casos, puedes utilizar `.clearAllRemoteContexts()` para borrar sus contextos y mantenerlos limpios.
#### Ver también
[.getRemoteContextInfo()](#getremotecontextinfo)
[.getAllRemoteContexts()](#getallremotecontexts)
[.setRemoteContextInfo()](#setremotecontextinfo)
+
## .encryptionStatus()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -330,41 +337,43 @@ En estos casos, puede utilizar `.clearAllRemoteContexts()` para reinicializar su
**.encryptionStatus()**: Object
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|Object|<-|Information about the encryption of the current datastore and of each table|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-------------------------: | ------------------------------------------------------------------------ |
+| Resultado | Object | <- | Información sobre el cifrado del almacén de datos actual y de cada tabla |
+
#### Descripción
-La función `.encryptionStatus()` devuelve un objeto que indica el estado de encriptación del archivo de datos actual (es decir, el archivo de datos del almacén de datos `ds`). También se proporciona el estado de cada tabla.
+La función `.encryptionStatus()` devuelve un objeto que suministra el estado de cifrado del archivo de datos actual (es decir, el archivo de datos del datastore `ds`). También se proporciona el estado de cada tabla.
+
> Utilice el comando `Data file encryption status` para determinar el estado de encriptación de cualquier otro archivo de datos.
**Valor devuelto**
El objeto devuelto contiene las siguientes propiedades:
-| Propiedad | | | Tipo | Descripción |
-| ----------- | ----------- | ------------- | ------- | ---------------------------------------------------------------------------------------------------- |
-| isEncrypted | | | Boolean | True si el archivo de datos está encriptado |
-| keyProvided | | | Boolean | True si se proporciona la llave de encriptación que coincide con el archivo de datos encriptados(*). |
-| tablas | | | Object | Objeto que contiene tantas propiedades como tablas encriptadas o codificadas. |
-| | *tableName* | | Object | Tabla encriptada o cifrada |
-| | | name | Text | Nombre de la tabla |
-| | | num | Number | Número de tabla |
-| | | isEncryptable | Boolean | Verdadero si la tabla está declarada como encriptada en el archivo de estructura |
-| | | isEncrypted | Boolean | True si los registros de la tabla están encriptados en el archivo de datos |
+| Propiedad | | | Tipo | Descripción |
+| ----------- | ----------- | ------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
+| isEncrypted | | | Boolean | True si el archivo de datos está encriptado |
+| keyProvided | | | Boolean | True si se proporciona la llave de encriptación que coincide con el archivo de datos encriptados(\*). |
+| tablas | | | Object | Objeto que contiene tantas propiedades como tablas encriptadas o codificadas. |
+| | *tableName* | | Object | Tabla encriptada o cifrada |
+| | | name | Text | Nombre de la tabla |
+| | | num | Number | Número de tabla |
+| | | isEncryptable | Boolean | Verdadero si la tabla está declarada como encriptada en el archivo de estructura |
+| | | isEncrypted | Boolean | True si los registros de la tabla están encriptados en el archivo de datos |
-(*) Se puede suministrar la llave de encriptación:
+(\*) Se puede suministrar la llave de encriptación:
-* con el comando `.provideDataKey()`,
-* en la raíz de un dispositivo conectado antes de abrir el almacén de datos,
-* con el comando `Discover data key`.
+- con el comando `.provideDataKey()`,
+- en la raíz de un dispositivo conectado antes de abrir el almacén de datos,
+- con el comando `Discover data key`.
#### Ejemplo
@@ -387,20 +396,13 @@ Quiere saber el número de tablas encriptadas en el archivo de datos actual:
Else
ALERT("This database is not encrypted.")
End if
- Else
- ALERT("This database is not encrypted.")
- End if
- Else
- ALERT("This database is not encrypted.")
- End if
```
-
## .flushAndLock()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -410,26 +412,26 @@ Quiere saber el número de tablas encriptadas en el archivo de datos actual:
**.flushAndLock()**
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-||||No requiere ningún parámetro|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | - | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
-
#### Descripción
-La función `.flushAndLock()` vacía la caché del datastore local e impide que los otros procesos realicen operaciones de escritura en la base de datos. El datastore se pone en un estado consistente y congelado. Es necesario llamar a esta función antes de ejecutar una instantánea de la aplicación, por ejemplo.
+La función `.flushAndLock()` vacía la caché del datastore local e impide que otros procesos realicen operaciones de escritura en la base de datos. El datastore se pone en un estado consistente y congelado. Es necesario llamar a esta función antes de ejecutar una instantánea de la aplicación, por ejemplo.
:::info
Esta función sólo puede llamarse:
-- en el datastore ([`ds`](#ds)).
+- en el datastore local ([`ds`](#ds)).
- en entorno cliente/servidor, en la máquina servidor.
:::
@@ -440,18 +442,16 @@ Cuando se han realizado varias llamadas a `.flushAndLock()` en el mismo proceso,
El datastore se desbloquea cuando:
-- se llama a la función [`.unlock()`](#unlock) en el mismo proceso, o
+- la función [`.unlock()`](#unlock) es llamada en el mismo proceso, o
- el proceso que llamó a la función `.flushAndLock()` es eliminado.
-
Si el datastore ya está bloqueado desde otro proceso, la llamada a `.flushAndLock()` se congela y se ejecutará cuando se desbloquee el datastore.
Se produce un error si la función `.flushAndLock()` no puede ejecutarse (por ejemplo, se ejecuta en un 4D remoto), .
-
:::caution
-Otras funcionalidades y servicios de 4D, como [backup](../Backup/backup.md), [vss](https://doc.4d.com/4Dv19R7/4D/19-R7/Using-Volume-Shadow-Copy-Service-on-Windows.300-6078959.en.html), y [MSC](../MSC/overview.md) también pueden bloquear el datastore. Antes de llamar a `.flushAndLock()`, asegúrese de que no se está utilizando ninguna otra acción de bloqueo, para evitar cualquier interacción inesperada.
+Otras funciones y servicios 4D, como [backup](../Backup/backup.md), [vss](https://doc.4d.com/4Dv19R7/4D/19-R7/Using-Volume-Shadow-Copy-Service-on-Windows.300-6078959.en.html) y [MSC](../MSC/overview.md) también pueden bloquear el almacén de datos. Antes de llamar a `.flushAndLock()`, asegúrese de que no se está utilizando ninguna otra acción de bloqueo, para evitar cualquier interacción inesperada.
:::
@@ -479,10 +479,9 @@ ds.unlock() //Nuestra copia ha terminado, ahora podemos desbloquear el datastore
[.locked()](#locked)
[.unlock()](#unlock)
-
## .getAllRemoteContexts()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -492,29 +491,29 @@ ds.unlock() //Nuestra copia ha terminado, ahora podemos desbloquear el datastore
**.getAllRemoteContexts()** : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|Resultado|Collection|<-|Collection of optimization context objects|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | --------------------------- | ---------------------------------------------- |
+| Resultado | Collection | <- | Colección de objetos contextos de optimización |
+
-> **Modo avanzado:** esta función está pensada para los desarrolladores que necesitan personalizar las funcionalidades por defecto de ORDA para configuraciones específicas. En la mayoría de los casos, no será necesario utilizarla.
+> **Modo avanzado**: esta función está pensada para los desarrolladores que necesitan personalizar las funcionalidades por defecto de ORDA para configuraciones específicas. En la mayoría de los casos, no será necesario utilizarla.
#### Descripción
-La función `.getAllRemoteContexts()` devuelve una colección de objetos que contienen información sobre todos los contextos de optimización de activos en el almacén de datos.
+La función `.getAllRemoteContexts()` devuelve una colección de objetos que contienen información sobre todos los contextos de optimización activos en el datastore.
-> Para más información sobre cómo se pueden crear contextos, ver [client/server optimization](../ORDA/remoteDatastores.md#clientserver-optimization).
+> Para obtener más información sobre cómo se pueden crear contextos, consulte [Optimización cliente/servidor](../ORDA/remoteDatastores.md#clientserver-optimization).
-Cada objeto de la colección devuelta contiene las propiedades listadas en la sección.[`.getRemoteContextInfo()`](#getremotecontextinfo).
+Cada objeto de la colección devuelta tiene las propiedades enumeradas en la sección [`.getRemoteContextInfo()`](#getremotecontextinfo).
#### Ejemplo
-
El siguiente código define dos contextos y los recupera utilizando `.getAllRemoteContexts()`:
```4d
@@ -559,9 +558,10 @@ $info:=$ds.getAllRemoteContexts()
[.getRemoteContextInfo()](#getremotecontextinfo)
[.setRemoteContextInfo()](#setremotecontextinfo)
[.clearAllRemoteContexts()](#clearallremotecontexts)
+
## .getInfo()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -571,31 +571,32 @@ $info:=$ds.getAllRemoteContexts()
**.getInfo()**: Object
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|Object|<-|Datastore properties|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-------------------------: | -------------------------------- |
+| Resultado | Object | <- | Propiedades del almacén de datos |
+
#### Descripción
-La función `.getInfo()` La función `.getInfo()`. Esta función es útil para configurar el código genérico.
+La función `.getInfo()` devuelve un objeto que proporciona información sobre el datastore. Esta función es útil para configurar el código genérico.
**Objeto devuelto**
-| Propiedad | Tipo | Descripción |
-| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| type | string | - "4D": almacén de datos principal, disponible a través de ds
- "4D Server": almacén de datos remoto, abierto con Open datastore
|
-| networked | boolean | - True: el almacén de datos se alcanza a través de una conexión de red.
- False: no se llega al almacén de datos a través de una conexión de red (base de datos local)
|
-| localID | text | ID del almacén de datos en la máquina. Corresponde a la cadena localId dada con el comando `Open datastore`. Cadena vacía ("") para el almacén de datos principal. |
-| connection | object | Objeto que describe la conexión del almacén de datos remoto (no se devuelve para el almacén de datos principal). Propiedades disponibles:Propiedad Tipo Descripción hostname text Dirección IP o nombre del datastore remoto + ":" + número de puerto tls boolean True si se utiliza una conexión segura con el almacén de datos remoto idleTimeout number Tiempo de inactividad de la sesión (en minutos) user text Usuario autentificado en el almacén de datos remoto
|
+| Propiedad | Tipo | Descripción |
+| ---------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| type | string | - "4D": datastore principal, disponible a través de ds
- "4D Server": datastore remoto, abrir con Open datastore
|
+| networked | boolean | - True: el almacén de datos se alcanza a través de una conexión de red.
- False: no se llega al almacén de datos a través de una conexión de red (base de datos local)
|
+| localID | text | ID del almacén de datos en la máquina. ID del almacén de datos en la máquina. Cadena vacía ("") para el almacén de datos principal. |
+| connection | object | Objeto que describe la conexión del almacén de datos remoto (no se devuelve para el almacén de datos principal). Propiedades
disponibles:Propiedad Tipo Descripción nombre de host texto Dirección IP o nombre del datastore remoto + ":" + número de puerto tls booleano True si se utiliza una conexión segura con el datastore remoto idleTimeout número Tiempo de inactividad de la sesión (en minutos) usuario texto Usuario autenticado en el almacén de datos remoto
|
-* Si la función `.getInfo()` se ejecuta en un 4D Server o 4D monopuesto, `networked` es False.
-* Si la función `.getInfo()` se ejecuta en un 4D remoto, `networked` es True
+- Si la función `.getInfo()` se ejecuta en un 4D Server o en un 4D monopuesto, `networked` es False.
+- Si la función `.getInfo()` se ejecuta en un 4D remoto, `networked` es True
#### Ejemplo 1
@@ -629,10 +630,9 @@ En un almacén de datos remoto:
-
## .getRemoteContextInfo()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -640,52 +640,54 @@ En un almacén de datos remoto:
-**.getRemoteContextInfo**(*contextName* : Text): Object
-
+**.getRemoteContextInfo**(*contextName* : Text) : Object
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|contextName|Text|->|Nombre del contexto|
-|Resultado|Object|<-|Description of the optimization context|
+| Parámetros | Tipo | | Descripción |
+| ----------- | ------ | --------------------------- | ------------------------ |
+| contextName | Text | -> | Nombre del contexto |
+| Resultado | Object | <- | Descripción del contexto |
+
-> **Modo avanzado:** esta función está pensada para los desarrolladores que necesitan personalizar las funcionalidades por defecto de ORDA para configuraciones específicas. En la mayoría de los casos, no será necesario utilizarla.
+> **Modo avanzado**: esta función está pensada para los desarrolladores que necesitan personalizar las funcionalidades por defecto de ORDA para configuraciones específicas. En la mayoría de los casos, no será necesario utilizarla.
#### Descripción
-La función `.getRemoteContextInfo()` devuelve un objeto que contiene información sobre el contexto de optimización *contextName* en el datastore..
+La función `.getRemoteContextInfo()` devuelve un objeto que contiene información sobre el contexto de optimización *contextName* en el datastore..
-Para más información sobre cómo se pueden crear contextos de optimización, ver [Optimización cliente/servidor](../ORDA/remoteDatastores.md#clientserver-optimization).
+Para obtener más información sobre cómo se pueden crear contextos de optimización, consulte [optimización cliente/servidor](../ORDA/remoteDatastores.md#clientserver-optimization).
#### Objeto devuelto
El objeto devuelto tiene las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ---------------------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| name | Text | Nombre del contexto |
-| main | Text | Atributo(s) asociado(s) al contexto (los nombres de atributos están separados por comas) |
-| dataclass | Text | Nombre de la clase de datos |
-| currentItem (opcional) | Text | Los atributos del [modo página](../ORDA/remoteDatastores.md#entity-selection-based-list-box) si el contexto está vinculado a un list box. Se devuelve como `Null` o elemento de texto vacío si el nombre del contexto no se utiliza para un list box, o si no hay contexto para el elemento actual (currentItem) |
+| Propiedad | Tipo | Descripción |
+| ----------------------------------------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| name | Text | Nombre del contexto |
+| main | Text | Atributo(s) asociado(s) al contexto (los nombres de atributos están separados por comas) |
+| dataclass | Text | Nombre de la clase de datos |
+| currentItem (opcional) | Text | Los atributos del [modo página](../ORDA/remoteDatastores.md#list-box-basado-en-una-selección-de entidades) si el contexto está vinculado a un list box. Se devuelve como `Null` o elemento de texto vacío si el nombre del contexto no se utiliza para un list box, o si no hay contexto para el elemento actual (currentItem) |
Como los contextos se comportan como filtros de atributos, si *main* se devuelve vacío, significa que no se aplica ningún filtro, y que el servidor devuelve todos los atributos de la dataclass.
#### Ejemplo
-Ver el ejemplo de la sección [.setRemoteContextInfo()](#example-1-3).
+Ver el ejemplo de la sección [`.setRemoteContextInfo()`](#example-1-3).
#### Ver también
[.setRemoteContextInfo()](#setremotecontextinfo)
[.getAllRemoteContexts()](#getallremotecontexts)
[.clearAllRemoteContexts()](#clearallremotecontexts)
+
## .getRequestLog()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -695,19 +697,20 @@ Ver el ejemplo de la sección [.setRemoteContextInfo()](#example-1-3).
**.getRequestLog()** : Collection
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|Collection|<-|Collection of objects, where each object describes a request|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------- |
+| Resultado | Collection | <- | Colección de objetos, donde cada objeto describe una solicitud |
+
#### Descripción
-La función `.getRequestLog()` devuelve las peticiones ORDA registradas en memoria del lado del cliente. .
+La función `.getRequestLog()` devuelve las peticiones ORDA registradas en memoria del lado del cliente. El registro de peticiones ORDA debe haber sido activado previamente utilizando la función [`.startRequestLog()`](#startrequestlog).
Esta función debe ser llamada en un 4D remoto, de lo contrario devuelve una colección vacía. Está diseñado para fines de depuración en configuraciones cliente/servidor.
@@ -715,18 +718,19 @@ Esta función debe ser llamada en un 4D remoto, de lo contrario devuelve una col
Colección de objetos de petición apilados. La solicitud más reciente tiene el índice 0.
-Para una descripción del formato del registro de peticiones de ORDA, consulte la sección [**Preguntas cliente ORDA**](https://doc.4d.com/4Dv18/4D/18/Description-of-log-files.300-4575486.en.html#4385373).
+Para una descripción del formato del registro de peticiones ORDA, consulte la sección [**Peticiones de cliente ORDA**](https://doc.4d.com/4Dv18/4D/18/Description-of-log-files.300-4575486.en.html#4385373).
#### Ejemplo
-Ver el ejemplo 2 de [`.startRequestLog()`](#startrequestlog).
+Vea el ejemplo 2 de [`.startRequestLog()`](#startrequestlog).
+
## .isAdminProtected()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -736,21 +740,22 @@ Ver el ejemplo 2 de [`.startRequestLog()`](#startrequestlog).
**.isAdminProtected()** : Boolean
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-|Resultado|Boolean|<-|True if the Data Explorer access is disabled, False if it is enabled (default)|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------ |
+| Resultado | Boolean | <- | True si el acceso al Explorador de Datos está desactivado, False si está activado (por defecto) |
+
#### Descripción
-La función `.isAdminProtected()` devuelve `True` si el acceso al [Explorador de Datos](Admin/dataExplorer.md) se ha deshabilitado para la sesión de trabajo.
+La función `.isAdminProtected()` devuelve `True` si se ha desactivado el acceso al [Data Explorer](Admin/dataExplorer.md) para la sesión de trabajo.
-Por defecto, el acceso al Explorador de Datos se concede para las sesiones `webAdmin`, pero se puede desactivar para evitar cualquier acceso a los datos por parte de los administradores (ver la función [`.setAdminProtection()`](#setadminprotection)).
+Por defecto, se concede acceso al Data Explorer para las sesiones `webAdmin`, pero se puede desactivar para evitar cualquier acceso a los datos por parte de los administradores (ver la función [`.setAdminProtection()`](#setadminprotection)).
#### Ver también
@@ -758,11 +763,9 @@ Por defecto, el acceso al Explorador de Datos se concede para las sesiones `webA
-
-
## .locked()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -770,41 +773,40 @@ Por defecto, el acceso al Explorador de Datos se concede para las sesiones `webA
-**.locked()**: Boolean
-
+**.locked()** : Boolean
+
-|Parámetro|Tipo||Descripción|
-|---|-|-|-|-|
-|Resultado|Boolean|<-|True if locked|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------- | --------------------------- | ----------------- |
+| Resultado | Boolean | <- | True si bloqueado |
+
-
#### Descripción
-La función `.locked()` devuelve True si el datastore local está bloqueado en ese momento.
+La función `.locked()` devuelve True si el datastore local está bloqueado actualmente.
Puede bloquear el datastore utilizando la función [.flushAndLock()](#flushandlock) antes de ejecutar una instantánea del archivo de datos, por ejemplo.
:::caution
-La función también devolverá `True` si el datastore fue bloqueado por otra función de administración como backup o vss (ver [.flushAndLock()](#flushandlock)).
+La función también devolverá `True` si el datastore fue bloqueado por otra función de administración como el backup o el vss (ver [.flushAndLock()](#flushandlock)).
:::
-
#### Ver también
[.flushAndLock()](#flushandlock)
[.unlock()](#unlock)
-
+
## .makeSelectionsAlterable()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -814,32 +816,35 @@ La función también devolverá `True` si el datastore fue bloqueado por otra fu
**.makeSelectionsAlterable()**
-
+
-|Parámetro|Tipo||Descripción|
-|---------|--- |:---:|------|
-||||No requiere ningún parámetro|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-: | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
#### Descripción
-La función `.makeSelectionsAlterable()` define todas las selecciones de entidades como alterables por defecto en los almacenes de datos de la aplicación actual (incluyendo [datastores remotas](ORDA/remoteDatastores.md)). Está pensado para ser utilizado una vez, por ejemplo en el método base `On Startup`.
+La función `.makeSelectionsAlterable()` define todas las selecciones de entidades como alterables por defecto en los datastores de la aplicación actual (incluyendo [datastores remotos](ORDA/remoteDatastores.md)). Está pensado para ser utilizado una vez, por ejemplo en el método base `On Startup`.
Cuando no se llama a esta función, las nuevas selecciones de entidades pueden ser compartibles, dependiendo de la naturaleza de su "padre", o de [cómo se crean](ORDA/entities.md#shareable-or-alterable-entity-selections).
> Esta función no modifica las selecciones de entidades creadas por [`.copy()`](./EntitySelectionClass.md#copy) o `OB Copy` cuando se utiliza la opción explícita `ck shared`.
-> **Compatibilidad**: esta función sólo debe utilizarse en proyectos convertidos desde versiones de 4D anteriores a 4D v18 R5 y que contengan llamadas [.add()](EntitySelectionClass.md#add). En este contexto, el uso de `.makeSelectionsAlterable()` puede ahorrar tiempo al restaurar instantáneamente el comportamiento anterior de 4D en los proyectos existentes. Por otro lado, utilizar este método en proyectos nuevos creados en 4D v18 R5 y superiores **no es recomendable**, ya que impide compartir las selecciones de entidades, lo que ofrece mayor rendimiento y escalabilidad.
+> **Compatibilidad**: esta función sólo debe utilizarse en proyectos convertidos desde versiones de 4D anteriores a 4D v18 R5 y que contengan llamadas [.add()](EntitySelectionClass.md#add). En este contexto, el uso de `.makeSelectionsAlterable()` puede ahorrar tiempo al restaurar instantáneamente el comportamiento anterior de 4D en los proyectos existentes.
+> Por otro lado, utilizar este método en proyectos nuevos creados en 4D v18 R5 y superiores **no es recomendable**, ya que impide compartir las selecciones de entidades, lo que ofrece mayor rendimiento y escalabilidad.
+
## .provideDataKey()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -849,23 +854,25 @@ Cuando no se llama a esta función, las nuevas selecciones de entidades pueden s
**.provideDataKey**( *curPassPhrase* : Text ) : Object
**.provideDataKey**( *curDataKey* : Object ) : Object
-
+
-|Parámetro|Tipo||Descripción|
-|---|-|-|---|-|
-|curPassPhrase |Text|->|Frase de contraseña de cifrado actual|
-|curDataKey |Object|->|Llave de cifrado de datos actual|
-|Resultado|Object||<-|Result of the encryption key matching|
+| Parámetros | Tipo | | Descripción |
+| ------------- | ------ | --------------------------- | -------------------------------------------------------- |
+| curPassPhrase | Text | -> | Frase de cifrado actual |
+| curDataKey | Object | -> | Llave de encriptación de datos actual |
+| Resultado | Object | <- | Resultado de la coincidencia de la llave de encriptación |
+
#### Descripción
-La función `.provideDataKey()` permite proveer una llave de encriptación de datos para el archivo de datos actual del datastore y detecta si la llave coincide con los datos encriptados. Esta función se puede utilizar al abrir una base encriptada, o al ejecutar cualquier operación de encriptación que requiera la llave de encriptación, como por ejemplo volver a encriptar el archivo de datos.
-> * La función `.provideDataKey()` debe ser llamada en una base de datos encriptada. Si se llama en una base no cifrada, se devuelve el error 2003 (la llave de cifrado no coincide con los datos.). Utilice el comando `Estado de cifrado del archivo de datos` para determinar si la base de datos está cifrada.
-> * La función `.provideDataKey()` no puede ser llamada desde un 4D remoto o un datastore remoto encriptado.
+La función `.provideDataKey()` permite suministrar una llave de cifrado de datos para el archivo de datos actual del datastore y detecta si la llave coincide con los datos cifrados. Esta función se puede utilizar al abrir una base encriptada, o al ejecutar cualquier operación de encriptación que requiera la llave de encriptación, como por ejemplo volver a encriptar el archivo de datos.
+
+> - La función `.provideDataKey()` debe ser llamada en una base de datos encriptada. Si se llama en una base no cifrada, el error 2003 (la llave de cifrado no coincide con los datos.) es devuelto. Utilice el comando `Data file encryption status` para determinar si la base de datos está encriptada.
+> - La función `.provideDataKey()` no puede ser llamada desde un 4D remoto o un datastore remoto encriptado.
Si utiliza el parámetro *curPassPhrase*, pase la cadena utilizada para generar la llave de cifrado de datos. Cuando se utiliza este parámetro, se genera una llave de encriptación.
@@ -873,25 +880,25 @@ Si utiliza el parámetro *curDataKey*, pase un objeto (con la propiedad *encoded
Si se aporta una llave de cifrado de datos válida, se añade a la *keyChain* de la memoria y se activa el modo de cifrado:
-* todas las modificaciones de datos en las tablas encriptadas se cifran en el disco (.4DD, .journal. 4Dindx)
-* todos los datos cargados desde tablas encriptadas se descifran en memoria
+- todas las modificaciones de datos en las tablas encriptadas se cifran en el disco (.4DD, .journal. 4Dindx)
+- todos los datos cargados desde tablas encriptadas se descifran en memoria
**Resultado**
El resultado de la orden se describe en el objeto devuelto:
-| Propiedad | | Tipo | Descripción |
-| ---------- | ------------------------ | ---------- | ---------------------------------------------------------------------------------------------------------- |
-| success | | Boolean | True si la llave de encriptación proporcionada coincide con los datos encriptados, False en caso contrario |
-| | | | Las siguientes propiedades se devuelven sólo si success es *FALSE* |
-| status | | Number | Código de error (4 si la llave de encriptación suministrada es errónea) |
-| statusText | | Text | Mensaje de error |
-| errors | | Collection | Pila de errores. El primer error tiene el índice más alto |
+| Propiedad | | Tipo | Descripción |
+| ---------- | -------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------- |
+| success | | Boolean | True si la llave de encriptación proporcionada coincide con los datos encriptados, False en caso contrario |
+| | | | Las siguientes propiedades se devuelven sólo si success es *FALSE* |
+| status | | Number | Código de error (4 si la llave de encriptación suministrada es errónea) |
+| statusText | | Text | Mensaje de error |
+| errors | | Collection | Pila de errores. El primer error tiene el índice más alto |
| | \[ ].componentSignature | Text | Nombre del componente interno |
| | \[ ].errCode | Number | Número de error |
| | \[ ].message | Text | Mensaje de error |
-Si no se da *curPassphrase* o *curDataKey*, `.provideDataKey()` devuelve **null** (no se genera ningún error).
+Si no se proporciona *curPassphrase* o *curDataKey*, `.provideDataKey()` devuelve **null** (no se genera ningún error).
#### Ejemplo
@@ -913,9 +920,10 @@ Si no se da *curPassphrase* o *curDataKey*, `.provideDataKey()` devuelve **null*
+
## .setAdminProtection()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -924,23 +932,25 @@ Si no se da *curPassphrase* o *curDataKey*, `.provideDataKey()` devuelve **null*
-**.setAdminProtection**( *status* : Boolean )
+**.setAdminProtection**( *status* : Boolean )
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|status|Boolean|->|True para desactivar el acceso del Explorador de Datos a los datos en el puerto `webAdmin`, False (por defecto) para conceder acceso|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------- | -- | --------------------------------------------------------------------------------------------------------------------------------------------- |
+| status | Boolean | -> | True para desactivar el acceso Data Explorer a los datos del puerto `webAdmin`, False (por defecto) para otorgar el acceso |
+
#### Descripción
-La función `.setAdminProtection()` permite desactivar todo acceso a los datos en el [puerto de administración web](Admin/webAdmin.md#http-port), incluso para el [Explorador de datos](Admin/dataExplorer.md) en las sesiones `WebAdmin`.
+La función `.setAdminProtection()` permite deshabilitar cualquier acceso a datos en el [puerto web admin](Admin/webAdmin.md#http-port), incluso para el [Explorador de datos](Admin/dataExplorer.md) en sesiones `WebAdmin`.
-Por defecto, cuando no se llama a la función, el acceso a los datos se concede siempre en el puerto de administración web para una sesión con privilegio `WebAdmin` utilizando el Explorador de Datos. En algunas configuraciones, por ejemplo, cuando el servidor de aplicaciones está alojado en una máquina de terceros, es posible que no desee que el administrador pueda ver sus datos, aunque puede editar la configuración del servidor, incluyendo la configuración de la [access key](Admin/webAdmin.md#access-key).
+Por defecto, cuando no se llama a la función, el acceso a los datos se concede siempre en el puerto de administración web para una sesión con privilegio `WebAdmin` utilizando el Explorador de Datos. En algunas configuraciones, por ejemplo, cuando el servidor de aplicaciones está alojado en una máquina de terceros, es posible que no desee que el administrador pueda ver sus datos, aunque puede editar la configuración del servidor, incluyendo los parámetros [access key](Admin/webAdmin.md#access-key).
En este caso, puede llamar a esta función para deshabilitar el acceso a los datos del Explorador de Datos en el puerto de administración web de la máquina, incluso si la sesión de usuario tiene el privilegio `WebAdmin`. Cuando se ejecuta esta función, el archivo de datos se protege inmediatamente y el estado se almacena en el disco: el archivo de datos estará protegido incluso si se reinicia la aplicación.
@@ -958,10 +968,9 @@ Se crea un método proyecto *protectDataFile* para llamar antes de los despliegu
-
## .setRemoteContextInfo()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -971,34 +980,35 @@ Se crea un método proyecto *protectDataFile* para llamar antes de los despliegu
**.setRemoteContextInfo**( *contextName* : Text ; *dataClassName* : Text ; *attributes* : Text {; *contextType* : Text { ; *pageLength* : Integer}})
**.setRemoteContextInfo**( *contextName* : Text ; *dataClassName* : Text; *attributesColl* : Collection {; *contextType* : Text { ; *pageLength* : Integer }} )
**.setRemoteContextInfo**( *contextName* : Text ; *dataClassObject* : 4D.DataClass ; *attributes* : Text {; *contextType* : Text { ; *pageLength* : Integer }})
**.setRemoteContextInfo**( *contextName* : Text ; *dataClassObject* : 4D.DataClass ; *attributesColl* : Collection {; *contextType* : Text { ; *pageLength* : Integer }} )
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|contextName|Text|->|Nombre del contexto|
-|dataClassName|Text|->|Nombre del dataclass|
-|dataClassObject|4D.DataClass|->|Objeto dataclass (ej. datastore.Employee)|
-|attributes|Text|->|Lista de atributos separada por una coma|
-|attributesColl|Collection|->|Colección de nombres de atributos (text)|
-|contextType|Text|->|Si se proporciona, valor debe ser "main" o "currentItem"|
-|pageLength|Integer|->|Longitud de la página de la selección de entidad vinculada al contexto (por defecto es 80)|
+| Parámetros | Tipo | | Descripción |
+| --------------- | ---------------------------- | -- | -------------------------------------------------------------------------------------------------------------- |
+| contextName | Text | -> | Nombre del contexto |
+| dataClassName | Text | -> | Nombre de la dataclass |
+| dataClassObject | 4D.DataClass | -> | dataclass object (e.g datastore. Employee) |
+| attributes | Text | -> | Lista de atributos separados por comas |
+| attributesColl | Collection | -> | Colección de nombres de atributos (text) |
+| contextType | Text | -> | Si se suministra, el valor debe ser "main" o "currentItem" |
+| pageLength | Integer | -> | Longitud de la página de la selección de entidades asociada al contexto (por defecto es 80) |
+
-> **Modo avanzado:** esta función está pensada para los desarrolladores que necesitan personalizar las funcionalidades por defecto de ORDA para configuraciones específicas. En la mayoría de los casos, no será necesario utilizarla.
+> **Modo avanzado**: esta función está pensada para los desarrolladores que necesitan personalizar las funcionalidades por defecto de ORDA para configuraciones específicas. En la mayoría de los casos, no será necesario utilizarla.
#### Descripción
-La función `.setRemoteContextInfo()` vincula los atributos de dataclass especificados con el contexto de optimización *contextName*. Si ya existe un contexto de optimización para los atributos especificados, este comando lo reemplaza.
+La función `.setRemoteContextInfo()` vincula los atributos de la dataclass especificada al contexto de optimización *contextName*. Si ya existe un contexto de optimización para los atributos especificados, este comando lo reemplaza.
Cuando se pasa un contexto a las funciones de clase ORDA, la optimización de las peticiones REST se activa inmediatamente:
-* la primera entidad no está totalmente cargada como se hace en el modo automático
-* las páginas de 80 entidades (o de `pageLength` entidades) se piden inmediatamente al servidor con sólo los atributos del contexto
+- la primera entidad no está totalmente cargada como se hace en el modo automático
+- las páginas de 80 entidades (o de `pageLength` entidades) se piden inmediatamente al servidor con sólo los atributos del contexto
-> Para más información sobre la creación de los contextos de optimización, consulte el [párrafo de optimización cliente/servidor](../ORDA/remoteDatastores.md#clientserver-optimization)
+> Para más información sobre cómo se crean los contextos de optimización, consulte el [párrafo de optimización cliente/servidor](../ORDA/remoteDatastores.md#clientserver-optimization)
En *contextName*, pase el nombre del contexto de optimización para vincularlo a los atributos de la dataclass.
@@ -1010,12 +1020,12 @@ Si *attributes* es un texto vacío, o si *attributesColl* es una colección vac
Puede pasar un *contextType* para especificar si el contexto es un contexto estándar o el contexto del elemento actual de la selección de entidades mostrada en un list box:
-* Si el valor es "main" (por defecto), *contextName* designa un contexto estándar.
-* Si su valor es "currentItem", los atributos pasados se ponen en el contexto del elemento actual. Ver [List box basado en una selección de entidades](../ORDA/remoteDatastores.md#entity-selection-based-list-box).
+- Si el valor es "main" (por defecto), *contextName* designa un contexto estándar.
+- Si su valor es "currentItem", los atributos pasados se ponen en el contexto del elemento actual. Ver [list box basada en una selección de entidades](../ORDA/remoteDatastores.md#list-box-basada-en-una-selección-de-entidades).
En *pageLength*, especifique el número de entidades de dataclass a solicitar al servidor.
-Puede pasar un *pageLength* para un atributo relacional que es una selección de entidades (de una a muchas). La sintaxis es `relationAttributeName:pageLength` (por ejemplo, employees:20).
+Puede pasar un *pageLength* para un atributo relacional que es una selección de entidades (de una a muchas). La sintaxis es `relationAttributeName:pageLength` (por ejemplo, empleados:20).
#### Ejemplo 1
@@ -1052,7 +1062,7 @@ $info:=$ds.getRemoteContextInfo("contextA")
El siguiente fragmento de código solicita al servidor páginas de 30 entidades de la dataclass `Address`. Las entidades devueltas sólo contienen el atributo `zipCode`.
-Para cada entidad `Address`, se devuelven 20 entidades Persons, que sólo contienen los atributos `lastname` y `firstname`:
+Por cada entidad `Address` se devuelven 20 entidades Persons, que sólo contienen los atributos `lastname` y `firstname`:
```4d
var $ds : 4D.DataStoreImplementation
@@ -1089,11 +1099,11 @@ End case
[.getRemoteContextInfo()](#getremotecontextinfo)
[.getAllRemoteContexts()](#getallremotecontexts)
[.clearAllRemoteContexts()](#clearallremotecontexts)
-
+
## .startRequestLog()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------------------------------------------------- |
@@ -1104,15 +1114,16 @@ End case
**.startRequestLog**()
**.startRequestLog**( *file* : 4D.File )
**.startRequestLog**( *file* : 4D.File ; *options* : Integer )
**.startRequestLog**( *reqNum* : Integer )
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-|file |4D.File|>|Objeto File |
-|options |Integer|->|Opción de respuesta de registro (solo el servidor)|
-|reqNum |Integer|->|Número de peticiones a guardar en memoria (solo el cliente)|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ----------------------- | -- | ---------------------------------------------------------------------------------- |
+| file | 4D.File | -> | Objeto File |
+| options | Integer | -> | Opción de registro de respuesta (servidor únicamente) |
+| reqNum | Integer | -> | Número de peticiones a mantener en memoria (cliente únicamente) |
+
@@ -1122,7 +1133,7 @@ La función `.startRequestLog()`
+
## .startTransaction()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1220,21 +1231,21 @@ SET DATABASE PARAMETER(4D Server Log Recording;0)
**.startTransaction()**
-
+
-|Parámetro|Tipo||Descripción|
-|---|-|:---:|---|
-||||No requiere ningún parámetro|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-: | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
-
-
#### Descripción
-La función `.startTransaction()` inicia una transacción en el proceso actual en la base de datos que coincide con el almacén de datos al que se aplica. Todos los cambios realizados en las entidades del almacén de datos en el proceso de la transacción se almacenan temporalmente hasta que la transacción se valida o se cancela.
+La función `.startTransaction()` inicia una transacción en el proceso actual en la base de datos que coincide con el datastore al que se aplica. Todos los cambios realizados en las entidades del almacén de datos en el proceso de la transacción se almacenan temporalmente hasta que la transacción se valida o se cancela.
+
> Si se llama a este método en el almacén de datos principal (es decir, el almacén de datos devuelto por el comando `ds`), la transacción se aplica a todas las operaciones realizadas en el almacén de datos principal y en la base de datos subyacente, incluyendo por tanto ORDA y los lenguajes clásicos.
Puede anidar varias transacciones (subtransacciones). Cada transacción o sub-transacción debe ser eventualmente cancelada o validada. Note que si se cancela la transacción principal, también se cancelan todas sus subtransacciones, aunque se hayan validado individualmente mediante la función `.validateTransaction()`.
@@ -1275,9 +1286,10 @@ Puede anidar varias transacciones (subtransacciones). Cada transacción o sub-tr
+
## .stopRequestLog()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | ----------------------------- |
@@ -1288,19 +1300,20 @@ Puede anidar varias transacciones (subtransacciones). Cada transacción o sub-tr
**.stopRequestLog()**
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-||||No requiere ningún parámetro|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | - | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
#### Descripción
-La función `.stopRequestLog()` detiene todo registro de peticiones ORDA en la máquina a la que se llama (cliente o servidor).
+La función `.stopRequestLog()` detiene cualquier registro de las peticiones ORDA en la máquina en la que se llama (cliente o servidor).
En realidad, cierra el documento abierto en el disco. Del lado del cliente, si el registro se inició en memoria, se detiene.
@@ -1308,15 +1321,13 @@ Esta función no hace nada si el registro de peticiones ORDA no se inició en la
#### Ejemplo
-Ver ejemplos de [`.startRequestLog()`](#startrequestlog).
+Ver ejemplos para [`.startRequestLog()`](#startrequestlog).
-
-
## .unlock()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1326,20 +1337,20 @@ Ver ejemplos de [`.startRequestLog()`](#startrequestlog).
**.unlock()**
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-||||No requiere ningún parámetro|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | - | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
-
#### Descripción
-La función `.unlock()` elimina el bloqueo actual de las operaciones de escritura en el datastore, si se ha definido en el mismo proceso. Las operaciones de escritura pueden bloquearse en el almacén de datos local utilizando la función [`.flushAndLock()`](#flushandlock).
+La función `.unlock()` elimina el bloqueo actual de las operaciones de escritura en el datastore, si se ha definido en el mismo proceso. Las operaciones de escritura pueden bloquearse en el almacén de datos local mediante la función [`.flushAndLock()`](#flushandlock).
Si el bloqueo actual era el único bloqueo en el datastore, las operaciones de escritura se activan inmediatamente. Si la función `.flushAndLock()` fue llamada varias veces en el proceso, el mismo número de `.unlock()` debe ser llamado para realmente desbloquear el datastore.
@@ -1347,16 +1358,15 @@ La función `.unlock()` debe ser llamada desde el proceso que llamó a la corres
Si se llama a la función `.unlock()` en un datastore desbloqueado, no hace nada.
-
#### Ver también
[.flushAndLock()](#flushandlock)
[.locked()](#locked)
-
+
## .validateTransaction()
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
@@ -1366,19 +1376,20 @@ Si se llama a la función `.unlock()` en un datastore desbloqueado, no hace nada
**.validateTransaction()**
-
+
-|Parámetro|Tipo||Descripción|
-|---|---|---|---|
-||||No requiere ningún parámetro|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | - | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
#### Descripción
-La función `.validateTransaction()` acepta la transacción que se inició con [`.startTransaction()`](#starttransaction) en el nivel correspondiente en el almacén de datos especificado.
+La función `.validateTransaction()` acepta la transacción que se inició con [`.startTransaction()`](#starttransaction) en el nivel correspondiente en el datastore especificado.
La función guarda los cambios en los datos del almacén de datos que se produjeron durante la transacción.
@@ -1386,6 +1397,6 @@ Puede anidar varias transacciones (subtransacciones). Si se cancela la transacci
#### Ejemplo
-Ver el ejemplo de [`.startTransaction()`](#starttransaction).
+Ver el ejemplo de la función [`.startTransaction()`](#starttransaction).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/Directory.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/Directory.md
index df8a99dd3cb57a..a6d49972260b1d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/Directory.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/Directory.md
@@ -3,15 +3,16 @@ id: Directory
title: Clase Directory
---
-
+
## .creationDate
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.creationDate** : Date
@@ -20,64 +21,70 @@ title: Clase Directory
La propiedad `.creationDate` devuelve la fecha de creación de la carpeta.
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
---
+
## .creationTime
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.creationTime** : Time
#### Descripción
-La propiedad `.creationTime` devuelve la hora de creación de la carpeta (expresado como un número de segundos que comienza en 00:00).
+La propiedad `.creationTime` devuelve la hora de creación de la carpeta (expresada como un número de segundos que comienza en 00:00).
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
---
+
## .exists
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.exists** : Boolean
#### Descripción
-La propiedad `.exists` devuelve true si la carpeta existe en el disco, y false en caso contrario.
+La propiedad `.exists` devuelve true si la carpeta existe en disco, y falso de lo contrario.
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
---
+
## .extension
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.extension** : Text
@@ -86,66 +93,70 @@ Esta propiedad es **de sólo lectura**.
La propiedad `.extension` devuelve la extensión del nombre de la carpeta (si la hay). Una extensión siempre comienza por ".". La propiedad devuelve una cadena vacía si el nombre de la carpeta no tiene extensión.
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
-
-
---
+
## .fullName
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.fullName** : Text
#### Descripción
-La propiedad `.fullName` devuelve el nombre completo de la carpeta, incluida su extensión (si la hay).
+La propiedad `.fullName` devuelve el nombre completo de la carpeta, incluyendo su extensión (si la hay).
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
---
+
## .hidden
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.hidden** : Boolean
#### Descripción
-La propiedad `.hidden` devuelve true si la carpeta está definida como "oculta" a nivel del sistema, y false en caso contrario.
+La propiedad `.hidden` devuelve true si la carpeta está configurada como "oculta" a nivel de sistema, y false en caso contrario.
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
---
+
## .isAlias
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.isAlias** : Boolean
@@ -154,20 +165,22 @@ Esta propiedad es **de sólo lectura**.
La propiedad `.isAlias` devuelve siempre **false** para un objeto `Folder`.
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
---
+
## .isFile
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.isFile** : Boolean
@@ -176,20 +189,22 @@ Esta propiedad es **de sólo lectura**.
La propiedad `.isFile` devuelve siempre **false** para una carpeta.
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
---
+
## .isFolder
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.isFolder** : Boolean
@@ -198,20 +213,22 @@ Esta propiedad es **de sólo lectura**.
La propiedad `.isFolder` devuelve siempre **true** para una carpeta.
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
---
+
## .isPackage
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.isPackage** : Boolean
@@ -222,20 +239,22 @@ La propiedad `.isPackage` devuelve true
En Windows, `.isPackage` siempre devuelve **false**.
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
---
+
## .modificationDate
-Histórico
+Historia
| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 17 R5 | Añadidos |
+
**.modificationDate** : Date
@@ -244,42 +263,46 @@ Esta propiedad es **de sólo lectura**.
La propiedad `.modificationDate` devuelve la fecha de la última modificación de la carpeta.
-Esta propiedad es **de sólo lectura**.
+Esta propiedad es de **solo lectura**.
---
+
## .modificationTime
-Histórico
+