Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
This

This  


 

This -> Resultado 
Parámetro Tipo   Descripción
Resultado  Objeto in El elemento actual

El comando This devuelve una referencia al objeto procesado actualmente.

El comando está diseñado para utilizarse en los siguientes contextos:

  • un list box asociado a una colección o una selección de entidades, durante los eventos On Display Detail o On Data Change.
    En este contexto, el comando devuelve una referencia al elemento de colección o la entidad a la cual el list box accede para mostrar la línea actual.
    Nota: si utiliza una colección de valores escalares en un listbox, 4D crea un objeto para cada elemento con una sola propiedad valor. Por lo tanto, el valor del elemento está disponible a través de la expresión no asignable This.value.
  • La ejecución de un objeto de fórmula creado por los comandos Formula o Formula from string.
    En este contexto, el comando devuelve una referencia al objeto procesado actualmente por la fórmula.

En cualquier otro contexto, el comando devuelve Null.
En contextos soportados, puede acceder a todas las propiedades de los elementos o todos los atributos de entidades vía This.<propertyPath>. Por ejemplo, This.name o This.employer.lastName son rutas de propiedades de elementos o de entidades (atributos) validos.

Una colección de objetos, cada uno con esta estructura:

{  
"ID": 1234
"name": "Xavier",  
"revenues": 47300,  
"employees": [  
             "Allan",  
             "Bob", 
             "Charlie"  
            ] 
},{  
"ID": 2563
"name": "Carla",  
"revenues": 55000,  
"isFemale": true
"employees": [  
             "Igor",  
             "Jane"  
            ] 
},...
 

En el list box, cada columna se refiere a una de las propiedades del objeto, ya sea directamente (This.name), indirectamente (This.employees.length), o mediante una expresión (getPicture) en la que se puede usar directamente. El list box se ve así:

El método proyecto GetPicture se ejecuta automáticamente durante el evento On display detail:

  //Método GetPicture
 C_PICTURE($0)
 If(This.isFemale)
    $0:=Form.genericFemaleImage
 Else
    $0:=Form.genericMaleImage
 End if

Una vez el formulario se ejecuta, puede ver el resultado:

Usted quiere mostrar las siguientes estructuras en un list box:

Cree un list box de tipo "Colección o entity selection" con la siguiente definición:

Tenga en cuenta que:

  • This.ID, This.Title y This.Date directly se refieren directamente a los atributos correspondientes en la clase de datos ds.Event.
  • This.meetings es un atributo relacional (basado en el nombre de relación Unos A Muchos) que devuelve una selección de entidades de la clase de datos ds.Meeting.
  • Form.eventList es la selección de entidades que se asocia al list box. El código de inicialización se puede poner en el evento formulario On load:
     Case of
        :(Form event code=On Load)
           Form.eventList:=ds.Event.all() //devuelve una selección de entidades con todas las entidades
     End case

Una vez se ejecuta el formulario, el list box se llena automáticamente con la selección de entidades:

Desea utilizar un método proyecto como una fórmula encapsulada en un objeto:

 C_OBJECT($person)
 $person:=New object
 $person.firstName:="John"
 $person.lastName:="Smith"
 $person.greeting:=Formula(Greeting)
 $g:=$person.greeting("hello") // devuelve "hello John Smith"
 $g:=$person.greeting("hi") // devuelve "hi John Smith"

Con el método proyecto Greeting:

 C_TEXT($0;$1)
 $0:=$1+" "+This.firstName+" "+This.lastName

 



Ver también 

Self
Super

 
PROPIEDADES 

Producto: 4D
Tema: Lenguaje
Número 1470

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v17
Modificado: 4D v17 R3

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)