Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
f85e615
New translations mandata.md (French)
arnaud4d Aug 19, 2025
183ae5e
New translations dataclassclass.md (French)
arnaud4d Aug 19, 2025
8768931
New translations mandata.md (French)
arnaud4d Aug 19, 2025
e21beee
New translations method-list.md (French)
arnaud4d Aug 19, 2025
a39025c
New translations method-list.md (Spanish)
arnaud4d Aug 19, 2025
1389859
New translations method-list.md (Japanese)
arnaud4d Aug 19, 2025
971b0b9
New translations method-list.md (Portuguese, Brazilian)
arnaud4d Aug 19, 2025
e977b8b
New translations dataclassclass.md (French)
arnaud4d Aug 19, 2025
43f5627
New translations ordaclasses.md (French)
arnaud4d Aug 19, 2025
2bd7b1e
New translations $savedorderby.md (French)
arnaud4d Aug 19, 2025
7fc80ab
New translations $skip.md (French)
arnaud4d Aug 19, 2025
46b81fd
New translations $timeout.md (French)
arnaud4d Aug 19, 2025
77998b1
New translations $top_$limit.md (French)
arnaud4d Aug 19, 2025
1746052
New translations $upload.md (French)
arnaud4d Aug 19, 2025
2275779
New translations classfunctions.md (French)
arnaud4d Aug 19, 2025
55798f7
New translations rest_requests.md (French)
arnaud4d Aug 19, 2025
c00ed72
New translations configuration.md (French)
arnaud4d Aug 19, 2025
e9ded7e
New translations dataclass.md (French)
arnaud4d Aug 19, 2025
30888bf
New translations geninfo.md (French)
arnaud4d Aug 19, 2025
bf8f8d6
New translations mandata.md (French)
arnaud4d Aug 19, 2025
8c54830
New translations vp-find.md (French)
arnaud4d Aug 19, 2025
037feb0
New translations vp-find.md (Spanish)
arnaud4d Aug 19, 2025
5762c4a
New translations vp-find.md (Japanese)
arnaud4d Aug 19, 2025
cc1c436
New translations vp-find.md (Portuguese, Brazilian)
arnaud4d Aug 19, 2025
fa7912e
New translations vp-remove-table-columns.md (Spanish)
arnaud4d Aug 19, 2025
39302e4
New translations vp-remove-table-columns.md (Japanese)
arnaud4d Aug 19, 2025
c35223c
New translations vp-remove-table-columns.md (Portuguese, Brazilian)
arnaud4d Aug 19, 2025
5b69865
New translations $singleton.md (French)
arnaud4d Aug 19, 2025
a78f97a
New translations http-request-handler.md (French)
arnaud4d Aug 19, 2025
2981ba9
New translations dataclassclass.md (French)
arnaud4d Aug 19, 2025
08e12d0
New translations ordaclasses.md (French)
arnaud4d Aug 19, 2025
6ceb0b1
New translations $savedorderby.md (French)
arnaud4d Aug 19, 2025
bfdc6e3
New translations $singleton.md (French)
arnaud4d Aug 19, 2025
5a00dd1
New translations $skip.md (French)
arnaud4d Aug 19, 2025
a97bef0
New translations $timeout.md (French)
arnaud4d Aug 19, 2025
30d3d8b
New translations $top_$limit.md (French)
arnaud4d Aug 19, 2025
ed8f215
New translations $upload.md (French)
arnaud4d Aug 19, 2025
cb80300
New translations classfunctions.md (French)
arnaud4d Aug 19, 2025
2d63308
New translations rest_requests.md (French)
arnaud4d Aug 19, 2025
aa903c6
New translations configuration.md (French)
arnaud4d Aug 19, 2025
802d2ed
New translations dataclass.md (French)
arnaud4d Aug 19, 2025
2079ca5
New translations geninfo.md (French)
arnaud4d Aug 19, 2025
3142f88
New translations mandata.md (French)
arnaud4d Aug 19, 2025
bceb99c
New translations vp-find.md (French)
arnaud4d Aug 19, 2025
6f5eb6f
New translations vp-find.md (Spanish)
arnaud4d Aug 19, 2025
62c7863
New translations vp-find.md (Japanese)
arnaud4d Aug 19, 2025
8ce6fa4
New translations vp-find.md (Portuguese, Brazilian)
arnaud4d Aug 19, 2025
3be98ca
New translations vp-remove-table-columns.md (Spanish)
arnaud4d Aug 19, 2025
3dfa665
New translations vp-remove-table-columns.md (Japanese)
arnaud4d Aug 19, 2025
ce288fa
New translations vp-remove-table-columns.md (Portuguese, Brazilian)
arnaud4d Aug 19, 2025
6554095
New translations http-request-handler.md (French)
arnaud4d Aug 19, 2025
4e383c2
New translations orda-events.md (French)
arnaud4d Aug 19, 2025
874430e
New translations orda-events.md (Spanish)
arnaud4d Aug 19, 2025
3d556ad
New translations orda-events.md (Japanese)
arnaud4d Aug 19, 2025
1866982
New translations orda-events.md (Portuguese, Brazilian)
arnaud4d Aug 19, 2025
c4c3963
New translations dataclassclass.md (French)
arnaud4d Aug 19, 2025
0b5a74b
New translations orda-events.md (French)
arnaud4d Aug 19, 2025
13bc418
New translations orda-events.md (Spanish)
arnaud4d Aug 19, 2025
154d3eb
New translations orda-events.md (Japanese)
arnaud4d Aug 19, 2025
3159097
New translations orda-events.md (Portuguese, Brazilian)
arnaud4d Aug 19, 2025
c609ed0
New translations ordaclasses.md (French)
arnaud4d Aug 19, 2025
b2c9f67
New translations $savedorderby.md (French)
arnaud4d Aug 19, 2025
76b2cc5
New translations $singleton.md (French)
arnaud4d Aug 19, 2025
d005ee7
New translations $skip.md (French)
arnaud4d Aug 19, 2025
1260b7c
New translations $timeout.md (French)
arnaud4d Aug 19, 2025
591e041
New translations $top_$limit.md (French)
arnaud4d Aug 19, 2025
78b2921
New translations $upload.md (French)
arnaud4d Aug 19, 2025
967f0fd
New translations classfunctions.md (French)
arnaud4d Aug 19, 2025
0d20594
New translations rest_requests.md (French)
arnaud4d Aug 19, 2025
98da401
New translations configuration.md (French)
arnaud4d Aug 19, 2025
26dd40c
New translations dataclass.md (French)
arnaud4d Aug 19, 2025
6d66fea
New translations geninfo.md (French)
arnaud4d Aug 19, 2025
0ea5193
New translations mandata.md (French)
arnaud4d Aug 19, 2025
5deb4e2
New translations vp-find.md (French)
arnaud4d Aug 19, 2025
4ebee36
New translations vp-find.md (Spanish)
arnaud4d Aug 19, 2025
3e695f0
New translations vp-find.md (Japanese)
arnaud4d Aug 19, 2025
4da8ee6
New translations vp-find.md (Portuguese, Brazilian)
arnaud4d Aug 19, 2025
941c7cd
New translations vp-remove-table-columns.md (Spanish)
arnaud4d Aug 19, 2025
81f00ec
New translations vp-remove-table-columns.md (Japanese)
arnaud4d Aug 19, 2025
92024f7
New translations vp-remove-table-columns.md (Portuguese, Brazilian)
arnaud4d Aug 19, 2025
314d9fa
New translations http-request-handler.md (French)
arnaud4d Aug 19, 2025
97c83e1
New translations wa-set-context.md (Spanish)
arnaud4d Aug 19, 2025
a0f518d
New translations string.md (Spanish)
arnaud4d Aug 19, 2025
21b25a9
New translations mandata.md (French)
arnaud4d Aug 19, 2025
d0acd8c
New translations wa-set-context.md (Spanish)
arnaud4d Aug 19, 2025
b06e3ae
New translations wa-set-context.md (Spanish)
arnaud4d Aug 19, 2025
57ed9a2
New translations classes.md (Spanish)
arnaud4d Aug 19, 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
65 changes: 61 additions & 4 deletions i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,14 +127,71 @@ Function event touched($event : Object)

