Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
0bc466b
New translations webarea_overview.md (Spanish)
arnaud4d Oct 17, 2025
62bb30c
New translations http-request-handler.md (Spanish)
arnaud4d Oct 17, 2025
1579450
New translations tcpeventclass.md (Spanish)
arnaud4d Oct 17, 2025
7395ac4
New translations labels.md (Spanish)
arnaud4d Oct 17, 2025
f090615
New translations openai.md (French)
arnaud4d Oct 17, 2025
3e79a43
New translations openai.md (Spanish)
arnaud4d Oct 17, 2025
7d2cc5f
New translations openaichatcompletionsapi.md (Spanish)
arnaud4d Oct 17, 2025
d5e6277
New translations openai.md (Japanese)
arnaud4d Oct 17, 2025
d18ecce
New translations openai.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
44aed60
New translations openaichatcompletionsparameters.md (Spanish)
arnaud4d Oct 17, 2025
a8ebe40
New translations openaichathelper.md (Spanish)
arnaud4d Oct 17, 2025
837dbfe
New translations openaiimageparameters.md (Spanish)
arnaud4d Oct 17, 2025
a3f371a
New translations openaimessage.md (Spanish)
arnaud4d Oct 17, 2025
5b98c09
New translations openaimoderationsapi.md (Spanish)
arnaud4d Oct 17, 2025
2ace566
New translations openaiparameters.md (Spanish)
arnaud4d Oct 17, 2025
ae76291
New translations openairesult.md (Spanish)
arnaud4d Oct 17, 2025
ffdde93
New translations compatible-openai.md (French)
arnaud4d Oct 17, 2025
31e8ce3
New translations overview.md (French)
arnaud4d Oct 17, 2025
ae3af72
New translations asynchronous-call.md (Spanish)
arnaud4d Oct 17, 2025
fa66042
New translations compatible-openai.md (Spanish)
arnaud4d Oct 17, 2025
397ae2f
New translations overview.md (Spanish)
arnaud4d Oct 17, 2025
f2e23a9
New translations call-chain.md (Spanish)
arnaud4d Oct 17, 2025
fe65074
New translations compatible-openai.md (Japanese)
arnaud4d Oct 17, 2025
7fa37f0
New translations overview.md (Japanese)
arnaud4d Oct 17, 2025
3966fa7
New translations compatible-openai.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
309b3b1
New translations overview.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
fefe811
New translations orda-events.md (French)
arnaud4d Oct 17, 2025
5ef3511
New translations orda-events.md (Spanish)
arnaud4d Oct 17, 2025
f1db3ff
New translations orda-events.md (Japanese)
arnaud4d Oct 17, 2025
1245c4b
New translations orda-events.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
faa01b9
New translations tcpeventclass.md (Spanish)
arnaud4d Oct 17, 2025
edf180c
New translations cli.md (Spanish)
arnaud4d Oct 17, 2025
ce9673b
New translations classes.md (Spanish)
arnaud4d Oct 17, 2025
9821966
New translations labels.md (Spanish)
arnaud4d Oct 17, 2025
7130d89
New translations webarea_overview.md (Spanish)
arnaud4d Oct 17, 2025
298c9c8
New translations orda-events.md (French)
arnaud4d Oct 17, 2025
5a0eec7
New translations orda-events.md (Spanish)
arnaud4d Oct 17, 2025
a592610
New translations orda-events.md (Japanese)
arnaud4d Oct 17, 2025
75be9c5
New translations orda-events.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
5df49d3
New translations components.md (Spanish)
arnaud4d Oct 17, 2025
1bf35c3
New translations http-request-handler.md (Spanish)
arnaud4d Oct 17, 2025
2ac0772
New translations openai.md (French)
arnaud4d Oct 17, 2025
957eef9
New translations openai.md (Spanish)
arnaud4d Oct 17, 2025
8954c09
New translations openai.md (Japanese)
arnaud4d Oct 17, 2025
dce7c81
New translations openai.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
0d848d5
New translations openaichatcompletionsapi.md (Spanish)
arnaud4d Oct 17, 2025
7979532
New translations openaiimageparameters.md (Spanish)
arnaud4d Oct 17, 2025
3fddc21
New translations compatible-openai.md (French)
arnaud4d Oct 17, 2025
7c5ff0c
New translations overview.md (French)
arnaud4d Oct 17, 2025
255167f
New translations openaimoderationsapi.md (Spanish)
arnaud4d Oct 17, 2025
6c209c6
New translations openaiparameters.md (Spanish)
arnaud4d Oct 17, 2025
aa06047
New translations openairesult.md (Spanish)
arnaud4d Oct 17, 2025
f063c50
New translations asynchronous-call.md (Spanish)
arnaud4d Oct 17, 2025
c0a2088
New translations compatible-openai.md (Spanish)
arnaud4d Oct 17, 2025
b9349a2
New translations overview.md (Spanish)
arnaud4d Oct 17, 2025
fc6dccc
New translations compatible-openai.md (Japanese)
arnaud4d Oct 17, 2025
9eb5b87
New translations overview.md (Japanese)
arnaud4d Oct 17, 2025
4708398
New translations compatible-openai.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
b8c698a
New translations overview.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
9153288
New translations call-chain.md (Spanish)
arnaud4d Oct 17, 2025
6f9b8c7
New translations process-number.md (Spanish)
arnaud4d Oct 17, 2025
f603d66
New translations zip-create-archive.md (Spanish)
arnaud4d Oct 17, 2025
147d585
New translations openaitool.md (Spanish)
arnaud4d Oct 17, 2025
60e3b9a
New translations http-rules.md (Spanish)
arnaud4d Oct 17, 2025
92f0780
New translations dataclassclass.md (Spanish)
arnaud4d Oct 17, 2025
c99d754
New translations entityclass.md (Spanish)
arnaud4d Oct 17, 2025
08714e1
New translations tcpeventclass.md (Spanish)
arnaud4d Oct 17, 2025
4bf450d
New translations cli.md (Spanish)
arnaud4d Oct 17, 2025
3cff3ea
New translations classes.md (Spanish)
arnaud4d Oct 17, 2025
dd934a2
New translations error-handling.md (Spanish)
arnaud4d Oct 17, 2025
08f5db2
New translations clientserver.md (Spanish)
arnaud4d Oct 17, 2025
40ecdd4
New translations labels.md (Spanish)
arnaud4d Oct 17, 2025
1666776
New translations forms.md (Spanish)
arnaud4d Oct 17, 2025
b545cda
New translations call-chain.md (Spanish)
arnaud4d Oct 17, 2025
03c2867
New translations process-number.md (Spanish)
arnaud4d Oct 17, 2025
3d067b9
New translations zip-create-archive.md (Spanish)
arnaud4d Oct 17, 2025
2a73f3d
New translations webarea_overview.md (Spanish)
arnaud4d Oct 17, 2025
f16cc72
New translations orda-events.md (French)
arnaud4d Oct 17, 2025
32534c0
New translations orda-events.md (Spanish)
arnaud4d Oct 17, 2025
30a8c6c
New translations orda-events.md (Japanese)
arnaud4d Oct 17, 2025
28a63c8
New translations orda-events.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
39b0ac7
New translations components.md (Spanish)
arnaud4d Oct 17, 2025
a583cc6
New translations http-request-handler.md (Spanish)
arnaud4d Oct 17, 2025
57989f4
New translations http-rules.md (Spanish)
arnaud4d Oct 17, 2025
f6caa58
New translations openai.md (French)
arnaud4d Oct 17, 2025
ad2fd30
New translations openai.md (Spanish)
arnaud4d Oct 17, 2025
f386fc2
New translations openaichatcompletionsapi.md (Spanish)
arnaud4d Oct 17, 2025
595e007
New translations openaichatcompletionsparameters.md (Spanish)
arnaud4d Oct 17, 2025
070068d
New translations openai.md (Japanese)
arnaud4d Oct 17, 2025
8b00597
New translations openai.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
33c407e
New translations openaichathelper.md (Spanish)
arnaud4d Oct 17, 2025
0c49efe
New translations openaiimageparameters.md (Spanish)
arnaud4d Oct 17, 2025
d675980
New translations openaimessage.md (Spanish)
arnaud4d Oct 17, 2025
6a09aec
New translations openaimoderationsapi.md (Spanish)
arnaud4d Oct 17, 2025
4854e2e
New translations openaiparameters.md (Spanish)
arnaud4d Oct 17, 2025
50c5d7d
New translations openairesult.md (Spanish)
arnaud4d Oct 17, 2025
0648f1a
New translations openaitool.md (Spanish)
arnaud4d Oct 17, 2025
8d36051
New translations compatible-openai.md (French)
arnaud4d Oct 17, 2025
00fe29a
New translations overview.md (French)
arnaud4d Oct 17, 2025
9f6d697
New translations asynchronous-call.md (Spanish)
arnaud4d Oct 17, 2025
5c6598f
New translations compatible-openai.md (Spanish)
arnaud4d Oct 17, 2025
6020de8
New translations overview.md (Spanish)
arnaud4d Oct 17, 2025
b62f71e
New translations compatible-openai.md (Japanese)
arnaud4d Oct 17, 2025
ed87567
New translations overview.md (Japanese)
arnaud4d Oct 17, 2025
c1bde49
New translations compatible-openai.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
33c758e
New translations overview.md (Portuguese, Brazilian)
arnaud4d Oct 17, 2025
d63a241
New translations entityclass.md (Spanish)
arnaud4d Oct 18, 2025
ad96877
New translations error-handling.md (Spanish)
arnaud4d Oct 18, 2025
fc9dabb
New translations clientserver.md (Spanish)
arnaud4d Oct 18, 2025
886bd30
New translations forms.md (Spanish)
arnaud4d Oct 18, 2025
1c5ae70
New translations components.md (Spanish)
arnaud4d Oct 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1015,12 +1015,12 @@ El objeto devuelto por `.lock()` 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:<br/><li>la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)</li><li>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`</li><br/>**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.<br/>**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).<li>with `.save()`: error only if the `dk auto merge` option is not used</li><li>with `.drop()`: error only if the `dk force drop if stamp changed` option is not used</li><li>with `.lock()`: error only if the `dk reload if stamp changed` option is not used</li><br/>**Associated statusText**: "Stamp has changed" |
| 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:<br/><li>la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)</li><li>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`</li><br/>**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.<br/>**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).<li>with `.save()`: error only if the `dk auto merge` option is not used</li><li>with `.drop()`: error only if the `dk force drop if stamp changed` option is not used</li><li>with `.lock()`: error only if the `dk reload if stamp changed` option is not used</li><br/>**Associated statusText**: "Stamp has changed" |

