Record.ReorderFields

La función Record.ReorderFields devuelve un registro tras reordenar sus campos.

Sintaxis

Record.ReorderFields(
    record as record,
    fieldOrder as list,
    optional missingField as nullable number
) as record

Parámetros
  • record: registro cuyos campos se desean reordenar
  • fieldOrder: lista con los campos a reordenar en el orden deseado
  • missingField: (opcional) criterio a seguir cuando no exista el campo a reordenar
Información adicional

Los campos no incluidos en el argumento fieldOrder se mantienen en su posición inicial.

Si alguno de los campos incluidos en el argumento fieldOrder 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.

Ejemplos

Si partimos del registro [name="Tom", id=1, city="London", country="UK"], podemos modificar el orden de los campos "name", "city" y "country" a "country", "city" y "name" con la siguiente expresión:

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

Record

Función M Record.ReorderFields

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

Función M Record.ReorderFields

Obsérvese que el campo "id" se mantiene en su posición original.

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

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

Error

Función M Record.ReorderFields

Este comportamiento puede modificarse incluyendo el argumento missingField. Si éste toma el valor MissingField.Error, la función devuelve un error (es el comportamiento por defecto). Si toma el valor MissingField.Ignore, la función simplemente ignora los campos inexistentes:

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

Record

Función M Record.ReorderFields

En este caso el registro devuelto es el siguiente:

Función M Record.ReorderFields

Comprobamos que el supuesto campo "location" se ha ignorado y solo se han reordenado los campos "country" y "name".

Por último, si se incluye como tercer argumento el valor MissingField.UseNull, el campo inexistente se crea y recibe el valor null:

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

Record

Función M Record.ReorderFields

El registro devuelto es el siguiente:

Función M Record.ReorderFields
Categoría
Funciones de registro
Submitted by admin on Tue, 08/04/2020 - 09:51