#### Ejemplo 2

The "touched" event is useful in situations where certain [computed attributes](../ORDA/ordaClasses.md#computed-attributes) result in costly processing due to their sequential execution. Adding an attribute linked to this event to store a state based on a comparison on the current value of underlying attributes can improve performance and enable optimized searches via indexes. Por ejemplo:
The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes).

This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity, you must use formulas in the returned ORDA query -- which triggers sequential queries.

To fully understand this case, let's examine the following two calculated attributes:

```4d
exposed Function get sameDay(): Boolean
return (This.departureDate = This.arrivalDate)
Function get onGoing() : Boolean
return ((This.departureDate<=Current date) & (This.arrivalDate>=Current date))

Function get sameDay() : Boolean
return (This.departureDate=This.arrivalDate)
```

Even though they are very similar, these functions cannot be associated with identical queries because they do not compare the same types of values. The first compares attributes to a given value, while the second compares attributes to each other.

- For the *onGoing* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function is simple to write and uses indexed attributes:

```4d
Function query onGoing($event : Object) : Object
var $operator : Text
var $myQuery : Text
var $onGoingValue : Boolean
var $parameters : Collection
$parameters:=New collection()

$operator:=$event.operator
Case of
: (($operator="=") | ($operator="==") | ($operator="==="))
$onGoingValue:=Bool($event.value)
: (($operator="!=") | ($operator="!=="))
$onGoingValue:=Not(Bool($event.value))
Else
return {query: ""; parameters: $parameters}
End case

$myQuery:=($onGoingValue) ? "departureDate <= :1 AND arrivalDate >= :1" : "departureDate > :1 OR arrivalDate < :1"
// the ORDA query string uses indexed attributes, it will be indexed
$parameters.push(Current date)
return {query: $myQuery; parameters: $parameters}
```

