Utilización de nombres de vía de acceso de campo para la recuperación de valores de campo

Un nombre de vía de acceso de campo proporciona la vía de acceso a una entidad denominada. Puede utilizar GetLocalFieldPathNames para un tipo de registro determinado y, a continuación, utilizar los nombres de vía de acceso devueltos para recuperar objetos FieldInfo y su contenido. Estas vías de acceso de campo utilizan una notación de vía de acceso con puntos (por ejemplo, "nombreCompleto.usuario").

Cuando se llama a GetFieldValue para obtener un objeto FieldInfo, normalmente, se realiza algo similar a lo siguiente para obtener el valor del objeto:

   Dim Owner 

   Owner = GetFieldValue("owner").GetValue() 

Si se desea obtener el nombre completo del propietario y no el nombre de inicio de sesión, se puede escribir lo siguiente:

   Dim MySession 

   Set MySession = GetSession() 

   Dim Owner 

   Owner = GetFieldValue("owner").GetValue() 

   Dim UserEntity 

   Set UserEntity = MySession.GetEntity("users", Owner) 

   Dim FullName 

   FullName = UserEntity.GetFieldValue("fullname").GetValue() 

Por medio de los nombres de vía de acceso de campo, se puede conseguir el mismo resultado, tal como se indica a continuación:

   Dim FullName 

   FullName = GetFieldValue("owner.fullname").GetValue() 

Por ejemplo, si un tipo de registro denominado Defect tiene un campo de referencia Cfield para un tipo de registro denominado Customer, y dicho tipo de registro tiene un campo de referencia Ufield a un tipo de registro User con un campo Name, la vía de acceso de campo de Name es la siguiente:

   "Defect\Cfield\Ufield\Name" 

El nombre de vía de acceso de campo (o "nombre con puntos") de Name es:

   Defect.Cfield.Ufield.Name 

Se puede utilizar este nombre de vía de acceso para recuperar el valor de Name. Por ejemplo, utilizando Perl:

   $defect->GetFieldValue("Cfield.Ufield.Name")->GetValue(); 

No se necesita utilizar el Defect inicial si ya se dispone de una variable ($defect) que haga referencia al Defect.


Comentarios