#### Ejemplo 1

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The `TCPEvent` class provides information about events occurring during the life

### Objeto TCPEvent

A `TCPEvent` object is immutable and non-streamable.
Un objeto `TCPEvent` es inmutable y no se puede transmitir.

Las siguientes propiedades están disponibles:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Es muy recomendable instalar un método global de gestión de errores en 4D Serv

## Predictable vs unpredictable errors

Many 4D class functions, such as [`entity.save()`](../API/EntityClass.md#save) or [`transporter.send()`](../API/SMTPTransporterClass.md#send), return a object containing *status* information. This object is used to store **predictable** errors in the runtime context, e.g. invalid password, locked entity, etc., that do not require to stop program execution. This category of errors, also named **silent errors** errors, can be handled by regular code. When such errors occur in an error handling context, i.e. a [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or an [error-handling method](#installing-an-error-handling-method), they do not interrupt the execution and do not trigger the error handling (e.g. the `Catch` part of the [`Try/Catch`](#trycatchend-try) is not executed). They are not listed in the [`Last errors`](../commands/last-errors.md) collection. The error is only returned in the `status` and `statusText` properties of the returned object. It can be processed according to your business logic.
Many 4D class functions, such as [`entity.save()`](../API/EntityClass.md#save) or [`transporter.send()`](../API/SMTPTransporterClass.md#send), return a object containing *status* information. This object is used to store **predictable** errors in the runtime context, e.g. invalid password, locked entity, etc., that do not require to stop program execution. This category of errors, also named **silent errors** errors, can be handled by regular code. When such errors occur in an error handling context, i.e. a [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or an [error-handling method](#installing-an-error-handling-method), they do not interrupt the execution and do not trigger the error handling (e.g. the `Catch` part of the [`Try/Catch`](#trycatchend-try) is not executed). They are not listed in the [`Last errors`](../commands/last-errors.md) collection. El error sólo se devuelve en las propiedades `status` y `statusText` del objeto devuelto. It can be processed according to your business logic.

The other category of errors are **unpredictable** errors, also named **serious errors**. They include disk write error, network failure, or in general any unexpected interruption. This category of errors generates exceptions defined by [a *code*, a *message* and a *signature*](#error-codes). They interrupt the execution and trigger the error processing of the [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or [error-handling method](#installing-an-error-handling-method) features. They are listed in the [`Last errors`](../commands/last-errors.md) collection. Note that serious errors can also return values in the `status` and `statusText` properties, e.g. `dk status serious error` - "Other error".

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ En el servidor, el comando [`Session`](../commands/session.md) devuelve un objet

### Utilización

The `session` object allows you to handle information and privileges for the remote user session.
El objeto `session` permite manejar la información y los privilegios de la sesión del usuario remoto.

Puede compartir datos entre todos los procesos de la sesión del usuario utilizando el objeto compartido [`session.storage`](../API/SessionClass.md#storage). Por ejemplo, puede iniciar un procedimiento de autenticación y verificación de usuario cuando un cliente se conecta al servidor, que involucra ingresar un código enviado por correo electrónico o SMS en la aplicación. A continuación, añada la información de usuario al almacenamiento de sesión, permitiendo al servidor identificar al usuario. De este modo, el servidor 4D puede acceder a la información del usuario para todos los procesos del cliente, lo que permite escribir código personalizado según el rol del usuario.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ You can use dedicated table forms and project methods to print labels with calcu
Here, in a table form named "label", we added the *myVar* variable:
![](../assets/en/Desktop/label-example1.png)

2. Create a `setMyVar` project method with the following code:
2. Crea un método proyecto llamado `setMyVar` con el siguiente código:

```4d
var myVar+=1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ The corresponding [JSON form property](./properties_JSONref.md) is `fluentUI` wi

When using 4D forms with Fluent UI rendering, you need to pay attention to the following points:

- The new `FORM Windows theme` command returns the actual display theme of the current form. Possible values: "Classic" or "FluentUI". If there is no current form or the command is called on macOS, and empty string is returned.
- El nuevo comando `FORM Windows theme` devuelve el tema de visualización actual del formulario. Possible values: "Classic" or "FluentUI". If there is no current form or the command is called on macOS, and empty string is returned.
- If [`GET STYLE SHEET INFO`](../commands-legacy/get-style-sheet-info.md) is called in the context of a form, the information returned relates to the current appearance of the form (Classic or FluentUI). If the command is called outside the context of a form, the information returned relates to the [global project settings](#application-setting).
- [`SET MENU ITEM STYLE`](../commands-legacy/set-menu-item-style.md) with `Underline` *itemStyle* parameter is not supported (ignored) for pop up menus.
- [Stepper](../FormObjects/stepper.md) form object does not support [double-click event](../Events/onDoubleClicked.md).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Por ejemplo, llamando al método `HelloWorld` en 4D:
$4d.HelloWorld();
```

> **Note:** JavaScript is **case-sensitive**, so the object is named **`$4d`** (with a lowercase "d").
> **Nota:** JavaScript es **sensible a mayúsculas**, así que el objeto se llama **`$4d`** (con una minúscula "d").

### Controlar el acceso a $4d

Expand Down Expand Up @@ -123,7 +123,7 @@ $4d.today(function(result)

En lugar de utilizar un método independiente, también podemos definir una **clase** que se encargue del cálculo.

Define the Class with 4D project method `calcSum` which receives parameters and returns their sum:
Defina la clase con el método proyecto 4D `calcSum` que recibe parámetros y devuelve su suma:

```4d
// SumCalculator user class
Expand Down
Loading
Loading