- For the *sameDay* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function requires an ORDA query based on formulas and will be sequential:

```4d
Function query sameDay($event : Object) : Text
var $operator : Text
var $sameDayValue : Boolean

$operator:=$event.operator
Case of
: (($operator="=") | ($operator="==") | ($operator="==="))
$sameDayValue:=Bool($event.value)
: (($operator="!=") | ($operator="!=="))
$sameDayValue:=Not(Bool($event.value))
Else
return ""
End case

return ($sameDayValue) ? "eval(This.departureDate != This.arrivalDate)” : "eval(This.departureDate = This.arrivalDate)"
// the ORDA query string uses a formula attributes, it will be indexed

```

This code can lead to time-consuming queries because the search is sequential due to the nature of the computed attribute. Using a non-computed *sameDay* attribute updated when other attributes are touched will save time:
- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:

```4d
//BookingEntity class
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: VP Find

<!-- REF #_method_.VP Find.Syntax -->

**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object ; *replaceValue* : Text ) : Object<!-- END REF -->
**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object } ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object ; *replaceValue* : Text ) : Object<!-- END REF -->

<!-- REF #_method_.VP Find.Params -->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ title: VP REMOVE TABLE COLUMNS

<!-- REF #_method_.VP REMOVE TABLE COLUMNS.Syntax -->

**VP REMOVE TABLE COLUMNS** ( *vpAreaName* : Text ; *tableName* : Text ; *column* : Integer {; *count* : Integer {; *sheet* : Integer }} )<!-- END REF -->
**VP REMOVE TABLE COLUMNS** ( *vpAreaName* : Text ; *tableName* : Text ; *column* : Integer {; *count* : Integer {; *sheet* : Integer }}} )<!-- END REF -->

<!-- REF #_method_.VP REMOVE TABLE COLUMNS.Params -->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,9 @@ Los formatos pueden variar en función de la configuración del sistema.

#### Parámetro *addTime*

Al procesar expresiones de fecha, también puede pasar una hora en el parámetro *addTime*. Este parámetro permite combinar una fecha con una hora para generar marcas de tiempo conformes a las normas vigentes (constantes ISO Date GMT y Date RFC 1123). These formats are particularly useful in the context of xml and Web processing. The *addTime* parameter can only be used when the *expression* parameter is a date.
Al procesar expresiones de fecha, también puede pasar una hora en el parámetro *addTime*. Este parámetro permite combinar una fecha con una hora para generar marcas de tiempo conformes a las normas vigentes (constantes ISO Date GMT y Date RFC 1123). Estos formatos son especialmente útiles en el contexto del procesamiento xml y Web. El parámetro *addTime* solo puede utilizarse cuando el parámetro *expression* es una fecha.

This parameter can be used with both predefined or pattern-based date formats. Ejemplos:
Este parámetro puede utilizarse con formatos de fecha predefinidos o basados en patrones. Ejemplos:

```4d
 $dateTime:=String(!2010-09-09!;ISO date GMT;Current time) //"2010-09-09T08:30:41Z"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,21 @@ title: WA SET CONTEXT
