diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md index 52e214a97ff15e..07743af4897bf7 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -3169,7 +3169,7 @@ La función `.sort()` ordena los elemento > Esta función modifica la colección original. 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. -You can also pass one of the following constants in the *ascOrDesc* parameter: +También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*: ``` |Constant| Type|Value|Comment| diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/EntityClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/EntityClass.md index e3b227f3ed96b9..0e843360644b5d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/EntityClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/EntityClass.md @@ -393,15 +393,15 @@ El objeto devuelto por `.drop()` contiene las siguientes propiedades: (\*) Los siguientes valores pueden ser devueltos en las propiedades *status* y *statusText* del objeto *Result* en caso de error: -| Constante | Valor | Comentario | -| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using entity.drop(), this error can be returned when dk force drop if stamp changed option is used. When using entity.lock(), this error can be returned when dk reload if stamp changed option is used.
  • **Associated statusText**: "Entity does not exist anymore" | -| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
    **statusText asociado**: "Already locked" | -| `dk status validation failed` | 7 | Non fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" | -| `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
    **statusText asociado**: "Other error" | -| `dk status serious validation error` | 8 | Fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" | -| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used
  • **Associated statusText**: "Stamp has changed"
  • | -| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" | +| Constante | Valor | Comentario | +| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza entity.drop(), este error puede ser devuelto cuando se utiliza la opción dk force drop if stamp changed. When using entity.lock(), this error can be returned when dk reload if stamp changed option is used.
  • **Associated statusText**: "Entity does not exist anymore" | +| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
    **statusText asociado**: "Already locked" | +| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" | +| `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
    **statusText asociado**: "Other error" | +| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" | +| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used
  • **Associated statusText**: "Stamp has changed"
  • | +| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" | #### Ejemplo 1 @@ -1182,10 +1182,10 @@ El objeto devuelto por `.reload( )` contiene las siguientes propiedades: (\*) Los siguientes valores pueden ser devueltos en las propiedades *status* y *statusText* del objeto *Result* en caso de error: -| Constante | Valor | Comentario | -| ----------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using `.drop()`, this error can be returned when `dk force drop if stamp changed` option is used. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | -| `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
    ***statusText asociado***: "Other error" | +| Constante | Valor | Comentario | +| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop()`, este error puede devolverse cuando se utiliza la opción `dk force drop if stamp changed`. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | +| `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
    ***statusText asociado***: "Other error" | #### Ejemplo @@ -1277,16 +1277,16 @@ El objeto devuelto por `.save()` contiene las siguientes propiedades: Los siguientes valores pueden ser devueltos en las propiedades `status`y `statusText` del objeto Result en caso de error: -| Constante | Valor | Comentario | -| ----------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `dk status automerge failed` | 6 | (Only if the `dk auto merge` option is used) The automatic merge option failed when saving the entity. **statusText asociado**: "Fallo de la fusión automática" | -| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using `.drop()`, this error can be returned when `dk force drop if stamp changed` option is used. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | -| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" | -| `dk status validation failed` | 7 | Non fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" | -| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc. **Associated statusText**: "Other error" | -| `dk status serious validation error` | 8 | Fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" | -| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used

  • **Associated statusText**: "Stamp has changed" | -| `dk status wrong permission` | 1 | Los privilegios actuales no permiten guardar la entidad. **Associated statusText**: "Permission Error" | +| Constante | Valor | Comentario | +| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `dk status automerge failed` | 6 | (Solo si se utiliza la opción `dk auto merge`) La opción de fusión automática falló al guardar la entidad. **statusText asociado**: "Fallo de la fusión automática" | +| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop()`, este error puede devolverse cuando se utiliza la opción `dk force drop if stamp changed`. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | +| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" | +| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" | +| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc. **Associated statusText**: "Other error" | +| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" | +| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used

  • **Associated statusText**: "Stamp has changed" | +| `dk status wrong permission` | 1 | Los privilegios actuales no permiten guardar la entidad. **Associated statusText**: "Permission Error" | #### Ejemplo 1 diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md index 79acc673f1076b..62d92bb7204c90 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -390,7 +390,7 @@ Esta función devuelve True para el *privilegio* si se llama desde una función Regarding remote client sessions, the function only concerns the code executed in the context of a [web request sent through a Web area](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). -With stored procedure sessions and standalone sessions, this function always returns True, whatever the *privilege*. +Con las sesiones de procedimiento almacenadas y las sesiones independientes, esta función siempre devuelve True, sea cual sea el *privilegio*. #### Ejemplo @@ -753,7 +753,7 @@ Function callback($request : 4D.IncomingMessage) : 4D.OutgoingMessage :::note -This function does nothing and always returns **False** with stored procedure sessions and standalone sessions. +Esta función no hace nada y siempre devuelve **False** con sesiones de procedimientos almacenadas y las sesiones independientes. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md index 6fed6a0c01983c..9b27f3d5414da9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md @@ -187,7 +187,7 @@ El nombre de la página de i *Propiedad de sólo lectura* -A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. For more information, please refer to the [HTTP Request handler](../WebServer/http-request-handler.md) page. +A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md). @@ -495,7 +495,7 @@ La ruta de la carpeta raíz del s *Propiedad de sólo lectura* -A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. For more information, please refer to the [HTTP Rules](../WebServer/http-rules.md) page. +A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md). diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md index 3f471cae307fa5..fa5d056395d3c4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md @@ -126,7 +126,7 @@ Para gestionar esta configuración, necesita utilizar sesiones cliente remotas. Note that [privileges](../ORDA/privileges.md) should be set in the session before executing a web request from a Web area, so that the user automatically gets their privileges for web access (see example). Keep in mind that privileges only apply to requests coming from the web, not to the 4D code executed in a standard remote session. -Shared sessions are handled through [OTP tokens](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used. +Las sesiones compartidas se gestionan a través de [tokens OTP](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used. :::tip Entrada de blog relacionada diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/labels.md b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/labels.md index e1a5817b9f5bc7..aa663b94431609 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/labels.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/labels.md @@ -127,22 +127,22 @@ El lado derecho de la barra de herramientas contiene comandos utilizados para mo ## Página Diseño -The Layout page contains controls for printing labels based on the requirements of your current print settings. +Esta página contiene los controles para imprimir etiquetas en función de los requisitos de sus parámetros de impresión actuales. ![](../assets/en/Desktop/label-layout.png) -- **Labels Order**: Specifies whether labels should be printed in the direction of the rows or the columns. -- **Rows** and **Columns**: Set the number of labels to be printed by "row" and by "column" on each sheet. These settings determine the label size when the "Automatic resizing" option is enabled. -- **Labels per record**: Sets the number of copies to print for each label (copies are printed consecutively). -- **Print Setup...**: Sets the format of the page on which the sheet of labels will be printed. When you click this button, the setup dialog box for the printer selected in your system appears. By default, the sheet of labels is generated based on an A4 page in portrait mode. - **Note:** The sheet created by the editor is based on the logical page of the printer, i.e. the physical page (for instance, an A4 page) less the margins that cannot be used on each side of the sheet. The physical margins of the page are shown by blue lines in the preview area. -- **Unit**: Changes the units in which you specify your label and label page measurements. Puede utilizar puntos, milímetros, centímetros o pulgadas. -- **Automatic resizing**: Means that 4D automatically calculates the size of the labels (i.e. the Width and Height parameters) according to the values set in all the other parameters. When this option is checked, the label size is adjusted each time you modify a page parameter. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente. -- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. They cannot be edited when the **Automatic resizing** option is checked. -- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Clicking on **Use printer margins** replicates, in the preview area, the margin information provided by the selected printer (these values can be modified). -- **Gaps**: Set the amount of vertical and/or horizontal space between label rows and columns. -- **Method**: Lets you trigger a specific method that will be run at print time. For example, you can execute a method that posts the date and time that each label was printed. This feature is also useful when you print labels using a dedicated table form, in which case you can fill variables from a method. - To be eligible for label processing, a project method must comply with the following settings: +- **Orden de etiquetas**: indica si las etiquetas deben imprimirse en la dirección de las líneas o de las columnas. +- **Líneas** y **Columnas**: defina el número de etiquetas a imprimir por "línea" y "columna" en cada hoja. Estos parámetros determinan las dimensiones de las etiquetas cuando la opción "Dimensiones automáticas" está activada. +- **Etiquetas por registro**: define el número de copias a imprimir para cada etiqueta (las copias se imprimen consecutivamente). +- **Formato de impresión...**: formato de la página en la que se imprimirá la hoja de etiquetas. Cuando hace clic en este botón, aparece el cuadro de diálogo de configuración de la impresora seleccionada en su sistema. Por defecto, la hoja de etiquetas se genera basándose en una página A4 en modo retrato. + **Nota:** la hoja creada por el editor se basa en la página lógica de la impresora, es decir, la página física (por ejemplo, una hoja A4) menos los márgenes que no se pueden utilizar a cada lado de la hoja. Los márgenes de la página física se representan por las líneas azules en el área de vista previa. +- **Unidad**: modifica las unidades en las que especifica las medidas de la etiqueta y de la página de etiqueta. Puede utilizar puntos, milímetros, centímetros o pulgadas. +- **Dimensiones automáticas**: indica que 4D calcula automáticamente el tamaño de las etiquetas (es decir, los parámetros Ancho y Alto) según los valores definidos en todos los demás parámetros. Cuando esta opción está marcada, el tamaño de las etiquetas se recalcula cada vez que se modifica un parámetro en la página. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente. +- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. No se pueden editar cuando la opción **Dimensionamiento automático** está marcada. +- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Al hacer clic en **Aplicar los márgenes de la impresora** con el fin de replicar, en el área de vista previa, la información de margen proporcionada por la impresora seleccionada (estos valores pueden ser modificados). +- **Intervalos**: defina el espacio vertical y/o horizontal entre las líneas y columnas de las etiquetas. +- **Método**: permite activar un método específico que se ejecutará al momento de la impresión. Por ejemplo, puede ejecutar un método que publique la fecha y la hora en que se imprimió cada etiqueta. Esta funcionalidad también es útil cuando se imprimen etiquetas usando un formulario tabla dedicado, en cuyo caso se pueden llenar variables a partir de un método. + Para ser elegible para el procesamiento de etiquetas, un método proyecto debe cumplir con las siguientes condiciones: - debe ser "permitido" para la base de datos (los métodos permitidos dependen de los [parámetros del proyecto](../settings/security.md#options) y el comando [`SET ALLOWED METHODS`](../commands/set-allowed-methods.md), de lo contrario no se mostrará en el menú **Aplicación**. - debe tener la opción [Compartido por componentes y base de datos local](../Project/code-overview.md#shared-by-components-and-host-database). Ver también [este ejemplo](#printing-labels-using-forms-and-methods-example) a continuación. @@ -150,20 +150,20 @@ The Layout page contains controls for printing labels based on the requirements :::note Para necesidades avanzadas, puede restringir la lista de métodos disponibles utilizando un [archivo json específico](#controlling-available-forms-and-methods). -The **For each: Record or Label** options are used to specify whether to run the method once per label or once per record. This control has meaning only if you are printing more than one copy of each label and you are also executing a method at print time. +Las opciones **Para cada: Registro o Etiqueta** permiten especificar si ejecutar el método una vez por etiqueta o una vez por registro. Este control sólo tiene sentido si está imprimiendo más de una copia de cada etiqueta y también está ejecutando un método al momento de la impresión. ::: -- **Layout preview**: Provides a reduced view of how an entire page of labels will look, based on the dimensions you enter in the Label editor. The page preview also reflects the paper size selected in the Print Setup dialog box. También puede utilizar esta zona para designar la primera etiqueta de la página que se va a imprimir (esta opción sólo afecta a la primera hoja en caso de impresión multipágina). This can be useful, for example, when you want to print on a sheet of adhesive labels, part of which has already been used. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella: +- **Vista previa del diseño**: permite visualizar en tiempo real las modificaciones que ingrese en el editor de etiquetas. La vista previa de la página también refleja el tamaño de papel seleccionado en el cuadro de diálogo Configuración de la impresión. También puede utilizar esta área para designar la primera etiqueta de la página a imprimir (esta opción solo afecta a la primera hoja en el caso de la impresión multipágina). Esto puede ser útil, por ejemplo, cuando se desea imprimir en una hoja de etiquetas adhesivas, parte de las cuales ya se ha utilizado. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella: ![](../assets/en/Desktop/label-start.png) ## Impresión de etiquetas mediante formularios y métodos (ejemplo) -You can use dedicated table forms and project methods to print labels with calculated variables. This simple example shows how to configure the different elements. +Puede utilizar formularios de tabla dedicados y métodos proyecto para imprimir etiquetas con variables calculadas. Este ejemplo explica como configurar los diferentes elementos. 1. En un formulario tabla dedicado, añada su(s) campo(s) de etiqueta y su(s) variable(s). - Here, in a table form named "label", we added the *myVar* variable: + Aquí, en una tabla llamada "etiqueta", sumamos la variable *myVar*: ![](../assets/en/Desktop/label-example1.png) 2. Crea un método proyecto llamado `setMyVar` con el siguiente código: @@ -174,7 +174,7 @@ You can use dedicated table forms and project methods to print labels with calcu 3. Defina el método proyecto como ["Compartido por los componentes y la base de datos local"](../Project/code-overview.md#shared-by-components-and-host-database). -4. Before displaying the Label editor, make sure the project method is allowed by executing this code: +4. Antes de mostrar el editor de etiquetas, asegúrese de que el método proyecto está autorizado ejecutando este código: ```4d ARRAY TEXT($methods;1) @@ -182,18 +182,18 @@ You can use dedicated table forms and project methods to print labels with calcu SET ALLOWED METHODS($methods) ``` -5. Open the Label editor and use your form: +5. Abre el editor de etiquetas y use su formulario: ![](../assets/en/Desktop/label-example2.png) -6. In the Layout page, select the method: +6. En la página Diseño, seleccione el método: ![](../assets/en/Desktop/label-example3.png) Luego puede imprimir sus etiquetas: ![](../assets/en/Desktop/label-example4.png) -## Control de los formularios y métodos disponibles +## Definición de los formularios y métodos disponibles -The Label editor includes an advanced feature allowing you to restrict which project forms and methods (within "allowed" methods) can be selected in the dialog box: +El editor de etiquetas incluye una función avanzada que le permite limitar los formularios y los métodos proyecto (dentro de los métodos "permitidos") pueden seleccionarse en el cuadro de diálogo: - en el menú **Formulario a utilizar** de la página "Etiqueta" y/o - en el menú **Aplicar (método)** de la página "Diseño". 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 e58d6470b5e614..26c51c0f4661d3 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 @@ -17,7 +17,7 @@ Puede introducir cualquier nombre de clase válido en esta propiedad, incluyendo - Clases 4D integradas (por ejemplo, `4D.File`, `4D.Folder`) - [Exposed](../Extensions/develop-components.md#sharing-of-classes) component-defined classes (e.g. `cs.MyComponent.MyClass`) -If you enter an invalid class name, a warning is triggered and the input is rejected. +Si introduce un nombre de clase inválido, se activa una advertencia y se rechaza la entrada. :::note @@ -25,7 +25,7 @@ If you enter an invalid class name, a warning is triggered and the input is reje ::: -In your code, when assigning a value to a class-typed object field, 4D verifies that it belongs to the declared class. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis. +En su código, al asignar un valor a un campo de tipo clase de objeto, 4D verifica que pertenece a la clase declarada. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis. To retrieve the associated class name at runtime, use the [`classID`](../API/DataClassClass.md#attributename) property, for example `ds.MyTable.MyField.classID`. 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 681ada54c0c77e..615fc7ae5c281d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md @@ -16,21 +16,21 @@ La [arquitectura del proyecto] 4D (../Project/architecture.md) es abierta y pued ## Componentes desarrollados por 4D -4D proposes various components to the 4D community, covering many development needs. All 4D components can be found on the [**4D github repository**](https://github.com/4d). +4D proposes various components to the 4D community, covering many development needs. Todos los componentes 4D se pueden encontrar en el [**repositorio github de 4D**](https://github.com/4d). A subset of these components is listed by default in the [Dependency Manager](../Project/components.md), including: -| Componente | Repositorio Github | Descripción | Principales funcionalidades | -| -------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| 4D AIKit | https://github.com/4d/4D-AIKit | Conjunto de clases a conectar con las APIs OpenAI de terceros | `OpenAIChat`, `OpenAIImage`... | -| 4D NetKit | https://github.com/4d/4D-NetKit | Conjunto de herramientas de servicios web para conectarse a APIs de terceros | `OAuth2Provider` class, `New OAuth2 provider`, `OAuth2ProviderObject.getToken()` | -| 4D Progress | https://github.com/4d/4D-Progress | Abrir una o varias barras de progreso en la misma ventana | `Progress New`, `Progress SET ON STOP METHOD`, `Progress SET PROGRESS`, ... | -| 4D QPDF | https://github.com/4d/4D-QPDF | Extraer archivos adjuntos de archivos PDF/A-3 | `PDF Get attachments` | -| 4D SVG | https://github.com/4d/4D-SVG | Crear y manipular objetos gráficos svg comunes | `SVGTool_Display_viewer`, métodos múltiples `SVG_` | -| 4D ViewPro | https://github.com/4d/4d-view-pro | Funciones de hoja de cálculo en sus formularios | Ver la [documentación 4D View Pro](ViewPro/getting-started.md) | -| 4D Widgets | https://github.com/4d/4D-Widgets | Gestione los widgets DatePicker, TimePicker, SearchPicker 4D | `DatePicker calendar`, `DateEntry area`, `TimeEntry`, `SearchPicker SET HELP TEXT`, ... | -| Interfaz 4D WritePro | https://github.com/4d/4D-WritePro-Interface | Manage 4D Write Pro palettes and [table wizard](../WritePro/writeprointerface.md) | `WP PictureSettings`, `WP ShowTabPages`, `WP SwitchToolbar`, `WP UpdateWidget` | -| Build4D | https://github.com/4d-depot/Build4D | Compilar, construir y firmar proyectos | CI/CD | +| Componente | Repositorio Github | Descripción | Principales funcionalidades | +| -------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | +| 4D AIKit | https://github.com/4d/4D-AIKit | Conjunto de clases a conectar con las APIs OpenAI de terceros | `OpenAIChat`, `OpenAIImage`... | +| 4D NetKit | https://github.com/4d/4D-NetKit | Conjunto de herramientas de servicios web para conectarse a APIs de terceros | `OAuth2Provider` class, `New OAuth2 provider`, `OAuth2ProviderObject.getToken()` | +| 4D Progress | https://github.com/4d/4D-Progress | Abrir una o varias barras de progreso en la misma ventana | `Progress New`, `Progress SET ON STOP METHOD`, `Progress SET PROGRESS`, ... | +| 4D QPDF | https://github.com/4d/4D-QPDF | Extraer archivos adjuntos de archivos PDF/A-3 | `PDF Get attachments` | +| 4D SVG | https://github.com/4d/4D-SVG | Crear y manipular objetos gráficos svg comunes | `SVGTool_Display_viewer`, métodos múltiples `SVG_` | +| 4D ViewPro | https://github.com/4d/4d-view-pro | Funciones de hoja de cálculo en sus formularios | Ver la [documentación 4D View Pro](ViewPro/getting-started.md) | +| 4D Widgets | https://github.com/4d/4D-Widgets | Gestione los widgets DatePicker, TimePicker, SearchPicker 4D | `DatePicker calendar`, `DateEntry area`, `TimeEntry`, `SearchPicker SET HELP TEXT`, ... | +| Interfaz 4D WritePro | https://github.com/4d/4D-WritePro-Interface | Gestión de paletas y del [asistente de tablas](../WritePro/writeprointerface.md) en 4D Write Pro | `WP PictureSettings`, `WP ShowTabPages`, `WP SwitchToolbar`, `WP UpdateWidget` | +| Build4D | https://github.com/4d-depot/Build4D | Compilar, construir y firmar proyectos | CI/CD | 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 67472967bbab23..97382d62de2ca5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md @@ -148,7 +148,7 @@ Para seleccionar un objeto utilizando la barra de herramientas: 1. Haz clic en la herramienta Flecha en la barra de herramientas.
    ![](../assets/en/FormEditor/selection.png) -
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. +
    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.
    ![](../assets/en/FormEditor/selectResize.png) @@ -352,7 +352,7 @@ Cuando se superponen varios objetos, se puede utilizar el atajo **Ctrl+Mayús+cl :::note -In binary databases, use **Ctrl+Click / Command+Click** to perform the same action. +En bases de datos binarias, utilice **Ctrl+Clic / Comando+Clic** para efectuar la misma acción. ::: 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 452875652a7f60..c0eb2ead1f7645 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 @@ -812,7 +812,7 @@ If the user selects a break row, [`LISTBOX GET CELL POSITION`](../commands/listb ![](../assets/en/FormObjects/hierarch11.png) -... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) returns (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command. +... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command. Las líneas de rotura no se tienen en cuenta en los arrays internos utilizados para gestionar el aspecto gráfico de los list box (estilos y colores). No obstante, es posible modificar estas características para las líneas de ruptura mediante los comandos de gestión gráfica de los objetos. Basta con ejecutar los comandos adecuados en los arrays que constituyen la jerarquía. 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 065a522fb7c54f..152f5cb885112e 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 @@ -186,7 +186,7 @@ Designa el grosor de una línea. --- -## Row Background Color Array {#row-background-color-array} +## Array colores de fondo {#row-background-color-array} `List boxes de tipo array` 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 70acd1ce6ab087..64fc8e1bd49d2a 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 @@ -104,7 +104,7 @@ Se pueden crear formatos de fecha personalizados utilizando varios patrones desc :::note blankIfNull -- By default, a [null date](../Concepts/dt_date.md#date-literals) is displayed with zeros, e.g. 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. +- Por defecto, una [fecha nula](../Concepts/dt_date.md#date-literals) se muestra con ceros, por ejemplo, 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. - Las [columnas list box](listbox_overview.md#list-box-columns) y los [pies List box](listbox_overview.md#list-box-footers) de tipo fecha utilizan siempre el comportamiento "blank if null" (no se puede desactivar). ::: 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 2605754775fea7..9563e559ec2d24 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 @@ -11,7 +11,7 @@ Varias [acciones estándar](#standard-actions) dedicadas, numerosos [comandos de :::info Mostrar páginas Qodly -In 4D client/server applications, Web areas can be used to display Qodly pages and [share the remote user session](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). This feature allows you to design web-based interfaces for your client/server desktop applications. +In 4D client/server applications, Web areas can be used to display Qodly pages and [share the remote user session](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). Esta funcionalidad le permite diseñar interfaces web para sus aplicaciones de escritorio cliente/servidor. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md index afa0adc08d196e..e0a193b6847649 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md @@ -327,11 +327,11 @@ Function event validateSave ($event : Object) Este evento se activa cada vez que una entidad está a punto de ser guardada. - si define la función a nivel de entidad (primera sintaxis), se llama para cualquier atributo de la entidad. -- si definió la función en el nivel de atributo (segunda sintaxis), sólo se llama para este atributo. This function is **not** executed if the attribute has not been touched in the entity. +- si definió la función en el nivel de atributo (segunda sintaxis), sólo se llama para este atributo. Esta función **no** se ejecuta si el atributo no ha sido tocado en la entidad. La función recibe un [objeto *event*](#event-parameter) como parámetro. -This event is triggered by the following functions: +Este evento es activado por las siguientes funciones: - [`entity.save()`](../API/EntityClass.md#save) - [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) @@ -348,7 +348,7 @@ No se recomienda actualizar la entidad dentro de esta función (utilizando `This #### Ejemplo -In this example, it is not allowed to save a product with a margin lower than 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action. +En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action. ```4d // ProductsEntity class @@ -374,22 +374,22 @@ return $result ```4d Function event saving($event : Object) Function event saving ($event : Object) -// code +// código ``` Este evento se activa cada vez que se guarda una entidad. -- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done). -- If you defined the function at the attribute level (second syntax), it is called only for this attribute. The function is **not** executed if the attribute has not been touched in the entity. +- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done). +- If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad. La función recibe un [objeto *event*](#event-parameter) como parámetro. -This event is triggered by the following functions: +Este evento es activado por las siguientes funciones: - [`entity.save()`](../API/EntityClass.md#save) - [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) -Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. For example, you can use this event to create a document on a Google Drive account. +Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. Por ejemplo, puede utilizar este evento para crear un documento en una cuenta de Google Drive. :::note @@ -397,13 +397,13 @@ The business logic should raise errors which can't be detected during the `valid ::: -During the save action, 4D engine errors can be raised (index, stamp has changed, not enough space on disk). +Durante la acción de guardar, se pueden producir errores en el motor 4D (índice, sello ha cambiado, no hay suficiente espacio en el disco). To stop the action, the code of the function must return an [error object](#error-object). #### Ejemplo -When a file is saved on disk, catch errors related to disk space for example. +Cuando se guarda un archivo en el disco, por ejemplo, se capturan errores relacionados con el espacio de disco. ```4d // ProductsEntity class @@ -443,14 +443,14 @@ Función evento afterSave($event : Object) // código ``` -This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. It is not executed if no attribute has been touched in the entity. +This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. No se ejecuta si no se ha tocado ningún atributo en la entidad. -This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. For example, it can be used to send a confirmation email after data have been saved. Or, in case of error while saving data, it can make a rollback to restore a consistent state of data. +This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos. La función recibe un [objeto *event*](#event-parameter) como parámetro. - To avoid infinite loops, calling a [`save()`](../API/EntityClass.md#save) on the current entity (through `This`) in this function is **not allowed**. Se producirá un error. -- Throwing an [error object](#error-object) is **not supported** by this function. +- Arrojar un [objeto error](#error-object) **no es soportado** por esta función. #### Ejemplo @@ -483,9 +483,9 @@ Function event validateDrop ($event : Object) // código ``` -This event is triggered each time an entity is about to be dropped. +Este evento se activa cada vez que una entidad está a punto de ser soltada. -- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. +- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. - If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función recibe un [objeto *event*](#event-parameter) como parámetro. @@ -532,7 +532,7 @@ Function event dropping ($event : Object) Este evento se activa cada vez que se elimina una entidad. -- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. +- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. - If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función recibe un [objeto *event*](#event-parameter) como parámetro. @@ -555,7 +555,7 @@ To stop the action, the code of the function must return an [error object](#erro #### Ejemplo -Here is an example of `dropping` event at entity level: +Estes es un ejemplo del evento `dropping` a nivel de entidad: ```4d // ProductsEntity class @@ -589,18 +589,18 @@ Function event afterDrop($event : Object) // código ``` -This event is triggered just after an entity is dropped. +Este evento se activa justo después de que una entidad es soltada. -This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. For example, it can be used to send a cancellation email after data have been dropped. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency. +This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de cancelación después de soltar los datos. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency. La función recibe un [objeto *event*](#event-parameter) como parámetro. - To avoid infinite loops, calling a [`drop()`](../API/EntityClass.md#drop) on the current entity (through `This`) in this function is **not allowed**. Se producirá un error. -- Throwing an [error object](#error-object) is **not supported** by this function. +- Arrojar un [objeto error](#error-object) **no es soportado** por esta función. :::note -The dropped entity is referenced by `This` and still exists in memory. +La entidad eliminada es referenciada por `This` y aún existe en memoria. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md index 5bb31631d97539..72cf097a8cd4f4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md @@ -27,27 +27,21 @@ Si un usuario intenta ejecutar una acción y no tiene los derechos de acceso ade Puede asignar acciones de permiso específicas a los siguientes recursos en su proyecto: -- el almacén de datos -- una clase de datos -- un atributo (incluidos los calculados y los alias) -- una función de clase de modelo de datos -- una función [singleton](../REST/$singleton.md) +- the [datastore](../ORDA/dsMapping.md#datastore) +- the [dataclasses](../ORDA/dsMapping.md#dataclass) +- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1)) +- functions of the [data model classes](../ORDA/ordaClasses.md) +- [singleton](../REST/$singleton.md) functions Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma en que se acceda), 4D verifica que la sesión tenga los permisos apropiados y rechaza el acceso si no está autorizado. -Una acción de permiso definida en un nivel determinado se hereda por defecto en los niveles inferiores, pero se pueden establecer varios permisos: - -- Una acción de permiso definida a nivel de almacén de datos se asigna automáticamente a todas las clases de datos. La acción de permiso *execute* definida en el nivel del datastore se aplica a todas las funciones del proyecto, incluyendo todas las funciones [singleton](../REST/$singleton.md). -- Una acción de permiso definida a nivel de clase de datos anula la configuración del almacén de datos (si existe). Por defecto, todos los atributos de la clase de datos heredan de los permisos de la clase de datos. -- A diferencia de los permisos de clase de datos, una acción de permiso definida a nivel de atributo no anula los permisos de clase de datos padre, sino que se añade a ellos. Por ejemplo, si asignó el privilegio "general" a una clase de datos y el privilegio "detail" a un atributo de la clase de datos, tanto el privilegio "general" como el privilegio "detail" deben definirse en la sesión para acceder al atributo. - -:::info +## Permissions -Los permisos controlan el acceso a los objetos o funciones del almacén de datos. Si desea filtrar los datos leídos según algún criterio, puede considerar [restringir las selecciones de entidades](entities.md#restricting-entity-selections) que puede ser más apropiado en este caso. +A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles). -::: +When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes). -## Acciones de autorización +### Acciones de autorización Las acciones disponibles están relacionadas con el recurso de destino. @@ -73,6 +67,65 @@ Las acciones disponibles están relacionadas con el recurso de destino. Los parámetros de permisos requieren ser consistentes, en particular los permisos **update** y **drop** también necesitan el permiso **read** (pero **create** no lo necesita). +### Permisos heredados + +Una acción de permiso definida en un nivel determinado se hereda por defecto en los niveles inferiores, pero se pueden establecer varios permisos: + +- Una acción de permiso definida a nivel de almacén de datos se asigna automáticamente a todas las clases de datos. La acción de permiso *execute* definida en el nivel del datastore se aplica a todas las funciones del proyecto, incluyendo todas las funciones [singleton](../REST/$singleton.md). +- Una acción de permiso definida a nivel de clase de datos anula la configuración del almacén de datos (si existe). Por defecto, todos los atributos de la clase de datos heredan de los permisos de la clase de datos. +- A diferencia de los permisos de clase de datos, una acción de permiso definida a nivel de atributo no anula los permisos de clase de datos padre, sino que se añade a ellos. Por ejemplo, si asignó el privilegio "general" a una clase de datos y el privilegio "detail" a un atributo de la clase de datos, tanto el privilegio "general" como el privilegio "detail" deben definirse en la sesión para acceder al atributo. + +:::info + +Los permisos controlan el acceso a los objetos o funciones del almacén de datos. Si desea filtrar los datos leídos según algún criterio, puede considerar [restringir las selecciones de entidades](entities.md#restricting-entity-selections) que puede ser más apropiado en este caso. + +::: + +### Asignación de permisos a las funciones de la clase ORDA + +Al configurar los permisos, las funciones de clase ORDA se declaran en el elemento `applyTo` usando la siguiente sintaxis: + +```json +. +``` + +Por ejemplo, si desea aplicar un permiso a la siguiente función: + +```4d +// cs.CityEntity class +Class extends Entity + Function getPopulation() : Integer + ... +``` + +... tiene que escribir: + +```json +"applyTo":"City.getPopulation" +``` + +Significa que no puede utilizar los mismos nombres de función en las distintas clases ORDA (entidad, selección de entidad, dataclass) si desea que se les asignen privilegios. En este caso, debe utilizar nombres de función distintos. Por ejemplo, si has creado una función "drop" en ambas clases `cs.CityEntity` y `cs.CitySelection`, necesita darles nombres diferentes como `dropEntity()` y `dropSelection()`. A continuación, puede escribir en el archivo "roles.json": + +```json + "permissions": { + "allowed": [ + { + "applyTo": "City.dropEntity", + "type": "method", + "promote": [ + "name" + ] + }, + { + "applyTo": "City.dropSelection", + "type": "method", + "promote": [ + "name" + ] + } + ] +``` + ## Privilegios y roles Un \*\*privilegio \*\* es la capacidad técnica de ejecutar \*\*acciones \*\* en \*\*recursos \*\*, mientras que un **rol** es un privilegio publicado para ser utilizado por un administrador. Básicamente, un rol reúne varios privilegios para definir un perfil de usuario empresarial. Por ejemplo, "manageInvoices" podría ser un privilegio mientras que "secretary" podría ser un rol (que incluye "manageInvoices" y otros privilegios). @@ -111,70 +164,7 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T ## archivo `roles.json` -El archivo `roles.json` describe todos los parámetros de seguridad del proyecto. - -### Archivo por defecto - -Al crear un proyecto, se crea un archivo `roles.json` por defecto en la siguiente ubicación: `/Project/Sources/` (ver la sección [Architecture](../Project/architecture.md#sources)). - -El archivo por defecto tiene el siguiente contenido: - -```json title="/Project/Sources/roles.json" - -{ - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - - "roles": [], - - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": ["all"], - "create": ["all"], - "update": ["all"], - "drop": ["all"], - "execute": ["all"], - "promote": ["all"] - } - ] - }, - - "forceLogin": true - -} - -``` - -For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock. -Se recomienda no modificar ni utilizar este privilegio de bloqueo, sino agregar permisos específicos a cada recurso que desee poner a disposición desde solicitudes web o REST ([ver ejemplo a continuación](#example-of-privilege-configuration)). - -:::caution - -Cuando no se definen parámetros específicos en el archivo `roles.json`, los accesos no son limitados. Esta configuración le permite desarrollar la aplicación sin tener que preocuparse por los accesos, pero no se recomienda en entornos de producción. - -::: - -:::note Compatibilidad - -En versiones anteriores, el archivo `roles.json` no fue creado por defecto. A partir de 4D 20 R6, al abrir un proyecto existente que no contiene un archivo `roles.json` o los parámetros `"forceLogin": true`, el botón **Activar la autenticación REST mediante la función ds.authentify()** está disponible en la página [**Funcionalidades web** de la caja de diálogo Parámetros](../settings/web.md#access). Este botón actualiza automáticamente su configuración de seguridad (es posible que tenga que modificar su código, [ver esta publicación del blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)). -::: - -:::note Qodly Studio - -En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios. - -::: - -### Sintaxis - -La sintaxis del archivo `roles.json` es la siguiente: +El archivo `roles.json` describe todos los parámetros de seguridad web del proyecto. La sintaxis del archivo `roles.json` es la siguiente: | Nombre de propiedad | | | Tipo | Obligatorio | Descripción | | ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------ | @@ -194,60 +184,87 @@ La sintaxis del archivo `roles.json` es la siguiente: | | | \[].drop | Colección de cadenas | | Lista de privilegios | | | | \[].execute | Colección de cadenas | | Lista de privilegios | | | | \[].promote | Colección de cadenas | | Lista de privilegios | -| forceLogin | | | Boolean | | True para habilitar el [modo "forceLogin"](../REST/authUsers.md#force-login-mode) | +| restrictedByDefault | | | Boolean | | Si es true, se niega el acceso a recursos sin permisos explícitos | +| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) | :::caution Recordatorio - El nombre de privilegio "WebAdmin" está reservado a la aplicación. No se recomienda utilizar este nombre para los privilegios personalizados. -- los nombres de `privileges` y `roles` son insensibles a mayúsculas y minúsculas. +- `privileges` and `roles` names are case-insensitive. ::: -#### Asignación de permisos a las funciones de la clase ORDA +### Default File Location and Content -Al configurar los permisos, las funciones de clase ORDA se declaran en el elemento `applyTo` usando la siguiente sintaxis: +When a new project is created, a default `roles.json` file is generated at: -```json -. ``` - -Por ejemplo, si desea aplicar un permiso a la siguiente función: - -```4d -// cs.CityEntity class -Class extends Entity - Function getPopulation() : Integer - ... +/Project/Sources/ ``` -... tiene que escribir: +Ver la sección [Arquitectura](../Project/architecture.md#sources). -```json -"applyTo":"City.getPopulation" -``` +Contenido predeterminado: -Significa que no puede utilizar los mismos nombres de función en las distintas clases ORDA (entidad, selección de entidad, dataclass) si desea que se les asignen privilegios. En este caso, debe utilizar nombres de función distintos. Por ejemplo, si has creado una función "drop" en ambas clases `cs.CityEntity` y `cs.CitySelection`, necesita darles nombres diferentes como `dropEntity()` y `dropSelection()`. A continuación, puede escribir en el archivo "roles.json": +```json title="/Project/Sources/roles.json" -```json - "permissions": { - "allowed": [ - { - "applyTo": "City.dropEntity", - "type": "method", - "promote": [ - "name" - ] - }, - { - "applyTo": "City.dropSelection", - "type": "method", - "promote": [ - "name" - ] - } +{ + "privileges": [ + ], + "roles": [ + ], + "permissions": { + "allowed": [ + { + "applyTo": "ds", + "type": "datastore", + "read": [], + "create": [], + "update": [], + "drop": [], + "execute": [], + "promote": [] + } ] + }, + "restrictedByDefault": false, + "forceLogin": false +} ``` +:::note Compatibilidad + +En versiones anteriores, el archivo `roles.json` no fue creado por defecto. A partir de 4D 20 R6, al abrir un proyecto existente que no contiene un archivo `roles.json` o los parámetros `"forceLogin": true`, el botón **Activar la autenticación REST mediante la función ds.authentify()** está disponible en la página [**Funcionalidades web** de la caja de diálogo Parámetros](../settings/web.md#access). Este botón actualiza automáticamente su configuración de seguridad (es posible que tenga que modificar su código, [ver esta publicación del blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)). + +::: + +:::note Qodly Studio + +In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel. + +::: + +## Restriction Modes + +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): + +- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. Este modo es adecuado para entornos de desarrollo donde el acceso se puede restringir gradualmente. +- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. Este modo se recomienda para entornos de producción donde el acceso debe ser otorgado explícitamente. + +:::note Compatibilidad + +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Tenga en cuenta que esta configuración está hecha a medida para un inicio rápido y un desarrollo fluido. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. + +::: + +### Configuración recomendada + +Depending on your environment, the recommended settings are: + +- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos. +- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions. + ### Archivo `Roles_Errors.json` El archivo `roles.json` es analizado por 4D al inicio. Debe reiniciar la aplicación si desea que se tengan en cuenta las modificaciones en este archivo. @@ -267,93 +284,28 @@ End if ## Ejemplo de configuración de privilegios -The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions: - ```json title="/Project/Sources/roles.json" { - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - "roles": [], - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": [ - "all" - ], - "create": [ - "all" - ], - "update": [ - "all" - ], - "drop": [ - "all" - ], - "execute": [ - "all" - ], - "promote": [ - "all" - ] - }, - { - "applyTo": "ds.loginAs", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.hasPrivilege", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.clearPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.isGuest", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.getPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.setAllPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "mySingletonClass.createID", - "type": "singletonMethod", - "execute": [ - "guest" - ] - } - ] - }, - "forceLogin": true + "forceLogin": true, + "restrictedByDefault": true, + "permissions": { + "allowed": [ + { + "applyTo": "People", + "type": "dataclass", + "read": [ + "viewPeople" + ] + } + ] + }, + "privileges": [ + { + "privilege": "viewPeople", + "includes": [] + } + ], + "roles": [] } ``` 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 1158b612ee42c7..77cb73581775e8 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md @@ -148,7 +148,7 @@ El modo de escritura directa es opcional sólo en proyectos convertidos. Se util Select **All variables are typed (Direct typing)** option in the **Compilation Path** menu to enable the direct typing mode. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse. -Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. The direct typing concept assumes that all elements are directly declared where they are defined in your code. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas). +Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. El concepto de escritura directa asume que todos los elementos se declaran directamente donde están definidos en su código. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas). ## Advertencias 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 fb80d3d89867e4..c23fb41145c825 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md @@ -96,7 +96,7 @@ El parámetro *vectorComparison* es una colección de los siguientes elementos: | [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Supported values:
  • "cosine" (default if omitted): calculates the cosine similarity between vectors.
  • "dot": calculates the dot similarity of vectors.
  • "euclidean": calculates the Euclidean distance between vectors. | | [].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. | -Only a subset of **comparator** symbols are supported with vector comparisons. Tenga en cuenta que comparan los resultados con el valor umbral: +Solo un subconjunto de símbolos **comparadores** son soportados con comparaciones vectoriales. Tenga en cuenta que comparan los resultados con el valor umbral: | Comparador | Símbolo(s) | Comentario | | ----------------- | ----------------------------- | --------------------------- | @@ -126,7 +126,7 @@ En este ejemplo, buscamos en la clase de datos Person todas las personas cuya pr GET /rest/Person/?filter="anotherobj.mynum > 50" ``` -In this example, we do a vector search with basic values: +En este ejemplo, hacemos una búsqueda vectorial con 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/$singleton.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$singleton.md index dd6441c98e068f..f2526bf683cf39 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$singleton.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$singleton.md @@ -5,7 +5,7 @@ title: $singleton Puede llamar directamente a [funciones de sus singletons compartidos](../Concepts/classes.md#singleton-classes) a través de REST. -Singleton functions are called in POST or GET requests with the `$singleton` command and without `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición: +Las funciones Singleton se llaman en peticiones POST o GET con el comando `$singleton` y sin `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición: ```json /rest/$singleton/VehicleFactory/buildVehicle 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 a27d1bfcff6814..64fe5f6e667aec 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. Desmarque la opción **Exponer como recurso REST** para el campo. - ![alt-text](../assets/en/REST/field.png) - Repita esta operación para cada campo cuya exposición deba modificarse. +2. Uncheck the **Expose as REST resource** for the field.
    + ![alt-text](../assets/en/REST/field.png)
    + Repeat this for each field whose exposure needs to be modified. > 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/ViewPro/commands/vp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-document.md index 8dfcf9c5401f37..94eefcc2eb31d0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-document.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-document.md @@ -77,11 +77,11 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para | | includeStyles | boolean | Si se incluye el estilo al exportar, por defecto true. | | | includeFormulas | boolean | Si se incluye la fórmula al exportar, por defecto true. | | | saveAsView | boolean | Si aplicar la cadena de formato al valor de exportación al exportar, por defecto false. | -| | rowHeadersAsFrozenColumns | boolean | Whether to treat the row headers as frozen columns when exporting, default false. | +| | rowHeadersAsFrozenColumns | boolean | Si tratar los encabezados de línea como columnas congeladas al exportar, por defecto false. | | | columnHeadersAsFrozenRows | boolean | Si tratar los encabezados de columna como líneas congeladas al exportar, por defecto false. | | | includeAutoMergedCells | boolean | Si se incluyen las celdas combinadas automáticamente al exportar, false por defecto. | -| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Can be faster when open the file with those data, default false. | -| | includeUnusedNames | boolean | Whether to include the unused custom name when exporting, default true. | +| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Puede ser más rápido al abrir el archivo con esos datos, false por defecto. | +| | includeUnusedNames | boolean | Si se incluye el nombre personalizado no utilizado al exportar, true por defecto. | | | includeEmptyRegionCells | boolean | Si se incluyen celdas vacías (celdas sin datos o solo con estilo) fuera del rango de datos utilizado, por defecto true. | | | contraseña | text | Contraseña a definir para abrir el libro de trabajo. | | `\` | | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. | @@ -90,7 +90,7 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para - Al exportar un documento 4D View Pro a un archivo con formato Microsoft Excel, pueden perderse algunos parámetros. Por ejemplo, los métodos y fórmulas 4D no son soportados por Excel. Puede verificar otras configuraciones con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport). - La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula` del *paramObj* para el código a ejecutar después de la exportación. -- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Make sure to not mix this object with legacy first level properties (*password*, *includeBindingSource*...) para evitar problemas potientales. +- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Asegúrese de no mezclar este objeto con propiedades heredadas de primer nivel (*password*, *includeBindingSource*...) para evitar problemas potientales. **Notas sobre el formato PDF**: 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 045a2e27cb83c5..2634788b5efb66 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 @@ -63,7 +63,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento | | 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 | Whether to treat the frozen rows as column headers when importing, default 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 | Whether to calculate formulas only when they are demanded, default false. | diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md index 8577eb589df53b..97732b237a5018 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md @@ -13,9 +13,9 @@ La integración de áreas de 4D View Pro en sus formularios le permite importar ## Instalación y activación -4D View Pro debe estar instalado en sus proyectos. The 4D View Pro component is available from the [**4D-ViewPro github repository**](https://github.com/4d/4D-ViewPro). +4D View Pro debe estar instalado en sus proyectos. El componente 4D View Pro está disponible en el [\*\*repositorio github 4D-ViewPro \*\*](https://github.com/4d/4D-ViewPro). -The easiest way to install 4D View Pro in an opened project is to use the Dependency Manager: +La forma más fácil de instalar 4D View Pro en un proyecto abierto es utilizar el Administrador de dependencias: 1. Abra la ventana [Dependency Manager](../Project/components.md). 2. Haga clic en el botón **+** para añadir un componente. 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 ee0943ee56293f..509461ed5e00bf 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/authentication.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/authentication.md @@ -119,7 +119,7 @@ Debe declarar estos parámetros de la siguiente manera: :::note -Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. The information received by the database method depends on the selected [authentication mode](#authentication-modes). +Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. La información recibida por el método base depende del [modo de autenticación](#authentication-modes) seleccionado. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md index 16c9f337b0de37..bc8018c82e60ac 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md @@ -58,7 +58,7 @@ Se soportan las siguientes palabras clave de acción: | `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. | | `addHeaders` | Object | Name (text) and value (text) of header(s) to add to the HTTP responses. | | `setHeaders` | Object | Name (text) and value (text) of header(s) to modify in the HTTP responses. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. | -| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. When the access to a resource is denied, the web server returns a 403 status by default | +| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto | | `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto | | `status` | Number | Estado HTTP | @@ -74,7 +74,7 @@ Algunos encabezados no pudieron ser añadidos, modificados o eliminados: | Vary | Sí | No | No | | Set-Cookie | Sí | Añadir cookie | No | -Unauthorized changes on these headers do not generate errors, however modifications will be ignored. +Los cambios no autorizados en estos encabezados no generan errores, sin embargo las modificaciones serán ignoradas. ### Reglas actuales diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md index 6a5929785ac538..c270d197d2e68a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md @@ -27,7 +27,7 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, - Servidor web: maneja las [plantillas web](templates.md), [4DACTION y los métodos base](httpRequests.md) - Servidor de servicios web: gestiona las peticiones SOAP - ***web setting*** means that the preemptive mode depends on the [**scalable sessions**](sessions.md#enabling-web-sessions) status: - - if scalable sessions are enabled, the preemptive mode is automatically used for web and web service processes. + - si las sesiones escalables están activadas, el modo apropiativo se utiliza automáticamente para los procesos web y servicios web. - si las sesiones escalables no están activadas: - for web processes, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account. - for web service processes (server or client), preemptive mode is supported at method level. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md index 70390ec805a88e..66280d9e0e24f6 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md @@ -80,7 +80,7 @@ La autenticación en el servidor web WebAdmin se realiza utilizando una llave de De acuerdo con la gestión de proyectos 4D, sólo se admiten los siguientes usos: - el desarrollo con Qodly Studio debe realizarse a través de **4D** (monousuario). -- deployment of 4D applications powered with Qodly pages must be done using **4D Server**. +- el despliegue de aplicaciones 4D alimentadas por páginas Qodly debe hacerse utilizando **4D Server**. :::warning diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md index 8602f8f2fab3ec..daeaf088d5b5d0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md @@ -211,7 +211,7 @@ End if El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OTP (One-Time Passcode). Los tokens de sesión OTP se utilizan para asegurar comunicaciones con aplicaciones de terceros o sitios web. For information on OTP, please refer to the [One-time password page](https://en.wikipedia.org/wiki/One-time_password) on Wikipedia. -In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio. +In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio. :::tips Entradas de blog relacionadas @@ -251,7 +251,7 @@ Una url [`4DACCIÓN`](./httpRequests.md#4daction) también puede ser usada en el #### Utilizar un parámetro personalizado -The OTP token can also be provided as a custom parameter that you need to process specifically to restore the session. Debe utilizar esta solución si: +El token OTP también se puede suministrar como un parámetro personalizado que necesita procesar específicamente para restaurar la sesión. Debe utilizar esta solución si: - la aplicación de terceros no permite insertar parámetros como un `$4DSID` directamente en la Uri de redirección, y proporciona una API dedicada (la implementación depende de la aplicación de terceros), - o, quiere llamar a una función ORDA a través de REST para procesar la retrollamada, en cuyo caso es necesario pasar el OTP con la [sintaxis de parámetro REST](../REST/ClassFunctions.md#parameters) (por ejemplo, `?$params='["XXX123"]'`). 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 1a85350e7e6a34..3563c5462c2ac4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md @@ -8,7 +8,7 @@ title: Servidor Web :::warning Funcionalidad obsoleta -Using the web server on a remote 4D is **deprecated** as of 4D 21. Ya no se recomienda utilizar esta funcionalidad. +El uso del servidor web en un 4D remoto es **obsoleto** a partir de 4D 21. Ya no se recomienda utilizar esta funcionalidad. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md index 57405625d969f7..625a6d5df492ed 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md @@ -51,20 +51,20 @@ Por defecto, las expresiones HTML insertadas en documentos heredados de 4D Write Puede pasar un objeto para definir cómo se gestionan los siguientes atributos durante la operación de importación: -| **Atributo** | **Tipo** | **Description** | -| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:

    **anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* | -| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:

    **all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Anchored images are imported, but any text wrapping around the image is ignored. **ignore** \- Las imágenes ancladas no son importadas. | -| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:

    **all** (por defecto) - Se importan todas las secciones. Continuous, even, or odd sections are converted to standard sections. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Note**: Section breaks of any type but continuous are converted to section breaks with page break. Continuous section breaks are imported as continuous section breaks. | -| fields | Text | Sólo para documentos MS Word (.docx). Specifies how .docx fields that can't be converted to 4D Write Pro formulas are handled. Valores disponibles:

    **ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - The last computed value for the .docx field (if available) is imported. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. | -| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Available values:

    **collapse** \- Paragraph formatting is modified to mimic automatically collapsed borders. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. | -| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Available values:

    **latin** (default) - Latin script **bidi** \- Bidrectional script. Suitable if document is mainly bidirectional left-to-right (LTR) or right-to-left (RTL) text (e.g., Arabic or Hebrew). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. | -| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:

    **rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. | -| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:

    **legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. | +| **Atributo** | **Tipo** | **Description** | +| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:

    **anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* | +| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:

    **all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. | +| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:

    **all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. | +| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:

    **ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. | +| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:

    **collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. | +| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Valores disponibles:

    **latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. | +| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:

    **rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. | +| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:

    **legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. | **Notas de compatibilidad** -- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Legacy character style sheets are not imported and are no longer referenced in the document.* +- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.* - *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.* ## Ejemplo 1 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 a0c8eaf8464807..9b3b514f1617ea 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 @@ -93,7 +93,7 @@ Por ejemplo, para insertar el número de página en el pie de página: ## Table formula context object -When used in a formula within the table, the **This** keyword gives access to different data according to the context: +Cuando se utiliza en una fórmula dentro de la tabla, la palabra clave **This** da acceso a diferentes datos según el contexto: | **Contexto** | **Expression** | **Tipo** | **Devuelve** | | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -104,7 +104,7 @@ When used in a formula within the table, the **This** keyword gives access to di | | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada | | In each data row when a table datasource returns a collection or an entity selection | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute | | | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 | -| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
    This expression returns the same type of value as the **This.tableData** expression. | +| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
    Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. | | In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
    • the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
    • the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
    | En cualquier otro contexto, estas expresiones devolverán *undefined*. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md index 798bbbc6c8e8f8..96e57899400ed5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md @@ -5,7 +5,7 @@ title: OpenAI # OpenAI -La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. It includes properties for managing API configurations and methods for performing HTTP requests to the OpenAI endpoints. +La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. Incluye propiedades de gestión de las configuraciones API y de los métodos para efectuar las peticiones HTTP a los puntos de terminación de OpenAI. ## Propiedades de configuración @@ -58,7 +58,7 @@ $client.baseURL:="https://server.ai" ## Recursos API -The API provides access to multiple resources that allow seamless interaction with OpenAI's services. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities. +La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities. | Nombre de la propiedad | Tipo | Descripción | | ---------------------- | ----------------------------------------------- | ------------------------------------------------ | diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md index 8b794fda25d429..acf7c8b80ee550 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md @@ -9,10 +9,10 @@ The `OpenAIChatAPI` class provides an interface to interact with OpenAI's chat b ## Propiedades -| Propiedad | Tipo | Descripción | -| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Una instancia que maneja las solicitudes de finalización del chat. | -| `vision` | [OpenAIVision](OpenAIVision.md) | A helper instance that handles vision-related requests. | +| Propiedad | Tipo | Descripción | +| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Una instancia que maneja las solicitudes de finalización del chat. | +| `vision` | [OpenAIVision](OpenAIVision.md) | Una instancia de ayuda que gestiona las peticiones relacionadas con la visión. | ## Function diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsAPI.md index f5d15116434873..4ce850b3b4ecd9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsAPI.md @@ -5,7 +5,7 @@ title: OpenAIChatCompletionsAPI # OpenAIChatCompletionsAPI -La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. It provides methods to create, retrieve, update, delete, and list chat completions. +La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. Ofrece métodos para crear, recuperar, actualizar, eliminar y listar respuestas de chat. https://platform.openai.com/docs/api-reference/chat @@ -21,7 +21,7 @@ https://platform.openai.com/docs/api-reference/chat | *parámetros* | [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) | Los parámetros para la solicitud de finalización del chat. | | Resultado | Object | El resultado de la solicitud de finalización del chat. | -Creates a model response for the given chat conversation. +Crea un modelo de respuesta para la conversación dada. https://platform.openai.com/docs/api-reference/chat/create diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsListParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsListParameters.md index 93b8c3e4bee066..7f1a363b63e090 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsListParameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsListParameters.md @@ -5,7 +5,7 @@ title: OpenAIChatCompletionsListParameters # OpenAIChatCompletionsListParameters -This class is used to define parameters for retrieving a list of chat completions from the OpenAI API. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat. +Esta clase se utiliza para definir los parámetros de recuperación de una lista de terminaciones de chat de la API OpenAI. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat. ## Hereda diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md index 2502d80c2c15ea..c9624656bfe290 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md @@ -13,11 +13,11 @@ The `OpenAIChatCompletionsMessagesAPI` class is designed to interact with the Op **list**(*completionID* : Text; *parameters* : OpenAIChatCompletionsMessagesParameters) : Variant -| Parámetros | Tipo | Descripción | -| -------------- | ----------------------------------------- | -------------------------------------------------------------------------------- | -| *completionID* | Text | The ID of the chat completion to retrieve messages for. | -| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. | -| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. | +| Parámetros | Tipo | Descripción | +| -------------- | ----------------------------------------- | ------------------------------------------------------------------------------------- | +| *completionID* | Text | El ID de la finalización de chat para la cual recuperar los mensajes. | +| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. | +| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. | La función `list()` recupera los mensajes asociados a un ID de finalización de chat específico. Lanza un error si `completionID` está vacío. If the *parameters* argument is not an instance of `OpenAIChatCompletionsMessagesParameters`, it will create a new instance using the provided parameters. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md index dabbcc1cee4797..7d99ad8f1204a6 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md @@ -15,14 +15,14 @@ https://platform.openai.com/docs/api-reference/embeddings **create**(*input* : Text; *model*: Text; *parameters* : OpenAIEmbeddingsParameters) : OpenAIEmbeddingsResult -Creates an embeddings for the provided input, model and parameters. - -| Argumento | Tipo | Descripción | -| ------------ | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| *entrada* | Texto o colección de texto | La entrada a vectorizar. | -| *model* | Text | The [model to use](https://platform.openai.com/docs/guides/embeddings#embedding-models) | -| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. | -| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. | +Crea una representación vectorial para la entrada, el modelo y los parámetros ofrecidos. + +| Argumento | Tipo | Descripción | +| ------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| *entrada* | Texto o colección de texto | La entrada a vectorizar. | +| *model* | Text | El [modelo a utilizar] (https://platform.openai.com/docs/guides/embeddings#embedding-models) | +| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. | +| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. | #### Ejemplos de uso diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md index a1b407b5774618..50c983790a5e75 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md @@ -41,7 +41,7 @@ La clase `OpenAIError` está diseñada para manejar errores devueltos por la API | ---------------------------- | ------- | ------------------------------------------------------------------------------------------------- | | `isBadRequestError` | Boolean | Indica si se trata de un error 400 Bad Request. | | `isAuthenticationError` | Boolean | Indica si se trata de un error de autenticación 401. | -| `isPermissionDeniedError` | Boolean | Indicates ∏if the error is a 403 Permission Denied error. | +| `isPermissionDeniedError` | Boolean | Indica si el error es un error 403 Permiso denegado. | | `isNotFoundError` | Boolean | Indica si el error es un error 404 Not Found. | | `isUnprocessableEntityError` | Boolean | Indica si el error es un error de entidad no procesable (422). | | `isRateLimitError` | Boolean | Indica si el error es un error de límite de velocidad 429. | diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIImage.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIImage.md index 04c86973e749d1..2917ecf2bf83db 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIImage.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIImage.md @@ -11,11 +11,11 @@ https://platform.openai.com/docs/api-reference/images/object ## Propiedades -| Propiedad | Tipo | Descripción | -| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------- | -| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). | -| `b64_json` | Text | The base64-encoded JSON of the generated image, if `response_format` is `b64_json`. | -| `revised_prompt` | Variant | The prompt that was used to generate the image, if there was any revision to the prompt. | +| Propiedad | Tipo | Descripción | +| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------- | +| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). | +| `b64_json` | Text | El JSON codificado en base64 de la imagen generada, si `response_format` es `b64_json`. | +| `revised_prompt` | Variant | La instrucción que se utilizó para generar la imagen, si hubo alguna revisión de la instrucción. | ## Funciones @@ -23,9 +23,9 @@ https://platform.openai.com/docs/api-reference/images/object **asBlob**() : 4D.Blob -| Parámetros | Tipo | Descripción | -| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------ | -| Resultado | 4D.Blob | Converts the generated image to a blob format based on its URL or base64-encoded JSON. | +| Parámetros | Tipo | Descripción | +| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------ | +| Resultado | 4D.Blob | Convierte la imagen generada a un formato blob basado en su URL o en un JSON codificado en base64. | #### Ejemplo de Uso diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md index fe0fd70f8dbc2e..217e62d372ad77 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md @@ -9,13 +9,13 @@ The `OpenAIMessage` class represents a structured message containing a role, con ## Propiedades -| Propiedad | Tipo | Descripción | -| -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `rol` | Text | The role of the message (e.g., "user", "assistant", "system", "tool"). | -| `contenido` | Variant | El contenido del mensaje, que puede ser un texto o una colección de objetos. | -| `user` | Text | An optional property representing the user associated with the message. | -| `tool_calls` | Collection | A collection of tool calls requested by the assistant. Cada llamada a una herramienta contiene un objeto `id`, `type` y `function`. | -| `tool_call_id` | Text | El ID de la llamada a la herramienta a la que responde este mensaje (se utiliza cuando `role` es "tool"). | +| Propiedad | Tipo | Descripción | +| -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `rol` | Text | El rol del mensaje (por ejemplo, "user", "assistant", "system", "tool"). | +| `contenido` | Variant | El contenido del mensaje, que puede ser un texto o una colección de objetos. | +| `user` | Text | Una propiedad opcional que representa al usuario asociado al mensaje. | +| `tool_calls` | Collection | Una colección de llamadas de herramientas solicitadas por el asistente. Cada llamada a una herramienta contiene un objeto `id`, `type` y `function`. | +| `tool_call_id` | Text | El ID de la llamada a la herramienta a la que responde este mensaje (se utiliza cuando `role` es "tool"). | ## Propiedades calculadas @@ -76,7 +76,7 @@ Cuando reciba un mensaje de llamada de herramienta, debe: 1. **Extraer la información relativa a la función:** - `function.name`: The name of the function to call (must match a function defined in your [OpenAITool](OpenAITool.md) - you can select code to execute according to this name) - - `function.arguments`: A JSON string containing the function parameters that must be parsed with `JSON Parse` + - `function.arguments`: una cadena JSON que contiene los parámetros de la función que deben analizarse con `JSON Parse` - `id`: el identificador único para esta llamada específica a la herramienta 2. **Execute the function:** @@ -103,7 +103,7 @@ var $toolResponse:=cs.AIKit.OpenAIMessage.new({ \ // Add it to the conversation and continue ``` -**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. This allows the AI model to correctly associate your response with the specific function call that was made. +**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. Esto permite que el modelo de IA asocie correctamente su respuesta con la llamada de función específica que se realizó. ## Ver también diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModeration.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModeration.md index 3c92f30cc3c7c7..1b7928f32cb10a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModeration.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModeration.md @@ -5,7 +5,7 @@ title: OpenAIModeration # OpenAIModeration -La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. It contains properties for storing the moderation ID, model used, and the results of the moderation. +La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. Contiene propiedades para almacenar el ID de moderación, el modelo utilizado y los resultados de la moderación. https://platform.openai.com/docs/api-reference/moderations/object diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModerationResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModerationResult.md index b486c693fb10f3..6ae6717533fd23 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModerationResult.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModerationResult.md @@ -5,7 +5,7 @@ title: OpenAIModerationResult # OpenAIModerationResult -The `OpenAIModerationResult` provides functionality to handle moderation results from the OpenAI API. +`OpenAIModerationResult` ofrece funcionalidades para manejar los resultados de moderación de la API OpenAI. ## Hereda diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md index 9f01e306d19db4..9b33b972486a0f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md @@ -19,14 +19,14 @@ Utilice esta propiedad de retrollamada para recibir el resultado independienteme Use these callback properties for more granular control over success and error handling: -| Propiedad | Tipo | Descripción | -| ------------ | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `onResponse` | 4D.Function | A function to be called asynchronously when the request finishes **successfully**. Asegúrese de que el proceso actual no termina. | -| `onError` | 4D.Function | A function to be called asynchronously when the request finishes **with errors**. Asegúrese de que el proceso actual no termina. | +| Propiedad | Tipo | Descripción | +| ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `onResponse` | 4D.Function | Una función a llamar de forma asíncrona cuando la petición finalice **con éxito**. Asegúrese de que el proceso actual no termina. | +| `onError` | 4D.Function | Una función que se llamará de forma asíncrona cuando la petición finalice **con errores**. Asegúrese de que el proceso actual no termina. | > The callback function will receive the same result object type (one of [OpenAIResult](./OpenAIResult.md) child classes) that would be returned by the function in synchronous code. -See [documentation about asynchronous code for examples](../asynchronous-call.md) +Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-call.md) ### Propiedades de la red diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md index a56ffcdcd8d803..ef3e9ad3508ea9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md @@ -21,13 +21,13 @@ The `OpenAIResult` class is designed to handle the response from HTTP requests a | `errors` | Collection | Devuelve una colección de errores. Estos podrían ser errores de red o errores devueltos por OpenAI. | | `terminated` | Boolean | Un booleano que indica si la petición HTTP fue terminada. | | `headers` | Object | Devuelve los encabezados de respuesta como un objeto. | -| `rateLimit` | Object | Returns rate limit information from the response headers. | +| `rateLimit` | Object | Devuelve la información relativa al límite de tasa de los encabezados de la respuesta. | | `utilización` | Object | Devuelve la información de uso del cuerpo de la respuesta, si existe. | ### rateLimit -The `rateLimit` property returns an object containing rate limit information from the response headers. -This information includes the limits, remaining requests, and reset times for both requests and tokens. +La propiedad `rateLimit` devuelve un objeto que contiene información sobre el límite de velocidad de los encabezados de respuesta. +Esta información incluye los límites, las peticiones restantes y los tiempos de reinicialización tanto para peticiones como para tokens. For more details on rate limits and the specific headers used, refer to [the OpenAI Rate Limits Documentation](https://platform.openai.com/docs/guides/rate-limits#rate-limits-in-headers). diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md index 5b5e136edec480..ca4d836251504a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md @@ -5,7 +5,7 @@ title: Proveedores # Proveedores -Many AI providers propose an OpenAI-like API, so you can use this project to connect to them. +Muchos proveedores de IA proponen una API similar a la de OpenAI, así que puede utilizar este proyecto para conectarse a ellos. Para ello sólo tiene que definir la `baseURL` a la del proveedor y utilizar su clave api si es necesario. 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 1fe91c02d0a301..15db7ba0a2435f 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 @@ -803,7 +803,7 @@ La etiqueta `` permite generar y utilizar macrocomandos que ejecutan mé El código de un método llamado se ejecuta en un nuevo proceso. Este proceso se cierra una vez se ejecuta el método. -> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. If this occurs, use the **Ctrl+F8** (Windows) or **Command+F8** (macOS) command to "kill" the process. +> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. Si esto ocurre, utilice el comando **Ctrl+F8** (Windows) o **Comando+F8** (macOS) para "matar" el proceso. ### Llamando macros diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md index 71416c9f2cbcc3..fdbd960b6e8acd 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md @@ -25,14 +25,14 @@ displayed_sidebar: docs ## Descripción -The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. It has the added benefit of being able to be executed from any 4D environment, including compiled mode. +The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. Tiene la ventaja adicional de poder ser ejecutado desde cualquier entorno 4D, incluyendo el modo compilado. The command facilitates debugging by enabling the identification of the method or formula called, the component that called it, and the line number where the call was made. Cada objeto de la colección devuelta contiene las siguientes propiedades: | **Propiedad** | **Tipo** | **Description** | **Ejemplo** | | ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | | database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" | -| formula | Text (si lo hay) | Contents of the current line of code at the current level of the call chain (raw text). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" | +| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" | | línea | Integer | Número de línea de llamada al método | "line":6 | | name | Text | Nombre del método llamado | "name":"On Load" | | type | Text | Type of the method:
  • "projectMethod"
  • "formObjectMethod"
  • "formmethod"
  • "databaseMethod"
  • "triggerMethod"
  • "executeOnServer" (when calling a project method with the *Execute on Server attribute*)
  • "executeFormula" (when executing a formula via [PROCESS 4D TAGS](../commands-legacy/process-4d-tags.md) or the evaluation of a formula in a 4D Write Pro document)
  • "classFunction"
  • "formMethod"
  • | "type":"formMethod" | @@ -45,7 +45,7 @@ Para que este comando pueda operar en modo compilado, la [verificación de rango ## Ejemplo -The following code returns a collection of objects containing information about the method call chain: +El siguiente código devuelve una colección de objetos que contienen información acerca de la cadena de llamadas de métodos: ```4d var $currentCallChain : Collection diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md index 015524764df850..67339d42612c4b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md @@ -36,7 +36,7 @@ Hay dos parámetros opcionales: - *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful: - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md). - - Second bit (bit 1): set to 1 if the command is **deprecated**, and 0 if it is not. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors). + - Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors). *theme*: nombre del tema del lenguaje 4D para el comando. @@ -80,9 +80,9 @@ En un formulario, quiere una lista desplegable con los comandos básicos de info  End case ``` -In the English version of 4D, the drop-down list will read: Sum, Average, Min, and Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max. +En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max. -\*with a 4D application configured to use the French programming language (see compatibility note) +\*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad) ## Ejemplo 3 @@ -110,7 +110,7 @@ Luego, para el comando "SAVE RECORD" (53) por ejemplo, puede escribir: ## Ejemplo 4 -You want to return a collection of all deprecated commands in your version of 4D. +Quiere devolver una colección de todos los comandos obsoletos en su versión de 4D. ```4d var $info; $Lon_id : Integer diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/create-deployment-license.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/create-deployment-license.md index 57ffea72a3cfe9..a943e2ddaadfc1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/create-deployment-license.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/create-deployment-license.md @@ -112,7 +112,7 @@ Designar una licencia de uso: ## Ver también -[Blog post - Build an application with 4D commands](https://blog.4d.com/build-an-application-with-4d-commands) +[Post de blog - Crear una aplicación con los comandos 4D](https://blog.4d.com/build-an-application-with-4d-commands) ## Propiedades diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-get-property.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-get-property.md index 1950ec74b81673..e0fe65323178a0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-get-property.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-get-property.md @@ -85,7 +85,7 @@ Dado un list box "MyListbox", si ejecuta la siguiente instrucción: $Value:=LISTBOX Get property(*; "MyListbox";lk selection mode) // el valor devuelto indica el modo de selección ``` -In this case, the result returned indicates whether multiple rows can be selected. +En este caso, el resultado devuelto indica si varios registros pueden ser seleccionados. ## Ejemplo 2 diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md index bad06c1b5092c0..d6641157210542 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md @@ -25,7 +25,7 @@ Si pasa el parámetro opcional *\**, indica que el parámetro *object* es un nom **Note:** If the list box or list box column specified using the *object* and *\** parameters does not exist, the command does nothing and no error is triggered. -In the *property* and *value* parameters, you indicate, respectively, the property to set and its new value. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*: +En los parámetros *property* y *value*, usted indica, respectivamente, la propiedad a definir y su nuevo valor. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*: | Constante | Valor | Comentario | | ------------------------------ | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -69,7 +69,7 @@ In the *property* and *value* parameters, you indicate, respectively, the proper ## Ejemplo 1 -You want to make all columns of the "MyListbox" list box resizable: +Quiere que todas las columnas del list box "MyListbox" sean redimensionables: ```4d LISTBOX SET PROPERTY(*;"MyListbox";lk column resizable;lk yes) //Todas las columnas del list box "MyListbox" se establecen como redimensionables diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md index dc7638f769dbd6..a3a706e3623201 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md @@ -20,12 +20,12 @@ displayed_sidebar: docs The **New log file** command closes the current log file, renames it and creates a new one with the same name in the same location as the previous one. This command is meant to be used for setting up a backup system using a logical mirror (see the section *Setting up a logical mirror* in the [4D Server Reference Manual](https://doc/4d.com)). -The command returns the full pathname (access path + name) of the log file being closed (called the “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). The command does not carry out any processing (compression, segmentation) on the saved file. No aparece ninguna +El comando devuelve el nombre completo de la ruta (ruta de acceso + nombre) del archivo de registro que se está cerrando (llamado “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). El comando no realiza ningún procesamiento (compresión, segmentación) en el archivo guardado. No aparece ninguna caja de diálogo. The file is renamed with the current backup numbers of the database and of the log file, as shown in the following example: DatabaseName\[BackupNum-LogBackupNum\].journal. Por ejemplo: -- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. The name of the first “segment” of the log file will therefore be MyDatabase\[0004-0001\].journal. +- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal. - If the MyDatabase.4DD database has been saved 3 times and the log file has been saved 5 times since, the name of the 6th backup of the log file will be MyDatabase\[0003-0006\].journal. :::warning diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md index 4645679308f3d1..05b28a5eb1d550 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md @@ -17,11 +17,11 @@ displayed_sidebar: docs ## Descripción -The **SELECT LOG FILE** command creates, or closes the log file according to the value you pass in parameter. +El comando **SELECT LOG FILE** crea o cierra el archivo de historial de acuerdo al valor que pase en el parámetro. -In *logFile*, pass the name or the full pathname of the log file to be created. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file. +En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file. -If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. Otherwise, if the user clicks Cancel or if the log file could not be created, OK is set to 0. +If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0. **Note:** The new log file is not generated immediately after execution of the command, but after the next backup (the parameter is kept in the data file and will be taken into account even if the database is closed in the meantime) or a call to the [New log file](new-log-file.md) command. Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md index 18740b9b6c98e9..cd80fd800c2ca9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md @@ -31,7 +31,7 @@ displayed_sidebar: docs El comando **String** devuelve en forma de cadena alfanumérica la expresión numérica, fecha, hora, cadena o booleana que se pasa en *expression*. -If you do not pass any other parameter, the string is returned with the appropriate default format. Si pasa *format*, puede forzar que la cadena resultante tenga un formato específico. +Si no pasa ningún otro parámetro, la cadena se devuelve con el formato apropiado por defecto. Si pasa *format*, puede forzar que la cadena resultante tenga un formato específico. El parámetro opcional *addTime* añade una hora a una fecha en un formato combinado. Sólo puede utilizarse cuando el parámetro *expression* es una fecha (ver abajo). diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/trim.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/trim.md index 5cb9ac27fad57e..44a293403f43d9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/trim.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/trim.md @@ -31,7 +31,7 @@ To return a new string with whitespace trimmed from just one end, use [`Trim sta En el parámetro *aString*, puede pasar cualquier expresión de tipo texto. Será dejado sin tocar por el comando. -El comando devuelve la versión recortada de la cadena *aString*. If there is no whitespace at any end of *aString*, the returned string is identical as the one passed in parameter. +El comando devuelve la versión recortada de la cadena *aString*. Si no hay espacios en blanco en ningún extremo de *aString*, la cadena devuelta es idéntica a la pasada como parámetro. :::note diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/wa-get-context.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/wa-get-context.md index 98329331b077f7..366311d7124bd5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/wa-get-context.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/wa-get-context.md @@ -18,7 +18,7 @@ displayed_sidebar: docs ### Descripción -El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). If `WA SET CONTEXT` was not called for the web area the command returns `null`. +El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). Si `WA SET CONTEXT` no fue llamado para el área web, el comando devuelve `null`. :::note diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md index b03e5465634991..a2115ea9a211c6 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md @@ -92,7 +92,7 @@ En caso de modificación, deberá reiniciar la aplicación para que se tenga en :::note -This option is not available when the [QUIC](#network-layer) network layer is selected. +Esta opción no está disponible cuando se selecciona la capa de red [QUIC](#network-layer). ::: @@ -110,7 +110,7 @@ Cuando esta opción está marcada, todas las máquinas remotas 4D que se conecta :::note -This option is not available when the [QUIC](#network-layer) network layer option is selected. +Esta opción no está disponible cuando se selecciona la opción capa de red [QUIC](#network-layer). ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md index 052d2beaf51c2c..d827ba37fa6121 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md @@ -124,7 +124,7 @@ Define el sistema de autenticación que desea aplicar a su servidor web. Se prop - Contraseñas con protocolo BASIC - Contraseñas con protocolo DIGEST -Se recomienda utilizar la autenticación **personalizada**. See [**Authentication**](../WebServer/authentication.md) section. +Se recomienda utilizar la autenticación **personalizada**. Ver la sección[**autenticación**](../WebServer/authentication.md). #### Generic Web User diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md index 06e3a6417575d3..b15f5e0bde777c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md @@ -2519,7 +2519,7 @@ Con el siguiente método *NumberGreaterThan0*: 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. -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. You can also pass one of the following constants in the *ascOrDesc* parameter: +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*: |Constant| Type|Value|Comment| |---|---|---|---| diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md index de25918e361018..b19fb72882385a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md @@ -3169,7 +3169,7 @@ La función `.sort()` ordena los elemento > Esta función modifica la colección original. 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. -You can also pass one of the following constants in the *ascOrDesc* parameter: +También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*: ``` |Constant| Type|Value|Comment| diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md index 165d71999ad19e..0dcbda2559aa1c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md @@ -54,12 +54,12 @@ La función `4D.CryptoKey.new()` crea un #### *settings* -| Propiedad | Tipo | Descripción | -| --------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [type](#type) | text | Defines the type of the key to create:
  • "RSA": generates a RSA key pair, using [.size](#size) as size.
  • "ECDSA": generates an Elliptic Curve Digital Signature Algorithm key pair, using [.curve](#curve) as curve. Tenga en cuenta que las llaves ECDSA no pueden utilizarse para el cifrado, sino solo para la firma.
  • "PEM": loads a key pair definition in PEM format, using [.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* diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/EntityClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/EntityClass.md index 36b6aaf3f75cb6..91d6bb80d4d4f3 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/EntityClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/EntityClass.md @@ -397,7 +397,7 @@ El objeto devuelto por `.drop()` contiene las siguientes propiedades: | `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza entity.drop( ), este error puede ser devuelto cuando se utiliza la opción dk force drop if stamp changed. Cuando se utiliza entity.lock(), se puede devolver este error cuando la opción dk reload if stamp changed es utilizada
  • **statusText asociado**: "Entity does not exist anymore" | | `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
    **statusText asociado**: "Already locked" | | `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
    **statusText asociado**\*: "Other error" | -| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
  • with `.save( )`: error only if the `dk auto merge` option is not used
  • with `.drop( )`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used
  • **Associated statusText**: "Stamp has changed"
  • | +| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
  • with `.save( )`: error only if the `dk auto merge` option is not used
  • with `.drop( )`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used
  • **Associated statusText**: "Stamp has changed"
  • | | `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" | #### Ejemplo 1 @@ -1017,7 +1017,7 @@ El objeto devuelto por `.lock()` contiene las siguientes propiedades: | `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop( )`, este error puede devolverse cuando se utiliza la opción `dk force drop if stamp changed`. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | | `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" | | `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
    **statusText asociado**: "Other error" | -| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
  • with `.save( )`: error only if the `dk auto merge` option is not used
  • with `.drop( )`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used

  • **Associated statusText**: "Stamp has changed" | +| `dk status stamp has changed` | 2 | El valor del sello interno de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
  • with `.save( )`: error only if the `dk auto merge` option is not used
  • with `.drop( )`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used

  • **Associated statusText**: "Stamp has changed" | #### Ejemplo 1 @@ -1279,7 +1279,7 @@ Los siguientes valores pueden ser devueltos en las propiedades `status`y `status | `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). the entity has been dropped and replaced by another one with another primary key (the stamp has changed and a new entity now uses the memory space). Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | | `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" | | `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
    **statusText asociado**: "Other error" | -| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
  • with `.save( )`: error only if the `dk auto merge` option is not used
  • with `.drop( )`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used

  • **Associated statusText**: "Stamp has changed" | +| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
  • with `.save( )`: error only if the `dk auto merge` option is not used
  • with `.drop( )`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used

  • **Associated statusText**: "Stamp has changed" | | `dk status wrong permission` | 1 | Los privilegios actuales no permiten guardar la entidad. **Associated statusText**: "Permission Error" | #### Ejemplo 1 diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/IMAPTransporterClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/IMAPTransporterClass.md index 05be142672c1db..00fb9eee94ee8e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/IMAPTransporterClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/IMAPTransporterClass.md @@ -791,16 +791,16 @@ En el parámetro opcional `parameters`, pase un objeto que contenga valores para Cada objeto de la colección devuelta contiene las siguientes propiedades: -| Propiedad | Tipo | Descripción | -| ------------------------------------------------------------------------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| \[].name | Text | Nombre del buzón. Devuelto si withBoxProperties=true o withBoxInfo=true | -| \[].selectable | Boolean | Indica si los derechos de acceso permiten o no seleccionar el buzón de correo:
    • true - el buzón puede ser seleccionado
    • false - el buzón de correo no puede ser seleccionado
    Devuelto si withBoxProperties=true | -| \[].inferior | Boolean | Indica si los derechos de acceso permiten o no crear una jerarquía inferior en el buzón:
    • true - se puede crear un nivel inferior
    • false - no se puede crear un nivel inferior
    Se devuelve si withBoxProperties=true | -| \[].interesting | Boolean | Indica si el buzón ha sido marcado como "interesante" por el servidor:
    • true - El buzón ha sido marcado como "interesante" por el servidor. Por ejemplo, puede contener mensajes nuevos.
    • false - The mailbox has not been marked "interesting" by the server.
    Se devuelve si withBoxProperties=true | -| [].mailCount | Number | Número de mensajes en el buzón. Devuelto si withBoxInfo=true | -| [].mailRecent | Number | Número de mensajes marcados como "recent" (indicando nuevos mensajes). Devuelto si withBoxInfo=true | -| [].mailUnseen | Number | Número de mensajes marcados como "unseen". Devuelto si withBoxInfo=true | -| [].id | Text | Identificador único del buzón. Devuelto si withBoxInfo=true | +| Propiedad | Tipo | Descripción | +| ------------------------------------------------------------------------------------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \[].name | Text | Nombre del buzón. Devuelto si withBoxProperties=true o withBoxInfo=true | +| \[].selectable | Boolean | Indica si los derechos de acceso permiten o no seleccionar el buzón de correo:
    • true - el buzón puede ser seleccionado
    • false - el buzón de correo no puede ser seleccionado
    Devuelto si withBoxProperties=true | +| \[].inferior | Boolean | Indica si los derechos de acceso permiten o no crear una jerarquía inferior en el buzón:
    • true - se puede crear un nivel inferior
    • false - no se puede crear un nivel inferior
    Se devuelve si withBoxProperties=true | +| \[].interesting | Boolean | Indica si el buzón ha sido marcado como "interesante" por el servidor:
    • true - El buzón ha sido marcado como "interesante" por el servidor. Por ejemplo, puede contener mensajes nuevos.
    • false - El buzón no ha sido marcado como "interesante" por el servidor.
    Se devuelve si withBoxProperties=true | +| [].mailCount | Number | Número de mensajes en el buzón. Devuelto si withBoxInfo=true | +| [].mailRecent | Number | Número de mensajes marcados como "recent" (indicando nuevos mensajes). Devuelto si withBoxInfo=true | +| [].mailUnseen | Number | Número de mensajes marcados como "unseen". Devuelto si withBoxInfo=true | +| [].id | Text | Identificador único del buzón. Devuelto si withBoxInfo=true | Si la cuenta no contiene buzones, se devuelve una colección vacía. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Admin/cli.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Admin/cli.md index 629c6c21a7223c..cc30a3dc01b1af 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Admin/cli.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Admin/cli.md @@ -44,25 +44,25 @@ Sintaxis: [--utility] [--skip-onstartup] [--startup-method ] ``` -| Argumento | Valor | Descripción | -| :-------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `applicationPath` | Ruta de 4D, 4D Server, aplicación fusionada o tool4d | Lanza la aplicación.
    If not headless: identical to double-clicking the application; when called without structure file argument, the application is executed and the 'select database' dialog box appears. | -| `--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-legacy/get-database-parameter.md) (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-legacy/set-database-parameter.md), 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-legacy/alert.md), Abort para un diálogo de error...). All intercepted commands(\*) are logged in the diagnostic log.

  • For maintenance needs, you can send any text to standard output streams using the [LOG EVENT](../commands-legacy/log-event.md) command. Tenga en cuenta que las aplicaciones 4D sin interfaz sólo pueden cerrarse mediante una llamada a [QUIT 4D](../commands-legacy/quit-4d.md) o utilizando el administrador de tareas del sistema operativo. | -| `--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). In this mode:
  • No file containing data is opened, even if specified in the command line or the `.4DLink` file, or when using the `CREATE DATA FILE` and `OPEN DATA FILE` commands.
  • 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` | | 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#webadmin-settings) por defecto o un archivo personalizado designado con el parámetro `--webadmin-settings-path`). Utilice el argumento `--webadmin-store-settings` para guardar esta configuración si es necesario. No disponible con [tool4d](#tool4d). | -| `--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 de 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.
    If not headless: identical to double-clicking the application; when called without structure file argument, the application is executed and the 'select database' dialog box appears. | +| `--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-legacy/get-database-parameter.md) (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-legacy/set-database-parameter.md), 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-legacy/alert.md), Abort para un diálogo de error...). Todos los comandos interceptados(\*) se registran en el registro de diagnóstico.

  • For maintenance needs, you can send any text to standard output streams using the [LOG EVENT](../commands-legacy/log-event.md) command. Tenga en cuenta que las aplicaciones 4D sin interfaz sólo pueden cerrarse mediante una llamada a [QUIT 4D](../commands-legacy/quit-4d.md) o utilizando el administrador de tareas del sistema operativo. | +| `--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). In this mode:
  • No file containing data is opened, even if specified in the command line or the `.4DLink` file, or when using the `CREATE DATA FILE` and `OPEN DATA FILE` commands.
  • 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` | | 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#webadmin-settings) por defecto o un archivo personalizado designado con el parámetro `--webadmin-settings-path`). Utilice el argumento `--webadmin-store-settings` para guardar esta configuración si es necesario. No disponible con [tool4d](#tool4d). | +| `--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 de 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/version-20-R10/Debugging/debugLogFiles.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugLogFiles.md index d6b32a4f015be7..6d1c175bec05b2 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugLogFiles.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugLogFiles.md @@ -73,7 +73,7 @@ Para cada petición, se registran los siguientes campos: | 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 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 inferior.
  • Only measured when using the ServerNet network layer, returns 0 when used with the legacy network layer.
  • For Windows versions prior to Windows 10 or Windows Server 2016, the call will return 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: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Desktop/labels.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Desktop/labels.md index 6f88b8f6be305b..ebbb7212ad3b94 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Desktop/labels.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Desktop/labels.md @@ -127,22 +127,22 @@ El lado derecho de la barra de herramientas contiene comandos utilizados para mo ## Página Diseño -The Layout page contains controls for printing labels based on the requirements of your current print settings. +Esta página contiene los controles para imprimir etiquetas en función de los requisitos de sus parámetros de impresión actuales. ![](../assets/en/Desktop/label-layout.png) -- **Labels Order**: Specifies whether labels should be printed in the direction of the rows or the columns. -- **Rows** and **Columns**: Set the number of labels to be printed by "row" and by "column" on each sheet. These settings determine the label size when the "Automatic resizing" option is enabled. -- **Labels per record**: Sets the number of copies to print for each label (copies are printed consecutively). -- **Print Setup...**: Sets the format of the page on which the sheet of labels will be printed. When you click this button, the setup dialog box for the printer selected in your system appears. By default, the sheet of labels is generated based on an A4 page in portrait mode. - **Note:** The sheet created by the editor is based on the logical page of the printer, i.e. the physical page (for instance, an A4 page) less the margins that cannot be used on each side of the sheet. The physical margins of the page are shown by blue lines in the preview area. -- **Unit**: Changes the units in which you specify your label and label page measurements. Puede utilizar puntos, milímetros, centímetros o pulgadas. -- **Automatic resizing**: Means that 4D automatically calculates the size of the labels (i.e. the Width and Height parameters) according to the values set in all the other parameters. When this option is checked, the label size is adjusted each time you modify a page parameter. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente. -- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. They cannot be edited when the **Automatic resizing** option is checked. -- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Clicking on **Use printer margins** replicates, in the preview area, the margin information provided by the selected printer (these values can be modified). -- **Gaps**: Set the amount of vertical and/or horizontal space between label rows and columns. -- **Method**: Lets you trigger a specific method that will be run at print time. For example, you can execute a method that posts the date and time that each label was printed. This feature is also useful when you print labels using a dedicated table form, in which case you can fill variables from a method. - To be eligible for label processing, a project method must comply with the following settings: +- **Orden de etiquetas**: indica si las etiquetas deben imprimirse en la dirección de las líneas o de las columnas. +- **Líneas** y **Columnas**: defina el número de etiquetas a imprimir por "línea" y "columna" en cada hoja. Estos parámetros determinan las dimensiones de las etiquetas cuando la opción "Dimensiones automáticas" está activada. +- **Etiquetas por registro**: define el número de copias a imprimir para cada etiqueta (las copias se imprimen consecutivamente). +- **Formato de impresión...**: formato de la página en la que se imprimirá la hoja de etiquetas. Cuando hace clic en este botón, aparece el cuadro de diálogo de configuración de la impresora seleccionada en su sistema. Por defecto, la hoja de etiquetas se genera basándose en una página A4 en modo retrato. + **Nota:** la hoja creada por el editor se basa en la página lógica de la impresora, es decir, la página física (por ejemplo, una hoja A4) menos los márgenes que no se pueden utilizar a cada lado de la hoja. Los márgenes de la página física se representan por las líneas azules en el área de vista previa. +- **Unidad**: modifica las unidades en las que especifica las medidas de la etiqueta y de la página de etiqueta. Puede utilizar puntos, milímetros, centímetros o pulgadas. +- **Dimensiones automáticas**: indica que 4D calcula automáticamente el tamaño de las etiquetas (es decir, los parámetros Ancho y Alto) según los valores definidos en todos los demás parámetros. Cuando esta opción está marcada, el tamaño de las etiquetas se recalcula cada vez que se modifica un parámetro en la página. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente. +- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. No se pueden editar cuando la opción **Dimensionamiento automático** está marcada. +- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Al hacer clic en **Aplicar los márgenes de la impresora** con el fin de replicar, en el área de vista previa, la información de margen proporcionada por la impresora seleccionada (estos valores pueden ser modificados). +- **Intervalos**: defina el espacio vertical y/o horizontal entre las líneas y columnas de las etiquetas. +- **Método**: permite activar un método específico que se ejecutará al momento de la impresión. Por ejemplo, puede ejecutar un método que publique la fecha y la hora en que se imprimió cada etiqueta. Esta funcionalidad también es útil cuando se imprimen etiquetas usando un formulario tabla dedicado, en cuyo caso se pueden llenar variables a partir de un método. + Para ser elegible para el procesamiento de etiquetas, un método proyecto debe cumplir con las siguientes condiciones: - debe ser "permitido" para la base de datos (los métodos permitidos dependen de los [parámetros del proyecto](../settings/security.md#options) y el comando [`SET ALLOWED METHODS`](../commands/set-allowed-methods.md), de lo contrario no se mostrará en el menú **Aplicación**. - debe tener la opción [Compartido por componentes y base de datos local](../Project/code-overview.md#shared-by-components-and-host-database). Ver también [este ejemplo](#printing-labels-using-forms-and-methods-example) a continuación. @@ -150,20 +150,20 @@ The Layout page contains controls for printing labels based on the requirements :::note Para necesidades avanzadas, puede restringir la lista de métodos disponibles utilizando un [archivo json específico](#controlling-available-forms-and-methods). -The **For each: Record or Label** options are used to specify whether to run the method once per label or once per record. This control has meaning only if you are printing more than one copy of each label and you are also executing a method at print time. +Las opciones **Para cada: Registro o Etiqueta** permiten especificar si ejecutar el método una vez por etiqueta o una vez por registro. Este control sólo tiene sentido si está imprimiendo más de una copia de cada etiqueta y también está ejecutando un método al momento de la impresión. ::: -- **Layout preview**: Provides a reduced view of how an entire page of labels will look, based on the dimensions you enter in the Label editor. The page preview also reflects the paper size selected in the Print Setup dialog box. También puede utilizar esta zona para designar la primera etiqueta de la página que se va a imprimir (esta opción sólo afecta a la primera hoja en caso de impresión multipágina). This can be useful, for example, when you want to print on a sheet of adhesive labels, part of which has already been used. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella: +- **Vista previa del diseño**: permite visualizar en tiempo real las modificaciones que ingrese en el editor de etiquetas. La vista previa de la página también refleja el tamaño de papel seleccionado en el cuadro de diálogo Configuración de la impresión. También puede utilizar esta área para designar la primera etiqueta de la página a imprimir (esta opción solo afecta a la primera hoja en el caso de la impresión multipágina). Esto puede ser útil, por ejemplo, cuando se desea imprimir en una hoja de etiquetas adhesivas, parte de las cuales ya se ha utilizado. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella: ![](../assets/en/Desktop/label-start.png) ## Impresión de etiquetas mediante formularios y métodos (ejemplo) -You can use dedicated table forms and project methods to print labels with calculated variables. This simple example shows how to configure the different elements. +Puede utilizar formularios de tabla dedicados y métodos proyecto para imprimir etiquetas con variables calculadas. Este ejemplo explica como configurar los diferentes elementos. 1. En un formulario tabla dedicado, añada su(s) campo(s) de etiqueta y su(s) variable(s). - Here, in a table form named "label", we added the *myVar* variable: + Aquí, en una tabla llamada "etiqueta", sumamos la variable *myVar*: ![](../assets/en/Desktop/label-example1.png) 2. Crea un método proyecto llamado `setMyVar` con el siguiente código: @@ -174,7 +174,7 @@ You can use dedicated table forms and project methods to print labels with calcu 3. Defina el método proyecto como ["Compartido por los componentes y la base de datos local"](../Project/code-overview.md#shared-by-components-and-host-database). -4. Before displaying the Label editor, make sure the project method is allowed by executing this code: +4. Antes de mostrar el editor de etiquetas, asegúrese de que el método proyecto está autorizado ejecutando este código: ```4d ARRAY TEXT($methods;1) @@ -182,7 +182,7 @@ You can use dedicated table forms and project methods to print labels with calcu SET ALLOWED METHODS($methods) ``` -5. Open the Label editor and use your form: +5. Abre el editor de etiquetas y use su formulario: ![](../assets/en/Desktop/label-example2.png) 6. En la página Diseño, seleccione el método: @@ -191,9 +191,9 @@ You can use dedicated table forms and project methods to print labels with calcu Luego puede imprimir sus etiquetas: ![](../assets/en/Desktop/label-example4.png) -## Control de los formularios y métodos disponibles +## Definición de los formularios y métodos disponibles -The Label editor includes an advanced feature allowing you to restrict which project forms and methods (within "allowed" methods) can be selected in the dialog box: +El editor de etiquetas incluye una función avanzada que le permite limitar los formularios y los métodos proyecto (dentro de los métodos "permitidos") pueden seleccionarse en el cuadro de diálogo: - en el menú **Formulario a utilizar** de la página "Etiqueta" y/o - en el menú **Aplicar (método)** de la página "Diseño". diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md index e58d6470b5e614..26c51c0f4661d3 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md @@ -17,7 +17,7 @@ Puede introducir cualquier nombre de clase válido en esta propiedad, incluyendo - Clases 4D integradas (por ejemplo, `4D.File`, `4D.Folder`) - [Exposed](../Extensions/develop-components.md#sharing-of-classes) component-defined classes (e.g. `cs.MyComponent.MyClass`) -If you enter an invalid class name, a warning is triggered and the input is rejected. +Si introduce un nombre de clase inválido, se activa una advertencia y se rechaza la entrada. :::note @@ -25,7 +25,7 @@ If you enter an invalid class name, a warning is triggered and the input is reje ::: -In your code, when assigning a value to a class-typed object field, 4D verifies that it belongs to the declared class. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis. +En su código, al asignar un valor a un campo de tipo clase de objeto, 4D verifica que pertenece a la clase declarada. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis. To retrieve the associated class name at runtime, use the [`classID`](../API/DataClassClass.md#attributename) property, for example `ds.MyTable.MyField.classID`. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Extensions/overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Extensions/overview.md index 4610ce00bef790..a4154b589f1f30 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Extensions/overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Extensions/overview.md @@ -3,11 +3,11 @@ id: overview title: Extendiendo aplicaciones 4D --- -The 4D architecture is open and can be extended in different ways. Si necesita una funcionalidad que no está disponible de forma nativa en 4D, siempre puede integrarla en su aplicación de diversas maneras, por ejemplo: +La arquitectura 4D está abierta y puede ampliarse de diferentes maneras. Si necesita una funcionalidad que no está disponible de forma nativa en 4D, siempre puede integrarla en su aplicación de diversas maneras, por ejemplo: - Los [**workers del sistema**](../API/SystemWorkerClass.md) permiten al código 4D llamar a cualquier proceso externo (un comando shell, PHP, cualquier script, etc.) y supervisar su ejecución. - Los [**comandos SQL**](../commands/theme/SQL) permiten conectar y utilizar diversas fuentes de datos SQL. - El [**cliente HTTP integrado**](../API/HTTPRequestClass.md) puede solicitar cualquier servidor HTTP y procesar datos. - Las [**Áreas Web**](../FormObjects/webArea_overview.md) pueden dar acceso a páginas web o a diversos contenidos HTML dentro de sus formularios. -- [**Componentes**](Concepts/components.md). Los componentes están hechos de código 4D. 4D includes by default [a set of built-in 4D components](../Project/components.md#preinstalled-4d-components). También puedes [desarrollar sus propios componentes 4D](develop-components.md), o utilizar componentes de terceros. Muchos desarrolladores de la comunidad 4D han compartido componentes 4D (navegue por Github para tener una lista de componentes 4D públicos reunidos con el tema [`4d-component`](https://github.com/topics/4d-component)). +- [**Componentes**](Concepts/components.md). Los componentes están hechos de código 4D. 4D incluye por defecto [un conjunto de componentes 4D integrados](../Project/components.md#preinstalled-4d-components). También puedes [desarrollar sus propios componentes 4D](develop-components.md), o utilizar componentes de terceros. Muchos desarrolladores de la comunidad 4D han compartido componentes 4D (navegue por Github para tener una lista de componentes 4D públicos reunidos con el tema [`4d-component`](https://github.com/topics/4d-component)). - [**Plug-ins**](../Concepts/plug-ins.md). Los plug-ins pueden construirse utilizando cualquier lenguaje. Los plugins hacen cosas que 4D no hace de forma nativa (por ejemplo, una tecnología de plataforma específica), o que serían muy difíciles de escribir sólo con 4D. Como se describe en [esta página](develop-plug-ins.md), puede desarrollar sus propios plug-ins. Muchas funcionalidades están cubiertas por los plug-ins 4D existentes. Navegue por Github para tener una lista de plugins 4D públicos reunidos con el tema [`4d-plugin`](https://github.com/topics/4d-plugin). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md index 4aea53b4daeb2e..55169d4e3065a5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md @@ -148,7 +148,7 @@ Para seleccionar un objeto utilizando la barra de herramientas: 1. Haga clic en la herramienta Flecha de la barra de herramientas.
    ![](../assets/en/FormEditor/selection.png) -
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. +
    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 manillas de redimensionamiento identifican el objeto seleccionado.
    ![](../assets/en/FormEditor/selectResize.png) @@ -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 **Ungroup** en el menú **Object**.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    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. +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 @@ -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: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (Icono de distribución horizontal estándar)
    El área de ejemplo muestra los resultados de su selección. -4. To perform a distribution that uses the standard scheme, click **Preview** or *Apply*.
    In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them.
    OR:
    To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). 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*.
    In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them.
    OR:
    To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). 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. @@ -352,7 +352,7 @@ Cuando se superponen varios objetos, se puede utilizar el atajo **Ctrl+Mayús+cl :::note -In binary databases, use **Ctrl+Click / Command+Click** to perform the same action. +En bases de datos binarias, utilice **Ctrl+Clic / Comando+Clic** para efectuar la misma acción. ::: @@ -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. To change the data entry order, position the pointer on an object in the form and, while holding down the mouse button, drag the pointer to the object you want next in the data entry order.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. +2. To change the data entry order, position the pointer on an object in the form and, while holding down the mouse button, drag the pointer to the object you want next in the data entry order.
    ![](../assets/en/FormEditor/entryOrder3.png)
    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/version-20-R10/FormEditor/properties_Markers.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md index cecc6b6b4e022d..b80b59a9bca1cc 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md @@ -21,9 +21,9 @@ Puede hacer que las áreas Ruptura sean más pequeñas o más grandes. Puede uti #### Gramática JSON -| Nombre | Tipos de datos | Valores posibles | -| ----------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -| markerBreak | integer | integer collection | Break marker position or collection of break marker positions in pixels.
    Valor mínimo: 0 | +| Nombre | Tipos de datos | Valores posibles | +| ----------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| markerBreak | integer | integer collection | Posición del marcador de ruptura o colección de posiciones del marcador de ruptura en píxeles.
    Valor mínimo: 0 | --- diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/button_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/button_overview.md index bc28dd10b260a0..f47035dbbd758a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/button_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/button_overview.md @@ -328,7 +328,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 [Ayuda](#help).
    -> (2) Not supported by the [Help](#help), [Flat](#flat) and [Regular](#regular) styles. +> (2) No soportado por los estilos [Help](#help), [Flat](#flat) y [Regular](#regular). Existen propiedades específicas adicionales, dependiendo del [estilo-de-botón](#button-styles): diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md index 978af992f51d90..3f61236a812366 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md @@ -523,7 +523,7 @@ 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í |
    • "This.a" or "This.a.b" columns are sortable.
    • The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
    | +| Colección de objetos | Sí |
    • Las columnas "This.a" o "This.a.b" son ordenables.
    • The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../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í |
  • The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
  • Supported: sorts on object attribute properties (e.g. "This.data.city" when "data" is an object attribute)
  • Supported: sorts on related attributes (e.g. "This.company.name")
  • Not supported: sorts on object attribute properties through related attributes (e.g. "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`) | @@ -812,7 +812,7 @@ If the user selects a break row, [`LISTBOX GET CELL POSITION`](../commands/listb ![](../assets/en/FormObjects/hierarch11.png) -... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) returns (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command. +... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command. Las líneas de rotura no se tienen en cuenta en los arrays internos utilizados para gestionar el aspecto gráfico de los list box (estilos y colores). No obstante, es posible modificar estas características para las líneas de ruptura mediante los comandos de gestión gráfica de los objetos. Basta con ejecutar los comandos adecuados en los arrays que constituyen la jerarquía. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_BackgroundAndBorder.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_BackgroundAndBorder.md index 84e2079f5e71ac..0eb71aceb033b9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_BackgroundAndBorder.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_BackgroundAndBorder.md @@ -186,7 +186,7 @@ Designa el grosor de una línea. --- -## Row Background Color Array {#row-background-color-array} +## Array colores de fondo {#row-background-color-array} `List boxes de tipo array` diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Display.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Display.md index 3a07c0739f87c1..d61bf5a88a19b5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Display.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Display.md @@ -100,7 +100,7 @@ Se pueden crear formatos de fecha personalizados utilizando varios patrones desc :::note blankIfNull -- By default, a [null date](../Concepts/dt_date.md#date-literals) is displayed with zeros, e.g. 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. +- Por defecto, una [fecha nula](../Concepts/dt_date.md#date-literals) se muestra con ceros, por ejemplo, 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. - Las [columnas list box](listbox_overview.md#list-box-columns) y los [pies List box](listbox_overview.md#list-box-footers) de tipo fecha utilizan siempre el comportamiento "blank if null" (no se puede desactivar). ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Object.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Object.md index ebf3f923c3ff42..385ba4bf48a567 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Object.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Object.md @@ -86,9 +86,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, nombre de campo o cualquier expresión 4D.
  • Empty string for [dynamic variables](#dynamic-variables).
  • String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column]
  • | +| 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).
  • String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column]
  • | ### Expresiones diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md index 1d3ac2bbf5320c..ceb0d989f2296a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md @@ -566,7 +566,7 @@ El siguiente diagrama ilustra el bloqueo optimista: 1. Dos procesos cargan la misma entidad.

    ![](../assets/en/ORDA/optimisticLock1.png) -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. Since they match, the entity is saved and its stamp value is incremented.

    ![](../assets/en/ORDA/optimisticLock2.png) +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.

    ![](../assets/en/ORDA/optimisticLock2.png) 3. El segundo proceso también modifica la entidad cargada y valida sus cambios. Se llama al método `entity.save( )`. Since the stamp value of the modified entity does not match the one of the entity stored in the data, the save is not performed and an error is returned.

    ![](../assets/en/ORDA/optimisticLock3.png) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md index ed3bd7aa40db92..ada6076fe08286 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md @@ -25,7 +25,7 @@ Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la ba ### Nivel del evento -A entity event function is always defined in the [Entity class](../ORDA/ordaClasses.md#entity-class). +Una función de evento de entidad se define siempre en la [clase Entity](../ORDA/ordaClasses.md#entity-class). Un evento puede definirse al nivel de la **entidad** y/o a nivel del **atributo** (incluye los [**atributos calculados**](../ORDA/ordaClasses.md#computed-attributes)). En el primer caso, se activará para cualquier atributo de la entidad; en el otro caso, sólo se activará para el atributo objetivo. @@ -101,7 +101,7 @@ Este evento se activa tan pronto como el motor de 4D Server / 4D detecta una mod La función recibe un [objeto *event*](#event-parameter) como parámetro. -If this event [throws](../commands-legacy/throw.md) an error, it will not stop the undergoing action. +Si este evento [genera un error](../commands-legacy/throw.md), no detendrá la acción en curso. :::note diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md index 1158b612ee42c7..77cb73581775e8 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md @@ -148,7 +148,7 @@ El modo de escritura directa es opcional sólo en proyectos convertidos. Se util Select **All variables are typed (Direct typing)** option in the **Compilation Path** menu to enable the direct typing mode. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse. -Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. The direct typing concept assumes that all elements are directly declared where they are defined in your code. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas). +Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. El concepto de escritura directa asume que todos los elementos se declaran directamente donde están definidos en su código. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas). ## Advertencias diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$singleton.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$singleton.md index dd6441c98e068f..f2526bf683cf39 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$singleton.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$singleton.md @@ -5,7 +5,7 @@ title: $singleton Puede llamar directamente a [funciones de sus singletons compartidos](../Concepts/classes.md#singleton-classes) a través de REST. -Singleton functions are called in POST or GET requests with the `$singleton` command and without `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición: +Las funciones Singleton se llaman en peticiones POST o GET con el comando `$singleton` y sin `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición: ```json /rest/$singleton/VehicleFactory/buildVehicle diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md index b8680a5547e280..704a4b63bc00d1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md @@ -31,10 +31,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. Possible values:

    ValueDescription
    `vk clipboard options all` (default)Copies all data objects, including values, formatting, and formulas.
    `vk clipboard options formatting`Copia solo el formato.
    `vk clipboard options formulas`Copies only the formulas.
    `vk clipboard options formulas and formatting`Copies the formulas and formatting.
    `vk clipboard options values`Copia solo los valores.
    `vk clipboard options value and formatting`Copies the values and formatting.

    | +| 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. Possible values:

    ValueDescription
    `vk clipboard options all` (default)Copies all data objects, including values, formatting, and formulas.
    `vk clipboard options formatting`Copia solo el formato.
    `vk clipboard options formulas`Copies only the formulas.
    `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/version-20-R10/ViewPro/commands/vp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-export-document.md index 8dfcf9c5401f37..94eefcc2eb31d0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-export-document.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-export-document.md @@ -77,11 +77,11 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para | | includeStyles | boolean | Si se incluye el estilo al exportar, por defecto true. | | | includeFormulas | boolean | Si se incluye la fórmula al exportar, por defecto true. | | | saveAsView | boolean | Si aplicar la cadena de formato al valor de exportación al exportar, por defecto false. | -| | rowHeadersAsFrozenColumns | boolean | Whether to treat the row headers as frozen columns when exporting, default false. | +| | rowHeadersAsFrozenColumns | boolean | Si tratar los encabezados de línea como columnas congeladas al exportar, por defecto false. | | | columnHeadersAsFrozenRows | boolean | Si tratar los encabezados de columna como líneas congeladas al exportar, por defecto false. | | | includeAutoMergedCells | boolean | Si se incluyen las celdas combinadas automáticamente al exportar, false por defecto. | -| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Can be faster when open the file with those data, default false. | -| | includeUnusedNames | boolean | Whether to include the unused custom name when exporting, default true. | +| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Puede ser más rápido al abrir el archivo con esos datos, false por defecto. | +| | includeUnusedNames | boolean | Si se incluye el nombre personalizado no utilizado al exportar, true por defecto. | | | includeEmptyRegionCells | boolean | Si se incluyen celdas vacías (celdas sin datos o solo con estilo) fuera del rango de datos utilizado, por defecto true. | | | contraseña | text | Contraseña a definir para abrir el libro de trabajo. | | `\` | | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. | @@ -90,7 +90,7 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para - Al exportar un documento 4D View Pro a un archivo con formato Microsoft Excel, pueden perderse algunos parámetros. Por ejemplo, los métodos y fórmulas 4D no son soportados por Excel. Puede verificar otras configuraciones con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport). - La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula` del *paramObj* para el código a ejecutar después de la exportación. -- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Make sure to not mix this object with legacy first level properties (*password*, *includeBindingSource*...) para evitar problemas potientales. +- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Asegúrese de no mezclar este objeto con propiedades heredadas de primer nivel (*password*, *includeBindingSource*...) para evitar problemas potientales. **Notas sobre el formato PDF**: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-find.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-find.md index 4ccd334c12e81f..cdf07a14ec6e8f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-find.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-find.md @@ -33,7 +33,7 @@ Puede pasar el parámetro opcional *searchCondition* para especificar el funcion | afterRow | Integer | El número de la línea justo antes de la línea 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*) | | 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 lo mismo que "A".
    `vk find flag none`no search flags are considered (default)
    `vk find flag use wild cards`Wildcard characters (\*,?) 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. Each row of a column is searched before the search continues to the next column.
    `vk find order by rows`The search is performed by rows. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto)
    | +| order | Integer |
    `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.
    `vk find order by rows`La búsqueda es realizada por líneas. 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/version-20-R10/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md index 061561650ed55b..9cf06809fc9a03 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md @@ -43,33 +43,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.md). 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. When opening file, UI and UI event could be refreshed and responsive at specific time points.
  • 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 | Whether to treat the frozen rows as column headers when importing, default 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 | The open mode of normal, lazy and 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.md). 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 | The open mode of normal, lazy and incremental. Por defecto es normal. | :::note Notas diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-move-cells.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-move-cells.md index 5e7750583d5ac0..f924914b108639 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-move-cells.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-move-cells.md @@ -35,10 +35,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. Possible values:

    ValueDescription
    `vk clipboard options all` (default)Pastes all data objects, including values, formatting, and formulas.
    `vk clipboard options formatting`Pega solo el formato.
    `vk clipboard options formulas`Pega sólo las fórmulas.
    `vk clipboard options formulas and formatting`Pastes the formulas and formatting.
    `vk clipboard options values`Pega solo los valores.
    `vk clipboard options value and formatting`Pastes the values and formatting.

    | +| 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. Possible values:

    ValueDescription
    `vk clipboard options all` (default)Pastes all data objects, including values, formatting, and formulas.
    `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`Pega 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/version-20-R10/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md index bdc02342a44e14..d059be21bf1f19 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md @@ -48,14 +48,14 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles: | autoFitType | number | El contenido se formatea para que se ajuste en las celdas, o en las celdas y los encabezados. Valores disponibles:
    ConstanteValorDescripció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. Available values:
    ConstantValueDescription
    vk image layout center 1 In the center of the area.
    vk image layout none 3 In the upper left corner of the area with its original size.
    vk image layout stretch 0 Fills the area.
    vk image layout zoom 2 Displayed with its original aspect ratio.
    | +| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values:
    ConstantValueDescription
    vk image layout center 1 In the center of the area.
    vk image layout none 3 In the upper left corner of the area with its original size.
    vk image layout stretch 0 Llena el área.
    vk image layout zoom 2 Mostrado 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:
    ConstanteValorDescripció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. Available values:
    ConstantValueDescription
    vk copy paste header options all headers3 Includes selected headers when data is copied; overwrites selected headers when data is pasted.
    vk copy paste header options column headers 2 Includes selected column headers when data is copied; overwrites selected column headers when data is pasted.
    vk copy paste header options no headers0 Column and row headers are not included when data is copied; does not overwrite selected column or row headers when data is pasted.
    vk copy paste header options row headers1 Includes selected row headers when data is copied; overwrites selected row headers when data is pasted.
    | | 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 :
    ConstanteValorDescripción
    vk auto fill type auto 5 Rellena automáticamente las celdas.
    vk auto fill type clear values 4 Clears cell values.
    vk auto fill type copycells 0 Fills cells with all data objects, including values, formatting, and formulas.
    vk auto fill type fill formatting only 2 Fills cells only with formatting.
    vk auto fill type fill series 1 Fills cells with series.
    vk auto fill type fill without formatting 3 Rellena las celdas con valores y no con formato.
    | +| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles :
    ConstanteValorDescripción
    vk auto fill type auto 5 Rellena automáticamente las celdas.
    vk auto fill type clear values 4 Clears cell values.
    vk auto fill type copycells 0 Fills cells with all data objects, including values, formatting, and formulas.
    vk auto fill type fill formatting only 2 Llena las celdas solo con formato.
    vk auto fill type fill series 1 Fills cells with 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. | @@ -69,7 +69,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles: | referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values:
    ConstantValueDescription
    vk reference style A1 0 Use A1 style.
    vk reference style R1C1 1 Use R1C1 style
    | | resizeZeroIndicator | number | Política de dibujo cuando las líneas o columnas se redimensionan a 0. Available values:
    ConstantValueDescription
    vk resize zero indicator default 0 Uses the current drawing policy when the row or column is resized to zero.
    vk resize zero indicator enhanced 1 Draws two short lines when the row or column is resized to zero.
    | | 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. Available values:
    ConstantValueDescription
    vk scrollbar appearance mobile1 Mobile scrollbar appearance.
    vk scrollbar appearance skin (default)0 Excel-like classic scrollbar appearance.
    | +| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Available values:
    ConstantValueDescription
    vk scrollbar appearance mobile1 Mobile scrollbar appearance.
    vk scrollbar appearance skin (por defecto)0 Apariencia clásica de la barra de desplazamiento similar a Excel.
    | | 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. | @@ -79,8 +79,8 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles: | 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. Available values:
    ConstantValueDescription
    vk show resize tip both 3 Horizontal and vertical resize tips are displayed.
    vk show resize tip column 1 Only the horizontal resize tip is displayed.
    vk show resize tip none 0 No resize tip is displayed.
    vk show resize tip row 2 Only the vertical resize tip is displayed.
    | -| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values:
    ConstantValueDescription
    vk show scroll tip both 3 Horizontal and vertical scroll tips are displayed.
    vk show scroll tip horizontal 1 Only the horizontal scroll tip is displayed.
    vk show scroll tip none No se muestra ninguna propina.
    vk show scroll tip vertical 2 Only the vertical scroll tip is displayed.
    | +| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values:
    ConstantValueDescription
    vk show resize tip both 3 Horizontal and vertical resize tips are displayed.
    vk show resize tip column 1 Solo se muestra la punta de redimensionamiento horizontal.
    vk show resize tip none 0 No resize tip is displayed.
    vk show resize tip row 2 Only the vertical resize tip is displayed.
    | +| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values:
    ConstantValueDescription
    vk show scroll tip both 3 Horizontal and vertical scroll tips are displayed.
    vk show scroll tip horizontal 1 Only the horizontal scroll tip is displayed.
    vk show scroll tip none No se muestra ninguna propina.
    vk show scroll tip vertical 2 Solo se muestra la punta 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. | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/authentication.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/authentication.md index 526b9eeb780278..8d182eca3eca37 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/authentication.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/authentication.md @@ -115,7 +115,7 @@ Debe declarar estos parámetros de la siguiente manera: :::note -Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. The information received by the database method depends on the selected [authentication mode](#authentication-modes). +Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. La información recibida por el método base depende del [modo de autenticación](#authentication-modes) seleccionado. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md index 8ac073255275ca..1b8df02e565772 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md @@ -32,7 +32,7 @@ Se soportan gestores de solicitudes HTTP personalizados: Define sus manejadores de petición HTTP personalizados en un archivo de configuración llamado **HTTPHandlers.json** almacenado en la carpeta [`Project/Sources`](../Project/architecture.md#sources). -This file contains all listened URL patterns, the handled verbs, and the code to be called. Los administradores se proporcionan en forma de colección en formato JSON. +Este archivo contiene todos los patrones de URL a interceptar, los verbos manipulados y el código a llamar. Los administradores se proporcionan en forma de colección en formato JSON. Al momento de la ejecución, se ejecuta el primer patrón que coincida con la URL, los demás se ignoran. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md index 615a144ad69146..105b658372a4fe 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md @@ -80,7 +80,7 @@ La autenticación en el servidor web WebAdmin se realiza utilizando una llave de De acuerdo con la gestión de proyectos 4D, sólo se admiten los siguientes usos: - el desarrollo con Qodly Studio debe realizarse a través de **4D** (monousuario). -- deployment of 4D applications powered with Qodly pages must be done using **4D Server**. +- el despliegue de aplicaciones 4D alimentadas por páginas Qodly debe hacerse utilizando **4D Server**. :::warning diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md index 0f33399d743853..241f091dac5e5e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md @@ -211,7 +211,7 @@ End if El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OTP (One-Time Passcode). Los tokens de sesión OTP se utilizan para asegurar comunicaciones con aplicaciones de terceros o sitios web. For information on OTP, please refer to the [One-time password page](https://en.wikipedia.org/wiki/One-time_password) on Wikipedia. -In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio. +In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio. ### Generalidades @@ -245,7 +245,7 @@ Una url [`4DACCIÓN`](./httpRequests.md#4daction) también puede ser usada en el #### Utilizar un parámetro personalizado -The OTP token can also be provided as a custom parameter that you need to process specifically to restore the session. Debe utilizar esta solución si: +El token OTP también se puede suministrar como un parámetro personalizado que necesita procesar específicamente para restaurar la sesión. Debe utilizar esta solución si: - la aplicación de terceros no permite insertar parámetros como un `$4DSID` directamente en la Uri de redirección, y proporciona una API dedicada (la implementación depende de la aplicación de terceros), - o, quiere llamar a una función ORDA a través de REST para procesar la retrollamada, en cuyo caso es necesario pasar el OTP con la [sintaxis de parámetro REST](../REST/ClassFunctions.md#parameters) (por ejemplo, `?$params='["XXX123"]'`). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md index 542f6849b9f2d5..fe2e0e06cbf62c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md @@ -55,10 +55,10 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c | 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.
  • Note: If the folder already exists, it is emptied before the file is exported. Si no hay ninguna imagen en la página exportada, se elimina la carpeta | +| 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. Useful if you want to use fonts that are not available by default on Windows or macOS.
  • **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. | +| 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.
  • **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. | | 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). If a picture contains more than one format, the format for screen rendering is used.
  • **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md index 0975d8aeb5e67b..606d4bcc42bcd7 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md @@ -55,10 +55,10 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c | 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.
  • Note: If the folder already exists, it is emptied before the file is exported. Si no hay ninguna imagen en la página exportada, se elimina la carpeta | +| 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. Useful if you want to use fonts that are not available by default on Windows or macOS.
  • **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. | +| 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.
  • **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. | | 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). If a picture contains more than one format, the format for screen rendering is used.
  • **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md index 57405625d969f7..625a6d5df492ed 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md @@ -51,20 +51,20 @@ Por defecto, las expresiones HTML insertadas en documentos heredados de 4D Write Puede pasar un objeto para definir cómo se gestionan los siguientes atributos durante la operación de importación: -| **Atributo** | **Tipo** | **Description** | -| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:

    **anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* | -| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:

    **all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Anchored images are imported, but any text wrapping around the image is ignored. **ignore** \- Las imágenes ancladas no son importadas. | -| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:

    **all** (por defecto) - Se importan todas las secciones. Continuous, even, or odd sections are converted to standard sections. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Note**: Section breaks of any type but continuous are converted to section breaks with page break. Continuous section breaks are imported as continuous section breaks. | -| fields | Text | Sólo para documentos MS Word (.docx). Specifies how .docx fields that can't be converted to 4D Write Pro formulas are handled. Valores disponibles:

    **ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - The last computed value for the .docx field (if available) is imported. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. | -| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Available values:

    **collapse** \- Paragraph formatting is modified to mimic automatically collapsed borders. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. | -| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Available values:

    **latin** (default) - Latin script **bidi** \- Bidrectional script. Suitable if document is mainly bidirectional left-to-right (LTR) or right-to-left (RTL) text (e.g., Arabic or Hebrew). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. | -| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:

    **rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. | -| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:

    **legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. | +| **Atributo** | **Tipo** | **Description** | +| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:

    **anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* | +| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:

    **all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. | +| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:

    **all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. | +| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:

    **ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. | +| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:

    **collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. | +| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Valores disponibles:

    **latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. | +| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:

    **rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. | +| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:

    **legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. | **Notas de compatibilidad** -- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Legacy character style sheets are not imported and are no longer referenced in the document.* +- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.* - *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.* ## Ejemplo 1 diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-reset-attributes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-reset-attributes.md index e3c95cabba2413..da3a00bcb36f12 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-reset-attributes.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-reset-attributes.md @@ -19,7 +19,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. This command can remove any kind of 4D Write Pro internal attribute: character, paragraph, document, table, or image. 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/version-20-R10/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md index 21dc2ecf7aa074..1271a5aaaa8e21 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md @@ -5,7 +5,7 @@ title: OpenAI # OpenAI -La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. It includes properties for managing API configurations and methods for performing HTTP requests to the OpenAI endpoints. +La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. Incluye propiedades de gestión de las configuraciones API y de los métodos para efectuar las peticiones HTTP a los puntos de terminación de OpenAI. ## Propiedades de configuración @@ -58,7 +58,7 @@ $client.baseURL:="https://server.ai" ## Recursos API -The API provides access to multiple resources that allow seamless interaction with OpenAI's services. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities. +La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities. | Nombre de la propiedad | Tipo | Descripción | | ---------------------- | ----------------------------------------------- | ------------------------------------------------ | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsAPI.md index 679642b16e70bf..2bae9229729d29 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsAPI.md @@ -5,7 +5,7 @@ title: OpenAIChatCompletionsAPI # OpenAIChatCompletionsAPI -La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. It provides methods to create, retrieve, update, delete, and list chat completions. +La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. Ofrece métodos para crear, recuperar, actualizar, eliminar y listar respuestas de chat. https://platform.openai.com/docs/api-reference/chat @@ -21,7 +21,7 @@ https://platform.openai.com/docs/api-reference/chat | *parámetros* | [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) | Los parámetros para la solicitud de finalización del chat. | | Resultado | Object | El resultado de la solicitud de finalización del chat. | -Creates a model response for the given chat conversation. +Crea un modelo de respuesta para la conversación dada. https://platform.openai.com/docs/api-reference/chat/create diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsListParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsListParameters.md index 93b8c3e4bee066..7f1a363b63e090 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsListParameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsListParameters.md @@ -5,7 +5,7 @@ title: OpenAIChatCompletionsListParameters # OpenAIChatCompletionsListParameters -This class is used to define parameters for retrieving a list of chat completions from the OpenAI API. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat. +Esta clase se utiliza para definir los parámetros de recuperación de una lista de terminaciones de chat de la API OpenAI. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat. ## Hereda diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md index 2502d80c2c15ea..c9624656bfe290 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md @@ -13,11 +13,11 @@ The `OpenAIChatCompletionsMessagesAPI` class is designed to interact with the Op **list**(*completionID* : Text; *parameters* : OpenAIChatCompletionsMessagesParameters) : Variant -| Parámetros | Tipo | Descripción | -| -------------- | ----------------------------------------- | -------------------------------------------------------------------------------- | -| *completionID* | Text | The ID of the chat completion to retrieve messages for. | -| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. | -| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. | +| Parámetros | Tipo | Descripción | +| -------------- | ----------------------------------------- | ------------------------------------------------------------------------------------- | +| *completionID* | Text | El ID de la finalización de chat para la cual recuperar los mensajes. | +| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. | +| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. | La función `list()` recupera los mensajes asociados a un ID de finalización de chat específico. Lanza un error si `completionID` está vacío. If the *parameters* argument is not an instance of `OpenAIChatCompletionsMessagesParameters`, it will create a new instance using the provided parameters. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md index dabbcc1cee4797..7d99ad8f1204a6 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md @@ -15,14 +15,14 @@ https://platform.openai.com/docs/api-reference/embeddings **create**(*input* : Text; *model*: Text; *parameters* : OpenAIEmbeddingsParameters) : OpenAIEmbeddingsResult -Creates an embeddings for the provided input, model and parameters. - -| Argumento | Tipo | Descripción | -| ------------ | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| *entrada* | Texto o colección de texto | La entrada a vectorizar. | -| *model* | Text | The [model to use](https://platform.openai.com/docs/guides/embeddings#embedding-models) | -| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. | -| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. | +Crea una representación vectorial para la entrada, el modelo y los parámetros ofrecidos. + +| Argumento | Tipo | Descripción | +| ------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| *entrada* | Texto o colección de texto | La entrada a vectorizar. | +| *model* | Text | El [modelo a utilizar] (https://platform.openai.com/docs/guides/embeddings#embedding-models) | +| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. | +| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. | #### Ejemplos de uso diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md index a1b407b5774618..50c983790a5e75 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md @@ -41,7 +41,7 @@ La clase `OpenAIError` está diseñada para manejar errores devueltos por la API | ---------------------------- | ------- | ------------------------------------------------------------------------------------------------- | | `isBadRequestError` | Boolean | Indica si se trata de un error 400 Bad Request. | | `isAuthenticationError` | Boolean | Indica si se trata de un error de autenticación 401. | -| `isPermissionDeniedError` | Boolean | Indicates ∏if the error is a 403 Permission Denied error. | +| `isPermissionDeniedError` | Boolean | Indica si el error es un error 403 Permiso denegado. | | `isNotFoundError` | Boolean | Indica si el error es un error 404 Not Found. | | `isUnprocessableEntityError` | Boolean | Indica si el error es un error de entidad no procesable (422). | | `isRateLimitError` | Boolean | Indica si el error es un error de límite de velocidad 429. | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIImage.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIImage.md index 04c86973e749d1..2917ecf2bf83db 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIImage.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIImage.md @@ -11,11 +11,11 @@ https://platform.openai.com/docs/api-reference/images/object ## Propiedades -| Propiedad | Tipo | Descripción | -| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------- | -| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). | -| `b64_json` | Text | The base64-encoded JSON of the generated image, if `response_format` is `b64_json`. | -| `revised_prompt` | Variant | The prompt that was used to generate the image, if there was any revision to the prompt. | +| Propiedad | Tipo | Descripción | +| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------- | +| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). | +| `b64_json` | Text | El JSON codificado en base64 de la imagen generada, si `response_format` es `b64_json`. | +| `revised_prompt` | Variant | La instrucción que se utilizó para generar la imagen, si hubo alguna revisión de la instrucción. | ## Funciones @@ -23,9 +23,9 @@ https://platform.openai.com/docs/api-reference/images/object **asBlob**() : 4D.Blob -| Parámetros | Tipo | Descripción | -| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------ | -| Resultado | 4D.Blob | Converts the generated image to a blob format based on its URL or base64-encoded JSON. | +| Parámetros | Tipo | Descripción | +| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------ | +| Resultado | 4D.Blob | Convierte la imagen generada a un formato blob basado en su URL o en un JSON codificado en base64. | #### Ejemplo de Uso diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md index 7f872456010175..25479618986396 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md @@ -13,7 +13,7 @@ The `OpenAIMessage` class represents a structured message containing a role, con | ----------- | ------- | -------------------------------------------------------------------------------------------- | | `rol` | Text | El rol del mensaje (por ejemplo, "user", "assistant"). | | `contenido` | Variant | El contenido del mensaje, que puede ser un texto o una colección de objetos. | -| `user` | Text | An optional property representing the user associated with the message. | +| `user` | Text | Una propiedad opcional que representa al usuario asociado al mensaje. | ## Propiedades calculadas diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModeration.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModeration.md index 3c92f30cc3c7c7..1b7928f32cb10a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModeration.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModeration.md @@ -5,7 +5,7 @@ title: OpenAIModeration # OpenAIModeration -La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. It contains properties for storing the moderation ID, model used, and the results of the moderation. +La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. Contiene propiedades para almacenar el ID de moderación, el modelo utilizado y los resultados de la moderación. https://platform.openai.com/docs/api-reference/moderations/object diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModerationResult.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModerationResult.md index b486c693fb10f3..6ae6717533fd23 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModerationResult.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModerationResult.md @@ -5,7 +5,7 @@ title: OpenAIModerationResult # OpenAIModerationResult -The `OpenAIModerationResult` provides functionality to handle moderation results from the OpenAI API. +`OpenAIModerationResult` ofrece funcionalidades para manejar los resultados de moderación de la API OpenAI. ## Hereda diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md index 30a0ee07ce9043..54c9d61d806d8a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md @@ -11,12 +11,12 @@ The `OpenAIParameters` class is designed to handle execution and request paramet ### Propiedades de la programación asíncrona -| Propiedad | Tipo | Descripción | -| ------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `formula` u `onTerminate` | Function | Una función que se llamará de forma asíncrona cuando termine. Asegúrese de que el proceso actual no termina. | -| `onResponse` | Function | A function to be called asynchronously when the request finishes successfully. Asegúrese de que el proceso actual no termina. | -| `onError` | Function | A function to be called asynchronously when the request finishes with errors. Asegúrese de que el proceso actual no termina. | -| `throw` | Boolean | Si es true, lanza un error si se produce uno. Sólo si no se ha definido ninguna retrollamada de fórmula. | +| Propiedad | Tipo | Descripción | +| ------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `formula` u `onTerminate` | Function | Una función que se llamará de forma asíncrona cuando termine. Asegúrese de que el proceso actual no termina. | +| `onResponse` | Function | Una función a llamar de forma asíncrona cuando la petición finalice con éxito. Asegúrese de que el proceso actual no termina. | +| `onError` | Function | Una función que se llamará de forma asíncrona cuando la petición finalice con errores. Asegúrese de que el proceso actual no termina. | +| `throw` | Boolean | Si es true, lanza un error si se produce uno. Sólo si no se ha definido ninguna retrollamada de fórmula. | Ver la [documentación sobre código asíncrono](../asynchronous-call.md) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md index a56ffcdcd8d803..ef3e9ad3508ea9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md @@ -21,13 +21,13 @@ The `OpenAIResult` class is designed to handle the response from HTTP requests a | `errors` | Collection | Devuelve una colección de errores. Estos podrían ser errores de red o errores devueltos por OpenAI. | | `terminated` | Boolean | Un booleano que indica si la petición HTTP fue terminada. | | `headers` | Object | Devuelve los encabezados de respuesta como un objeto. | -| `rateLimit` | Object | Returns rate limit information from the response headers. | +| `rateLimit` | Object | Devuelve la información relativa al límite de tasa de los encabezados de la respuesta. | | `utilización` | Object | Devuelve la información de uso del cuerpo de la respuesta, si existe. | ### rateLimit -The `rateLimit` property returns an object containing rate limit information from the response headers. -This information includes the limits, remaining requests, and reset times for both requests and tokens. +La propiedad `rateLimit` devuelve un objeto que contiene información sobre el límite de velocidad de los encabezados de respuesta. +Esta información incluye los límites, las peticiones restantes y los tiempos de reinicialización tanto para peticiones como para tokens. For more details on rate limits and the specific headers used, refer to [the OpenAI Rate Limits Documentation](https://platform.openai.com/docs/guides/rate-limits#rate-limits-in-headers). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md index 5b5e136edec480..ca4d836251504a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md @@ -5,7 +5,7 @@ title: Proveedores # Proveedores -Many AI providers propose an OpenAI-like API, so you can use this project to connect to them. +Muchos proveedores de IA proponen una API similar a la de OpenAI, así que puede utilizar este proyecto para conectarse a ellos. Para ello sólo tiene que definir la `baseURL` a la del proveedor y utilizar su clave api si es necesario. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md index 002a2f09517834..f047f57dab287d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md @@ -803,7 +803,7 @@ La etiqueta `` permite generar y utilizar macrocomandos que ejecutan mé El código de un método llamado se ejecuta en un nuevo proceso. Este proceso se cierra una vez se ejecuta el método. -> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. If this occurs, use the **Ctrl+F8** (Windows) or **Command+F8** (macOS) command to "kill" the process. +> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. Si esto ocurre, utilice el comando **Ctrl+F8** (Windows) o **Comando+F8** (macOS) para "matar" el proceso. ### Llamando macros diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md index 71416c9f2cbcc3..fdbd960b6e8acd 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md @@ -25,14 +25,14 @@ displayed_sidebar: docs ## Descripción -The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. It has the added benefit of being able to be executed from any 4D environment, including compiled mode. +The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. Tiene la ventaja adicional de poder ser ejecutado desde cualquier entorno 4D, incluyendo el modo compilado. The command facilitates debugging by enabling the identification of the method or formula called, the component that called it, and the line number where the call was made. Cada objeto de la colección devuelta contiene las siguientes propiedades: | **Propiedad** | **Tipo** | **Description** | **Ejemplo** | | ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | | database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" | -| formula | Text (si lo hay) | Contents of the current line of code at the current level of the call chain (raw text). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" | +| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" | | línea | Integer | Número de línea de llamada al método | "line":6 | | name | Text | Nombre del método llamado | "name":"On Load" | | type | Text | Type of the method:
  • "projectMethod"
  • "formObjectMethod"
  • "formmethod"
  • "databaseMethod"
  • "triggerMethod"
  • "executeOnServer" (when calling a project method with the *Execute on Server attribute*)
  • "executeFormula" (when executing a formula via [PROCESS 4D TAGS](../commands-legacy/process-4d-tags.md) or the evaluation of a formula in a 4D Write Pro document)
  • "classFunction"
  • "formMethod"
  • | "type":"formMethod" | @@ -45,7 +45,7 @@ Para que este comando pueda operar en modo compilado, la [verificación de rango ## Ejemplo -The following code returns a collection of objects containing information about the method call chain: +El siguiente código devuelve una colección de objetos que contienen información acerca de la cadena de llamadas de métodos: ```4d var $currentCallChain : Collection diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md index f48fc456753f3c..188b150d0f8a71 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md @@ -36,7 +36,7 @@ Hay dos parámetros opcionales: - *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful: - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md). - - Second bit (bit 1): set to 1 if the command is **deprecated**, and 0 if it is not. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors). + - Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors). *theme*: nombre del tema del lenguaje 4D para el comando. @@ -80,9 +80,9 @@ En un formulario, quiere una lista desplegable con los comandos básicos de info  End case ``` -In the English version of 4D, the drop-down list will read: Sum, Average, Min, and Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max. +En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. En la versión francésa \*, la lista desplegable dirá: Somme, Moyenne, Min, y Max. -\*with a 4D application configured to use the French programming language (see compatibility note) +\*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad) ## Ejemplo 3 @@ -110,7 +110,7 @@ Luego, para el comando "SAVE RECORD" (53) por ejemplo, puede escribir: ## Ejemplo 4 -You want to return a collection of all deprecated commands in your version of 4D. +Quiere devolver una colección de todos los comandos obsoletos en su versión de 4D. ```4d var $info; $Lon_id : Integer diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/create-deployment-license.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/create-deployment-license.md index 57ffea72a3cfe9..a943e2ddaadfc1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/create-deployment-license.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/create-deployment-license.md @@ -112,7 +112,7 @@ Designar una licencia de uso: ## Ver también -[Blog post - Build an application with 4D commands](https://blog.4d.com/build-an-application-with-4d-commands) +[Post de blog - Crear una aplicación con los comandos 4D](https://blog.4d.com/build-an-application-with-4d-commands) ## Propiedades diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/form.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/form.md index 355633c3e4ffb9..79fa8e19d3a3a9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/form.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/form.md @@ -24,7 +24,7 @@ displayed_sidebar: docs ## Descripción -El comando **Form** devuelve el objeto asociado al formulario actual (instanciado a partir del parámetro *formData* o de la clase de usuario asignada en el editor de formularios). 4D automatically associates an object to the current form in the following cases: +El comando **Form** devuelve el objeto asociado al formulario actual (instanciado a partir del parámetro *formData* o de la clase de usuario asignada en el editor de formularios). 4D asocia automáticamente un objeto al formulario actual en los siguientes casos: - el formulario actual ha sido cargado por uno de los comandos [`DIALOG`](dialog.md), [`Print form`](print-form.md), o [`FORM LOAD`](form-load.md), - el formulario actual es un subformulario, diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-get-property.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-get-property.md index 1950ec74b81673..e0fe65323178a0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-get-property.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-get-property.md @@ -85,7 +85,7 @@ Dado un list box "MyListbox", si ejecuta la siguiente instrucción: $Value:=LISTBOX Get property(*; "MyListbox";lk selection mode) // el valor devuelto indica el modo de selección ``` -In this case, the result returned indicates whether multiple rows can be selected. +En este caso, el resultado devuelto indica si varios registros pueden ser seleccionados. ## Ejemplo 2 diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md index bad06c1b5092c0..d6641157210542 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md @@ -25,7 +25,7 @@ Si pasa el parámetro opcional *\**, indica que el parámetro *object* es un nom **Note:** If the list box or list box column specified using the *object* and *\** parameters does not exist, the command does nothing and no error is triggered. -In the *property* and *value* parameters, you indicate, respectively, the property to set and its new value. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*: +En los parámetros *property* y *value*, usted indica, respectivamente, la propiedad a definir y su nuevo valor. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*: | Constante | Valor | Comentario | | ------------------------------ | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -69,7 +69,7 @@ In the *property* and *value* parameters, you indicate, respectively, the proper ## Ejemplo 1 -You want to make all columns of the "MyListbox" list box resizable: +Quiere que todas las columnas del list box "MyListbox" sean redimensionables: ```4d LISTBOX SET PROPERTY(*;"MyListbox";lk column resizable;lk yes) //Todas las columnas del list box "MyListbox" se establecen como redimensionables diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md index dc7638f769dbd6..a3a706e3623201 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md @@ -20,12 +20,12 @@ displayed_sidebar: docs The **New log file** command closes the current log file, renames it and creates a new one with the same name in the same location as the previous one. This command is meant to be used for setting up a backup system using a logical mirror (see the section *Setting up a logical mirror* in the [4D Server Reference Manual](https://doc/4d.com)). -The command returns the full pathname (access path + name) of the log file being closed (called the “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). The command does not carry out any processing (compression, segmentation) on the saved file. No aparece ninguna +El comando devuelve el nombre completo de la ruta (ruta de acceso + nombre) del archivo de registro que se está cerrando (llamado “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). El comando no realiza ningún procesamiento (compresión, segmentación) en el archivo guardado. No aparece ninguna caja de diálogo. The file is renamed with the current backup numbers of the database and of the log file, as shown in the following example: DatabaseName\[BackupNum-LogBackupNum\].journal. Por ejemplo: -- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. The name of the first “segment” of the log file will therefore be MyDatabase\[0004-0001\].journal. +- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal. - If the MyDatabase.4DD database has been saved 3 times and the log file has been saved 5 times since, the name of the 6th backup of the log file will be MyDatabase\[0003-0006\].journal. :::warning diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md index 4645679308f3d1..05b28a5eb1d550 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md @@ -17,11 +17,11 @@ displayed_sidebar: docs ## Descripción -The **SELECT LOG FILE** command creates, or closes the log file according to the value you pass in parameter. +El comando **SELECT LOG FILE** crea o cierra el archivo de historial de acuerdo al valor que pase en el parámetro. -In *logFile*, pass the name or the full pathname of the log file to be created. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file. +En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file. -If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. Otherwise, if the user clicks Cancel or if the log file could not be created, OK is set to 0. +If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0. **Note:** The new log file is not generated immediately after execution of the command, but after the next backup (the parameter is kept in the data file and will be taken into account even if the database is closed in the meantime) or a call to the [New log file](new-log-file.md) command. Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/wa-get-context.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/wa-get-context.md index 98329331b077f7..366311d7124bd5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/wa-get-context.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/wa-get-context.md @@ -18,7 +18,7 @@ displayed_sidebar: docs ### Descripción -El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). If `WA SET CONTEXT` was not called for the web area the command returns `null`. +El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). Si `WA SET CONTEXT` no fue llamado para el área web, el comando devuelve `null`. :::note 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 589ce2c5986e0a..7539499b2ac346 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 @@ -3268,7 +3268,7 @@ Quiere saber si al menos un valor de la colección es >0. 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. -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. You can also pass one of the following constants in the *ascOrDesc* parameter: +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*: |Constant| Type|Value|Comment| |---|---|---|---| diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md index b3728efa113318..f1bbda81ce6386 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -11,6 +11,14 @@ Lea las [**novedades de 4D 20**](https://blog.4d.com/en-whats-new-in-4d-v20/), l ::: +## 4D 20.8 LTS + +#### Lo más destacado + +- [**Lista de bugs corregidos**](https://bugs.4d.com/fixes?version=20.8): lista de todos los bugs corregidos en 4D 20.8 LTS. + + + ## 4D 20.7 LTS #### Lo más destacado @@ -25,7 +33,7 @@ Por razones internas, la versión de los clientes remotos que se conectan a 4D S #### Cambios de comportamiento -- As of 4D **20.7 HF2**, the [`Time`](https://doc.4d.com/4dv20/help/command/en/page179.html) command returns a negative time expression when the *timeValue* parameter is negative. For instance, `Time("-01:02:03")` will now return -01:02:03. En versiones anteriores, se ignoraba el signo negativo. +- As of 4D **20.7 HF2**, the [`Time`](https://doc.4d.com/4dv20/help/command/en/page179.html) command returns a negative time expression when the *timeValue* parameter is negative. Por ejemplo, `Time("-01:02:03")` ahora devolverá -01:02:03. En versiones anteriores, se ignoraba el signo negativo. ## 4D 20.6 LTS diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/version-20/settings/web.md index 87ae538ddee0c1..5cc43e25d1efc9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/settings/web.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/settings/web.md @@ -170,7 +170,7 @@ El menú de formato de registro ofrece las siguientes opciones: Each field is separated by a space and each line ends by the CR/LF sequence (character 13, character 10). - host: dirección IP del cliente (por ejemplo: "192.100.100.10) - rfc931: información no generada por 4D, siempre es - (un signo menos) - - usuario: nombre del usuario como está autenticado, o - (un signo menos). If the user name contains spaces, they will be replaced by \_ (an underscore). + - usuario: nombre del usuario como está autenticado, o - (un signo menos). Si el nombre de usuario contiene espacios, se remplazan por \_ (un guión bajo). - DD: día, MMM: una abreviatura de 3 letras para el nombre del mes (Jan, Feb,...), YYYY: año, HH: hora, MM: minutos, SS: segundos > La fecha y hora son locales al servidor. @@ -197,30 +197,30 @@ El menú de formato de registro ofrece las siguientes opciones: La siguiente tabla enumera los campos disponibles para cada formato (en orden alfabético) y describe su contenido: -| Campo | ELF | WLF | Valor | -| -------------- | --- | --- | --------------------------------------------------------------------------- | -| BYTES_RECEIVED | | X | Número de bytes recibidos por el servidor | -| BYTES_SENT | X | X | Número de bytes enviados por el servidor al cliente | -| C_DNS | X | X | Dirección IP del DNS (ELF: campo idéntico al campo C_IP) | -| C_IP | X | X | Dirección IP del cliente (por ejemplo 192.100.100.10) | -| CONNECTION_ID | | X | Número de identificación de la conexión | -| CS(COOKIE) | X | X | Información sobre las cookies contenidas en la petición HTTP | -| CS(HOST) | X | X | Campo Host de la petición HTTP | -| CS(REFERER) | X | X | URL de la página que apunta al documento solicitado | -| CS(USER_AGENT) | X | X | Información sobre el software y el sistema operativo del cliente | -| CS_SIP | X | X | Dirección IP del servidor | -| CS_URI | X | X | URI sobre el que se realiza la petición | -| CS_URI_QUERY | X | X | Parámetros de consulta de la petición | -| CS_URI_STEM | X | X | Parte de la solicitud sin los parámetros de la consulta | -| DATE | X | X | DD: día, MMM: abreviación de 3 letras para el mes (Jan, Feb,...), YYYY: año | -| METHOD | X | X | Método HTTP utilizado para la solicitud enviada al servidor | -| PATH_ARGS | | X | Parámetros de la CGI: cadena situada después del caracter "$" | -| STATUS | X | X | Respuesta ofrecida por el servidor | -| TIME | X | X | HH: hora, MM: minutos, SS: segundos | -| TRANSFER_TIME | X | X | Tiempo solicitado por el servidor para generar la respuesta | -| USER | X | X | Nombre de usuario si está autenticado; en caso contrario, - (signo menos). | -| | | | If the user name contains spaces, they are replaced by \_ (underlines) | -| URL | | X | URL solicitado por el cliente | +| Campo | ELF | WLF | Valor | +| -------------- | --- | --- | -------------------------------------------------------------------------------- | +| BYTES_RECEIVED | | X | Número de bytes recibidos por el servidor | +| BYTES_SENT | X | X | Número de bytes enviados por el servidor al cliente | +| C_DNS | X | X | Dirección IP del DNS (ELF: campo idéntico al campo C_IP) | +| C_IP | X | X | Dirección IP del cliente (por ejemplo 192.100.100.10) | +| CONNECTION_ID | | X | Número de identificación de la conexión | +| CS(COOKIE) | X | X | Información sobre las cookies contenidas en la petición HTTP | +| CS(HOST) | X | X | Campo Host de la petición HTTP | +| CS(REFERER) | X | X | URL de la página que apunta al documento solicitado | +| CS(USER_AGENT) | X | X | Información sobre el software y el sistema operativo del cliente | +| CS_SIP | X | X | Dirección IP del servidor | +| CS_URI | X | X | URI sobre el que se realiza la petición | +| CS_URI_QUERY | X | X | Parámetros de consulta de la petición | +| CS_URI_STEM | X | X | Parte de la solicitud sin los parámetros de la consulta | +| DATE | X | X | DD: día, MMM: abreviación de 3 letras para el mes (Jan, Feb,...), YYYY: año | +| METHOD | X | X | Método HTTP utilizado para la solicitud enviada al servidor | +| PATH_ARGS | | X | Parámetros de la CGI: cadena situada después del caracter "$" | +| STATUS | X | X | Respuesta ofrecida por el servidor | +| TIME | X | X | HH: hora, MM: minutos, SS: segundos | +| TRANSFER_TIME | X | X | Tiempo solicitado por el servidor para generar la respuesta | +| USER | X | X | Nombre de usuario si está autenticado; en caso contrario, - (signo menos). | +| | | | Si el nombre de usuario contiene espacios, son reemplazados por \_ (subrayado) | +| URL | | X | URL solicitado por el cliente | > Las fechas y horas se indican en GMT. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md index de25918e361018..b19fb72882385a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md @@ -3169,7 +3169,7 @@ La función `.sort()` ordena los elemento > Esta función modifica la colección original. 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. -You can also pass one of the following constants in the *ascOrDesc* parameter: +También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*: ``` |Constant| Type|Value|Comment| diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md index 165d71999ad19e..0dcbda2559aa1c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md @@ -54,12 +54,12 @@ La función `4D.CryptoKey.new()` crea un #### *settings* -| Propiedad | Tipo | Descripción | -| --------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [type](#type) | text | Defines the type of the key to create:
  • "RSA": generates a RSA key pair, using [.size](#size) as size.
  • "ECDSA": generates an Elliptic Curve Digital Signature Algorithm key pair, using [.curve](#curve) as curve. Tenga en cuenta que las llaves ECDSA no pueden utilizarse para el cifrado, sino solo para la firma.
  • "PEM": loads a key pair definition in PEM format, using [.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* diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md index 27a8ce893baa25..43a8a2bc90666a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md @@ -393,15 +393,15 @@ El objeto devuelto por `.drop()` contiene las siguientes propiedades: (\*) Los siguientes valores pueden ser devueltos en las propiedades *status* y *statusText* del objeto *Result* en caso de error: -| Constante | Valor | Comentario | -| ----------------------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using entity.drop(), this error can be returned when dk force drop if stamp changed option is used. When using entity.lock(), this error can be returned when dk reload if stamp changed option is used.
  • **statusText asociado**: "La entidad ya no existe" | -| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
    **statusText asociado**: "Already locked" | -| `dk status validation failed` | 7 | Non fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" | -| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
    **statusText asociado**\*: "Other error" | -| `dk status serious validation error` | 8 | Fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" | -| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used
  • **Associated statusText**: "Stamp has changed"
  • | -| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" | +| Constante | Valor | Comentario | +| ----------------------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza entity.drop(), este error puede ser devuelto cuando se utiliza la opción dk force drop if stamp changed. When using entity.lock(), this error can be returned when dk reload if stamp changed option is used.
  • **statusText asociado**: "La entidad ya no existe" | +| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
    **statusText asociado**: "Already locked" | +| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" | +| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
    **statusText asociado**\*: "Other error" | +| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" | +| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used
  • **Associated statusText**: "Stamp has changed"
  • | +| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" | #### Ejemplo 1 @@ -1020,7 +1020,7 @@ El objeto devuelto por `.lock()` contiene las siguientes propiedades: | `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop()`, este error puede devolverse cuando se utiliza la opción dk force drop if stamp changed. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | | `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" | | `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
    **statusText asociado**\*: "Other error" | -| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used

  • **Associated statusText**: "Stamp has changed" | +| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used

  • **Associated statusText**: "Stamp has changed" | #### Ejemplo 1 @@ -1182,10 +1182,10 @@ El objeto devuelto por `.reload( )` contiene las siguientes propiedades: (\*) Los siguientes valores pueden ser devueltos en las propiedades *status* y *statusText* del objeto *Result* en caso de error: -| Constante | Valor | Comentario | -| ----------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using `.drop()`, this error can be returned when `dk force drop if stamp changed` option is used. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | -| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
    ***statusText asociado***: "Other error" | +| Constante | Valor | Comentario | +| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop()`, este error puede devolverse cuando se utiliza la opción `dk force drop if stamp changed`. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | +| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
    ***statusText asociado***: "Other error" | #### Ejemplo @@ -1277,16 +1277,16 @@ El objeto devuelto por `.save()` contiene las siguientes propiedades: Los siguientes valores pueden ser devueltos en las propiedades `status`y `statusText` del objeto Result en caso de error: -| Constante | Valor | Comentario | -| ----------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `dk status automerge failed` | 6 | (Only if the `dk auto merge` option is used) The automatic merge option failed when saving the entity. **statusText asociado**: "Fallo de la fusión automática" | -| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using `.drop()`, this error can be returned when `dk force drop if stamp changed` option is used. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | -| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" | -| `dk status validation failed` | 7 | Non fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" | -| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc. **Associated statusText**: "Other error" | -| `dk status serious validation error` | 8 | Fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" | -| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used

  • **Associated statusText**: "Stamp has changed" | -| `dk status wrong permission` | 1 | Los privilegios actuales no permiten guardar la entidad. **Associated statusText**: "Permission Error" | +| Constante | Valor | Comentario | +| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `dk status automerge failed` | 6 | (Solo si se utiliza la opción `dk auto merge`) La opción de fusión automática falló al guardar la entidad. **statusText asociado**: "Fallo de la fusión automática" | +| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
  • la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)
  • la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop()`, este error puede devolverse cuando se utiliza la opción `dk force drop if stamp changed`. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`

  • **statusText asociado**: "Entity does not exist anymore" | +| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" | +| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" | +| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc. **Associated statusText**: "Other error" | +| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" | +| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used

  • **Associated statusText**: "Stamp has changed" | +| `dk status wrong permission` | 1 | Los privilegios actuales no permiten guardar la entidad. **Associated statusText**: "Permission Error" | #### Ejemplo 1 diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/IMAPTransporterClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/IMAPTransporterClass.md index 05be142672c1db..00fb9eee94ee8e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/IMAPTransporterClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/IMAPTransporterClass.md @@ -791,16 +791,16 @@ En el parámetro opcional `parameters`, pase un objeto que contenga valores para Cada objeto de la colección devuelta contiene las siguientes propiedades: -| Propiedad | Tipo | Descripción | -| ------------------------------------------------------------------------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| \[].name | Text | Nombre del buzón. Devuelto si withBoxProperties=true o withBoxInfo=true | -| \[].selectable | Boolean | Indica si los derechos de acceso permiten o no seleccionar el buzón de correo:
    • true - el buzón puede ser seleccionado
    • false - el buzón de correo no puede ser seleccionado
    Devuelto si withBoxProperties=true | -| \[].inferior | Boolean | Indica si los derechos de acceso permiten o no crear una jerarquía inferior en el buzón:
    • true - se puede crear un nivel inferior
    • false - no se puede crear un nivel inferior
    Se devuelve si withBoxProperties=true | -| \[].interesting | Boolean | Indica si el buzón ha sido marcado como "interesante" por el servidor:
    • true - El buzón ha sido marcado como "interesante" por el servidor. Por ejemplo, puede contener mensajes nuevos.
    • false - The mailbox has not been marked "interesting" by the server.
    Se devuelve si withBoxProperties=true | -| [].mailCount | Number | Número de mensajes en el buzón. Devuelto si withBoxInfo=true | -| [].mailRecent | Number | Número de mensajes marcados como "recent" (indicando nuevos mensajes). Devuelto si withBoxInfo=true | -| [].mailUnseen | Number | Número de mensajes marcados como "unseen". Devuelto si withBoxInfo=true | -| [].id | Text | Identificador único del buzón. Devuelto si withBoxInfo=true | +| Propiedad | Tipo | Descripción | +| ------------------------------------------------------------------------------------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \[].name | Text | Nombre del buzón. Devuelto si withBoxProperties=true o withBoxInfo=true | +| \[].selectable | Boolean | Indica si los derechos de acceso permiten o no seleccionar el buzón de correo:
    • true - el buzón puede ser seleccionado
    • false - el buzón de correo no puede ser seleccionado
    Devuelto si withBoxProperties=true | +| \[].inferior | Boolean | Indica si los derechos de acceso permiten o no crear una jerarquía inferior en el buzón:
    • true - se puede crear un nivel inferior
    • false - no se puede crear un nivel inferior
    Se devuelve si withBoxProperties=true | +| \[].interesting | Boolean | Indica si el buzón ha sido marcado como "interesante" por el servidor:
    • true - El buzón ha sido marcado como "interesante" por el servidor. Por ejemplo, puede contener mensajes nuevos.
    • false - El buzón no ha sido marcado como "interesante" por el servidor.
    Se devuelve si withBoxProperties=true | +| [].mailCount | Number | Número de mensajes en el buzón. Devuelto si withBoxInfo=true | +| [].mailRecent | Number | Número de mensajes marcados como "recent" (indicando nuevos mensajes). Devuelto si withBoxInfo=true | +| [].mailUnseen | Number | Número de mensajes marcados como "unseen". Devuelto si withBoxInfo=true | +| [].id | Text | Identificador único del buzón. Devuelto si withBoxInfo=true | Si la cuenta no contiene buzones, se devuelve una colección vacía. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/SessionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/SessionClass.md index fa0c67c6f7c7b1..53e8a1a9ceea1b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/SessionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/SessionClass.md @@ -390,7 +390,7 @@ Esta función devuelve True para el *privilegio* si se llama desde una función Regarding remote client sessions, the function only concerns the code executed in the context of a [web request sent through a Web area](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). -With stored procedure sessions and standalone sessions, this function always returns True, whatever the *privilege*. +Con las sesiones de procedimiento almacenadas y las sesiones independientes, esta función siempre devuelve True, sea cual sea el *privilegio*. #### Ejemplo @@ -754,7 +754,7 @@ Function callback($request : 4D.IncomingMessage) : 4D.OutgoingMessage :::note -This function does nothing and always returns **False** with stored procedure sessions and standalone sessions. +Esta función no hace nada y siempre devuelve **False** con sesiones de procedimientos almacenadas y las sesiones independientes. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md index 6fed6a0c01983c..9b27f3d5414da9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md @@ -187,7 +187,7 @@ El nombre de la página de i *Propiedad de sólo lectura* -A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. For more information, please refer to the [HTTP Request handler](../WebServer/http-request-handler.md) page. +A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md). @@ -495,7 +495,7 @@ La ruta de la carpeta raíz del s *Propiedad de sólo lectura* -A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. For more information, please refer to the [HTTP Rules](../WebServer/http-rules.md) page. +A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Admin/cli.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Admin/cli.md index 629c6c21a7223c..cc30a3dc01b1af 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Admin/cli.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Admin/cli.md @@ -44,25 +44,25 @@ Sintaxis: [--utility] [--skip-onstartup] [--startup-method ] ``` -| Argumento | Valor | Descripción | -| :-------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `applicationPath` | Ruta de 4D, 4D Server, aplicación fusionada o tool4d | Lanza la aplicación.
    If not headless: identical to double-clicking the application; when called without structure file argument, the application is executed and the 'select database' dialog box appears. | -| `--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-legacy/get-database-parameter.md) (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-legacy/set-database-parameter.md), 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-legacy/alert.md), Abort para un diálogo de error...). All intercepted commands(\*) are logged in the diagnostic log.

  • For maintenance needs, you can send any text to standard output streams using the [LOG EVENT](../commands-legacy/log-event.md) command. Tenga en cuenta que las aplicaciones 4D sin interfaz sólo pueden cerrarse mediante una llamada a [QUIT 4D](../commands-legacy/quit-4d.md) o utilizando el administrador de tareas del sistema operativo. | -| `--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). In this mode:
  • No file containing data is opened, even if specified in the command line or the `.4DLink` file, or when using the `CREATE DATA FILE` and `OPEN DATA FILE` commands.
  • 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` | | 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#webadmin-settings) por defecto o un archivo personalizado designado con el parámetro `--webadmin-settings-path`). Utilice el argumento `--webadmin-store-settings` para guardar esta configuración si es necesario. No disponible con [tool4d](#tool4d). | -| `--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 de 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.
    If not headless: identical to double-clicking the application; when called without structure file argument, the application is executed and the 'select database' dialog box appears. | +| `--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-legacy/get-database-parameter.md) (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-legacy/set-database-parameter.md), 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-legacy/alert.md), Abort para un diálogo de error...). Todos los comandos interceptados(\*) se registran en el registro de diagnóstico.

  • For maintenance needs, you can send any text to standard output streams using the [LOG EVENT](../commands-legacy/log-event.md) command. Tenga en cuenta que las aplicaciones 4D sin interfaz sólo pueden cerrarse mediante una llamada a [QUIT 4D](../commands-legacy/quit-4d.md) o utilizando el administrador de tareas del sistema operativo. | +| `--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). In this mode:
  • No file containing data is opened, even if specified in the command line or the `.4DLink` file, or when using the `CREATE DATA FILE` and `OPEN DATA FILE` commands.
  • 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` | | 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#webadmin-settings) por defecto o un archivo personalizado designado con el parámetro `--webadmin-settings-path`). Utilice el argumento `--webadmin-store-settings` para guardar esta configuración si es necesario. No disponible con [tool4d](#tool4d). | +| `--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 de 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/version-21/Debugging/debugLogFiles.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md index d6b32a4f015be7..6d1c175bec05b2 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md @@ -73,7 +73,7 @@ Para cada petición, se registran los siguientes campos: | 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 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 inferior.
  • Only measured when using the ServerNet network layer, returns 0 when used with the legacy network layer.
  • For Windows versions prior to Windows 10 or Windows Server 2016, the call will return 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: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md index 3f471cae307fa5..fa5d056395d3c4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md @@ -126,7 +126,7 @@ Para gestionar esta configuración, necesita utilizar sesiones cliente remotas. Note that [privileges](../ORDA/privileges.md) should be set in the session before executing a web request from a Web area, so that the user automatically gets their privileges for web access (see example). Keep in mind that privileges only apply to requests coming from the web, not to the 4D code executed in a standard remote session. -Shared sessions are handled through [OTP tokens](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used. +Las sesiones compartidas se gestionan a través de [tokens OTP](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used. :::tip Entrada de blog relacionada diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/labels.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/labels.md index e1a5817b9f5bc7..aa663b94431609 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/labels.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/labels.md @@ -127,22 +127,22 @@ El lado derecho de la barra de herramientas contiene comandos utilizados para mo ## Página Diseño -The Layout page contains controls for printing labels based on the requirements of your current print settings. +Esta página contiene los controles para imprimir etiquetas en función de los requisitos de sus parámetros de impresión actuales. ![](../assets/en/Desktop/label-layout.png) -- **Labels Order**: Specifies whether labels should be printed in the direction of the rows or the columns. -- **Rows** and **Columns**: Set the number of labels to be printed by "row" and by "column" on each sheet. These settings determine the label size when the "Automatic resizing" option is enabled. -- **Labels per record**: Sets the number of copies to print for each label (copies are printed consecutively). -- **Print Setup...**: Sets the format of the page on which the sheet of labels will be printed. When you click this button, the setup dialog box for the printer selected in your system appears. By default, the sheet of labels is generated based on an A4 page in portrait mode. - **Note:** The sheet created by the editor is based on the logical page of the printer, i.e. the physical page (for instance, an A4 page) less the margins that cannot be used on each side of the sheet. The physical margins of the page are shown by blue lines in the preview area. -- **Unit**: Changes the units in which you specify your label and label page measurements. Puede utilizar puntos, milímetros, centímetros o pulgadas. -- **Automatic resizing**: Means that 4D automatically calculates the size of the labels (i.e. the Width and Height parameters) according to the values set in all the other parameters. When this option is checked, the label size is adjusted each time you modify a page parameter. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente. -- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. They cannot be edited when the **Automatic resizing** option is checked. -- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Clicking on **Use printer margins** replicates, in the preview area, the margin information provided by the selected printer (these values can be modified). -- **Gaps**: Set the amount of vertical and/or horizontal space between label rows and columns. -- **Method**: Lets you trigger a specific method that will be run at print time. For example, you can execute a method that posts the date and time that each label was printed. This feature is also useful when you print labels using a dedicated table form, in which case you can fill variables from a method. - To be eligible for label processing, a project method must comply with the following settings: +- **Orden de etiquetas**: indica si las etiquetas deben imprimirse en la dirección de las líneas o de las columnas. +- **Líneas** y **Columnas**: defina el número de etiquetas a imprimir por "línea" y "columna" en cada hoja. Estos parámetros determinan las dimensiones de las etiquetas cuando la opción "Dimensiones automáticas" está activada. +- **Etiquetas por registro**: define el número de copias a imprimir para cada etiqueta (las copias se imprimen consecutivamente). +- **Formato de impresión...**: formato de la página en la que se imprimirá la hoja de etiquetas. Cuando hace clic en este botón, aparece el cuadro de diálogo de configuración de la impresora seleccionada en su sistema. Por defecto, la hoja de etiquetas se genera basándose en una página A4 en modo retrato. + **Nota:** la hoja creada por el editor se basa en la página lógica de la impresora, es decir, la página física (por ejemplo, una hoja A4) menos los márgenes que no se pueden utilizar a cada lado de la hoja. Los márgenes de la página física se representan por las líneas azules en el área de vista previa. +- **Unidad**: modifica las unidades en las que especifica las medidas de la etiqueta y de la página de etiqueta. Puede utilizar puntos, milímetros, centímetros o pulgadas. +- **Dimensiones automáticas**: indica que 4D calcula automáticamente el tamaño de las etiquetas (es decir, los parámetros Ancho y Alto) según los valores definidos en todos los demás parámetros. Cuando esta opción está marcada, el tamaño de las etiquetas se recalcula cada vez que se modifica un parámetro en la página. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente. +- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. No se pueden editar cuando la opción **Dimensionamiento automático** está marcada. +- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Al hacer clic en **Aplicar los márgenes de la impresora** con el fin de replicar, en el área de vista previa, la información de margen proporcionada por la impresora seleccionada (estos valores pueden ser modificados). +- **Intervalos**: defina el espacio vertical y/o horizontal entre las líneas y columnas de las etiquetas. +- **Método**: permite activar un método específico que se ejecutará al momento de la impresión. Por ejemplo, puede ejecutar un método que publique la fecha y la hora en que se imprimió cada etiqueta. Esta funcionalidad también es útil cuando se imprimen etiquetas usando un formulario tabla dedicado, en cuyo caso se pueden llenar variables a partir de un método. + Para ser elegible para el procesamiento de etiquetas, un método proyecto debe cumplir con las siguientes condiciones: - debe ser "permitido" para la base de datos (los métodos permitidos dependen de los [parámetros del proyecto](../settings/security.md#options) y el comando [`SET ALLOWED METHODS`](../commands/set-allowed-methods.md), de lo contrario no se mostrará en el menú **Aplicación**. - debe tener la opción [Compartido por componentes y base de datos local](../Project/code-overview.md#shared-by-components-and-host-database). Ver también [este ejemplo](#printing-labels-using-forms-and-methods-example) a continuación. @@ -150,20 +150,20 @@ The Layout page contains controls for printing labels based on the requirements :::note Para necesidades avanzadas, puede restringir la lista de métodos disponibles utilizando un [archivo json específico](#controlling-available-forms-and-methods). -The **For each: Record or Label** options are used to specify whether to run the method once per label or once per record. This control has meaning only if you are printing more than one copy of each label and you are also executing a method at print time. +Las opciones **Para cada: Registro o Etiqueta** permiten especificar si ejecutar el método una vez por etiqueta o una vez por registro. Este control sólo tiene sentido si está imprimiendo más de una copia de cada etiqueta y también está ejecutando un método al momento de la impresión. ::: -- **Layout preview**: Provides a reduced view of how an entire page of labels will look, based on the dimensions you enter in the Label editor. The page preview also reflects the paper size selected in the Print Setup dialog box. También puede utilizar esta zona para designar la primera etiqueta de la página que se va a imprimir (esta opción sólo afecta a la primera hoja en caso de impresión multipágina). This can be useful, for example, when you want to print on a sheet of adhesive labels, part of which has already been used. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella: +- **Vista previa del diseño**: permite visualizar en tiempo real las modificaciones que ingrese en el editor de etiquetas. La vista previa de la página también refleja el tamaño de papel seleccionado en el cuadro de diálogo Configuración de la impresión. También puede utilizar esta área para designar la primera etiqueta de la página a imprimir (esta opción solo afecta a la primera hoja en el caso de la impresión multipágina). Esto puede ser útil, por ejemplo, cuando se desea imprimir en una hoja de etiquetas adhesivas, parte de las cuales ya se ha utilizado. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella: ![](../assets/en/Desktop/label-start.png) ## Impresión de etiquetas mediante formularios y métodos (ejemplo) -You can use dedicated table forms and project methods to print labels with calculated variables. This simple example shows how to configure the different elements. +Puede utilizar formularios de tabla dedicados y métodos proyecto para imprimir etiquetas con variables calculadas. Este ejemplo explica como configurar los diferentes elementos. 1. En un formulario tabla dedicado, añada su(s) campo(s) de etiqueta y su(s) variable(s). - Here, in a table form named "label", we added the *myVar* variable: + Aquí, en una tabla llamada "etiqueta", sumamos la variable *myVar*: ![](../assets/en/Desktop/label-example1.png) 2. Crea un método proyecto llamado `setMyVar` con el siguiente código: @@ -174,7 +174,7 @@ You can use dedicated table forms and project methods to print labels with calcu 3. Defina el método proyecto como ["Compartido por los componentes y la base de datos local"](../Project/code-overview.md#shared-by-components-and-host-database). -4. Before displaying the Label editor, make sure the project method is allowed by executing this code: +4. Antes de mostrar el editor de etiquetas, asegúrese de que el método proyecto está autorizado ejecutando este código: ```4d ARRAY TEXT($methods;1) @@ -182,18 +182,18 @@ You can use dedicated table forms and project methods to print labels with calcu SET ALLOWED METHODS($methods) ``` -5. Open the Label editor and use your form: +5. Abre el editor de etiquetas y use su formulario: ![](../assets/en/Desktop/label-example2.png) -6. In the Layout page, select the method: +6. En la página Diseño, seleccione el método: ![](../assets/en/Desktop/label-example3.png) Luego puede imprimir sus etiquetas: ![](../assets/en/Desktop/label-example4.png) -## Control de los formularios y métodos disponibles +## Definición de los formularios y métodos disponibles -The Label editor includes an advanced feature allowing you to restrict which project forms and methods (within "allowed" methods) can be selected in the dialog box: +El editor de etiquetas incluye una función avanzada que le permite limitar los formularios y los métodos proyecto (dentro de los métodos "permitidos") pueden seleccionarse en el cuadro de diálogo: - en el menú **Formulario a utilizar** de la página "Etiqueta" y/o - en el menú **Aplicar (método)** de la página "Diseño". diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md index e58d6470b5e614..26c51c0f4661d3 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md @@ -17,7 +17,7 @@ Puede introducir cualquier nombre de clase válido en esta propiedad, incluyendo - Clases 4D integradas (por ejemplo, `4D.File`, `4D.Folder`) - [Exposed](../Extensions/develop-components.md#sharing-of-classes) component-defined classes (e.g. `cs.MyComponent.MyClass`) -If you enter an invalid class name, a warning is triggered and the input is rejected. +Si introduce un nombre de clase inválido, se activa una advertencia y se rechaza la entrada. :::note @@ -25,7 +25,7 @@ If you enter an invalid class name, a warning is triggered and the input is reje ::: -In your code, when assigning a value to a class-typed object field, 4D verifies that it belongs to the declared class. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis. +En su código, al asignar un valor a un campo de tipo clase de objeto, 4D verifica que pertenece a la clase declarada. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis. To retrieve the associated class name at runtime, use the [`classID`](../API/DataClassClass.md#attributename) property, for example `ds.MyTable.MyField.classID`. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Extensions/overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Extensions/overview.md index 681ada54c0c77e..b54c7ae0c57a3b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Extensions/overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Extensions/overview.md @@ -16,21 +16,21 @@ La [arquitectura del proyecto] 4D (../Project/architecture.md) es abierta y pued ## Componentes desarrollados por 4D -4D proposes various components to the 4D community, covering many development needs. All 4D components can be found on the [**4D github repository**](https://github.com/4d). +4D propone varios componentes a la comunidad 4D, cubriendo muchas necesidades de desarrollo. Todos los componentes 4D se pueden encontrar en el [**repositorio github de 4D**](https://github.com/4d). A subset of these components is listed by default in the [Dependency Manager](../Project/components.md), including: -| Componente | Repositorio Github | Descripción | Principales funcionalidades | -| -------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| 4D AIKit | https://github.com/4d/4D-AIKit | Conjunto de clases a conectar con las APIs OpenAI de terceros | `OpenAIChat`, `OpenAIImage`... | -| 4D NetKit | https://github.com/4d/4D-NetKit | Conjunto de herramientas de servicios web para conectarse a APIs de terceros | `OAuth2Provider` class, `New OAuth2 provider`, `OAuth2ProviderObject.getToken()` | -| 4D Progress | https://github.com/4d/4D-Progress | Abrir una o varias barras de progreso en la misma ventana | `Progress New`, `Progress SET ON STOP METHOD`, `Progress SET PROGRESS`, ... | -| 4D QPDF | https://github.com/4d/4D-QPDF | Extraer archivos adjuntos de archivos PDF/A-3 | `PDF Get attachments` | -| 4D SVG | https://github.com/4d/4D-SVG | Crear y manipular objetos gráficos svg comunes | `SVGTool_Display_viewer`, métodos múltiples `SVG_` | -| 4D ViewPro | https://github.com/4d/4d-view-pro | Funciones de hoja de cálculo en sus formularios | Ver la [documentación 4D View Pro](ViewPro/getting-started.md) | -| 4D Widgets | https://github.com/4d/4D-Widgets | Gestione los widgets DatePicker, TimePicker, SearchPicker 4D | `DatePicker calendar`, `DateEntry area`, `TimeEntry`, `SearchPicker SET HELP TEXT`, ... | -| Interfaz 4D WritePro | https://github.com/4d/4D-WritePro-Interface | Manage 4D Write Pro palettes and [table wizard](../WritePro/writeprointerface.md) | `WP PictureSettings`, `WP ShowTabPages`, `WP SwitchToolbar`, `WP UpdateWidget` | -| Build4D | https://github.com/4d-depot/Build4D | Compilar, construir y firmar proyectos | CI/CD | +| Componente | Repositorio Github | Descripción | Principales funcionalidades | +| -------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | +| 4D AIKit | https://github.com/4d/4D-AIKit | Conjunto de clases a conectar con las APIs OpenAI de terceros | `OpenAIChat`, `OpenAIImage`... | +| 4D NetKit | https://github.com/4d/4D-NetKit | Conjunto de herramientas de servicios web para conectarse a APIs de terceros | `OAuth2Provider` class, `New OAuth2 provider`, `OAuth2ProviderObject.getToken()` | +| 4D Progress | https://github.com/4d/4D-Progress | Abrir una o varias barras de progreso en la misma ventana | `Progress New`, `Progress SET ON STOP METHOD`, `Progress SET PROGRESS`, ... | +| 4D QPDF | https://github.com/4d/4D-QPDF | Extraer archivos adjuntos de archivos PDF/A-3 | `PDF Get attachments` | +| 4D SVG | https://github.com/4d/4D-SVG | Crear y manipular objetos gráficos svg comunes | `SVGTool_Display_viewer`, métodos múltiples `SVG_` | +| 4D ViewPro | https://github.com/4d/4d-view-pro | Funciones de hoja de cálculo en sus formularios | Ver la [documentación 4D View Pro](ViewPro/getting-started.md) | +| 4D Widgets | https://github.com/4d/4D-Widgets | Gestione los widgets DatePicker, TimePicker, SearchPicker 4D | `DatePicker calendar`, `DateEntry area`, `TimeEntry`, `SearchPicker SET HELP TEXT`, ... | +| Interfaz 4D WritePro | https://github.com/4d/4D-WritePro-Interface | Gestión de paletas y del [asistente de tablas](../WritePro/writeprointerface.md) en 4D Write Pro | `WP PictureSettings`, `WP ShowTabPages`, `WP SwitchToolbar`, `WP UpdateWidget` | +| Build4D | https://github.com/4d-depot/Build4D | Compilar, construir y firmar proyectos | CI/CD | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md index 4aea53b4daeb2e..55169d4e3065a5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md @@ -148,7 +148,7 @@ Para seleccionar un objeto utilizando la barra de herramientas: 1. Haga clic en la herramienta Flecha de la barra de herramientas.
    ![](../assets/en/FormEditor/selection.png) -
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. +
    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 manillas de redimensionamiento identifican el objeto seleccionado.
    ![](../assets/en/FormEditor/selectResize.png) @@ -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 **Ungroup** en el menú **Object**.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    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. +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 @@ -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: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (Icono de distribución horizontal estándar)
    El área de ejemplo muestra los resultados de su selección. -4. To perform a distribution that uses the standard scheme, click **Preview** or *Apply*.
    In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them.
    OR:
    To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). 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*.
    In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them.
    OR:
    To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). 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. @@ -352,7 +352,7 @@ Cuando se superponen varios objetos, se puede utilizar el atajo **Ctrl+Mayús+cl :::note -In binary databases, use **Ctrl+Click / Command+Click** to perform the same action. +En bases de datos binarias, utilice **Ctrl+Clic / Comando+Clic** para efectuar la misma acción. ::: @@ -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. To change the data entry order, position the pointer on an object in the form and, while holding down the mouse button, drag the pointer to the object you want next in the data entry order.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. +2. To change the data entry order, position the pointer on an object in the form and, while holding down the mouse button, drag the pointer to the object you want next in the data entry order.
    ![](../assets/en/FormEditor/entryOrder3.png)
    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/version-21/FormEditor/properties_Markers.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md index cecc6b6b4e022d..b80b59a9bca1cc 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md @@ -21,9 +21,9 @@ Puede hacer que las áreas Ruptura sean más pequeñas o más grandes. Puede uti #### Gramática JSON -| Nombre | Tipos de datos | Valores posibles | -| ----------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -| markerBreak | integer | integer collection | Break marker position or collection of break marker positions in pixels.
    Valor mínimo: 0 | +| Nombre | Tipos de datos | Valores posibles | +| ----------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| markerBreak | integer | integer collection | Posición del marcador de ruptura o colección de posiciones del marcador de ruptura en píxeles.
    Valor mínimo: 0 | --- diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/button_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/button_overview.md index bc28dd10b260a0..f47035dbbd758a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/button_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/button_overview.md @@ -328,7 +328,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 [Ayuda](#help).
    -> (2) Not supported by the [Help](#help), [Flat](#flat) and [Regular](#regular) styles. +> (2) No soportado por los estilos [Help](#help), [Flat](#flat) y [Regular](#regular). Existen propiedades específicas adicionales, dependiendo del [estilo-de-botón](#button-styles): diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md index 978af992f51d90..3f61236a812366 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md @@ -523,7 +523,7 @@ 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í |
    • "This.a" or "This.a.b" columns are sortable.
    • The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
    | +| Colección de objetos | Sí |
    • Las columnas "This.a" o "This.a.b" son ordenables.
    • The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../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í |
  • The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
  • Supported: sorts on object attribute properties (e.g. "This.data.city" when "data" is an object attribute)
  • Supported: sorts on related attributes (e.g. "This.company.name")
  • Not supported: sorts on object attribute properties through related attributes (e.g. "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`) | @@ -812,7 +812,7 @@ If the user selects a break row, [`LISTBOX GET CELL POSITION`](../commands/listb ![](../assets/en/FormObjects/hierarch11.png) -... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) returns (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command. +... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command. Las líneas de rotura no se tienen en cuenta en los arrays internos utilizados para gestionar el aspecto gráfico de los list box (estilos y colores). No obstante, es posible modificar estas características para las líneas de ruptura mediante los comandos de gestión gráfica de los objetos. Basta con ejecutar los comandos adecuados en los arrays que constituyen la jerarquía. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_BackgroundAndBorder.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_BackgroundAndBorder.md index 84e2079f5e71ac..0eb71aceb033b9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_BackgroundAndBorder.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_BackgroundAndBorder.md @@ -186,7 +186,7 @@ Designa el grosor de una línea. --- -## Row Background Color Array {#row-background-color-array} +## Array colores de fondo {#row-background-color-array} `List boxes de tipo array` diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md index 70acd1ce6ab087..64fc8e1bd49d2a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md @@ -104,7 +104,7 @@ Se pueden crear formatos de fecha personalizados utilizando varios patrones desc :::note blankIfNull -- By default, a [null date](../Concepts/dt_date.md#date-literals) is displayed with zeros, e.g. 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. +- Por defecto, una [fecha nula](../Concepts/dt_date.md#date-literals) se muestra con ceros, por ejemplo, 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. - Las [columnas list box](listbox_overview.md#list-box-columns) y los [pies List box](listbox_overview.md#list-box-footers) de tipo fecha utilizan siempre el comportamiento "blank if null" (no se puede desactivar). ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Object.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Object.md index faf778d6fa7852..ecd495239f8435 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Object.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/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, nombre de campo o cualquier expresión 4D.
  • Empty string for [dynamic variables](#dynamic-variables).
  • String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column]
  • | +| 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).
  • String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column]
  • | ### Expresiones diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md index 2605754775fea7..9563e559ec2d24 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md @@ -11,7 +11,7 @@ Varias [acciones estándar](#standard-actions) dedicadas, numerosos [comandos de :::info Mostrar páginas Qodly -In 4D client/server applications, Web areas can be used to display Qodly pages and [share the remote user session](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). This feature allows you to design web-based interfaces for your client/server desktop applications. +In 4D client/server applications, Web areas can be used to display Qodly pages and [share the remote user session](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). Esta funcionalidad le permite diseñar interfaces web para sus aplicaciones de escritorio cliente/servidor. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md index ca4a2a53300ae3..b5ccc8c652538b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md @@ -16,6 +16,7 @@ Lea [**Novedades en 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/), la ent - posibilidad para definir los [gestores de peticiones HTTP](../WebServer/http-request-handler.md) utilizando una propiedad `handlers` en el parámetro *settings* de la función [`start()`](../API/WebServerClass.md#start) del servidor Web, - el objeto servidor Web contiene nuevas propiedades [`rules`](../API/WebServerClass.md#rules) y [`handlers`](../API/WebServerClass.md#handlers). - Nuevos [eventos ORDA sobre los datos](../ORDA/orda-events.md): validateSave, saving, afterSave, validateDrop, dropping, afterDrop. +- Support of the new [`restrictedByDefault` property](../ORDA/privileges.md#restriction-modes) in the `roles.json` file to block access by default to all resources without explicit permission. - Nueva opción que permite utilizar certificados de Windows Certificate Store en lugar de una carpeta local de certificados en las clases [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) y [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew). - Cliente/servidor: - Puede mostrar las páginas Qodly en las áreas Web y [compartir la sesión del cliente remoto](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md index 1d3ac2bbf5320c..ceb0d989f2296a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md @@ -566,7 +566,7 @@ El siguiente diagrama ilustra el bloqueo optimista: 1. Dos procesos cargan la misma entidad.

    ![](../assets/en/ORDA/optimisticLock1.png) -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. Since they match, the entity is saved and its stamp value is incremented.

    ![](../assets/en/ORDA/optimisticLock2.png) +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.

    ![](../assets/en/ORDA/optimisticLock2.png) 3. El segundo proceso también modifica la entidad cargada y valida sus cambios. Se llama al método `entity.save( )`. Since the stamp value of the modified entity does not match the one of the entity stored in the data, the save is not performed and an error is returned.

    ![](../assets/en/ORDA/optimisticLock3.png) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md index 586a2822234bef..4fc5a4b70f00eb 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md @@ -327,11 +327,11 @@ Function event validateSave ($event : Object) Este evento se activa cada vez que una entidad está a punto de ser guardada. - si define la función a nivel de entidad (primera sintaxis), se llama para cualquier atributo de la entidad. -- si definió la función en el nivel de atributo (segunda sintaxis), sólo se llama para este atributo. This function is **not** executed if the attribute has not been touched in the entity. +- si definió la función en el nivel de atributo (segunda sintaxis), sólo se llama para este atributo. Esta función **no** se ejecuta si el atributo no ha sido tocado en la entidad. La función recibe un [objeto *event*](#event-parameter) como parámetro. -This event is triggered by the following functions: +Este evento es activado por las siguientes funciones: - [`entity.save()`](../API/EntityClass.md#save) - [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) @@ -348,7 +348,7 @@ No se recomienda actualizar la entidad dentro de esta función (utilizando `This #### Ejemplo -In this example, it is not allowed to save a product with a margin lower than 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action. +En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action. ```4d // ProductsEntity class @@ -374,22 +374,22 @@ return $result ```4d Function event saving($event : Object) Function event saving ($event : Object) -// code +// código ``` Este evento se activa cada vez que se guarda una entidad. -- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done). -- If you defined the function at the attribute level (second syntax), it is called only for this attribute. The function is **not** executed if the attribute has not been touched in the entity. +- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done). +- If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad. La función recibe un [objeto *event*](#event-parameter) como parámetro. -This event is triggered by the following functions: +Este evento es activado por las siguientes funciones: - [`entity.save()`](../API/EntityClass.md#save) - [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) -Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. For example, you can use this event to create a document on a Google Drive account. +Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. Por ejemplo, puede utilizar este evento para crear un documento en una cuenta de Google Drive. :::note @@ -397,13 +397,13 @@ The business logic should raise errors which can't be detected during the `valid ::: -During the save action, 4D engine errors can be raised (index, stamp has changed, not enough space on disk). +Durante la acción de guardar, se pueden producir errores en el motor 4D (índice, sello ha cambiado, no hay suficiente espacio en el disco). To stop the action, the code of the function must return an [error object](#error-object). #### Ejemplo -When a file is saved on disk, catch errors related to disk space for example. +Cuando se guarda un archivo en el disco, por ejemplo, se capturan errores relacionados con el espacio de disco. ```4d // ProductsEntity class @@ -443,14 +443,14 @@ Función evento afterSave($event : Object) // código ``` -This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. It is not executed if no attribute has been touched in the entity. +This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. No se ejecuta si no se ha tocado ningún atributo en la entidad. -This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. For example, it can be used to send a confirmation email after data have been saved. Or, in case of error while saving data, it can make a rollback to restore a consistent state of data. +This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos. La función recibe un [objeto *event*](#event-parameter) como parámetro. - To avoid infinite loops, calling a [`save()`](../API/EntityClass.md#save) on the current entity (through `This`) in this function is **not allowed**. Se producirá un error. -- Throwing an [error object](#error-object) is **not supported** by this function. +- Arrojar un [objeto error](#error-object) **no es soportado** por esta función. #### Ejemplo @@ -483,9 +483,9 @@ Function event validateDrop ($event : Object) // código ``` -This event is triggered each time an entity is about to be dropped. +Este evento se activa cada vez que una entidad está a punto de ser soltada. -- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. +- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. - If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función recibe un [objeto *event*](#event-parameter) como parámetro. @@ -532,7 +532,7 @@ Function event dropping ($event : Object) Este evento se activa cada vez que se elimina una entidad. -- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. +- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. - If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función recibe un [objeto *event*](#event-parameter) como parámetro. @@ -555,7 +555,7 @@ To stop the action, the code of the function must return an [error object](#erro #### Ejemplo -Here is an example of `dropping` event at entity level: +Estes es un ejemplo del evento `dropping` a nivel de entidad: ```4d // ProductsEntity class @@ -589,18 +589,18 @@ Function event afterDrop($event : Object) // código ``` -This event is triggered just after an entity is dropped. +Este evento se activa justo después de que una entidad es soltada. -This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. For example, it can be used to send a cancellation email after data have been dropped. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency. +This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de cancelación después de soltar los datos. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency. La función recibe un [objeto *event*](#event-parameter) como parámetro. - To avoid infinite loops, calling a [`drop()`](../API/EntityClass.md#drop) on the current entity (through `This`) in this function is **not allowed**. Se producirá un error. -- Throwing an [error object](#error-object) is **not supported** by this function. +- Arrojar un [objeto error](#error-object) **no es soportado** por esta función. :::note -The dropped entity is referenced by `This` and still exists in memory. +La entidad eliminada es referenciada por `This` y aún existe en memoria. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md index 5bb31631d97539..72cf097a8cd4f4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md @@ -27,27 +27,21 @@ Si un usuario intenta ejecutar una acción y no tiene los derechos de acceso ade Puede asignar acciones de permiso específicas a los siguientes recursos en su proyecto: -- el almacén de datos -- una clase de datos -- un atributo (incluidos los calculados y los alias) -- una función de clase de modelo de datos -- una función [singleton](../REST/$singleton.md) +- the [datastore](../ORDA/dsMapping.md#datastore) +- the [dataclasses](../ORDA/dsMapping.md#dataclass) +- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1)) +- functions of the [data model classes](../ORDA/ordaClasses.md) +- [singleton](../REST/$singleton.md) functions Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma en que se acceda), 4D verifica que la sesión tenga los permisos apropiados y rechaza el acceso si no está autorizado. -Una acción de permiso definida en un nivel determinado se hereda por defecto en los niveles inferiores, pero se pueden establecer varios permisos: - -- Una acción de permiso definida a nivel de almacén de datos se asigna automáticamente a todas las clases de datos. La acción de permiso *execute* definida en el nivel del datastore se aplica a todas las funciones del proyecto, incluyendo todas las funciones [singleton](../REST/$singleton.md). -- Una acción de permiso definida a nivel de clase de datos anula la configuración del almacén de datos (si existe). Por defecto, todos los atributos de la clase de datos heredan de los permisos de la clase de datos. -- A diferencia de los permisos de clase de datos, una acción de permiso definida a nivel de atributo no anula los permisos de clase de datos padre, sino que se añade a ellos. Por ejemplo, si asignó el privilegio "general" a una clase de datos y el privilegio "detail" a un atributo de la clase de datos, tanto el privilegio "general" como el privilegio "detail" deben definirse en la sesión para acceder al atributo. - -:::info +## Permissions -Los permisos controlan el acceso a los objetos o funciones del almacén de datos. Si desea filtrar los datos leídos según algún criterio, puede considerar [restringir las selecciones de entidades](entities.md#restricting-entity-selections) que puede ser más apropiado en este caso. +A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles). -::: +When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes). -## Acciones de autorización +### Acciones de autorización Las acciones disponibles están relacionadas con el recurso de destino. @@ -73,6 +67,65 @@ Las acciones disponibles están relacionadas con el recurso de destino. Los parámetros de permisos requieren ser consistentes, en particular los permisos **update** y **drop** también necesitan el permiso **read** (pero **create** no lo necesita). +### Permisos heredados + +Una acción de permiso definida en un nivel determinado se hereda por defecto en los niveles inferiores, pero se pueden establecer varios permisos: + +- Una acción de permiso definida a nivel de almacén de datos se asigna automáticamente a todas las clases de datos. La acción de permiso *execute* definida en el nivel del datastore se aplica a todas las funciones del proyecto, incluyendo todas las funciones [singleton](../REST/$singleton.md). +- Una acción de permiso definida a nivel de clase de datos anula la configuración del almacén de datos (si existe). Por defecto, todos los atributos de la clase de datos heredan de los permisos de la clase de datos. +- A diferencia de los permisos de clase de datos, una acción de permiso definida a nivel de atributo no anula los permisos de clase de datos padre, sino que se añade a ellos. Por ejemplo, si asignó el privilegio "general" a una clase de datos y el privilegio "detail" a un atributo de la clase de datos, tanto el privilegio "general" como el privilegio "detail" deben definirse en la sesión para acceder al atributo. + +:::info + +Los permisos controlan el acceso a los objetos o funciones del almacén de datos. Si desea filtrar los datos leídos según algún criterio, puede considerar [restringir las selecciones de entidades](entities.md#restricting-entity-selections) que puede ser más apropiado en este caso. + +::: + +### Asignación de permisos a las funciones de la clase ORDA + +Al configurar los permisos, las funciones de clase ORDA se declaran en el elemento `applyTo` usando la siguiente sintaxis: + +```json +. +``` + +Por ejemplo, si desea aplicar un permiso a la siguiente función: + +```4d +// cs.CityEntity class +Class extends Entity + Function getPopulation() : Integer + ... +``` + +... tiene que escribir: + +```json +"applyTo":"City.getPopulation" +``` + +Significa que no puede utilizar los mismos nombres de función en las distintas clases ORDA (entidad, selección de entidad, dataclass) si desea que se les asignen privilegios. En este caso, debe utilizar nombres de función distintos. Por ejemplo, si has creado una función "drop" en ambas clases `cs.CityEntity` y `cs.CitySelection`, necesita darles nombres diferentes como `dropEntity()` y `dropSelection()`. A continuación, puede escribir en el archivo "roles.json": + +```json + "permissions": { + "allowed": [ + { + "applyTo": "City.dropEntity", + "type": "method", + "promote": [ + "name" + ] + }, + { + "applyTo": "City.dropSelection", + "type": "method", + "promote": [ + "name" + ] + } + ] +``` + ## Privilegios y roles Un \*\*privilegio \*\* es la capacidad técnica de ejecutar \*\*acciones \*\* en \*\*recursos \*\*, mientras que un **rol** es un privilegio publicado para ser utilizado por un administrador. Básicamente, un rol reúne varios privilegios para definir un perfil de usuario empresarial. Por ejemplo, "manageInvoices" podría ser un privilegio mientras que "secretary" podría ser un rol (que incluye "manageInvoices" y otros privilegios). @@ -111,70 +164,7 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T ## archivo `roles.json` -El archivo `roles.json` describe todos los parámetros de seguridad del proyecto. - -### Archivo por defecto - -Al crear un proyecto, se crea un archivo `roles.json` por defecto en la siguiente ubicación: `/Project/Sources/` (ver la sección [Architecture](../Project/architecture.md#sources)). - -El archivo por defecto tiene el siguiente contenido: - -```json title="/Project/Sources/roles.json" - -{ - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - - "roles": [], - - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": ["all"], - "create": ["all"], - "update": ["all"], - "drop": ["all"], - "execute": ["all"], - "promote": ["all"] - } - ] - }, - - "forceLogin": true - -} - -``` - -For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock. -Se recomienda no modificar ni utilizar este privilegio de bloqueo, sino agregar permisos específicos a cada recurso que desee poner a disposición desde solicitudes web o REST ([ver ejemplo a continuación](#example-of-privilege-configuration)). - -:::caution - -Cuando no se definen parámetros específicos en el archivo `roles.json`, los accesos no son limitados. Esta configuración le permite desarrollar la aplicación sin tener que preocuparse por los accesos, pero no se recomienda en entornos de producción. - -::: - -:::note Compatibilidad - -En versiones anteriores, el archivo `roles.json` no fue creado por defecto. A partir de 4D 20 R6, al abrir un proyecto existente que no contiene un archivo `roles.json` o los parámetros `"forceLogin": true`, el botón **Activar la autenticación REST mediante la función ds.authentify()** está disponible en la página [**Funcionalidades web** de la caja de diálogo Parámetros](../settings/web.md#access). Este botón actualiza automáticamente su configuración de seguridad (es posible que tenga que modificar su código, [ver esta publicación del blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)). -::: - -:::note Qodly Studio - -En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios. - -::: - -### Sintaxis - -La sintaxis del archivo `roles.json` es la siguiente: +El archivo `roles.json` describe todos los parámetros de seguridad web del proyecto. La sintaxis del archivo `roles.json` es la siguiente: | Nombre de propiedad | | | Tipo | Obligatorio | Descripción | | ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------ | @@ -194,60 +184,87 @@ La sintaxis del archivo `roles.json` es la siguiente: | | | \[].drop | Colección de cadenas | | Lista de privilegios | | | | \[].execute | Colección de cadenas | | Lista de privilegios | | | | \[].promote | Colección de cadenas | | Lista de privilegios | -| forceLogin | | | Boolean | | True para habilitar el [modo "forceLogin"](../REST/authUsers.md#force-login-mode) | +| restrictedByDefault | | | Boolean | | Si es true, se niega el acceso a recursos sin permisos explícitos | +| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) | :::caution Recordatorio - El nombre de privilegio "WebAdmin" está reservado a la aplicación. No se recomienda utilizar este nombre para los privilegios personalizados. -- los nombres de `privileges` y `roles` son insensibles a mayúsculas y minúsculas. +- `privileges` and `roles` names are case-insensitive. ::: -#### Asignación de permisos a las funciones de la clase ORDA +### Default File Location and Content -Al configurar los permisos, las funciones de clase ORDA se declaran en el elemento `applyTo` usando la siguiente sintaxis: +When a new project is created, a default `roles.json` file is generated at: -```json -. ``` - -Por ejemplo, si desea aplicar un permiso a la siguiente función: - -```4d -// cs.CityEntity class -Class extends Entity - Function getPopulation() : Integer - ... +/Project/Sources/ ``` -... tiene que escribir: +Ver la sección [Arquitectura](../Project/architecture.md#sources). -```json -"applyTo":"City.getPopulation" -``` +Contenido predeterminado: -Significa que no puede utilizar los mismos nombres de función en las distintas clases ORDA (entidad, selección de entidad, dataclass) si desea que se les asignen privilegios. En este caso, debe utilizar nombres de función distintos. Por ejemplo, si has creado una función "drop" en ambas clases `cs.CityEntity` y `cs.CitySelection`, necesita darles nombres diferentes como `dropEntity()` y `dropSelection()`. A continuación, puede escribir en el archivo "roles.json": +```json title="/Project/Sources/roles.json" -```json - "permissions": { - "allowed": [ - { - "applyTo": "City.dropEntity", - "type": "method", - "promote": [ - "name" - ] - }, - { - "applyTo": "City.dropSelection", - "type": "method", - "promote": [ - "name" - ] - } +{ + "privileges": [ + ], + "roles": [ + ], + "permissions": { + "allowed": [ + { + "applyTo": "ds", + "type": "datastore", + "read": [], + "create": [], + "update": [], + "drop": [], + "execute": [], + "promote": [] + } ] + }, + "restrictedByDefault": false, + "forceLogin": false +} ``` +:::note Compatibilidad + +En versiones anteriores, el archivo `roles.json` no fue creado por defecto. A partir de 4D 20 R6, al abrir un proyecto existente que no contiene un archivo `roles.json` o los parámetros `"forceLogin": true`, el botón **Activar la autenticación REST mediante la función ds.authentify()** está disponible en la página [**Funcionalidades web** de la caja de diálogo Parámetros](../settings/web.md#access). Este botón actualiza automáticamente su configuración de seguridad (es posible que tenga que modificar su código, [ver esta publicación del blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)). + +::: + +:::note Qodly Studio + +In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel. + +::: + +## Restriction Modes + +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): + +- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. Este modo es adecuado para entornos de desarrollo donde el acceso se puede restringir gradualmente. +- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. Este modo se recomienda para entornos de producción donde el acceso debe ser otorgado explícitamente. + +:::note Compatibilidad + +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Tenga en cuenta que esta configuración está hecha a medida para un inicio rápido y un desarrollo fluido. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. + +::: + +### Configuración recomendada + +Depending on your environment, the recommended settings are: + +- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos. +- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions. + ### Archivo `Roles_Errors.json` El archivo `roles.json` es analizado por 4D al inicio. Debe reiniciar la aplicación si desea que se tengan en cuenta las modificaciones en este archivo. @@ -267,93 +284,28 @@ End if ## Ejemplo de configuración de privilegios -The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions: - ```json title="/Project/Sources/roles.json" { - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - "roles": [], - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": [ - "all" - ], - "create": [ - "all" - ], - "update": [ - "all" - ], - "drop": [ - "all" - ], - "execute": [ - "all" - ], - "promote": [ - "all" - ] - }, - { - "applyTo": "ds.loginAs", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.hasPrivilege", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.clearPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.isGuest", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.getPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.setAllPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "mySingletonClass.createID", - "type": "singletonMethod", - "execute": [ - "guest" - ] - } - ] - }, - "forceLogin": true + "forceLogin": true, + "restrictedByDefault": true, + "permissions": { + "allowed": [ + { + "applyTo": "People", + "type": "dataclass", + "read": [ + "viewPeople" + ] + } + ] + }, + "privileges": [ + { + "privilege": "viewPeople", + "includes": [] + } + ], + "roles": [] } ``` diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md index 1158b612ee42c7..77cb73581775e8 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md @@ -148,7 +148,7 @@ El modo de escritura directa es opcional sólo en proyectos convertidos. Se util Select **All variables are typed (Direct typing)** option in the **Compilation Path** menu to enable the direct typing mode. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse. -Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. The direct typing concept assumes that all elements are directly declared where they are defined in your code. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas). +Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. El concepto de escritura directa asume que todos los elementos se declaran directamente donde están definidos en su código. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas). ## Advertencias diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md index 39c7beb92cfae9..daaa27e8603038 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md @@ -90,13 +90,13 @@ Use the `params` property to provide the filter with the vector comparison param 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. Supported values:
  • "cosine" (default if omitted): calculates the cosine similarity between vectors.
  • "dot": calculates the dot similarity of vectors.
  • "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. | +| 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. Supported values:
  • "cosine" (default if omitted): calculates the cosine similarity between vectors.
  • "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. | -Only a subset of **comparator** symbols are supported with vector comparisons. Tenga en cuenta que comparan los resultados con el valor umbral: +Solo un subconjunto de símbolos **comparadores** son soportados con comparaciones vectoriales. Tenga en cuenta que comparan los resultados con el valor umbral: | Comparador | Símbolo(s) | Comentario | | ----------------- | ----------------------------- | --------------------------- | @@ -126,7 +126,7 @@ En este ejemplo, buscamos en la clase de datos Person todas las personas cuya pr GET /rest/Person/?filter="anotherobj.mynum > 50" ``` -In this example, we do a vector search with basic values: +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/version-21/REST/$singleton.md b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$singleton.md index dd6441c98e068f..f2526bf683cf39 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$singleton.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$singleton.md @@ -5,7 +5,7 @@ title: $singleton Puede llamar directamente a [funciones de sus singletons compartidos](../Concepts/classes.md#singleton-classes) a través de REST. -Singleton functions are called in POST or GET requests with the `$singleton` command and without `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición: +Las funciones Singleton se llaman en peticiones POST o GET con el comando `$singleton` y sin `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición: ```json /rest/$singleton/VehicleFactory/buildVehicle diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md index b8680a5547e280..704a4b63bc00d1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md @@ -31,10 +31,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. Possible values:

    ValueDescription
    `vk clipboard options all` (default)Copies all data objects, including values, formatting, and formulas.
    `vk clipboard options formatting`Copia solo el formato.
    `vk clipboard options formulas`Copies only the formulas.
    `vk clipboard options formulas and formatting`Copies the formulas and formatting.
    `vk clipboard options values`Copia solo los valores.
    `vk clipboard options value and formatting`Copies the values and formatting.

    | +| 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. Possible values:

    ValueDescription
    `vk clipboard options all` (default)Copies all data objects, including values, formatting, and formulas.
    `vk clipboard options formatting`Copia solo el formato.
    `vk clipboard options formulas`Copies only the formulas.
    `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/version-21/ViewPro/commands/vp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-export-document.md index 8dfcf9c5401f37..94eefcc2eb31d0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-export-document.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-export-document.md @@ -77,11 +77,11 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para | | includeStyles | boolean | Si se incluye el estilo al exportar, por defecto true. | | | includeFormulas | boolean | Si se incluye la fórmula al exportar, por defecto true. | | | saveAsView | boolean | Si aplicar la cadena de formato al valor de exportación al exportar, por defecto false. | -| | rowHeadersAsFrozenColumns | boolean | Whether to treat the row headers as frozen columns when exporting, default false. | +| | rowHeadersAsFrozenColumns | boolean | Si tratar los encabezados de línea como columnas congeladas al exportar, por defecto false. | | | columnHeadersAsFrozenRows | boolean | Si tratar los encabezados de columna como líneas congeladas al exportar, por defecto false. | | | includeAutoMergedCells | boolean | Si se incluyen las celdas combinadas automáticamente al exportar, false por defecto. | -| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Can be faster when open the file with those data, default false. | -| | includeUnusedNames | boolean | Whether to include the unused custom name when exporting, default true. | +| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Puede ser más rápido al abrir el archivo con esos datos, false por defecto. | +| | includeUnusedNames | boolean | Si se incluye el nombre personalizado no utilizado al exportar, true por defecto. | | | includeEmptyRegionCells | boolean | Si se incluyen celdas vacías (celdas sin datos o solo con estilo) fuera del rango de datos utilizado, por defecto true. | | | contraseña | text | Contraseña a definir para abrir el libro de trabajo. | | `\` | | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. | @@ -90,7 +90,7 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para - Al exportar un documento 4D View Pro a un archivo con formato Microsoft Excel, pueden perderse algunos parámetros. Por ejemplo, los métodos y fórmulas 4D no son soportados por Excel. Puede verificar otras configuraciones con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport). - La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula` del *paramObj* para el código a ejecutar después de la exportación. -- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Make sure to not mix this object with legacy first level properties (*password*, *includeBindingSource*...) para evitar problemas potientales. +- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Asegúrese de no mezclar este objeto con propiedades heredadas de primer nivel (*password*, *includeBindingSource*...) para evitar problemas potientales. **Notas sobre el formato PDF**: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-find.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-find.md index 4ccd334c12e81f..cdf07a14ec6e8f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-find.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-find.md @@ -33,7 +33,7 @@ Puede pasar el parámetro opcional *searchCondition* para especificar el funcion | afterRow | Integer | El número de la línea justo antes de la línea 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*) | | 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 lo mismo que "A".
    `vk find flag none`no search flags are considered (default)
    `vk find flag use wild cards`Wildcard characters (\*,?) 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. Each row of a column is searched before the search continues to the next column.
    `vk find order by rows`The search is performed by rows. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto)
    | +| order | Integer |
    `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.
    `vk find order by rows`La búsqueda es realizada por líneas. 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/version-21/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md index e8bed742d07c39..229ed41326b42a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md @@ -43,33 +43,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.md). 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. When opening file, UI and UI event could be refreshed and responsive at specific time points.
  • 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 | Whether to treat the frozen rows as column headers when importing, default 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 | Whether to calculate formulas only when they are demanded, default 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 | The open mode of normal, lazy and 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.md). 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 | Whether to calculate formulas only when they are demanded, default 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 | The open mode of normal, lazy and incremental. Por defecto es normal. | :::note Notas diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-move-cells.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-move-cells.md index 5e7750583d5ac0..f924914b108639 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-move-cells.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-move-cells.md @@ -35,10 +35,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. Possible values:

    ValueDescription
    `vk clipboard options all` (default)Pastes all data objects, including values, formatting, and formulas.
    `vk clipboard options formatting`Pega solo el formato.
    `vk clipboard options formulas`Pega sólo las fórmulas.
    `vk clipboard options formulas and formatting`Pastes the formulas and formatting.
    `vk clipboard options values`Pega solo los valores.
    `vk clipboard options value and formatting`Pastes the values and formatting.

    | +| 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. Possible values:

    ValueDescription
    `vk clipboard options all` (default)Pastes all data objects, including values, formatting, and formulas.
    `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`Pega 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/version-21/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md index bdc02342a44e14..d059be21bf1f19 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md @@ -48,14 +48,14 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles: | autoFitType | number | El contenido se formatea para que se ajuste en las celdas, o en las celdas y los encabezados. Valores disponibles:
    ConstanteValorDescripció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. Available values:
    ConstantValueDescription
    vk image layout center 1 In the center of the area.
    vk image layout none 3 In the upper left corner of the area with its original size.
    vk image layout stretch 0 Fills the area.
    vk image layout zoom 2 Displayed with its original aspect ratio.
    | +| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values:
    ConstantValueDescription
    vk image layout center 1 In the center of the area.
    vk image layout none 3 In the upper left corner of the area with its original size.
    vk image layout stretch 0 Llena el área.
    vk image layout zoom 2 Mostrado 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:
    ConstanteValorDescripció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. Available values:
    ConstantValueDescription
    vk copy paste header options all headers3 Includes selected headers when data is copied; overwrites selected headers when data is pasted.
    vk copy paste header options column headers 2 Includes selected column headers when data is copied; overwrites selected column headers when data is pasted.
    vk copy paste header options no headers0 Column and row headers are not included when data is copied; does not overwrite selected column or row headers when data is pasted.
    vk copy paste header options row headers1 Includes selected row headers when data is copied; overwrites selected row headers when data is pasted.
    | | 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 :
    ConstanteValorDescripción
    vk auto fill type auto 5 Rellena automáticamente las celdas.
    vk auto fill type clear values 4 Clears cell values.
    vk auto fill type copycells 0 Fills cells with all data objects, including values, formatting, and formulas.
    vk auto fill type fill formatting only 2 Fills cells only with formatting.
    vk auto fill type fill series 1 Fills cells with series.
    vk auto fill type fill without formatting 3 Rellena las celdas con valores y no con formato.
    | +| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles :
    ConstanteValorDescripción
    vk auto fill type auto 5 Rellena automáticamente las celdas.
    vk auto fill type clear values 4 Clears cell values.
    vk auto fill type copycells 0 Fills cells with all data objects, including values, formatting, and formulas.
    vk auto fill type fill formatting only 2 Llena las celdas solo con formato.
    vk auto fill type fill series 1 Fills cells with 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. | @@ -69,7 +69,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles: | referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values:
    ConstantValueDescription
    vk reference style A1 0 Use A1 style.
    vk reference style R1C1 1 Use R1C1 style
    | | resizeZeroIndicator | number | Política de dibujo cuando las líneas o columnas se redimensionan a 0. Available values:
    ConstantValueDescription
    vk resize zero indicator default 0 Uses the current drawing policy when the row or column is resized to zero.
    vk resize zero indicator enhanced 1 Draws two short lines when the row or column is resized to zero.
    | | 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. Available values:
    ConstantValueDescription
    vk scrollbar appearance mobile1 Mobile scrollbar appearance.
    vk scrollbar appearance skin (default)0 Excel-like classic scrollbar appearance.
    | +| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Available values:
    ConstantValueDescription
    vk scrollbar appearance mobile1 Mobile scrollbar appearance.
    vk scrollbar appearance skin (por defecto)0 Apariencia clásica de la barra de desplazamiento similar a Excel.
    | | 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. | @@ -79,8 +79,8 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles: | 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. Available values:
    ConstantValueDescription
    vk show resize tip both 3 Horizontal and vertical resize tips are displayed.
    vk show resize tip column 1 Only the horizontal resize tip is displayed.
    vk show resize tip none 0 No resize tip is displayed.
    vk show resize tip row 2 Only the vertical resize tip is displayed.
    | -| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values:
    ConstantValueDescription
    vk show scroll tip both 3 Horizontal and vertical scroll tips are displayed.
    vk show scroll tip horizontal 1 Only the horizontal scroll tip is displayed.
    vk show scroll tip none No se muestra ninguna propina.
    vk show scroll tip vertical 2 Only the vertical scroll tip is displayed.
    | +| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values:
    ConstantValueDescription
    vk show resize tip both 3 Horizontal and vertical resize tips are displayed.
    vk show resize tip column 1 Solo se muestra la punta de redimensionamiento horizontal.
    vk show resize tip none 0 No resize tip is displayed.
    vk show resize tip row 2 Only the vertical resize tip is displayed.
    | +| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values:
    ConstantValueDescription
    vk show scroll tip both 3 Horizontal and vertical scroll tips are displayed.
    vk show scroll tip horizontal 1 Only the horizontal scroll tip is displayed.
    vk show scroll tip none No se muestra ninguna propina.
    vk show scroll tip vertical 2 Solo se muestra la punta 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. | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md index 8577eb589df53b..97732b237a5018 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md @@ -13,9 +13,9 @@ La integración de áreas de 4D View Pro en sus formularios le permite importar ## Instalación y activación -4D View Pro debe estar instalado en sus proyectos. The 4D View Pro component is available from the [**4D-ViewPro github repository**](https://github.com/4d/4D-ViewPro). +4D View Pro debe estar instalado en sus proyectos. El componente 4D View Pro está disponible en el [\*\*repositorio github 4D-ViewPro \*\*](https://github.com/4d/4D-ViewPro). -The easiest way to install 4D View Pro in an opened project is to use the Dependency Manager: +La forma más fácil de instalar 4D View Pro en un proyecto abierto es utilizar el Administrador de dependencias: 1. Abra la ventana [Dependency Manager](../Project/components.md). 2. Haga clic en el botón **+** para añadir un componente. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/authentication.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/authentication.md index ee0943ee56293f..509461ed5e00bf 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/authentication.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/authentication.md @@ -119,7 +119,7 @@ Debe declarar estos parámetros de la siguiente manera: :::note -Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. The information received by the database method depends on the selected [authentication mode](#authentication-modes). +Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. La información recibida por el método base depende del [modo de autenticación](#authentication-modes) seleccionado. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md index 16c9f337b0de37..bc8018c82e60ac 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md @@ -58,7 +58,7 @@ Se soportan las siguientes palabras clave de acción: | `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. | | `addHeaders` | Object | Name (text) and value (text) of header(s) to add to the HTTP responses. | | `setHeaders` | Object | Name (text) and value (text) of header(s) to modify in the HTTP responses. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. | -| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. When the access to a resource is denied, the web server returns a 403 status by default | +| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto | | `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto | | `status` | Number | Estado HTTP | @@ -74,7 +74,7 @@ Algunos encabezados no pudieron ser añadidos, modificados o eliminados: | Vary | Sí | No | No | | Set-Cookie | Sí | Añadir cookie | No | -Unauthorized changes on these headers do not generate errors, however modifications will be ignored. +Los cambios no autorizados en estos encabezados no generan errores, sin embargo las modificaciones serán ignoradas. ### Reglas actuales diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md index 6a5929785ac538..c270d197d2e68a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md @@ -27,7 +27,7 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, - Servidor web: maneja las [plantillas web](templates.md), [4DACTION y los métodos base](httpRequests.md) - Servidor de servicios web: gestiona las peticiones SOAP - ***web setting*** means that the preemptive mode depends on the [**scalable sessions**](sessions.md#enabling-web-sessions) status: - - if scalable sessions are enabled, the preemptive mode is automatically used for web and web service processes. + - si las sesiones escalables están activadas, el modo apropiativo se utiliza automáticamente para los procesos web y servicios web. - si las sesiones escalables no están activadas: - for web processes, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account. - for web service processes (server or client), preemptive mode is supported at method level. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md index 615a144ad69146..105b658372a4fe 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md @@ -80,7 +80,7 @@ La autenticación en el servidor web WebAdmin se realiza utilizando una llave de De acuerdo con la gestión de proyectos 4D, sólo se admiten los siguientes usos: - el desarrollo con Qodly Studio debe realizarse a través de **4D** (monousuario). -- deployment of 4D applications powered with Qodly pages must be done using **4D Server**. +- el despliegue de aplicaciones 4D alimentadas por páginas Qodly debe hacerse utilizando **4D Server**. :::warning diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md index 8602f8f2fab3ec..daeaf088d5b5d0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md @@ -211,7 +211,7 @@ End if El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OTP (One-Time Passcode). Los tokens de sesión OTP se utilizan para asegurar comunicaciones con aplicaciones de terceros o sitios web. For information on OTP, please refer to the [One-time password page](https://en.wikipedia.org/wiki/One-time_password) on Wikipedia. -In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio. +In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio. :::tips Entradas de blog relacionadas @@ -251,7 +251,7 @@ Una url [`4DACCIÓN`](./httpRequests.md#4daction) también puede ser usada en el #### Utilizar un parámetro personalizado -The OTP token can also be provided as a custom parameter that you need to process specifically to restore the session. Debe utilizar esta solución si: +El token OTP también se puede suministrar como un parámetro personalizado que necesita procesar específicamente para restaurar la sesión. Debe utilizar esta solución si: - la aplicación de terceros no permite insertar parámetros como un `$4DSID` directamente en la Uri de redirección, y proporciona una API dedicada (la implementación depende de la aplicación de terceros), - o, quiere llamar a una función ORDA a través de REST para procesar la retrollamada, en cuyo caso es necesario pasar el OTP con la [sintaxis de parámetro REST](../REST/ClassFunctions.md#parameters) (por ejemplo, `?$params='["XXX123"]'`). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServer.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServer.md index 1a85350e7e6a34..3563c5462c2ac4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServer.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServer.md @@ -8,7 +8,7 @@ title: Servidor Web :::warning Funcionalidad obsoleta -Using the web server on a remote 4D is **deprecated** as of 4D 21. Ya no se recomienda utilizar esta funcionalidad. +El uso del servidor web en un 4D remoto es **obsoleto** a partir de 4D 21. Ya no se recomienda utilizar esta funcionalidad. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md index 948cf5cf8afce8..e32bca5acba067 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md @@ -55,10 +55,10 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c | 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.
  • Note: If the folder already exists, it is emptied before the file is exported. Si no hay ninguna imagen en la página exportada, se elimina la carpeta | +| 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. Useful if you want to use fonts that are not available by default on Windows or macOS.
  • **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. | +| 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.
  • **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. | | 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). If a picture contains more than one format, the format for screen rendering is used.
  • **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md index 0975d8aeb5e67b..606d4bcc42bcd7 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md @@ -55,10 +55,10 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c | 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.
  • Note: If the folder already exists, it is emptied before the file is exported. Si no hay ninguna imagen en la página exportada, se elimina la carpeta | +| 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. Useful if you want to use fonts that are not available by default on Windows or macOS.
  • **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. | +| 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.
  • **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. | | 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). If a picture contains more than one format, the format for screen rendering is used.
  • **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md index 57405625d969f7..625a6d5df492ed 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md @@ -51,20 +51,20 @@ Por defecto, las expresiones HTML insertadas en documentos heredados de 4D Write Puede pasar un objeto para definir cómo se gestionan los siguientes atributos durante la operación de importación: -| **Atributo** | **Tipo** | **Description** | -| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:

    **anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* | -| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:

    **all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Anchored images are imported, but any text wrapping around the image is ignored. **ignore** \- Las imágenes ancladas no son importadas. | -| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:

    **all** (por defecto) - Se importan todas las secciones. Continuous, even, or odd sections are converted to standard sections. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Note**: Section breaks of any type but continuous are converted to section breaks with page break. Continuous section breaks are imported as continuous section breaks. | -| fields | Text | Sólo para documentos MS Word (.docx). Specifies how .docx fields that can't be converted to 4D Write Pro formulas are handled. Valores disponibles:

    **ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - The last computed value for the .docx field (if available) is imported. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. | -| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Available values:

    **collapse** \- Paragraph formatting is modified to mimic automatically collapsed borders. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. | -| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Available values:

    **latin** (default) - Latin script **bidi** \- Bidrectional script. Suitable if document is mainly bidirectional left-to-right (LTR) or right-to-left (RTL) text (e.g., Arabic or Hebrew). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. | -| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:

    **rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. | -| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:

    **legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. | +| **Atributo** | **Tipo** | **Description** | +| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:

    **anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* | +| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:

    **all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. | +| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:

    **all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. | +| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:

    **ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. | +| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:

    **collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. | +| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Valores disponibles:

    **latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. | +| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:

    **rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. | +| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:

    **legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. | **Notas de compatibilidad** -- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Legacy character style sheets are not imported and are no longer referenced in the document.* +- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.* - *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.* ## Ejemplo 1 diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-reset-attributes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-reset-attributes.md index e3c95cabba2413..da3a00bcb36f12 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-reset-attributes.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-reset-attributes.md @@ -19,7 +19,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. This command can remove any kind of 4D Write Pro internal attribute: character, paragraph, document, table, or image. 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/version-21/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md index 4b19b4951ce87d..128c04f6bef972 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md @@ -93,7 +93,7 @@ Por ejemplo, para insertar el número de página en el pie de página: ## Table formula context object -When used in a formula within the table, the **This** keyword gives access to different data according to the context: +Cuando se utiliza en una fórmula dentro de la tabla, la palabra clave **This** da acceso a diferentes datos según el contexto: | **Contexto** | **Expression** | **Tipo** | **Devuelve** | | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -104,7 +104,7 @@ When used in a formula within the table, the **This** keyword gives access to di | | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada | | In each data row when a table datasource returns a collection or an entity selection | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute | | | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 | -| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
    This expression returns the same type of value as the **This.tableData** expression. | +| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
    Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. | | In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
    • the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
    • the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
    | En cualquier otro contexto, estas expresiones devolverán *undefined*. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md index 21dc2ecf7aa074..1271a5aaaa8e21 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md @@ -5,7 +5,7 @@ title: OpenAI # OpenAI -La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. It includes properties for managing API configurations and methods for performing HTTP requests to the OpenAI endpoints. +La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. Incluye propiedades de gestión de las configuraciones API y de los métodos para efectuar las peticiones HTTP a los puntos de terminación de OpenAI. ## Propiedades de configuración @@ -58,7 +58,7 @@ $client.baseURL:="https://server.ai" ## Recursos API -The API provides access to multiple resources that allow seamless interaction with OpenAI's services. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities. +La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities. | Nombre de la propiedad | Tipo | Descripción | | ---------------------- | ----------------------------------------------- | ------------------------------------------------ | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md index 8b794fda25d429..acf7c8b80ee550 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md @@ -9,10 +9,10 @@ The `OpenAIChatAPI` class provides an interface to interact with OpenAI's chat b ## Propiedades -| Propiedad | Tipo | Descripción | -| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Una instancia que maneja las solicitudes de finalización del chat. | -| `vision` | [OpenAIVision](OpenAIVision.md) | A helper instance that handles vision-related requests. | +| Propiedad | Tipo | Descripción | +| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Una instancia que maneja las solicitudes de finalización del chat. | +| `vision` | [OpenAIVision](OpenAIVision.md) | Una instancia de ayuda que gestiona las peticiones relacionadas con la visión. | ## Function diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsAPI.md index f5d15116434873..4ce850b3b4ecd9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsAPI.md @@ -5,7 +5,7 @@ title: OpenAIChatCompletionsAPI # OpenAIChatCompletionsAPI -La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. It provides methods to create, retrieve, update, delete, and list chat completions. +La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. Ofrece métodos para crear, recuperar, actualizar, eliminar y listar respuestas de chat. https://platform.openai.com/docs/api-reference/chat @@ -21,7 +21,7 @@ https://platform.openai.com/docs/api-reference/chat | *parámetros* | [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) | Los parámetros para la solicitud de finalización del chat. | | Resultado | Object | El resultado de la solicitud de finalización del chat. | -Creates a model response for the given chat conversation. +Crea un modelo de respuesta para la conversación dada. https://platform.openai.com/docs/api-reference/chat/create diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsListParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsListParameters.md index 93b8c3e4bee066..7f1a363b63e090 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsListParameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsListParameters.md @@ -5,7 +5,7 @@ title: OpenAIChatCompletionsListParameters # OpenAIChatCompletionsListParameters -This class is used to define parameters for retrieving a list of chat completions from the OpenAI API. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat. +Esta clase se utiliza para definir los parámetros de recuperación de una lista de terminaciones de chat de la API OpenAI. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat. ## Hereda diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md index 2502d80c2c15ea..c9624656bfe290 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md @@ -13,11 +13,11 @@ The `OpenAIChatCompletionsMessagesAPI` class is designed to interact with the Op **list**(*completionID* : Text; *parameters* : OpenAIChatCompletionsMessagesParameters) : Variant -| Parámetros | Tipo | Descripción | -| -------------- | ----------------------------------------- | -------------------------------------------------------------------------------- | -| *completionID* | Text | The ID of the chat completion to retrieve messages for. | -| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. | -| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. | +| Parámetros | Tipo | Descripción | +| -------------- | ----------------------------------------- | ------------------------------------------------------------------------------------- | +| *completionID* | Text | El ID de la finalización de chat para la cual recuperar los mensajes. | +| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. | +| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. | La función `list()` recupera los mensajes asociados a un ID de finalización de chat específico. Lanza un error si `completionID` está vacío. If the *parameters* argument is not an instance of `OpenAIChatCompletionsMessagesParameters`, it will create a new instance using the provided parameters. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md index dabbcc1cee4797..7d99ad8f1204a6 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md @@ -15,14 +15,14 @@ https://platform.openai.com/docs/api-reference/embeddings **create**(*input* : Text; *model*: Text; *parameters* : OpenAIEmbeddingsParameters) : OpenAIEmbeddingsResult -Creates an embeddings for the provided input, model and parameters. - -| Argumento | Tipo | Descripción | -| ------------ | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| *entrada* | Texto o colección de texto | La entrada a vectorizar. | -| *model* | Text | The [model to use](https://platform.openai.com/docs/guides/embeddings#embedding-models) | -| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. | -| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. | +Crea una representación vectorial para la entrada, el modelo y los parámetros ofrecidos. + +| Argumento | Tipo | Descripción | +| ------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| *entrada* | Texto o colección de texto | La entrada a vectorizar. | +| *model* | Text | El [modelo a utilizar] (https://platform.openai.com/docs/guides/embeddings#embedding-models) | +| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. | +| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. | #### Ejemplos de uso diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md index a1b407b5774618..50c983790a5e75 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md @@ -41,7 +41,7 @@ La clase `OpenAIError` está diseñada para manejar errores devueltos por la API | ---------------------------- | ------- | ------------------------------------------------------------------------------------------------- | | `isBadRequestError` | Boolean | Indica si se trata de un error 400 Bad Request. | | `isAuthenticationError` | Boolean | Indica si se trata de un error de autenticación 401. | -| `isPermissionDeniedError` | Boolean | Indicates ∏if the error is a 403 Permission Denied error. | +| `isPermissionDeniedError` | Boolean | Indica si el error es un error 403 Permiso denegado. | | `isNotFoundError` | Boolean | Indica si el error es un error 404 Not Found. | | `isUnprocessableEntityError` | Boolean | Indica si el error es un error de entidad no procesable (422). | | `isRateLimitError` | Boolean | Indica si el error es un error de límite de velocidad 429. | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIImage.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIImage.md index 04c86973e749d1..2917ecf2bf83db 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIImage.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIImage.md @@ -11,11 +11,11 @@ https://platform.openai.com/docs/api-reference/images/object ## Propiedades -| Propiedad | Tipo | Descripción | -| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------- | -| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). | -| `b64_json` | Text | The base64-encoded JSON of the generated image, if `response_format` is `b64_json`. | -| `revised_prompt` | Variant | The prompt that was used to generate the image, if there was any revision to the prompt. | +| Propiedad | Tipo | Descripción | +| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------- | +| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). | +| `b64_json` | Text | El JSON codificado en base64 de la imagen generada, si `response_format` es `b64_json`. | +| `revised_prompt` | Variant | La instrucción que se utilizó para generar la imagen, si hubo alguna revisión de la instrucción. | ## Funciones @@ -23,9 +23,9 @@ https://platform.openai.com/docs/api-reference/images/object **asBlob**() : 4D.Blob -| Parámetros | Tipo | Descripción | -| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------ | -| Resultado | 4D.Blob | Converts the generated image to a blob format based on its URL or base64-encoded JSON. | +| Parámetros | Tipo | Descripción | +| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------ | +| Resultado | 4D.Blob | Convierte la imagen generada a un formato blob basado en su URL o en un JSON codificado en base64. | #### Ejemplo de Uso diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md index fe0fd70f8dbc2e..223b4de69615ec 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md @@ -9,13 +9,13 @@ The `OpenAIMessage` class represents a structured message containing a role, con ## Propiedades -| Propiedad | Tipo | Descripción | -| -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `rol` | Text | The role of the message (e.g., "user", "assistant", "system", "tool"). | -| `contenido` | Variant | El contenido del mensaje, que puede ser un texto o una colección de objetos. | -| `user` | Text | An optional property representing the user associated with the message. | -| `tool_calls` | Collection | A collection of tool calls requested by the assistant. Cada llamada a una herramienta contiene un objeto `id`, `type` y `function`. | -| `tool_call_id` | Text | El ID de la llamada a la herramienta a la que responde este mensaje (se utiliza cuando `role` es "tool"). | +| Propiedad | Tipo | Descripción | +| -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `rol` | Text | El rol del mensaje (por ejemplo, "user", "assistant", "system", "tool"). | +| `contenido` | Variant | El contenido del mensaje, que puede ser un texto o una colección de objetos. | +| `user` | Text | Una propiedad opcional que representa al usuario asociado al mensaje. | +| `tool_calls` | Collection | Una colección de llamadas de herramientas solicitadas por el asistente. Cada llamada a una herramienta contiene un objeto `id`, `type` y `function`. | +| `tool_call_id` | Text | El ID de la llamada a la herramienta a la que responde este mensaje (se utiliza cuando `role` es "tool"). | ## Propiedades calculadas @@ -50,7 +50,7 @@ $message.addImageURL("http://example.com/image.jpg"; "high") ### Responder a un mensaje de llamada de herramienta -When an assistant needs to use external functions, it generates a message with `tool_calls` to request function execution. +Cuando un asistente necesita utilizar las funciones externas, genera un mensaje con `tool_calls` para solicitar la ejecución de la función. **Mensaje del asistente solicitando las llamadas de la herramienta:** @@ -76,7 +76,7 @@ Cuando reciba un mensaje de llamada de herramienta, debe: 1. **Extraer la información relativa a la función:** - `function.name`: The name of the function to call (must match a function defined in your [OpenAITool](OpenAITool.md) - you can select code to execute according to this name) - - `function.arguments`: A JSON string containing the function parameters that must be parsed with `JSON Parse` + - `function.arguments`: una cadena JSON que contiene los parámetros de la función que deben analizarse con `JSON Parse` - `id`: el identificador único para esta llamada específica a la herramienta 2. **Execute the function:** @@ -103,7 +103,7 @@ var $toolResponse:=cs.AIKit.OpenAIMessage.new({ \ // Add it to the conversation and continue ``` -**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. This allows the AI model to correctly associate your response with the specific function call that was made. +**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. Esto permite que el modelo de IA asocie correctamente su respuesta con la llamada de función específica que se realizó. ## Ver también diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModeration.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModeration.md index 3c92f30cc3c7c7..1b7928f32cb10a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModeration.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModeration.md @@ -5,7 +5,7 @@ title: OpenAIModeration # OpenAIModeration -La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. It contains properties for storing the moderation ID, model used, and the results of the moderation. +La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. Contiene propiedades para almacenar el ID de moderación, el modelo utilizado y los resultados de la moderación. https://platform.openai.com/docs/api-reference/moderations/object diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModerationResult.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModerationResult.md index b486c693fb10f3..6ae6717533fd23 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModerationResult.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModerationResult.md @@ -5,7 +5,7 @@ title: OpenAIModerationResult # OpenAIModerationResult -The `OpenAIModerationResult` provides functionality to handle moderation results from the OpenAI API. +`OpenAIModerationResult` ofrece funcionalidades para manejar los resultados de moderación de la API OpenAI. ## Hereda diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md index 9f01e306d19db4..9b33b972486a0f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md @@ -19,14 +19,14 @@ Utilice esta propiedad de retrollamada para recibir el resultado independienteme Use these callback properties for more granular control over success and error handling: -| Propiedad | Tipo | Descripción | -| ------------ | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `onResponse` | 4D.Function | A function to be called asynchronously when the request finishes **successfully**. Asegúrese de que el proceso actual no termina. | -| `onError` | 4D.Function | A function to be called asynchronously when the request finishes **with errors**. Asegúrese de que el proceso actual no termina. | +| Propiedad | Tipo | Descripción | +| ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `onResponse` | 4D.Function | Una función a llamar de forma asíncrona cuando la petición finalice **con éxito**. Asegúrese de que el proceso actual no termina. | +| `onError` | 4D.Function | Una función que se llamará de forma asíncrona cuando la petición finalice **con errores**. Asegúrese de que el proceso actual no termina. | > The callback function will receive the same result object type (one of [OpenAIResult](./OpenAIResult.md) child classes) that would be returned by the function in synchronous code. -See [documentation about asynchronous code for examples](../asynchronous-call.md) +Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-call.md) ### Propiedades de la red diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md index a56ffcdcd8d803..ef3e9ad3508ea9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md @@ -21,13 +21,13 @@ The `OpenAIResult` class is designed to handle the response from HTTP requests a | `errors` | Collection | Devuelve una colección de errores. Estos podrían ser errores de red o errores devueltos por OpenAI. | | `terminated` | Boolean | Un booleano que indica si la petición HTTP fue terminada. | | `headers` | Object | Devuelve los encabezados de respuesta como un objeto. | -| `rateLimit` | Object | Returns rate limit information from the response headers. | +| `rateLimit` | Object | Devuelve la información relativa al límite de tasa de los encabezados de la respuesta. | | `utilización` | Object | Devuelve la información de uso del cuerpo de la respuesta, si existe. | ### rateLimit -The `rateLimit` property returns an object containing rate limit information from the response headers. -This information includes the limits, remaining requests, and reset times for both requests and tokens. +La propiedad `rateLimit` devuelve un objeto que contiene información sobre el límite de velocidad de los encabezados de respuesta. +Esta información incluye los límites, las peticiones restantes y los tiempos de reinicialización tanto para peticiones como para tokens. For more details on rate limits and the specific headers used, refer to [the OpenAI Rate Limits Documentation](https://platform.openai.com/docs/guides/rate-limits#rate-limits-in-headers). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md index 5b5e136edec480..ca4d836251504a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md @@ -5,7 +5,7 @@ title: Proveedores # Proveedores -Many AI providers propose an OpenAI-like API, so you can use this project to connect to them. +Muchos proveedores de IA proponen una API similar a la de OpenAI, así que puede utilizar este proyecto para conectarse a ellos. Para ello sólo tiene que definir la `baseURL` a la del proveedor y utilizar su clave api si es necesario. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md index 002a2f09517834..f047f57dab287d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md @@ -803,7 +803,7 @@ La etiqueta `` permite generar y utilizar macrocomandos que ejecutan mé El código de un método llamado se ejecuta en un nuevo proceso. Este proceso se cierra una vez se ejecuta el método. -> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. If this occurs, use the **Ctrl+F8** (Windows) or **Command+F8** (macOS) command to "kill" the process. +> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. Si esto ocurre, utilice el comando **Ctrl+F8** (Windows) o **Comando+F8** (macOS) para "matar" el proceso. ### Llamando macros diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md index 71416c9f2cbcc3..fdbd960b6e8acd 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md @@ -25,14 +25,14 @@ displayed_sidebar: docs ## Descripción -The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. It has the added benefit of being able to be executed from any 4D environment, including compiled mode. +The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. Tiene la ventaja adicional de poder ser ejecutado desde cualquier entorno 4D, incluyendo el modo compilado. The command facilitates debugging by enabling the identification of the method or formula called, the component that called it, and the line number where the call was made. Cada objeto de la colección devuelta contiene las siguientes propiedades: | **Propiedad** | **Tipo** | **Description** | **Ejemplo** | | ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | | database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" | -| formula | Text (si lo hay) | Contents of the current line of code at the current level of the call chain (raw text). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" | +| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" | | línea | Integer | Número de línea de llamada al método | "line":6 | | name | Text | Nombre del método llamado | "name":"On Load" | | type | Text | Type of the method:
  • "projectMethod"
  • "formObjectMethod"
  • "formmethod"
  • "databaseMethod"
  • "triggerMethod"
  • "executeOnServer" (when calling a project method with the *Execute on Server attribute*)
  • "executeFormula" (when executing a formula via [PROCESS 4D TAGS](../commands-legacy/process-4d-tags.md) or the evaluation of a formula in a 4D Write Pro document)
  • "classFunction"
  • "formMethod"
  • | "type":"formMethod" | @@ -45,7 +45,7 @@ Para que este comando pueda operar en modo compilado, la [verificación de rango ## Ejemplo -The following code returns a collection of objects containing information about the method call chain: +El siguiente código devuelve una colección de objetos que contienen información acerca de la cadena de llamadas de métodos: ```4d var $currentCallChain : Collection diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md index f48fc456753f3c..08c1237eb694d5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md @@ -36,7 +36,7 @@ Hay dos parámetros opcionales: - *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful: - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md). - - Second bit (bit 1): set to 1 if the command is **deprecated**, and 0 if it is not. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors). + - Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors). *theme*: nombre del tema del lenguaje 4D para el comando. @@ -80,9 +80,9 @@ En un formulario, quiere una lista desplegable con los comandos básicos de info  End case ``` -In the English version of 4D, the drop-down list will read: Sum, Average, Min, and Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max. +En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max. -\*with a 4D application configured to use the French programming language (see compatibility note) +\*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad) ## Ejemplo 3 @@ -110,7 +110,7 @@ Luego, para el comando "SAVE RECORD" (53) por ejemplo, puede escribir: ## Ejemplo 4 -You want to return a collection of all deprecated commands in your version of 4D. +Quiere devolver una colección de todos los comandos obsoletos en su versión de 4D. ```4d var $info; $Lon_id : Integer diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/create-deployment-license.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/create-deployment-license.md index 57ffea72a3cfe9..a943e2ddaadfc1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/create-deployment-license.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/create-deployment-license.md @@ -112,7 +112,7 @@ Designar una licencia de uso: ## Ver también -[Blog post - Build an application with 4D commands](https://blog.4d.com/build-an-application-with-4d-commands) +[Post de blog - Crear una aplicación con los comandos 4D](https://blog.4d.com/build-an-application-with-4d-commands) ## Propiedades diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/form.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/form.md index 355633c3e4ffb9..79fa8e19d3a3a9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/form.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/form.md @@ -24,7 +24,7 @@ displayed_sidebar: docs ## Descripción -El comando **Form** devuelve el objeto asociado al formulario actual (instanciado a partir del parámetro *formData* o de la clase de usuario asignada en el editor de formularios). 4D automatically associates an object to the current form in the following cases: +El comando **Form** devuelve el objeto asociado al formulario actual (instanciado a partir del parámetro *formData* o de la clase de usuario asignada en el editor de formularios). 4D asocia automáticamente un objeto al formulario actual en los siguientes casos: - el formulario actual ha sido cargado por uno de los comandos [`DIALOG`](dialog.md), [`Print form`](print-form.md), o [`FORM LOAD`](form-load.md), - el formulario actual es un subformulario, diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-get-property.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-get-property.md index 1950ec74b81673..e0fe65323178a0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-get-property.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-get-property.md @@ -85,7 +85,7 @@ Dado un list box "MyListbox", si ejecuta la siguiente instrucción: $Value:=LISTBOX Get property(*; "MyListbox";lk selection mode) // el valor devuelto indica el modo de selección ``` -In this case, the result returned indicates whether multiple rows can be selected. +En este caso, el resultado devuelto indica si varios registros pueden ser seleccionados. ## Ejemplo 2 diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md index bad06c1b5092c0..d6641157210542 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md @@ -25,7 +25,7 @@ Si pasa el parámetro opcional *\**, indica que el parámetro *object* es un nom **Note:** If the list box or list box column specified using the *object* and *\** parameters does not exist, the command does nothing and no error is triggered. -In the *property* and *value* parameters, you indicate, respectively, the property to set and its new value. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*: +En los parámetros *property* y *value*, usted indica, respectivamente, la propiedad a definir y su nuevo valor. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*: | Constante | Valor | Comentario | | ------------------------------ | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -69,7 +69,7 @@ In the *property* and *value* parameters, you indicate, respectively, the proper ## Ejemplo 1 -You want to make all columns of the "MyListbox" list box resizable: +Quiere que todas las columnas del list box "MyListbox" sean redimensionables: ```4d LISTBOX SET PROPERTY(*;"MyListbox";lk column resizable;lk yes) //Todas las columnas del list box "MyListbox" se establecen como redimensionables diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md index dc7638f769dbd6..a3a706e3623201 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md @@ -20,12 +20,12 @@ displayed_sidebar: docs The **New log file** command closes the current log file, renames it and creates a new one with the same name in the same location as the previous one. This command is meant to be used for setting up a backup system using a logical mirror (see the section *Setting up a logical mirror* in the [4D Server Reference Manual](https://doc/4d.com)). -The command returns the full pathname (access path + name) of the log file being closed (called the “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). The command does not carry out any processing (compression, segmentation) on the saved file. No aparece ninguna +El comando devuelve el nombre completo de la ruta (ruta de acceso + nombre) del archivo de registro que se está cerrando (llamado “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). El comando no realiza ningún procesamiento (compresión, segmentación) en el archivo guardado. No aparece ninguna caja de diálogo. The file is renamed with the current backup numbers of the database and of the log file, as shown in the following example: DatabaseName\[BackupNum-LogBackupNum\].journal. Por ejemplo: -- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. The name of the first “segment” of the log file will therefore be MyDatabase\[0004-0001\].journal. +- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal. - If the MyDatabase.4DD database has been saved 3 times and the log file has been saved 5 times since, the name of the 6th backup of the log file will be MyDatabase\[0003-0006\].journal. :::warning diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md index 4645679308f3d1..05b28a5eb1d550 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md @@ -17,11 +17,11 @@ displayed_sidebar: docs ## Descripción -The **SELECT LOG FILE** command creates, or closes the log file according to the value you pass in parameter. +El comando **SELECT LOG FILE** crea o cierra el archivo de historial de acuerdo al valor que pase en el parámetro. -In *logFile*, pass the name or the full pathname of the log file to be created. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file. +En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file. -If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. Otherwise, if the user clicks Cancel or if the log file could not be created, OK is set to 0. +If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0. **Note:** The new log file is not generated immediately after execution of the command, but after the next backup (the parameter is kept in the data file and will be taken into account even if the database is closed in the meantime) or a call to the [New log file](new-log-file.md) command. Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md index a7928fff8b6d0d..80dd73a149d5ca 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md @@ -31,7 +31,7 @@ displayed_sidebar: docs El comando **String** devuelve en forma de cadena alfanumérica la expresión numérica, fecha, hora, cadena o booleana que se pasa en *expression*. -If you do not pass any other parameter, the string is returned with the appropriate default format. Si pasa *format*, puede forzar que la cadena resultante tenga un formato específico. +Si no pasa ningún otro parámetro, la cadena se devuelve con el formato apropiado por defecto. Si pasa *format*, puede forzar que la cadena resultante tenga un formato específico. El parámetro opcional *addTime* añade una hora a una fecha en un formato combinado. Sólo puede utilizarse cuando el parámetro *expression* es una fecha (ver abajo). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/trim.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/trim.md index 5cb9ac27fad57e..44a293403f43d9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/trim.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/trim.md @@ -31,7 +31,7 @@ To return a new string with whitespace trimmed from just one end, use [`Trim sta En el parámetro *aString*, puede pasar cualquier expresión de tipo texto. Será dejado sin tocar por el comando. -El comando devuelve la versión recortada de la cadena *aString*. If there is no whitespace at any end of *aString*, the returned string is identical as the one passed in parameter. +El comando devuelve la versión recortada de la cadena *aString*. Si no hay espacios en blanco en ningún extremo de *aString*, la cadena devuelta es idéntica a la pasada como parámetro. :::note diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/wa-get-context.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/wa-get-context.md index 98329331b077f7..366311d7124bd5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/wa-get-context.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/wa-get-context.md @@ -18,7 +18,7 @@ displayed_sidebar: docs ### Descripción -El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). If `WA SET CONTEXT` was not called for the web area the command returns `null`. +El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). Si `WA SET CONTEXT` no fue llamado para el área web, el comando devuelve `null`. :::note diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/client-server.md b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/client-server.md index b03e5465634991..a2115ea9a211c6 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/client-server.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/client-server.md @@ -92,7 +92,7 @@ En caso de modificación, deberá reiniciar la aplicación para que se tenga en :::note -This option is not available when the [QUIC](#network-layer) network layer is selected. +Esta opción no está disponible cuando se selecciona la capa de red [QUIC](#network-layer). ::: @@ -110,7 +110,7 @@ Cuando esta opción está marcada, todas las máquinas remotas 4D que se conecta :::note -This option is not available when the [QUIC](#network-layer) network layer option is selected. +Esta opción no está disponible cuando se selecciona la opción capa de red [QUIC](#network-layer). ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md index 052d2beaf51c2c..d827ba37fa6121 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md @@ -124,7 +124,7 @@ Define el sistema de autenticación que desea aplicar a su servidor web. Se prop - Contraseñas con protocolo BASIC - Contraseñas con protocolo DIGEST -Se recomienda utilizar la autenticación **personalizada**. See [**Authentication**](../WebServer/authentication.md) section. +Se recomienda utilizar la autenticación **personalizada**. Ver la sección[**autenticación**](../WebServer/authentication.md). #### Generic Web User diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md index 8357f0fdab2d8c..c9fe27abd154c3 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md @@ -27,27 +27,21 @@ Si un utilisateur tente d'exécuter une action et ne dispose pas des droits d'ac Vous pouvez assigner des actions de permission spécifiques aux ressources suivantes dans votre projet : -- le datastore -- une dataclass -- un attribut (y compris calculé et alias) -- une fonction de classe du modèle de données -- une fonction [singleton](../REST/$singleton.md) +- the [datastore](../ORDA/dsMapping.md#datastore) +- the [dataclasses](../ORDA/dsMapping.md#dataclass) +- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1)) +- functions of the [data model classes](../ORDA/ordaClasses.md) +- [singleton](../REST/$singleton.md) functions Chaque fois qu'on accède à une ressource dans une session (quelle que soit la manière dont on y accède), 4D vérifie que la session dispose des autorisations appropriées et rejette l'accès s'il n'est pas autorisé. -Une action de permission définie à un certain niveau est héritée par défaut aux niveaux inférieurs, mais plusieurs niveaux de permissions peuvent être définis : - -- Une action de permission définie au niveau du datastore est automatiquement assignée à toutes les dataclass. L'action de permission *execute* définie au niveau du datastore s'applique à toutes les fonctions du projet, y compris aux fonctions [singleton](../REST/$singleton.md). -- Une action de permission définie au niveau dataclass remplace le paramétrage du datastore (le cas échéant). Par défaut, tous les attributs de la dataclass héritent des permissions de la dataclass. -- Contrairement aux permissions des dataclass, une action de permission définie au niveau de l'attribut ne remplace pas la permission de la dataclass parente, mais y est ajoutée. Par exemple, si vous avez attribué le privilège "général" à une dataclass et le privilège "détail" à un attribut de la dataclass, les deux privilèges, "général" et "détail", doivent être définis dans la session afin d'accéder à l'attribut. +## Permissions -:::info +A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles). -Les permissions contrôlent l'accès aux objets ou fonctions du datastore. Si vous voulez filtrer les données de lecture selon certains critères, vous pouvez envisager d'utiliser les [entity selections restreintes](entities.md#restricting-entity-selections) qui peuvent être plus appropriées dans ce cas. +When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes). -::: - -## Actions de permission +### Actions de permission Les actions disponibles sont liées à la ressource cible. @@ -73,6 +67,65 @@ Les actions disponibles sont liées à la ressource cible. Le paramétrage des permissions nécessite d'être cohérent, en particulier les permissions **update** et **drop** ont également besoin d'une permission **read** (mais **create** n'en a pas besoin). +### Inherited permissions + +Une action de permission définie à un certain niveau est héritée par défaut aux niveaux inférieurs, mais plusieurs niveaux de permissions peuvent être définis : + +- Une action de permission définie au niveau du datastore est automatiquement assignée à toutes les dataclass. L'action de permission *execute* définie au niveau du datastore s'applique à toutes les fonctions du projet, y compris aux fonctions [singleton](../REST/$singleton.md). +- Une action de permission définie au niveau dataclass remplace le paramétrage du datastore (le cas échéant). Par défaut, tous les attributs de la dataclass héritent des permissions de la dataclass. +- Contrairement aux permissions des dataclass, une action de permission définie au niveau de l'attribut ne remplace pas la permission de la dataclass parente, mais y est ajoutée. Par exemple, si vous avez attribué le privilège "général" à une dataclass et le privilège "détail" à un attribut de la dataclass, les deux privilèges, "général" et "détail", doivent être définis dans la session afin d'accéder à l'attribut. + +:::info + +Les permissions contrôlent l'accès aux objets ou fonctions du datastore. Si vous voulez filtrer les données de lecture selon certains critères, vous pouvez envisager d'utiliser les [entity selections restreintes](entities.md#restricting-entity-selections) qui peuvent être plus appropriées dans ce cas. + +::: + +### Attribution de permissions aux fonctions de la classe ORDA + +Lors de la configuration des permissions, les fonctions de classe ORDA sont déclarées dans l'élément `applyTo` en utilisant la syntaxe suivante : + +```json +. +``` + +Par exemple, si vous voulez appliquer une permission à la fonction suivante : + +```4d +// cs.CityEntity class +Class extends Entity + Function getPopulation() : Integer + ... +``` + +... vous devez écrire : + +```json +"applyTo":"City.getPopulation" +``` + +Cela signifie que vous ne pouvez pas utiliser les mêmes noms de fonctions dans les différentes classes ORDA (entité, entity selection, dataclass) si vous souhaitez que des privilèges leur soient attribués. Dans ce cas, vous devez utiliser des noms de fonction distincts. Par exemple, si vous avez créé une fonction "drop" dans les classes `cs.CityEntity` et `cs.CitySelection`, vous devez leur donner des noms différents tels que `dropEntity()` et `dropSelection()`. Vous pouvez ensuite écrire dans le fichier "roles.json" : + +```json + "permissions": { + "allowed": [ + { + "applyTo": "City.dropEntity", + "type": "method", + "promote": [ + "name" + ] + }, + { + "applyTo": "City.dropSelection", + "type": "method", + "promote": [ + "name" + ] + } + ] +``` + ## Privilèges et Rôles Un **privilège** est la capacité technique d'exécuter des **actions** sur des **ressources**, tandis qu'un **rôle** est un privilège public destiné à être utilisé par un administrateur. Fondamentalement, un rôle rassemble plusieurs privilèges pour définir un profil utilisateur métier. Par exemple, "manageInvoices" pourrait être un privilège tandis que "secrétaire" pourrait être un rôle (qui inclut "manageInvoices" et d'autres privilèges). @@ -111,142 +164,106 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T ## `roles.json` -Le fichier `roles.json` décrit l'ensemble des paramètres de sécurité du projet. - -### Fichier par défaut +The `roles.json` file describes the whole web security settings for the project. La syntaxe du fichier `roles.json` est la suivante: + +| Nom de propriété | | | Type | Obligatoire | Description | +| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| privileges | | | Collection d'objets `privilege` | X | Liste de privilèges définis | +| | \[].privilege | | Text | | Nom de privilège | +| | \[].includes | | Collection de chaînes | | Liste de noms de privilèges inclus | +| roles | | | Collection d'objets `role` | | Liste de rôles définis | +| | \[].role | | Text | | Nom de rôle | +| | \[].privileges | | Collection de chaînes | | Liste de noms de privilèges inclus | +| permissions | | | Object | X | Liste d'actions autorisées | +| | allowed | | Collection d'objets `permission` | | Liste de permissions autorisées | +| | | \[].applyTo | Text | X | Nom de [ressource](#resources) cible | +| | | \[].type | Text | X | Type de [ressource](#ressources) : "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" | +| | | \[].read | Collection de chaînes | | Liste de privilèges | +| | | \[].create | Collection de chaînes | | Liste de privilèges | +| | | \[].update | Collection de chaînes | | Liste de privilèges | +| | | \[].drop | Collection de chaînes | | Liste de privilèges | +| | | \[].execute | Collection de chaînes | | Liste de privilèges | +| | | \[].promote | Collection de chaînes | | Liste de privilèges | +| restrictedByDefault | | | Boolean | | If true, access to resources without explicit permissions is denied | +| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) | -Lorsque vous créez un projet, un fichier `roles.json` par défaut est créé à l'emplacement suivant : `/Project/Sources/` (voir la section [Architecture](../Project/architecture.md#sources)). +:::caution Rappel -Le fichier par défaut a le contenu suivant : +- Le nom de privilège "WebAdmin" est réservé à l'application. Il est déconseillé d'utiliser ce nom pour les privilèges personnalisés. +- `privileges` and `roles` names are case-insensitive. -```json title="/Project/Sources/roles.json" +::: -{ - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - - "roles": [], - - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": ["all"], - "create": ["all"], - "update": ["all"], - "drop": ["all"], - "execute": ["all"], - "promote": ["all"] - } - ] - }, - - "forceLogin": true +### Default File Location and Content -} +When a new project is created, a default `roles.json` file is generated at: +``` +/Project/Sources/ ``` -Pour un niveau de sécurité maximal, le privilège "all" est attribué à toutes les autorisations dans le datastore, ce qui signifie que l'accès aux données sur l'ensemble de l'objet `ds` est désactivé par défaut. Le principe est le suivant : attribuer une autorisation, c'est comme mettre un verrou sur une porte. Seules les sessions disposant d'un privilège et de la clé correspondante (c'est-à-dire d'une permission) pourront ouvrir la serrure. -Il est recommandé de ne pas modifier ou utiliser ce privilège de verrouillage, mais d'ajouter des permissions spécifiques à chaque ressource que vous souhaitez rendre disponible à partir de requêtes web ou REST ([voir l'exemple ci-dessous](#example-of-privilege-configuration)). +Voir la section [Architecture](../Project/architecture.md#sources) . -:::caution +Default content: -Si aucun paramètre spécifique n'est défini dans le fichier `roles.json`, les accès ne sont pas limités. Cette configuration vous permet de développer l'application sans avoir à vous soucier des accès, mais est fortement déconseillée dans un environnement de production. +```json title="/Project/Sources/roles.json" -::: +{ + "privileges": [ + ], + "roles": [ + ], + "permissions": { + "allowed": [ + { + "applyTo": "ds", + "type": "datastore", + "read": [], + "create": [], + "update": [], + "drop": [], + "execute": [], + "promote": [] + } + ] + }, + "restrictedByDefault": false, + "forceLogin": false +} +``` :::note Compatibilité Dans les versions précédentes, le fichier `roles.json` n'était pas créé par défaut. Depuis 4D 20 R6, lors de l'ouverture d'un projet existant qui ne contient pas de fichier `roles.json` ou les paramètres `"forceLogin" : true`, le bouton **Activer l'authentification REST via la fonction ds.authentify()** est disponible dans la page [**Fonctionnalités Web** de la boîte de dialogue Paramètres](../settings/web.md#access). Ce bouton met automatiquement à jour vos paramètres de sécurité (vous devrez peut-être modifier votre code, [voir cet article de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)). + ::: :::note Qodly Studio -Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges. +In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel. ::: -### Syntaxe - -La syntaxe du fichier `roles.json` est la suivante: - -| Nom de propriété | | | Type | Obligatoire | Description | -| ---------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| privileges | | | Collection d'objets `privilege` | X | Liste de privilèges définis | -| | \[].privilege | | Text | | Nom de privilège | -| | \[].includes | | Collection de chaînes | | Liste de noms de privilèges inclus | -| roles | | | Collection d'objets `role` | | Liste de rôles définis | -| | \[].role | | Text | | Nom de rôle | -| | \[].privileges | | Collection de chaînes | | Liste de noms de privilèges inclus | -| permissions | | | Object | X | Liste d'actions autorisées | -| | allowed | | Collection d'objets `permission` | | Liste de permissions autorisées | -| | | \[].applyTo | Text | X | Nom de [ressource](#resources) cible | -| | | \[].type | Text | X | Type de [ressource](#ressources) : "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" | -| | | \[].read | Collection de chaînes | | Liste de privilèges | -| | | \[].create | Collection de chaînes | | Liste de privilèges | -| | | \[].update | Collection de chaînes | | Liste de privilèges | -| | | \[].drop | Collection de chaînes | | Liste de privilèges | -| | | \[].execute | Collection de chaînes | | Liste de privilèges | -| | | \[].promote | Collection de chaînes | | Liste de privilèges | -| forceLogin | | | Boolean | | True pour activer le [mode "forceLogin"](../REST/authUsers.md#force-login-mode) | - -:::caution Rappel - -- Le nom de privilège "WebAdmin" est réservé à l'application. Il est déconseillé d'utiliser ce nom pour les privilèges personnalisés. -- Les noms `privileges` et `roles` sont insensibles à la casse. +## Restriction Modes -::: +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): -#### Attribution de permissions aux fonctions de la classe ORDA +- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted. +- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted. -Lors de la configuration des permissions, les fonctions de classe ORDA sont déclarées dans l'élément `applyTo` en utilisant la syntaxe suivante : - -```json -. -``` +:::note Compatibilité -Par exemple, si vous voulez appliquer une permission à la fonction suivante : +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. -```4d -// cs.CityEntity class -Class extends Entity - Function getPopulation() : Integer - ... -``` +::: -... vous devez écrire : +### Recommended Configuration -```json -"applyTo":"City.getPopulation" -``` +Depending on your environment, the recommended settings are: -Cela signifie que vous ne pouvez pas utiliser les mêmes noms de fonctions dans les différentes classes ORDA (entité, entity selection, dataclass) si vous souhaitez que des privilèges leur soient attribués. Dans ce cas, vous devez utiliser des noms de fonction distincts. Par exemple, si vous avez créé une fonction "drop" dans les classes `cs.CityEntity` et `cs.CitySelection`, vous devez leur donner des noms différents tels que `dropEntity()` et `dropSelection()`. Vous pouvez ensuite écrire dans le fichier "roles.json" : - -```json - "permissions": { - "allowed": [ - { - "applyTo": "City.dropEntity", - "type": "method", - "promote": [ - "name" - ] - }, - { - "applyTo": "City.dropSelection", - "type": "method", - "promote": [ - "name" - ] - } - ] -``` +- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access. +- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions. ### `Roles_Errors.json` @@ -267,93 +284,28 @@ End if ## Exemple de configuration de privilèges -La bonne pratique est de garder tous les accès aux données verrouillés par défaut grâce au privilège "all" et de configurer le fichier `roles.json` pour n'ouvrir les parties contrôlées qu'aux sessions autorisées. Par exemple, pour autoriser certains accès aux sessions "guest" : - ```json title="/Project/Sources/roles.json" { - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - "roles": [], - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": [ - "all" - ], - "create": [ - "all" - ], - "update": [ - "all" - ], - "drop": [ - "all" - ], - "execute": [ - "all" - ], - "promote": [ - "all" - ] - }, - { - "applyTo": "ds.loginAs", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.hasPrivilege", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.clearPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.isGuest", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.getPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.setAllPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "mySingletonClass.createID", - "type": "singletonMethod", - "execute": [ - "guest" - ] - } - ] - }, - "forceLogin": true + "forceLogin": true, + "restrictedByDefault": true, + "permissions": { + "allowed": [ + { + "applyTo": "People", + "type": "dataclass", + "read": [ + "viewPeople" + ] + } + ] + }, + "privileges": [ + { + "privilege": "viewPeople", + "includes": [] + } + ], + "roles": [] } ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/configuration.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/configuration.md index e287a8275b6b29..82420294acf7b9 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/configuration.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/configuration.md @@ -70,9 +70,9 @@ Pour supprimer l'exposition REST d'un champ : 1. Affichez l'Inspecteur de champ dans l'Editeur de structure et sélectionnez le champ à modifier. -2. Décochez la case **Exposer en tant que ressource REST** pour le champ. - ![alt-text](../assets/en/REST/field.png) - Répétez cette opération pour chaque champ dont l'exposition doit être modifiée. +2. Uncheck the **Expose as REST resource** for the field.
    + ![alt-text](../assets/en/REST/field.png)
    + Repeat this for each field whose exposure needs to be modified. > Pour qu'un champ soit accessible via REST, la table parente doit l'être également. Si la table parente n'est pas exposée, aucun de ses champs ne le sera, quel que soit leur statut. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md index b65b3976b2ba52..75bc8ba7bb479c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -11,6 +11,14 @@ Lisez [**Les nouveautés de 4D 20**](https://blog.4d.com/fr-whats-new-in-4d-v20/ ::: +## 4D 20.8 LTS + +#### Points forts + +- [**Fixed bugs list**](https://bugs.4d.com/fixes?version=20.8): list of all bugs that have been fixed in 4D 20.8 LTS. + + + ## 4D 20.7 LTS #### Points forts diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md index f9cd498f3e85e2..8c81601b612bfb 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md @@ -16,6 +16,7 @@ Lisez [**Les nouveautés de 4D 21**](https://blog.4d.com/fe-whats-new-in-4d-v21/ - possibilité de définir des [gestionnaires de requêtes HTTP](../WebServer/http-request-handler.md) en utilisant une propriété `handlers` dans le paramètre *settings* de la fonction [`start()`](../API/WebServerClass.md#start) du serveur Web, - l'objet serveur Web contient de nouvelles propriétés [`rules`](../API/WebServerClass.md#rules) et [`handlers`](../API/WebServerClass.md#handlers). - Nouveaux [événements ORDA sur les données](../ORDA/orda-events.md) : validateSave, saving, afterSave, validateDrop, dropping, afterDrop. +- Support of the new [`restrictedByDefault` property](../ORDA/privileges.md#restriction-modes) in the `roles.json` file to block access by default to all resources without explicit permission. - Nouvelle option permettant d'utiliser les certificats du Windows Certificate Store au lieu d'un dossier de certificats locaux dans les classes [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) et [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew). - Client/serveur : - Vous pouvez afficher des pages Qodly dans des zones Web et [partager la session du client distant](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md index 8357f0fdab2d8c..c9fe27abd154c3 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md @@ -27,27 +27,21 @@ Si un utilisateur tente d'exécuter une action et ne dispose pas des droits d'ac Vous pouvez assigner des actions de permission spécifiques aux ressources suivantes dans votre projet : -- le datastore -- une dataclass -- un attribut (y compris calculé et alias) -- une fonction de classe du modèle de données -- une fonction [singleton](../REST/$singleton.md) +- the [datastore](../ORDA/dsMapping.md#datastore) +- the [dataclasses](../ORDA/dsMapping.md#dataclass) +- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1)) +- functions of the [data model classes](../ORDA/ordaClasses.md) +- [singleton](../REST/$singleton.md) functions Chaque fois qu'on accède à une ressource dans une session (quelle que soit la manière dont on y accède), 4D vérifie que la session dispose des autorisations appropriées et rejette l'accès s'il n'est pas autorisé. -Une action de permission définie à un certain niveau est héritée par défaut aux niveaux inférieurs, mais plusieurs niveaux de permissions peuvent être définis : - -- Une action de permission définie au niveau du datastore est automatiquement assignée à toutes les dataclass. L'action de permission *execute* définie au niveau du datastore s'applique à toutes les fonctions du projet, y compris aux fonctions [singleton](../REST/$singleton.md). -- Une action de permission définie au niveau dataclass remplace le paramétrage du datastore (le cas échéant). Par défaut, tous les attributs de la dataclass héritent des permissions de la dataclass. -- Contrairement aux permissions des dataclass, une action de permission définie au niveau de l'attribut ne remplace pas la permission de la dataclass parente, mais y est ajoutée. Par exemple, si vous avez attribué le privilège "général" à une dataclass et le privilège "détail" à un attribut de la dataclass, les deux privilèges, "général" et "détail", doivent être définis dans la session afin d'accéder à l'attribut. +## Permissions -:::info +A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles). -Les permissions contrôlent l'accès aux objets ou fonctions du datastore. Si vous voulez filtrer les données de lecture selon certains critères, vous pouvez envisager d'utiliser les [entity selections restreintes](entities.md#restricting-entity-selections) qui peuvent être plus appropriées dans ce cas. +When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes). -::: - -## Actions de permission +### Actions de permission Les actions disponibles sont liées à la ressource cible. @@ -73,6 +67,65 @@ Les actions disponibles sont liées à la ressource cible. Le paramétrage des permissions nécessite d'être cohérent, en particulier les permissions **update** et **drop** ont également besoin d'une permission **read** (mais **create** n'en a pas besoin). +### Inherited permissions + +Une action de permission définie à un certain niveau est héritée par défaut aux niveaux inférieurs, mais plusieurs niveaux de permissions peuvent être définis : + +- Une action de permission définie au niveau du datastore est automatiquement assignée à toutes les dataclass. L'action de permission *execute* définie au niveau du datastore s'applique à toutes les fonctions du projet, y compris aux fonctions [singleton](../REST/$singleton.md). +- Une action de permission définie au niveau dataclass remplace le paramétrage du datastore (le cas échéant). Par défaut, tous les attributs de la dataclass héritent des permissions de la dataclass. +- Contrairement aux permissions des dataclass, une action de permission définie au niveau de l'attribut ne remplace pas la permission de la dataclass parente, mais y est ajoutée. Par exemple, si vous avez attribué le privilège "général" à une dataclass et le privilège "détail" à un attribut de la dataclass, les deux privilèges, "général" et "détail", doivent être définis dans la session afin d'accéder à l'attribut. + +:::info + +Les permissions contrôlent l'accès aux objets ou fonctions du datastore. Si vous voulez filtrer les données de lecture selon certains critères, vous pouvez envisager d'utiliser les [entity selections restreintes](entities.md#restricting-entity-selections) qui peuvent être plus appropriées dans ce cas. + +::: + +### Attribution de permissions aux fonctions de la classe ORDA + +Lors de la configuration des permissions, les fonctions de classe ORDA sont déclarées dans l'élément `applyTo` en utilisant la syntaxe suivante : + +```json +. +``` + +Par exemple, si vous voulez appliquer une permission à la fonction suivante : + +```4d +// cs.CityEntity class +Class extends Entity + Function getPopulation() : Integer + ... +``` + +... vous devez écrire : + +```json +"applyTo":"City.getPopulation" +``` + +Cela signifie que vous ne pouvez pas utiliser les mêmes noms de fonctions dans les différentes classes ORDA (entité, entity selection, dataclass) si vous souhaitez que des privilèges leur soient attribués. Dans ce cas, vous devez utiliser des noms de fonction distincts. Par exemple, si vous avez créé une fonction "drop" dans les classes `cs.CityEntity` et `cs.CitySelection`, vous devez leur donner des noms différents tels que `dropEntity()` et `dropSelection()`. Vous pouvez ensuite écrire dans le fichier "roles.json" : + +```json + "permissions": { + "allowed": [ + { + "applyTo": "City.dropEntity", + "type": "method", + "promote": [ + "name" + ] + }, + { + "applyTo": "City.dropSelection", + "type": "method", + "promote": [ + "name" + ] + } + ] +``` + ## Privilèges et Rôles Un **privilège** est la capacité technique d'exécuter des **actions** sur des **ressources**, tandis qu'un **rôle** est un privilège public destiné à être utilisé par un administrateur. Fondamentalement, un rôle rassemble plusieurs privilèges pour définir un profil utilisateur métier. Par exemple, "manageInvoices" pourrait être un privilège tandis que "secrétaire" pourrait être un rôle (qui inclut "manageInvoices" et d'autres privilèges). @@ -111,142 +164,106 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T ## `roles.json` -Le fichier `roles.json` décrit l'ensemble des paramètres de sécurité du projet. - -### Fichier par défaut +The `roles.json` file describes the whole web security settings for the project. La syntaxe du fichier `roles.json` est la suivante: + +| Nom de propriété | | | Type | Obligatoire | Description | +| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| privileges | | | Collection d'objets `privilege` | X | Liste de privilèges définis | +| | \[].privilege | | Text | | Nom de privilège | +| | \[].includes | | Collection de chaînes | | Liste de noms de privilèges inclus | +| roles | | | Collection d'objets `role` | | Liste de rôles définis | +| | \[].role | | Text | | Nom de rôle | +| | \[].privileges | | Collection de chaînes | | Liste de noms de privilèges inclus | +| permissions | | | Object | X | Liste d'actions autorisées | +| | allowed | | Collection d'objets `permission` | | Liste de permissions autorisées | +| | | \[].applyTo | Text | X | Nom de [ressource](#resources) cible | +| | | \[].type | Text | X | Type de [ressource](#ressources) : "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" | +| | | \[].read | Collection de chaînes | | Liste de privilèges | +| | | \[].create | Collection de chaînes | | Liste de privilèges | +| | | \[].update | Collection de chaînes | | Liste de privilèges | +| | | \[].drop | Collection de chaînes | | Liste de privilèges | +| | | \[].execute | Collection de chaînes | | Liste de privilèges | +| | | \[].promote | Collection de chaînes | | Liste de privilèges | +| restrictedByDefault | | | Boolean | | If true, access to resources without explicit permissions is denied | +| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) | -Lorsque vous créez un projet, un fichier `roles.json` par défaut est créé à l'emplacement suivant : `/Project/Sources/` (voir la section [Architecture](../Project/architecture.md#sources)). +:::caution Rappel -Le fichier par défaut a le contenu suivant : +- Le nom de privilège "WebAdmin" est réservé à l'application. Il est déconseillé d'utiliser ce nom pour les privilèges personnalisés. +- `privileges` and `roles` names are case-insensitive. -```json title="/Project/Sources/roles.json" +::: -{ - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - - "roles": [], - - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": ["all"], - "create": ["all"], - "update": ["all"], - "drop": ["all"], - "execute": ["all"], - "promote": ["all"] - } - ] - }, - - "forceLogin": true +### Default File Location and Content -} +When a new project is created, a default `roles.json` file is generated at: +``` +/Project/Sources/ ``` -Pour un niveau de sécurité maximal, le privilège "all" est attribué à toutes les autorisations dans le datastore, ce qui signifie que l'accès aux données sur l'ensemble de l'objet `ds` est désactivé par défaut. Le principe est le suivant : attribuer une autorisation, c'est comme mettre un verrou sur une porte. Seules les sessions disposant d'un privilège et de la clé correspondante (c'est-à-dire d'une permission) pourront ouvrir la serrure. -Il est recommandé de ne pas modifier ou utiliser ce privilège de verrouillage, mais d'ajouter des permissions spécifiques à chaque ressource que vous souhaitez rendre disponible à partir de requêtes web ou REST ([voir l'exemple ci-dessous](#example-of-privilege-configuration)). +Voir la section [Architecture](../Project/architecture.md#sources) . -:::caution +Default content: -Si aucun paramètre spécifique n'est défini dans le fichier `roles.json`, les accès ne sont pas limités. Cette configuration vous permet de développer l'application sans avoir à vous soucier des accès, mais est fortement déconseillée dans un environnement de production. +```json title="/Project/Sources/roles.json" -::: +{ + "privileges": [ + ], + "roles": [ + ], + "permissions": { + "allowed": [ + { + "applyTo": "ds", + "type": "datastore", + "read": [], + "create": [], + "update": [], + "drop": [], + "execute": [], + "promote": [] + } + ] + }, + "restrictedByDefault": false, + "forceLogin": false +} +``` :::note Compatibilité Dans les versions précédentes, le fichier `roles.json` n'était pas créé par défaut. Depuis 4D 20 R6, lors de l'ouverture d'un projet existant qui ne contient pas de fichier `roles.json` ou les paramètres `"forceLogin" : true`, le bouton **Activer l'authentification REST via la fonction ds.authentify()** est disponible dans la page [**Fonctionnalités Web** de la boîte de dialogue Paramètres](../settings/web.md#access). Ce bouton met automatiquement à jour vos paramètres de sécurité (vous devrez peut-être modifier votre code, [voir cet article de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)). + ::: :::note Qodly Studio -Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges. +In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel. ::: -### Syntaxe - -La syntaxe du fichier `roles.json` est la suivante: - -| Nom de propriété | | | Type | Obligatoire | Description | -| ---------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| privileges | | | Collection d'objets `privilege` | X | Liste de privilèges définis | -| | \[].privilege | | Text | | Nom de privilège | -| | \[].includes | | Collection de chaînes | | Liste de noms de privilèges inclus | -| roles | | | Collection d'objets `role` | | Liste de rôles définis | -| | \[].role | | Text | | Nom de rôle | -| | \[].privileges | | Collection de chaînes | | Liste de noms de privilèges inclus | -| permissions | | | Object | X | Liste d'actions autorisées | -| | allowed | | Collection d'objets `permission` | | Liste de permissions autorisées | -| | | \[].applyTo | Text | X | Nom de [ressource](#resources) cible | -| | | \[].type | Text | X | Type de [ressource](#ressources) : "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" | -| | | \[].read | Collection de chaînes | | Liste de privilèges | -| | | \[].create | Collection de chaînes | | Liste de privilèges | -| | | \[].update | Collection de chaînes | | Liste de privilèges | -| | | \[].drop | Collection de chaînes | | Liste de privilèges | -| | | \[].execute | Collection de chaînes | | Liste de privilèges | -| | | \[].promote | Collection de chaînes | | Liste de privilèges | -| forceLogin | | | Boolean | | True pour activer le [mode "forceLogin"](../REST/authUsers.md#force-login-mode) | - -:::caution Rappel - -- Le nom de privilège "WebAdmin" est réservé à l'application. Il est déconseillé d'utiliser ce nom pour les privilèges personnalisés. -- Les noms `privileges` et `roles` sont insensibles à la casse. +## Restriction Modes -::: +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): -#### Attribution de permissions aux fonctions de la classe ORDA +- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted. +- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted. -Lors de la configuration des permissions, les fonctions de classe ORDA sont déclarées dans l'élément `applyTo` en utilisant la syntaxe suivante : - -```json -. -``` +:::note Compatibilité -Par exemple, si vous voulez appliquer une permission à la fonction suivante : +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. -```4d -// cs.CityEntity class -Class extends Entity - Function getPopulation() : Integer - ... -``` +::: -... vous devez écrire : +### Recommended Configuration -```json -"applyTo":"City.getPopulation" -``` +Depending on your environment, the recommended settings are: -Cela signifie que vous ne pouvez pas utiliser les mêmes noms de fonctions dans les différentes classes ORDA (entité, entity selection, dataclass) si vous souhaitez que des privilèges leur soient attribués. Dans ce cas, vous devez utiliser des noms de fonction distincts. Par exemple, si vous avez créé une fonction "drop" dans les classes `cs.CityEntity` et `cs.CitySelection`, vous devez leur donner des noms différents tels que `dropEntity()` et `dropSelection()`. Vous pouvez ensuite écrire dans le fichier "roles.json" : - -```json - "permissions": { - "allowed": [ - { - "applyTo": "City.dropEntity", - "type": "method", - "promote": [ - "name" - ] - }, - { - "applyTo": "City.dropSelection", - "type": "method", - "promote": [ - "name" - ] - } - ] -``` +- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access. +- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions. ### `Roles_Errors.json` @@ -267,93 +284,28 @@ End if ## Exemple de configuration de privilèges -La bonne pratique est de garder tous les accès aux données verrouillés par défaut grâce au privilège "all" et de configurer le fichier `roles.json` pour n'ouvrir les parties contrôlées qu'aux sessions autorisées. Par exemple, pour autoriser certains accès aux sessions "guest" : - ```json title="/Project/Sources/roles.json" { - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - "roles": [], - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": [ - "all" - ], - "create": [ - "all" - ], - "update": [ - "all" - ], - "drop": [ - "all" - ], - "execute": [ - "all" - ], - "promote": [ - "all" - ] - }, - { - "applyTo": "ds.loginAs", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.hasPrivilege", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.clearPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.isGuest", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.getPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.setAllPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "mySingletonClass.createID", - "type": "singletonMethod", - "execute": [ - "guest" - ] - } - ] - }, - "forceLogin": true + "forceLogin": true, + "restrictedByDefault": true, + "permissions": { + "allowed": [ + { + "applyTo": "People", + "type": "dataclass", + "read": [ + "viewPeople" + ] + } + ] + }, + "privileges": [ + { + "privilege": "viewPeople", + "includes": [] + } + ], + "roles": [] } ``` diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/SystemWorkerClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/SystemWorkerClass.md index 89c889f5096c76..ae195a59ea79d4 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/SystemWorkerClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/SystemWorkerClass.md @@ -161,7 +161,7 @@ var $sw : 4D.SystemWorker $sw:=4D.SystemWorker.new($mydoc) ``` -4. カレントディレクトリでコマンドを実行し、メッセージそ送信します: +4. カレントディレクトリでコマンドを実行し、メッセージを送信します: ```4d var $param : Object diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md index 7c132e1778a823..cd4fbfc0254764 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md @@ -27,27 +27,21 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ プロジェクト内の以下のリソースに対して、許諾アクションと権限名を割り当てることができます (この設定をパーミッションと呼びます): -- データストア -- データクラス -- 属性 (計算属性およびエイリアス属性を含む) -- データモデルクラス関数 -- [シングルトン](../REST/$singleton.md)関数 +- the [datastore](../ORDA/dsMapping.md#datastore) +- the [dataclasses](../ORDA/dsMapping.md#dataclass) +- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1)) +- functions of the [data model classes](../ORDA/ordaClasses.md) +- [singleton](../REST/$singleton.md) functions セッションがリソースにアクセスするたびに (アクセス形式に関係なく)、4D はセッションの権限を確認し、許可されていない場合にはアクセスを拒否します。 -あるレベルにおいて定義されたパーミッションは基本的に下位レベルに継承されますが、パーミッションは複数のレベルで設定することもできます: - -- データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義された*execute* 権限アクションは、[シングルトン](../REST/$singleton.md) 関数を含めてプロジェクトの全ての関数に対して適用されます。 -- データクラスレベルで定義されたパーミッションは、データストアの設定をオーバーライドします (あれば)。 デフォルトでは、データクラスのすべての属性が、データクラスのパーミッションを継承します。 -- データクラスとは異なり、属性レベルで定義されたパーミッションは、親のデータクラスの設定をオーバーライドするのではなく、それに追加されます。 たとえば、同じ許諾アクションに対し、データクラスのレベルでは "general" という権限名を、データクラスの属性のレベルでは "detail" という権限名を割り当てた場合、その属性にアクセスするには、セッションに "general" と "detail" の両方の権限が設定されている必要があります。 +## 権限 -:::info +A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles). -パーミッションは、データストアオブジェクトや関数へのアクセスを制御します。 特定の条件に基づいて読み取りデータをフィルタリングしたい場合は、[制限付エンティティセレクション](entities.md#制限付エンティティセレクション) の利用がより適切かもしれません。 +When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes). -::: - -## 許諾アクション +### 許諾アクション 利用可能なアクションは対象となるリソースによります。 @@ -73,6 +67,65 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ 権限の設定には一貫性が必要です。特に、**update** および **drop** 権限は**read** 権限も必要とします(ただし**create** はそれを必要としません)。 +### Inherited permissions + +あるレベルにおいて定義されたパーミッションは基本的に下位レベルに継承されますが、パーミッションは複数のレベルで設定することもできます: + +- データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義された*execute* 権限アクションは、[シングルトン](../REST/$singleton.md) 関数を含めてプロジェクトの全ての関数に対して適用されます。 +- データクラスレベルで定義されたパーミッションは、データストアの設定をオーバーライドします (あれば)。 デフォルトでは、データクラスのすべての属性が、データクラスのパーミッションを継承します。 +- データクラスとは異なり、属性レベルで定義されたパーミッションは、親のデータクラスの設定をオーバーライドするのではなく、それに追加されます。 たとえば、同じ許諾アクションに対し、データクラスのレベルでは "general" という権限名を、データクラスの属性のレベルでは "detail" という権限名を割り当てた場合、その属性にアクセスするには、セッションに "general" と "detail" の両方の権限が設定されている必要があります。 + +:::info + +パーミッションは、データストアオブジェクトや関数へのアクセスを制御します。 特定の条件に基づいて読み取りデータをフィルタリングしたい場合は、[制限付エンティティセレクション](entities.md#制限付エンティティセレクション) の利用がより適切かもしれません。 + +::: + +### ORDA クラス関数の権限の設定 + +When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax: + +```json +. +``` + +For example, if you want to apply a permission to the following function: + +```4d +// cs.CityEntity class +Class extends Entity + Function getPopulation() : Integer + ... +``` + +... 以下のように記述します: + +```json +"applyTo":"City.getPopulation" +``` + +It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. You can then write in the "roles.json" file: + +```json + "permissions": { + "allowed": [ + { + "applyTo": "City.dropEntity", + "type": "method", + "promote": [ + "name" + ] + }, + { + "applyTo": "City.dropSelection", + "type": "method", + "promote": [ + "name" + ] + } + ] +``` + ## 権限とロール **権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 @@ -112,142 +165,106 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T ## `roles.json` ファイル -`roles.json` ファイルは、プロジェクトのセキュリティ設定の全体を記述します。 - -### デフォルトファイル +The `roles.json` file describes the whole web security settings for the project. `roles.json` ファイルの構文は次のとおりです: + +| プロパティ名 | | | 型 | 必須 | 説明 | +| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------- | -- | ------------------------------------------------------------------------------------------------------------------ | +| privileges | | | `privilege` オブジェクトの Collection | X | 定義された権限のリスト | +| | \[].privilege | | Text | | アクセス権の名称 | +| | \[].includes | | String の Collection | | 内包する権限名のリスト | +| roles | | | `role` オブジェクトの Collection | | 定義されたロールのリスト | +| | \[].role | | Text | | ロール名 | +| | \[].privileges | | String の Collection | | 内包する権限名のリスト | +| permissions | | | Object | X | 設定されたパーミッションのリスト | +| | allowed | | `permission` オブジェクトの Collection | | 許可されたパーミッションのリスト | +| | | \[].applyTo | Text | X | 対象の [リソース](#リソース) 名 | +| | | \[].type | Text | X | [リソース](#リソース) タイプ: "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" | +| | | \[].read | String の Collection | | 権限名のリスト | +| | | \[].create | String の Collection | | 権限名のリスト | +| | | \[].update | String の Collection | | 権限名のリスト | +| | | \[].drop | String の Collection | | 権限名のリスト | +| | | \[].execute | String の Collection | | 権限名のリスト | +| | | \[].promote | String の Collection | | 権限名のリスト | +| restrictedByDefault | | | Boolean | | If true, access to resources without explicit permissions is denied | +| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) | -プロジェクトを作成すると、デフォルトの `roles.json` ファイルが次の場所に作成されます: `/Project/Sources/` ([アーキテクチャー](../Project/architecture.md#sources) 参照)。 +:::caution 注記 -デフォルトのファイルには次の内容が含まれています: +- "WebAdmin" 権限名は、アプリケーションによって予約されています。 この名前をカスタムの権限名に使用することは推奨されません。 +- `privileges` and `roles` names are case-insensitive. -```json title="/Project/Sources/roles.json" +::: -{ - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - - "roles": [], - - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": ["all"], - "create": ["all"], - "update": ["all"], - "drop": ["all"], - "execute": ["all"], - "promote": ["all"] - } - ] - }, - - "forceLogin": true +### Default File Location and Content -} +When a new project is created, a default `roles.json` file is generated at: +``` +/Project/Sources/ ``` -For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock. -この "none" 権限はセキュリティのため、使用も変更もしないことが推奨されています。Web や RESTリクエストから利用可能にしたい各リソースには、それ専用の権限を新たに追加することが推奨されています ([以下の例を参照](#権限設定の例))。 +[アーキテクチャー](../Project/architecture.md#sources) を参照ください。 -:::caution +Default content: -`roles.json` ファイルに特定のパラメーターが定義されていない場合、アクセスは制限されません。 これにより、アクセスを気にすることなくアプリケーションを開発することができますが、本番環境では推奨されていません。 +```json title="/Project/Sources/roles.json" -::: +{ + "privileges": [ + ], + "roles": [ + ], + "permissions": { + "allowed": [ + { + "applyTo": "ds", + "type": "datastore", + "read": [], + "create": [], + "update": [], + "drop": [], + "execute": [], + "promote": [] + } + ] + }, + "restrictedByDefault": false, + "forceLogin": false +} +``` :::note 互換性 以前のリリースでは、`roles.json` ファイルはデフォルトで作成されませんでした。 4D 20 R6 以降、`roles.json`ファイルを含まない、または `"forceLogin": true` の設定が含まれていない既存のプロジェクトを開く場合、[設定ダイアログボックスの **Web機能** ページ](../settings/web.md#アクセス権) で **ds.authentify() 関数を通しての REST認証を有効化** ボタンが利用可能になります。 このボタンはセキュリティ設定を自動的にアップグレードします (コードを修正する必要があるかもしれません。[このブログ記事を参照ください](https://blog.4d.com/ja/force-login-becomes-default-for-all-rest-auth))。 + ::: :::note Qodly Studio -Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。 +In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel. ::: -### シンタックス - -`roles.json` ファイルの構文は次のとおりです: - -| プロパティ名 | | | 型 | 必須 | 説明 | -| ----------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------- | -- | ------------------------------------------------------------------------------------------------------------------ | -| privileges | | | `privilege` オブジェクトの Collection | X | 定義された権限のリスト | -| | \[].privilege | | Text | | アクセス権の名称 | -| | \[].includes | | String の Collection | | 内包する権限名のリスト | -| roles | | | `role` オブジェクトの Collection | | 定義されたロールのリスト | -| | \[].role | | Text | | ロール名 | -| | \[].privileges | | String の Collection | | 内包する権限名のリスト | -| permissions | | | Object | X | 設定されたパーミッションのリスト | -| | allowed | | `permission` オブジェクトの Collection | | 許可されたパーミッションのリスト | -| | | \[].applyTo | Text | X | 対象の [リソース](#リソース) 名 | -| | | \[].type | Text | X | [リソース](#リソース) タイプ: "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" | -| | | \[].read | String の Collection | | 権限名のリスト | -| | | \[].create | String の Collection | | 権限名のリスト | -| | | \[].update | String の Collection | | 権限名のリスト | -| | | \[].drop | String の Collection | | 権限名のリスト | -| | | \[].execute | String の Collection | | 権限名のリスト | -| | | \[].promote | String の Collection | | 権限名のリスト | -| forceLogin | | | Boolean | | ["forceLogin" モード](../REST/authUsers.md#force-login-mode) を有効にする場合は true | - -:::caution 注記 - -- "WebAdmin" 権限名は、アプリケーションによって予約されています。 この名前をカスタムの権限名に使用することは推奨されません。 -- `privileges` および `roles` の名称においては文字の大小が区別されます。 +## Restriction Modes -::: +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): -#### Assigning permissions to ORDA class functions +- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted. +- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted. -When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax: - -```json -. -``` +:::note 互換性 -For example, if you want to apply a permission to the following function: +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. -```4d -// cs.CityEntity class -Class extends Entity - Function getPopulation() : Integer - ... -``` +::: -... you have to write: +### Recommended Configuration -```json -"applyTo":"City.getPopulation" -``` +Depending on your environment, the recommended settings are: -It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. You can then write in the "roles.json" file: - -```json - "permissions": { - "allowed": [ - { - "applyTo": "City.dropEntity", - "type": "method", - "promote": [ - "name" - ] - }, - { - "applyTo": "City.dropSelection", - "type": "method", - "promote": [ - "name" - ] - } - ] -``` +- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access. +- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions. ### `Roles_Errors.json` ファイル @@ -269,93 +286,28 @@ End if ## 権限設定の例 -The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions: - ```json title="/Project/Sources/roles.json" { - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - "roles": [], - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": [ - "all" - ], - "create": [ - "all" - ], - "update": [ - "all" - ], - "drop": [ - "all" - ], - "execute": [ - "all" - ], - "promote": [ - "all" - ] - }, - { - "applyTo": "ds.loginAs", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.hasPrivilege", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.clearPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.isGuest", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.getPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.setAllPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "mySingletonClass.createID", - "type": "singletonMethod", - "execute": [ - "guest" - ] - } - ] - }, - "forceLogin": true + "forceLogin": true, + "restrictedByDefault": true, + "permissions": { + "allowed": [ + { + "applyTo": "People", + "type": "dataclass", + "read": [ + "viewPeople" + ] + } + ] + }, + "privileges": [ + { + "privilege": "viewPeople", + "includes": [] + } + ], + "roles": [] } ``` diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/REST/configuration.md b/i18n/ja/docusaurus-plugin-content-docs/current/REST/configuration.md index 94a70d353e9499..f1ee2368682fda 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/REST/configuration.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/REST/configuration.md @@ -70,8 +70,8 @@ REST 経由でアクセス可能なデータストアオブジェクトを制限 1. ストラクチャーエディターにて対象となるフィールドを選択し、右クリックでコンテキストメニューを開いてフィールドプロパティを選択します。 -2. フィールドの **RESTリソースとして公開** オプションの選択を解除します: - ![alt-text](../assets/en/REST/field.png) +2. Uncheck the **Expose as REST resource** for the field.
    + ![alt-text](../assets/en/REST/field.png)
    Repeat this for each field whose exposure needs to be modified. > あるフィールドが REST を通してアクセス可能であるためには、その親テーブルも公開されている必要があります。 親テーブルが公開されていない場合、各フィールドの公開設定に関わらず、すべてのフィールドがアクセス不可になります。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/SystemWorkerClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/SystemWorkerClass.md index 89c889f5096c76..ae195a59ea79d4 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/SystemWorkerClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/SystemWorkerClass.md @@ -161,7 +161,7 @@ var $sw : 4D.SystemWorker $sw:=4D.SystemWorker.new($mydoc) ``` -4. カレントディレクトリでコマンドを実行し、メッセージそ送信します: +4. カレントディレクトリでコマンドを実行し、メッセージを送信します: ```4d var $param : Object diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md index 4a1dcab564b42c..8e1688c5125199 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md @@ -201,7 +201,7 @@ Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプシ ::: -#### Assigning permissions to ORDA class functions +#### ORDA クラス関数の権限の設定 When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax: @@ -218,7 +218,7 @@ Class extends Entity ... ``` -... you have to write: +... 以下のように記述します: ```json "applyTo":"City.getPopulation" diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 3b62e29954c52f..b218f9699528f3 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -11,6 +11,14 @@ title: リリースノート ::: +## 4D 20.8 LTS + +#### ハイライト + +- [**修正リスト**](https://bugs.4d.com/fixes?version=20.8): 4D 20.8 LTS で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2024/276/release-note-version-20/))。 + + + ## 4D 20.7 LTS #### ハイライト diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/SystemWorkerClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/SystemWorkerClass.md index 89c889f5096c76..ae195a59ea79d4 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/SystemWorkerClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/SystemWorkerClass.md @@ -161,7 +161,7 @@ var $sw : 4D.SystemWorker $sw:=4D.SystemWorker.new($mydoc) ``` -4. カレントディレクトリでコマンドを実行し、メッセージそ送信します: +4. カレントディレクトリでコマンドを実行し、メッセージを送信します: ```4d var $param : Object diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md index e0b65d5524830a..7bdb8b1d9fa45c 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md @@ -16,6 +16,7 @@ title: リリースノート - Web サーバーの[`start()`](../API/WebServerClass.md#start) 関数の*settings* 引数内の`handlers` プロパティを使用することで、[HTTP リクエストハンドラー](../WebServer/http-request-handler.md) を設定することができます。 - Web サーバーオブジェクトには新しい[`rules`](../API/WebServerClass.md#rules) and [`handlers`](../API/WebServerClass.md#handlers) プロパティが含まれます。 - 新しい[データに対するORDA イベント](../ORDA/orda-events.md): validateSave、saving、afterSave、validateDrop、dropping、afterDrop +- Support of the new [`restrictedByDefault` property](../ORDA/privileges.md#restriction-modes) in the `roles.json` file to block access by default to all resources without explicit permission. - [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) および [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew) クラスにおいて、ローカルの証明書フォルダの代わりにWindows 証明書ストアからの証明書を使用することを許可する新しいオプション。 - クライアント/サーバー: - Web エリア内でQodly ページを表示し、[リモートクライアントセッションを共有](../Desktop/clientServer.md#web-エリア内のqodly-ページでセッションを共有する)することができるようになりました。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md index 7c132e1778a823..cd4fbfc0254764 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md @@ -27,27 +27,21 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ プロジェクト内の以下のリソースに対して、許諾アクションと権限名を割り当てることができます (この設定をパーミッションと呼びます): -- データストア -- データクラス -- 属性 (計算属性およびエイリアス属性を含む) -- データモデルクラス関数 -- [シングルトン](../REST/$singleton.md)関数 +- the [datastore](../ORDA/dsMapping.md#datastore) +- the [dataclasses](../ORDA/dsMapping.md#dataclass) +- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1)) +- functions of the [data model classes](../ORDA/ordaClasses.md) +- [singleton](../REST/$singleton.md) functions セッションがリソースにアクセスするたびに (アクセス形式に関係なく)、4D はセッションの権限を確認し、許可されていない場合にはアクセスを拒否します。 -あるレベルにおいて定義されたパーミッションは基本的に下位レベルに継承されますが、パーミッションは複数のレベルで設定することもできます: - -- データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義された*execute* 権限アクションは、[シングルトン](../REST/$singleton.md) 関数を含めてプロジェクトの全ての関数に対して適用されます。 -- データクラスレベルで定義されたパーミッションは、データストアの設定をオーバーライドします (あれば)。 デフォルトでは、データクラスのすべての属性が、データクラスのパーミッションを継承します。 -- データクラスとは異なり、属性レベルで定義されたパーミッションは、親のデータクラスの設定をオーバーライドするのではなく、それに追加されます。 たとえば、同じ許諾アクションに対し、データクラスのレベルでは "general" という権限名を、データクラスの属性のレベルでは "detail" という権限名を割り当てた場合、その属性にアクセスするには、セッションに "general" と "detail" の両方の権限が設定されている必要があります。 +## 権限 -:::info +A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles). -パーミッションは、データストアオブジェクトや関数へのアクセスを制御します。 特定の条件に基づいて読み取りデータをフィルタリングしたい場合は、[制限付エンティティセレクション](entities.md#制限付エンティティセレクション) の利用がより適切かもしれません。 +When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes). -::: - -## 許諾アクション +### 許諾アクション 利用可能なアクションは対象となるリソースによります。 @@ -73,6 +67,65 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ 権限の設定には一貫性が必要です。特に、**update** および **drop** 権限は**read** 権限も必要とします(ただし**create** はそれを必要としません)。 +### Inherited permissions + +あるレベルにおいて定義されたパーミッションは基本的に下位レベルに継承されますが、パーミッションは複数のレベルで設定することもできます: + +- データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義された*execute* 権限アクションは、[シングルトン](../REST/$singleton.md) 関数を含めてプロジェクトの全ての関数に対して適用されます。 +- データクラスレベルで定義されたパーミッションは、データストアの設定をオーバーライドします (あれば)。 デフォルトでは、データクラスのすべての属性が、データクラスのパーミッションを継承します。 +- データクラスとは異なり、属性レベルで定義されたパーミッションは、親のデータクラスの設定をオーバーライドするのではなく、それに追加されます。 たとえば、同じ許諾アクションに対し、データクラスのレベルでは "general" という権限名を、データクラスの属性のレベルでは "detail" という権限名を割り当てた場合、その属性にアクセスするには、セッションに "general" と "detail" の両方の権限が設定されている必要があります。 + +:::info + +パーミッションは、データストアオブジェクトや関数へのアクセスを制御します。 特定の条件に基づいて読み取りデータをフィルタリングしたい場合は、[制限付エンティティセレクション](entities.md#制限付エンティティセレクション) の利用がより適切かもしれません。 + +::: + +### ORDA クラス関数の権限の設定 + +When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax: + +```json +. +``` + +For example, if you want to apply a permission to the following function: + +```4d +// cs.CityEntity class +Class extends Entity + Function getPopulation() : Integer + ... +``` + +... 以下のように記述します: + +```json +"applyTo":"City.getPopulation" +``` + +It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. You can then write in the "roles.json" file: + +```json + "permissions": { + "allowed": [ + { + "applyTo": "City.dropEntity", + "type": "method", + "promote": [ + "name" + ] + }, + { + "applyTo": "City.dropSelection", + "type": "method", + "promote": [ + "name" + ] + } + ] +``` + ## 権限とロール **権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 @@ -112,142 +165,106 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T ## `roles.json` ファイル -`roles.json` ファイルは、プロジェクトのセキュリティ設定の全体を記述します。 - -### デフォルトファイル +The `roles.json` file describes the whole web security settings for the project. `roles.json` ファイルの構文は次のとおりです: + +| プロパティ名 | | | 型 | 必須 | 説明 | +| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------- | -- | ------------------------------------------------------------------------------------------------------------------ | +| privileges | | | `privilege` オブジェクトの Collection | X | 定義された権限のリスト | +| | \[].privilege | | Text | | アクセス権の名称 | +| | \[].includes | | String の Collection | | 内包する権限名のリスト | +| roles | | | `role` オブジェクトの Collection | | 定義されたロールのリスト | +| | \[].role | | Text | | ロール名 | +| | \[].privileges | | String の Collection | | 内包する権限名のリスト | +| permissions | | | Object | X | 設定されたパーミッションのリスト | +| | allowed | | `permission` オブジェクトの Collection | | 許可されたパーミッションのリスト | +| | | \[].applyTo | Text | X | 対象の [リソース](#リソース) 名 | +| | | \[].type | Text | X | [リソース](#リソース) タイプ: "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" | +| | | \[].read | String の Collection | | 権限名のリスト | +| | | \[].create | String の Collection | | 権限名のリスト | +| | | \[].update | String の Collection | | 権限名のリスト | +| | | \[].drop | String の Collection | | 権限名のリスト | +| | | \[].execute | String の Collection | | 権限名のリスト | +| | | \[].promote | String の Collection | | 権限名のリスト | +| restrictedByDefault | | | Boolean | | If true, access to resources without explicit permissions is denied | +| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) | -プロジェクトを作成すると、デフォルトの `roles.json` ファイルが次の場所に作成されます: `/Project/Sources/` ([アーキテクチャー](../Project/architecture.md#sources) 参照)。 +:::caution 注記 -デフォルトのファイルには次の内容が含まれています: +- "WebAdmin" 権限名は、アプリケーションによって予約されています。 この名前をカスタムの権限名に使用することは推奨されません。 +- `privileges` and `roles` names are case-insensitive. -```json title="/Project/Sources/roles.json" +::: -{ - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - - "roles": [], - - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": ["all"], - "create": ["all"], - "update": ["all"], - "drop": ["all"], - "execute": ["all"], - "promote": ["all"] - } - ] - }, - - "forceLogin": true +### Default File Location and Content -} +When a new project is created, a default `roles.json` file is generated at: +``` +/Project/Sources/ ``` -For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock. -この "none" 権限はセキュリティのため、使用も変更もしないことが推奨されています。Web や RESTリクエストから利用可能にしたい各リソースには、それ専用の権限を新たに追加することが推奨されています ([以下の例を参照](#権限設定の例))。 +[アーキテクチャー](../Project/architecture.md#sources) を参照ください。 -:::caution +Default content: -`roles.json` ファイルに特定のパラメーターが定義されていない場合、アクセスは制限されません。 これにより、アクセスを気にすることなくアプリケーションを開発することができますが、本番環境では推奨されていません。 +```json title="/Project/Sources/roles.json" -::: +{ + "privileges": [ + ], + "roles": [ + ], + "permissions": { + "allowed": [ + { + "applyTo": "ds", + "type": "datastore", + "read": [], + "create": [], + "update": [], + "drop": [], + "execute": [], + "promote": [] + } + ] + }, + "restrictedByDefault": false, + "forceLogin": false +} +``` :::note 互換性 以前のリリースでは、`roles.json` ファイルはデフォルトで作成されませんでした。 4D 20 R6 以降、`roles.json`ファイルを含まない、または `"forceLogin": true` の設定が含まれていない既存のプロジェクトを開く場合、[設定ダイアログボックスの **Web機能** ページ](../settings/web.md#アクセス権) で **ds.authentify() 関数を通しての REST認証を有効化** ボタンが利用可能になります。 このボタンはセキュリティ設定を自動的にアップグレードします (コードを修正する必要があるかもしれません。[このブログ記事を参照ください](https://blog.4d.com/ja/force-login-becomes-default-for-all-rest-auth))。 + ::: :::note Qodly Studio -Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。 +In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel. ::: -### シンタックス - -`roles.json` ファイルの構文は次のとおりです: - -| プロパティ名 | | | 型 | 必須 | 説明 | -| ----------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------- | -- | ------------------------------------------------------------------------------------------------------------------ | -| privileges | | | `privilege` オブジェクトの Collection | X | 定義された権限のリスト | -| | \[].privilege | | Text | | アクセス権の名称 | -| | \[].includes | | String の Collection | | 内包する権限名のリスト | -| roles | | | `role` オブジェクトの Collection | | 定義されたロールのリスト | -| | \[].role | | Text | | ロール名 | -| | \[].privileges | | String の Collection | | 内包する権限名のリスト | -| permissions | | | Object | X | 設定されたパーミッションのリスト | -| | allowed | | `permission` オブジェクトの Collection | | 許可されたパーミッションのリスト | -| | | \[].applyTo | Text | X | 対象の [リソース](#リソース) 名 | -| | | \[].type | Text | X | [リソース](#リソース) タイプ: "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" | -| | | \[].read | String の Collection | | 権限名のリスト | -| | | \[].create | String の Collection | | 権限名のリスト | -| | | \[].update | String の Collection | | 権限名のリスト | -| | | \[].drop | String の Collection | | 権限名のリスト | -| | | \[].execute | String の Collection | | 権限名のリスト | -| | | \[].promote | String の Collection | | 権限名のリスト | -| forceLogin | | | Boolean | | ["forceLogin" モード](../REST/authUsers.md#force-login-mode) を有効にする場合は true | - -:::caution 注記 - -- "WebAdmin" 権限名は、アプリケーションによって予約されています。 この名前をカスタムの権限名に使用することは推奨されません。 -- `privileges` および `roles` の名称においては文字の大小が区別されます。 +## Restriction Modes -::: +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): -#### Assigning permissions to ORDA class functions +- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted. +- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted. -When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax: - -```json -. -``` +:::note 互換性 -For example, if you want to apply a permission to the following function: +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. -```4d -// cs.CityEntity class -Class extends Entity - Function getPopulation() : Integer - ... -``` +::: -... you have to write: +### Recommended Configuration -```json -"applyTo":"City.getPopulation" -``` +Depending on your environment, the recommended settings are: -It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. You can then write in the "roles.json" file: - -```json - "permissions": { - "allowed": [ - { - "applyTo": "City.dropEntity", - "type": "method", - "promote": [ - "name" - ] - }, - { - "applyTo": "City.dropSelection", - "type": "method", - "promote": [ - "name" - ] - } - ] -``` +- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access. +- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions. ### `Roles_Errors.json` ファイル @@ -269,93 +286,28 @@ End if ## 権限設定の例 -The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions: - ```json title="/Project/Sources/roles.json" { - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - "roles": [], - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": [ - "all" - ], - "create": [ - "all" - ], - "update": [ - "all" - ], - "drop": [ - "all" - ], - "execute": [ - "all" - ], - "promote": [ - "all" - ] - }, - { - "applyTo": "ds.loginAs", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.hasPrivilege", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.clearPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.isGuest", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.getPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.setAllPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "mySingletonClass.createID", - "type": "singletonMethod", - "execute": [ - "guest" - ] - } - ] - }, - "forceLogin": true + "forceLogin": true, + "restrictedByDefault": true, + "permissions": { + "allowed": [ + { + "applyTo": "People", + "type": "dataclass", + "read": [ + "viewPeople" + ] + } + ] + }, + "privileges": [ + { + "privilege": "viewPeople", + "includes": [] + } + ], + "roles": [] } ``` diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/privileges.md index 73c0eff02fec15..d77f22431e141f 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/privileges.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/privileges.md @@ -27,27 +27,21 @@ Se um usuário tentar executar uma ação e não tiver os direitos de acesso ade You can assign specific permission actions to the following resources in your project: -- o datastore -- uma classe de dados -- um atributo (inclusive calculado e aliases) -- uma função de classe de modelo de dados -- uma função [singleton](../REST/$singleton.md) +- the [datastore](../ORDA/dsMapping.md#datastore) +- the [dataclasses](../ORDA/dsMapping.md#dataclass) +- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1)) +- functions of the [data model classes](../ORDA/ordaClasses.md) +- [singleton](../REST/$singleton.md) functions Each time a resource is accessed within a session (whatever the way it is accessed), 4D checks that the session has the appropriate permissions, and rejects the access if it is not authorized. -Uma ação de permissão definida em um determinado nível é herdada por padrão em níveis inferiores, mas várias permissões podem ser configuradas: - -- Uma ação de permissão definida no nível do datastore é automaticamente atribuída a todas as dataclasses. A ação de permissão *execute* definida no nível de datastore aplica-se a todas as funções do projeto, incluindo todas as funções [singleton](../REST/$singleton.md). -- Uma ação de permissão definida ao nível da classe de dados substitui a definição do armazenamento de dados (se existir). Por padrão, todos os atributos do dataclass herdam das permissões de banco de dados. -- Ao contrário das permissões da classe de dados, uma ação de permissão definida no nível do atributo não substitui a(s) permissão(ões) pai da classe de dados, mas é adicionada a ela. Por exemplo, se você atribuiu o privilégio "geral" a uma classe de dados e o privilégio "detalhe" a um atributo da classe de dados, ambos os privilégios "geral" e "detalhe" devem ser definidos na sessão para acessar o atributo. - -:::info +## Permissions -Permissões controlam o acesso a objetos ou funções de armazenamento de dados. Se você deseja filtrar os dados lidos de acordo com alguns critérios, você pode considerar [restringir as seleções de entidades](entities.md#restricting-entity-selections) que pode ser mais apropriado neste caso. +A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles). -::: +When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes). -## Ações de permissão +### Ações de permissão As ações disponíveis estão relacionadas com o recurso alvo. @@ -73,6 +67,65 @@ As ações disponíveis estão relacionadas com o recurso alvo. Setting permissions requires to be consistent, in particular **update** and **drop** permissions also need **read** permission (but **create** does not need it). +### Inherited permissions + +Uma ação de permissão definida em um determinado nível é herdada por padrão em níveis inferiores, mas várias permissões podem ser configuradas: + +- Uma ação de permissão definida no nível do datastore é automaticamente atribuída a todas as dataclasses. A ação de permissão *execute* definida no nível de datastore aplica-se a todas as funções do projeto, incluindo todas as funções [singleton](../REST/$singleton.md). +- Uma ação de permissão definida ao nível da classe de dados substitui a definição do armazenamento de dados (se existir). Por padrão, todos os atributos do dataclass herdam das permissões de banco de dados. +- Ao contrário das permissões da classe de dados, uma ação de permissão definida no nível do atributo não substitui a(s) permissão(ões) pai da classe de dados, mas é adicionada a ela. Por exemplo, se você atribuiu o privilégio "geral" a uma classe de dados e o privilégio "detalhe" a um atributo da classe de dados, ambos os privilégios "geral" e "detalhe" devem ser definidos na sessão para acessar o atributo. + +:::info + +Permissões controlam o acesso a objetos ou funções de armazenamento de dados. Se você deseja filtrar os dados lidos de acordo com alguns critérios, você pode considerar [restringir as seleções de entidades](entities.md#restricting-entity-selections) que pode ser mais apropriado neste caso. + +::: + +### Atribuição de permissões a funções da classe ORDA + +When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax: + +```json +. +``` + +For example, if you want to apply a permission to the following function: + +```4d +// cs.CityEntity class +Class extends Entity + Function getPopulation() : Integer + ... +``` + +... você precisa escrever: + +```json +"applyTo":"City.getPopulation" +``` + +It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. Em seguida, você pode escrever no arquivo "roles.json": + +```json + "permissions": { + "allowed": [ + { + "applyTo": "City.dropEntity", + "type": "method", + "promote": [ + "name" + ] + }, + { + "applyTo": "City.dropSelection", + "type": "method", + "promote": [ + "name" + ] + } + ] +``` + ## Privilégios e funções Um **privilégio** é a habilidade técnica de executar **ações** em **recursos**, enquanto um **cargo** é um privilégio posto de uso por um administrador. Basicamente, uma função reúne vários privilégios para definir um perfil de usuário corporativo. Por exemplo, "manageInvoices" poderia ser um privilégio enquanto "secretary" poderia ser uma função (que inclui "manageInvoices" e outros privilégios). @@ -111,70 +164,7 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T ## arquivo `roles.json` -O arquivo `roles.json` descreve todas as configurações de segurança do projeto. - -### Arquivo padrão - -When you create a project, a default `roles.json` file is created at the following location: `/Project/Sources/` (see [Architecture](../Project/architecture.md#sources) section). - -O arquivo padrão tem o seguinte conteúdo: - -```json title="/Project/Sources/roles.json" - -{ - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - - "roles": [], - - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": ["all"], - "create": ["all"], - "update": ["all"], - "drop": ["all"], - "execute": ["all"], - "promote": ["all"] - } - ] - }, - - "forceLogin": true - -} - -``` - -For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock. -É recomendado não modificar ou usar esse privilégio de bloqueio, mas adicionar permissões específicas a cada recurso que você deseja disponibilizar para solicitações da web ou REST (veja o exemplo abaixo). - -:::caution - -Quando nenhum parâmetro específico é definido no arquivo `roles.json`, os acessos não são limitados. Esta configuração permite que você desenvolva a aplicação sem se preocupar com acessos, mas não é recomendada em ambiente de produção. - -::: - -:::note Compatibidade - -Em versões anteriores, o arquivo `roles.json` não foi criado por padrão. A partir de 4D 20 R6, ao abrir um projeto existente que não contém um `cargos. arquivo son` ou as configurações `"forceLogin": true`, a **Ativar autenticação REST através de d. Função uthentify()** está disponível na página [**Recursos Web** da caixa de diálogo Configurações](../settings/web.md#access). Este botão atualiza automaticamente suas configurações de segurança (você pode ter que modificar seu código, [veja este post de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)). -::: - -:::note Qodly Studio - -No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios. - -::: - -### Sintaxe - -A sintaxe do arquivo `roles.json` é a seguinte: +The `roles.json` file describes the whole web security settings for the project. A sintaxe do arquivo `roles.json` é a seguinte: | Nome da propriedade | | | Tipo | Obrigatório | Descrição | | ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ---------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------ | @@ -194,60 +184,87 @@ A sintaxe do arquivo `roles.json` é a seguinte: | | | \[].drop | Coleção de strings | | Lista de privilégios | | | | \[].execute | Coleção de strings | | Lista de privilégios | | | | \[].promote | Coleção de strings | | Lista de privilégios | -| forceLogin | | | Parâmetros | | True para habilitar el [modo "forceLogin"](../REST/authUsers.md#force-login-mode) | +| restrictedByDefault | | | Parâmetros | | If true, access to resources without explicit permissions is denied | +| forceLogin | | | Parâmetros | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) | :::caution Lembrete - O nome do privilégio "WebAdmin" está reservado à aplicação. Não se recomenda a utilização deste nome para privilégios personalizados. -- Os nomes de `privilégios` e `cargos` são insensíveis a maiúsculas e minúsculas. +- `privileges` and `roles` names are case-insensitive. ::: -#### Atribuição de permissões a funções da classe ORDA +### Default File Location and Content -When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax: +When a new project is created, a default `roles.json` file is generated at: -```json -. ``` - -For example, if you want to apply a permission to the following function: - -```4d -// cs.CityEntity class -Class extends Entity - Function getPopulation() : Integer - ... +/Project/Sources/ ``` -... você precisa escrever: +Ver la sección [Arquitectura](../Project/architecture.md#sources). -```json -"applyTo":"City.getPopulation" -``` +Default content: -It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. Em seguida, você pode escrever no arquivo "roles.json": +```json title="/Project/Sources/roles.json" -```json - "permissions": { - "allowed": [ - { - "applyTo": "City.dropEntity", - "type": "method", - "promote": [ - "name" - ] - }, - { - "applyTo": "City.dropSelection", - "type": "method", - "promote": [ - "name" - ] - } +{ + "privileges": [ + ], + "roles": [ + ], + "permissions": { + "allowed": [ + { + "applyTo": "ds", + "type": "datastore", + "read": [], + "create": [], + "update": [], + "drop": [], + "execute": [], + "promote": [] + } ] + }, + "restrictedByDefault": false, + "forceLogin": false +} ``` +:::note Compatibidade + +Em versões anteriores, o arquivo `roles.json` não foi criado por padrão. A partir de 4D 20 R6, ao abrir um projeto existente que não contém um `cargos. arquivo son` ou as configurações `"forceLogin": true`, a **Ativar autenticação REST através de d. Função uthentify()** está disponível na página [**Recursos Web** da caixa de diálogo Configurações](../settings/web.md#access). Este botão atualiza automaticamente suas configurações de segurança (você pode ter que modificar seu código, [veja este post de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)). + +::: + +:::note Qodly Studio + +In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel. + +::: + +## Restriction Modes + +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): + +- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted. +- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted. + +:::note Compatibidade + +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. + +::: + +### Recommended Configuration + +Depending on your environment, the recommended settings are: + +- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access. +- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions. + ### Arquivo `Roles_Errors.json` O arquivo `roles.json` é analisado pelo 4D na inicialização. Você precisa reiniciar o aplicativo se quiser que as modificações neste arquivo sejam consideradas. @@ -267,93 +284,28 @@ Finalizado, se ## Exemplo de configuração de privilégios -The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions: - ```json title="/Project/Sources/roles.json" { - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - "roles": [], - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": [ - "all" - ], - "create": [ - "all" - ], - "update": [ - "all" - ], - "drop": [ - "all" - ], - "execute": [ - "all" - ], - "promote": [ - "all" - ] - }, - { - "applyTo": "ds.loginAs", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.hasPrivilege", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.clearPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.isGuest", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.getPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.setAllPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "mySingletonClass.createID", - "type": "singletonMethod", - "execute": [ - "guest" - ] - } - ] - }, - "forceLogin": true + "forceLogin": true, + "restrictedByDefault": true, + "permissions": { + "allowed": [ + { + "applyTo": "People", + "type": "dataclass", + "read": [ + "viewPeople" + ] + } + ] + }, + "privileges": [ + { + "privilege": "viewPeople", + "includes": [] + } + ], + "roles": [] } ``` diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/configuration.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/configuration.md index 3f4634994d1de1..c661a5b35d2ee0 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/configuration.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/configuration.md @@ -70,8 +70,8 @@ Para eliminar a exposição REST de um campo: 1. Exibar o inspetor de Campo no editor de Estruturas e selecione o campo a modificar. -2. Desmarque la opción **Exponer como recurso REST** para el campo. - ![alt-text](../assets/en/REST/field.png) +2. Uncheck the **Expose as REST resource** for the field.
    + ![alt-text](../assets/en/REST/field.png)
    Repeat this for each field whose exposure needs to be modified. > Para que um campo seja accessível a través de REST, a tabela pai também deve ser. Se a tabela pai não estiver exposta, nenhum dos campos estará, independente de seu estado. diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 9c041416784e6d..9f8a14853cafd3 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -11,6 +11,14 @@ Leia [**O que há de novo no 4D 20**](https://blog.4d.com/en-whats-new-in-4d-v20 ::: +## 4D 20.8 LTS + +#### Destaques + +- [**Lista de bugs corrigidos**](https://bugs.4d.com/fixes?version=20.8): lista de todos os erros corrigidos no 4D 20.8 LTS. + + + ## 4D 20.7 LTS #### Destaques diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md index 52e8e6a51fb89e..aaa5ca6daaf843 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md @@ -16,6 +16,7 @@ Leia [**O que há de novo no 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/ - ability to set [HTTP request handlers](../WebServer/http-request-handler.md) using a `handlers` property in the *settings* parameter of the Web server [`start()`](../API/WebServerClass.md#start) function, - the Web server object contains new [`rules`](../API/WebServerClass.md#rules) and [`handlers`](../API/WebServerClass.md#handlers) properties. - New [ORDA events on data](../ORDA/orda-events.md): validateSave, saving, afterSave, validateDrop, dropping, afterDrop. +- Support of the new [`restrictedByDefault` property](../ORDA/privileges.md#restriction-modes) in the `roles.json` file to block access by default to all resources without explicit permission. - New option allowing to use certificates from Windows Certificate Store instead of a local certificates folder in [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) and [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew) classes. - Client/server: - You can display Qodly pages in Web areas and [share the remote client session](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md index 73c0eff02fec15..d77f22431e141f 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md @@ -27,27 +27,21 @@ Se um usuário tentar executar uma ação e não tiver os direitos de acesso ade You can assign specific permission actions to the following resources in your project: -- o datastore -- uma classe de dados -- um atributo (inclusive calculado e aliases) -- uma função de classe de modelo de dados -- uma função [singleton](../REST/$singleton.md) +- the [datastore](../ORDA/dsMapping.md#datastore) +- the [dataclasses](../ORDA/dsMapping.md#dataclass) +- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1)) +- functions of the [data model classes](../ORDA/ordaClasses.md) +- [singleton](../REST/$singleton.md) functions Each time a resource is accessed within a session (whatever the way it is accessed), 4D checks that the session has the appropriate permissions, and rejects the access if it is not authorized. -Uma ação de permissão definida em um determinado nível é herdada por padrão em níveis inferiores, mas várias permissões podem ser configuradas: - -- Uma ação de permissão definida no nível do datastore é automaticamente atribuída a todas as dataclasses. A ação de permissão *execute* definida no nível de datastore aplica-se a todas as funções do projeto, incluindo todas as funções [singleton](../REST/$singleton.md). -- Uma ação de permissão definida ao nível da classe de dados substitui a definição do armazenamento de dados (se existir). Por padrão, todos os atributos do dataclass herdam das permissões de banco de dados. -- Ao contrário das permissões da classe de dados, uma ação de permissão definida no nível do atributo não substitui a(s) permissão(ões) pai da classe de dados, mas é adicionada a ela. Por exemplo, se você atribuiu o privilégio "geral" a uma classe de dados e o privilégio "detalhe" a um atributo da classe de dados, ambos os privilégios "geral" e "detalhe" devem ser definidos na sessão para acessar o atributo. - -:::info +## Permissions -Permissões controlam o acesso a objetos ou funções de armazenamento de dados. Se você deseja filtrar os dados lidos de acordo com alguns critérios, você pode considerar [restringir as seleções de entidades](entities.md#restricting-entity-selections) que pode ser mais apropriado neste caso. +A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles). -::: +When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes). -## Ações de permissão +### Ações de permissão As ações disponíveis estão relacionadas com o recurso alvo. @@ -73,6 +67,65 @@ As ações disponíveis estão relacionadas com o recurso alvo. Setting permissions requires to be consistent, in particular **update** and **drop** permissions also need **read** permission (but **create** does not need it). +### Inherited permissions + +Uma ação de permissão definida em um determinado nível é herdada por padrão em níveis inferiores, mas várias permissões podem ser configuradas: + +- Uma ação de permissão definida no nível do datastore é automaticamente atribuída a todas as dataclasses. A ação de permissão *execute* definida no nível de datastore aplica-se a todas as funções do projeto, incluindo todas as funções [singleton](../REST/$singleton.md). +- Uma ação de permissão definida ao nível da classe de dados substitui a definição do armazenamento de dados (se existir). Por padrão, todos os atributos do dataclass herdam das permissões de banco de dados. +- Ao contrário das permissões da classe de dados, uma ação de permissão definida no nível do atributo não substitui a(s) permissão(ões) pai da classe de dados, mas é adicionada a ela. Por exemplo, se você atribuiu o privilégio "geral" a uma classe de dados e o privilégio "detalhe" a um atributo da classe de dados, ambos os privilégios "geral" e "detalhe" devem ser definidos na sessão para acessar o atributo. + +:::info + +Permissões controlam o acesso a objetos ou funções de armazenamento de dados. Se você deseja filtrar os dados lidos de acordo com alguns critérios, você pode considerar [restringir as seleções de entidades](entities.md#restricting-entity-selections) que pode ser mais apropriado neste caso. + +::: + +### Atribuição de permissões a funções da classe ORDA + +When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax: + +```json +. +``` + +For example, if you want to apply a permission to the following function: + +```4d +// cs.CityEntity class +Class extends Entity + Function getPopulation() : Integer + ... +``` + +... você precisa escrever: + +```json +"applyTo":"City.getPopulation" +``` + +It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. Em seguida, você pode escrever no arquivo "roles.json": + +```json + "permissions": { + "allowed": [ + { + "applyTo": "City.dropEntity", + "type": "method", + "promote": [ + "name" + ] + }, + { + "applyTo": "City.dropSelection", + "type": "method", + "promote": [ + "name" + ] + } + ] +``` + ## Privilégios e funções Um **privilégio** é a habilidade técnica de executar **ações** em **recursos**, enquanto um **cargo** é um privilégio posto de uso por um administrador. Basicamente, uma função reúne vários privilégios para definir um perfil de usuário corporativo. Por exemplo, "manageInvoices" poderia ser um privilégio enquanto "secretary" poderia ser uma função (que inclui "manageInvoices" e outros privilégios). @@ -111,70 +164,7 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T ## arquivo `roles.json` -O arquivo `roles.json` descreve todas as configurações de segurança do projeto. - -### Arquivo padrão - -When you create a project, a default `roles.json` file is created at the following location: `/Project/Sources/` (see [Architecture](../Project/architecture.md#sources) section). - -O arquivo padrão tem o seguinte conteúdo: - -```json title="/Project/Sources/roles.json" - -{ - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - - "roles": [], - - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": ["all"], - "create": ["all"], - "update": ["all"], - "drop": ["all"], - "execute": ["all"], - "promote": ["all"] - } - ] - }, - - "forceLogin": true - -} - -``` - -For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock. -É recomendado não modificar ou usar esse privilégio de bloqueio, mas adicionar permissões específicas a cada recurso que você deseja disponibilizar para solicitações da web ou REST (veja o exemplo abaixo). - -:::caution - -Quando nenhum parâmetro específico é definido no arquivo `roles.json`, os acessos não são limitados. Esta configuração permite que você desenvolva a aplicação sem se preocupar com acessos, mas não é recomendada em ambiente de produção. - -::: - -:::note Compatibidade - -Em versões anteriores, o arquivo `roles.json` não foi criado por padrão. A partir de 4D 20 R6, ao abrir um projeto existente que não contém um `cargos. arquivo son` ou as configurações `"forceLogin": true`, a **Ativar autenticação REST através de d. Função uthentify()** está disponível na página [**Recursos Web** da caixa de diálogo Configurações](../settings/web.md#access). Este botão atualiza automaticamente suas configurações de segurança (você pode ter que modificar seu código, [veja este post de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)). -::: - -:::note Qodly Studio - -No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios. - -::: - -### Sintaxe - -A sintaxe do arquivo `roles.json` é a seguinte: +The `roles.json` file describes the whole web security settings for the project. A sintaxe do arquivo `roles.json` é a seguinte: | Nome da propriedade | | | Tipo | Obrigatório | Descrição | | ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ---------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------ | @@ -194,60 +184,87 @@ A sintaxe do arquivo `roles.json` é a seguinte: | | | \[].drop | Coleção de strings | | Lista de privilégios | | | | \[].execute | Coleção de strings | | Lista de privilégios | | | | \[].promote | Coleção de strings | | Lista de privilégios | -| forceLogin | | | Parâmetros | | True para habilitar el [modo "forceLogin"](../REST/authUsers.md#force-login-mode) | +| restrictedByDefault | | | Parâmetros | | If true, access to resources without explicit permissions is denied | +| forceLogin | | | Parâmetros | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) | :::caution Lembrete - O nome do privilégio "WebAdmin" está reservado à aplicação. Não se recomenda a utilização deste nome para privilégios personalizados. -- Os nomes de `privilégios` e `cargos` são insensíveis a maiúsculas e minúsculas. +- `privileges` and `roles` names are case-insensitive. ::: -#### Atribuição de permissões a funções da classe ORDA +### Default File Location and Content -When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax: +When a new project is created, a default `roles.json` file is generated at: -```json -. ``` - -For example, if you want to apply a permission to the following function: - -```4d -// cs.CityEntity class -Class extends Entity - Function getPopulation() : Integer - ... +/Project/Sources/ ``` -... você precisa escrever: +Ver la sección [Arquitectura](../Project/architecture.md#sources). -```json -"applyTo":"City.getPopulation" -``` +Default content: -It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. Em seguida, você pode escrever no arquivo "roles.json": +```json title="/Project/Sources/roles.json" -```json - "permissions": { - "allowed": [ - { - "applyTo": "City.dropEntity", - "type": "method", - "promote": [ - "name" - ] - }, - { - "applyTo": "City.dropSelection", - "type": "method", - "promote": [ - "name" - ] - } +{ + "privileges": [ + ], + "roles": [ + ], + "permissions": { + "allowed": [ + { + "applyTo": "ds", + "type": "datastore", + "read": [], + "create": [], + "update": [], + "drop": [], + "execute": [], + "promote": [] + } ] + }, + "restrictedByDefault": false, + "forceLogin": false +} ``` +:::note Compatibidade + +Em versões anteriores, o arquivo `roles.json` não foi criado por padrão. A partir de 4D 20 R6, ao abrir um projeto existente que não contém um `cargos. arquivo son` ou as configurações `"forceLogin": true`, a **Ativar autenticação REST através de d. Função uthentify()** está disponível na página [**Recursos Web** da caixa de diálogo Configurações](../settings/web.md#access). Este botão atualiza automaticamente suas configurações de segurança (você pode ter que modificar seu código, [veja este post de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)). + +::: + +:::note Qodly Studio + +In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel. + +::: + +## Restriction Modes + +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): + +- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted. +- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted. + +:::note Compatibidade + +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. + +::: + +### Recommended Configuration + +Depending on your environment, the recommended settings are: + +- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access. +- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions. + ### Arquivo `Roles_Errors.json` O arquivo `roles.json` é analisado pelo 4D na inicialização. Você precisa reiniciar o aplicativo se quiser que as modificações neste arquivo sejam consideradas. @@ -267,93 +284,28 @@ Finalizado, se ## Exemplo de configuração de privilégios -The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions: - ```json title="/Project/Sources/roles.json" { - "privileges": [ - { - "privilege": "all", - "includes": [] - } - ], - "roles": [], - "permissions": { - "allowed": [ - { - "applyTo": "ds", - "type": "datastore", - "read": [ - "all" - ], - "create": [ - "all" - ], - "update": [ - "all" - ], - "drop": [ - "all" - ], - "execute": [ - "all" - ], - "promote": [ - "all" - ] - }, - { - "applyTo": "ds.loginAs", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.hasPrivilege", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.clearPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.isGuest", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.getPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "ds.setAllPrivileges", - "type": "method", - "execute": [ - "guest" - ] - }, - { - "applyTo": "mySingletonClass.createID", - "type": "singletonMethod", - "execute": [ - "guest" - ] - } - ] - }, - "forceLogin": true + "forceLogin": true, + "restrictedByDefault": true, + "permissions": { + "allowed": [ + { + "applyTo": "People", + "type": "dataclass", + "read": [ + "viewPeople" + ] + } + ] + }, + "privileges": [ + { + "privilege": "viewPeople", + "includes": [] + } + ], + "roles": [] } ```