Record.SelectFields

La función Record.SelectFields devuelve un registro incluyendo un subconjunto de sus campos.

Sintaxis

Record.SelectFields(
    record as record,
    fields as any,
    optional missingField as nullable number
) as record

Parámetros
  • record: registro del que seleccionar los campos
  • fields: campo o campos a seleccionar
  • missingField: (opcional) criterio a seguir cuando no exista el campo a seleccionar
Información adicional

Si alguno de los campos no existe, por defecto se devuelve un error, pero este comportamiento puede controlarse añadiendo el argumento missingField. Éste puede tomar los valores MissingField.ErrorMissingField.UseNull o MissingField.Ignore. Véanse ejemplos más adelante.

El argumento fields puede ser una cadena de texto conteniendo el nombre del campo buscado, o una lista de nombres de campos.

En el caso de que dicho argumento se trate de una lista de campos, el orden en el que aparezcan éstos será el que determine el orden de los campos en el registro devuelto por la función.

Ejemplos

Podemos extraer el campo "name" del registro [id=1, name="Tom", city="London"] con la siguiente expresión:

Record.SelectFields(
    [id=1, name="Tom", city="London"],
    "name"
)

Record

Función M Record.SelectFields

Un clic en el enlace Record nos muestra el registro devuelto:

Función M Record.SelectFields

Si queremos seleccionar dos o más campos, el argumento fields deberá ser una lista conteniendo sus nombres:

Record.SelectFields(
    [id=1, name="Tom", city="London"],
    {"name", "city"}
)

Record

Función M Record.SelectFields

El registro devuelto es el siguiente:

Función M Record.SelectFields

Obsérvese que el orden de los campos en el registro devuelto es el especificado en el argumento fields. Así, si en el ejemplo anterior cambiamos el orden de los registros seleccionados...

Record.SelectFields(
    [id=1, name="Tom", city="London"],
    {"city", "name"}
)

Record

Función M Record.SelectFields

...el registro devuelto por la función incluye sus campos en el orden indicado:

Función M Record.SelectFields

Si alguno de los campos no existe, la función devuelve un mensaje de error:

Record.SelectFields(
    [id=1, name="Tom", city="London"],
    {"name", "location"}
)

Error

Función M Record.SelectFields

Este comportamiento puede modificarse añadiendo el argumento missingField. Si éste toma el valor MissingField.Error, la función devuelve un error cuando algún campo no exista (es el comportamiento por defecto). Si toma el valor MissingField.Ignore, simplemente se ignoran los campos inexistentes:

Record.SelectFields(
    [id=1, name="Tom", city="London"],
    {"name", "location"},
    MissingField.Ignore
)

Record

Función M Record.SelectFields

El registro devuelto es el siguiente:

Función M Record.SelectFields

Por último, si toma el valor MissingField.UseNull, el campo inexistente se crea y se le asocia el valor null:

Record.SelectFields(
    [id=1, name="Tom", city="London"],
    {"name", "location"},
    MissingField.UseNull
)

Record

Función M Record.SelectFields

En este caso, el registro devuelto es el mostrado en la siguiente imagen:

Función M Record.SelectFields
Categoría
Funciones de registro
Enviado por admin el Mar, 04/08/2020 - 10:15