| ---------- | -------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| \* | Operador | &#8594; | Si se especifica, *object* es un nombre de objeto (cadena). Si se omite, *object* es una variable. |
| object | any | &#8594; | Nombre del objeto (si se especifica \*) o Variable (si se omite \*). |
| contextObj | Object | &#8594; | Object containing the functions that can be called with `$4d`. |
| contextObj | Object | &#8594; | Objeto que contiene las funciones que se pueden llamar con `$4d`. |

<!-- END REF-->

### Descripción

El comando `WA SET CONTEXT` <!--REF #_command_.WA SET CONTEXT.Summary--> define un objeto contextual *contextObj* para `$4d` en el área Web designado por los parámetros \* y *object*. When this command is used, `$4d` can only access contents declared within the provided *contextObj*. When no context object is set, `$4d` has access to all 4D methods and can not access user classes.<!-- END REF-->
El comando `WA SET CONTEXT` <!--REF #_command_.WA SET CONTEXT.Summary--> define un objeto contextual *contextObj* para `$4d` en el área Web designado por los parámetros \* y *object*. Cuando se utiliza este comando, `$4d` sólo puede acceder a los contenidos declarados dentro del *contextObj* proporcionado. Cuando no se establece ningún objeto contexto, `$4d` tiene acceso a todos los métodos 4D y no puede acceder a las clases usuario.<!-- END REF-->

:::note

The command is only usable with an embedded web area where the [**Use embedded web rendering engine**](../FormObjects/properties_WebArea.md#use-embedded-web-rendering-engine) and **Access 4D methods** parameters are set to `true`.
El comando solo es utilizable con un área web integrada en la que los parámetros [**Utilizar el motor de renderizado web integrado**](../FormObjects/properties_WebArea.md#use-embedded-web-rendering-engine) y **Acceder a los métodos 4D** estén configurados como `true`.

:::

Pass in *contextObj* user class instances or formulas to be allowed in `$4d` as objects. Class functions that begin with `_` are considered hidden and cannot be used with `$4d`.
Pasar en *contextObj* las instancias de clases usuario o las fórmulas a autorizar en `$4d` como objetos. Las funciones de clase que empiezan por `_` se consideran ocultas y no pueden utilizarse con `$4d`.

- Si *contextObj* es null, `$4d` tiene acceso a todos los métodos 4D.
- Si *contextObj* está vacío, `$4d` no tiene acceso.
Expand All @@ -45,9 +45,9 @@ Permitir `$4d` a métodos específicos
**En JavaScript:**

```js
$4d.myMethod(); // Allowed
$4d.myMethod2(); // Allowed
$4d.someOtherMethod(); // Not accessible
$4d.myMethod(); // Permitido
$4d.myMethod2(); // Permitido
$4d.someOtherMethod(); // No accesible
```

### Ejemplo 2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ En las diferentes ventanas 4D (editor de código, compilador, depurador, explora
- una función de clase es un bloque de código
- **Ir a la definición** en un objeto miembro busca las declaraciones de función de clase; por ejemplo, "$o.f()" encontrará "Function f".
- **Buscar referencias** en la declaración de función de clase busca la función utilizada como miembro de objeto; por ejemplo, "Function f" encontrará "$o.f()".
- In the Runtime explorer and Debugger, class functions are displayed with the `<ClassName>` constructor or `<ClassName>.<FunctionName>` formato.
- En el explorador de tiempo de ejecución y en el depurador, las funciones de clase se muestran con el `<ClassName>` constructor o `<ClassName>.<FunctionName>` el formato.

## Class stores

Expand Down Expand Up @@ -232,7 +232,7 @@ Function getFullname()->$fullname : Text
$fullname:=This.firstName+" "+Uppercase(This.lastName)
```

For a class function, the `Current method name` command returns: `<ClassName>.<FunctionName>`, por ejemplo "MyClass.myFunction".
Para una función de clase, el comando `Current method name` devuelve: `<ClassName>.<FunctionName>`, por ejemplo "MyClass.myFunction".

En el código de la aplicación, las funciones de clases se llaman como los métodos miembros de las instancias de objetos y pueden recibir [parámetros](#parameters) si los hay. Se soportan las siguientes sintaxis:

Expand Down Expand Up @@ -774,7 +774,7 @@ Se declaran clases singleton añadiendo la(s) palabra(s) clave(s) apropiada(s) a

:::

The class singleton is instantiated at the first call of the [`cs.<class>.me`](../API/ClassClass.md#me) property. El singleton instanciado de la clase se devuelve siempre cuando se utiliza la propiedad [`me`](../API/ClassClass.md#me).
El singleton de la clase se instanciará en la primera llamada del comando [`cs.<class>.me`](../API/ClassClass.md#me) property. El singleton instanciado de la clase se devuelve siempre cuando se utiliza la propiedad [`me`](../API/ClassClass.md#me).

Si necesita instanciar un singleton con parámetros, también puede llamar la función [`new()`](../API/ClassClass.md#new). En este caso, se recomienda instanciar el singleton en algún código ejecutado al inicio de la aplicación.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,14 +127,71 @@ Function event touched($event : Object)

#### Ejemplo 2

The "touched" event is useful in situations where certain [computed attributes](../ORDA/ordaClasses.md#computed-attributes) result in costly processing due to their sequential execution. Adding an attribute linked to this event to store a state based on a comparison on the current value of underlying attributes can improve performance and enable optimized searches via indexes. Por ejemplo:
The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes).

This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity, you must use formulas in the returned ORDA query -- which triggers sequential queries.

To fully understand this case, let's examine the following two calculated attributes:

```4d
exposed Function get sameDay(): Boolean
return (This.departureDate = This.arrivalDate)
Function get onGoing() : Boolean
return ((This.departureDate<=Current date) & (This.arrivalDate>=Current date))

Function get sameDay() : Boolean
return (This.departureDate=This.arrivalDate)
```

Even though they are very similar, these functions cannot be associated with identical queries because they do not compare the same types of values. The first compares attributes to a given value, while the second compares attributes to each other.

- For the *onGoing* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function is simple to write and uses indexed attributes:

```4d
Function query onGoing($event : Object) : Object
var $operator : Text
var $myQuery : Text
var $onGoingValue : Boolean
var $parameters : Collection
$parameters:=New collection()

$operator:=$event.operator
Case of
: (($operator="=") | ($operator="==") | ($operator="==="))
$onGoingValue:=Bool($event.value)
: (($operator="!=") | ($operator="!=="))
$onGoingValue:=Not(Bool($event.value))
Else
return {query: ""; parameters: $parameters}
End case

$myQuery:=($onGoingValue) ? "departureDate <= :1 AND arrivalDate >= :1" : "departureDate > :1 OR arrivalDate < :1"
// the ORDA query string uses indexed attributes, it will be indexed
$parameters.push(Current date)
return {query: $myQuery; parameters: $parameters}
```

- For the *sameDay* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function requires an ORDA query based on formulas and will be sequential:

```4d
Function query sameDay($event : Object) : Text
var $operator : Text
var $sameDayValue : Boolean

$operator:=$event.operator
Case of
: (($operator="=") | ($operator="==") | ($operator="==="))
$sameDayValue:=Bool($event.value)
: (($operator="!=") | ($operator="!=="))
$sameDayValue:=Not(Bool($event.value))
Else
return ""
End case

return ($sameDayValue) ? "eval(This.departureDate != This.arrivalDate)” : "eval(This.departureDate = This.arrivalDate)"
// the ORDA query string uses a formula attributes, it will be indexed

```

This code can lead to time-consuming queries because the search is sequential due to the nature of the computed attribute. Using a non-computed *sameDay* attribute updated when other attributes are touched will save time:
- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:

```4d
//BookingEntity class
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: VP Find

<!-- REF #_method_.VP Find.Syntax -->

**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object ; *replaceValue* : Text ) : Object<!-- END REF -->
**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object } ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object ; *replaceValue* : Text ) : Object<!-- END REF -->

<!-- REF #_method_.VP Find.Params -->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ title: VP REMOVE TABLE COLUMNS

<!-- REF #_method_.VP REMOVE TABLE COLUMNS.Syntax -->

**VP REMOVE TABLE COLUMNS** ( *vpAreaName* : Text ; *tableName* : Text ; *column* : Integer {; *count* : Integer {; *sheet* : Integer }} )<!-- END REF -->
**VP REMOVE TABLE COLUMNS** ( *vpAreaName* : Text ; *tableName* : Text ; *column* : Integer {; *count* : Integer {; *sheet* : Integer }}} )<!-- END REF -->

<!-- REF #_method_.VP REMOVE TABLE COLUMNS.Params -->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,21 @@ title: WA SET CONTEXT
| ---------- | -------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| \* | Operador | &#8594; | Si se especifica, *object* es un nombre de objeto (cadena). Si se omite, *object* es una variable. |
| object | any | &#8594; | Nombre del objeto (si se especifica \*) o Variable (si se omite \*). |
| contextObj | Object | &#8594; | Object containing the functions that can be called with `$4d`. |
| contextObj | Object | &#8594; | Objeto que contiene las funciones que se pueden llamar con `$4d`. |

<!-- END REF-->

### Descripción

El comando `WA SET CONTEXT` <!--REF #_command_.WA SET CONTEXT.Summary--> define un objeto contextual *contextObj* para `$4d` en el área Web designado por los parámetros \* y *object*. When this command is used, `$4d` can only access contents declared within the provided *contextObj*. When no context object is set, `$4d` has access to all 4D methods and can not access user classes.<!-- END REF-->
El comando `WA SET CONTEXT` <!--REF #_command_.WA SET CONTEXT.Summary--> define un objeto contextual *contextObj* para `$4d` en el área Web designado por los parámetros \* y *object*. Cuando se utiliza este comando, `$4d` sólo puede acceder a los contenidos declarados dentro del *contextObj* proporcionado. Cuando no se establece ningún objeto contexto, `$4d` tiene acceso a todos los métodos 4D y no puede acceder a las clases usuario.<!-- END REF-->

:::note

The command is only usable with an embedded web area where the [**Use embedded web rendering engine**](../FormObjects/properties_WebArea.md#use-embedded-web-rendering-engine) and **Access 4D methods** parameters are set to `true`.

:::

Pass in *contextObj* user class instances or formulas to be allowed in `$4d` as objects. Class functions that begin with `_` are considered hidden and cannot be used with `$4d`.
Pasar en *contextObj* las instancias de clases usuario o las fórmulas a autorizar en `$4d` como objetos. Las funciones de clase que empiezan por `_` se consideran ocultas y no pueden utilizarse con `$4d`.

- Si *contextObj* es null, `$4d` tiene acceso a todos los métodos 4D.
- Si *contextObj* está vacío, `$4d` no tiene acceso.
Expand All @@ -45,9 +45,9 @@ Permitir `$4d` a métodos específicos
**En JavaScript:**

```js
$4d.myMethod(); // Allowed
$4d.myMethod2(); // Allowed
$4d.someOtherMethod(); // Not accessible
$4d.myMethod(); // Permitido
$4d.myMethod2(); // Permitido
$4d.someOtherMethod(); // No accesible
```

### Ejemplo 2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: VP Find

<!-- REF #_method_.VP Find.Syntax -->

**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object ; *replaceValue* : Text ) : Object<!-- END REF -->
**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object } ) : Object<br/>**VP Find** ( *rangeObj* : Object ; *searchValue* : Text ; *searchCondition* : Object ; *replaceValue* : Text ) : Object<!-- END REF -->

<!-- REF #_method_.VP Find.Params -->

Expand Down
Loading
Loading