Saltar navegación

Documentación de FlexPro 2025

Acceso a la información de cabecera

FlexPro puede adjuntar una referencia a la información de cabecera de este objeto de datos a un valor FPScript que se origine a partir de un objeto de datos. Por lo tanto, puede acceder a los atributos del objeto de datos a través del valor. La información de cabecera corresponde a las propiedades del objetoValueObject, incluida la lista de parámetros. Si se pasa un valor FPScript de una fórmula a otra como argumento o valor de retorno, se puede acceder a la información de cabecera a través del valor sin necesidad de una referencia a objeto. FlexPro utiliza esta información de cabecera asignada a los datos, por ejemplo, al etiquetar ejes en un diagrama.

Cuando se asigna la información de cabecera de una fórmula a su valor de resultado, FlexPro tiene en cuenta el ajuste Información de cabecera en la pestaña Resultado de la fórmula. Aquí puede establecer si solo debe añadirse información de cabecera o si la información de cabecera existente también debe sustituirse o eliminarse.

Las funciones FPScript que solo modifican los datos pasados como argumento, por ejemplo las funciones de filtro, pasan la información de cabecera del argumento a su resultado. Lo mismo ocurre con las operaciones de índice para seleccionar un componente de datos o un elemento de lista.

El siguiente código utiliza la variable x para acceder al comentario del componente X del conjunto de datos cuyo valor contiene x:

Dim x = \Data\DataSet

x.CommentsX

También puede tener acceso de escritura a un atributo:

x.CommentsX = "Time"

x.UpperRangeLimitX = 1.3

En este caso, no se realiza el acceso de escritura al objeto de datos subyacente (en el ejemplo anterior \Data\DataSet). En su lugar, se asigna a x una copia local para la propiedad que se va a modificar, que luego se establece en el valor asignado. Puede volver a eliminar la copia local borrando la propiedad correspondiente:

x.CommentsX = ""

x.UpperRangeLimitX = ?

A continuación, los atributos correspondientes se eliminan del registro de datos durante los siguientes accesos de lectura.

Parámetros

La lista de parámetros siempre está disponible en su totalidad como copia local. Si se especifica un nombre para el acceso de escritura para el que todavía no existe ningún parámetro, éste se crea automáticamente.

x.Parameters("MyParam") = 1.3

Asigne el valor Vacío para volver a borrar un parámetro:

x.Parameters("MyParam") = Empty

Puede comprobar si un parámetro existe en la lista utilizando la propiedad index, que devuelve 0 si no existe:

x.Parameters.Index("MyParam")

El acceso de lectura a un parámetro solo devuelve su valor. Debe leer y asignar la unidad por separado:

ChangeUnit(x.Parameters("MyParam"), x.Parameters("MyParam").Unit)

Cálculos

Es posible el acceso de solo lectura a los cálculos. El acceso de lectura a un cálculo solo devuelve su valor. Debe leer y asignar la unidad por separado:

ChangeUnit(x.Calculations("MyCalculation"), x.Calculations("MyCalculation").Unit)

Puede comprobar si un cálculo existe en la lista utilizando la propiedad index, que devuelve 0 si no existe:

x.Calculations.Index("MyCalculation")

Listas

Las fórmulas que proporcionan como resultado una lista con varios registros de datos son una característica especial. Si la fórmula solo agrupa registros de datos en una lista, los elementos de la lista reciben la información de cabecera de los registros de datos de los que proceden:

Dim x = [Señal1, Señal2]
x.[0].Name devuelve "Señal1"

Nota Si devuelve una lista de este tipo como resultado de una fórmula y no quiere que la información de cabecera se sobrescriba con la de la fórmula, debe seleccionar Automático, Asignar solo si no está ya presente o No asignar nunca en el cuadro de lista Información de cabecera de la pestaña Resultado del cuadro de diálogo de propiedades de la fórmula.

Si la fórmula calcula un resultado y lo devuelve en forma de lista, la configuración de Nombres de los elementos de la lista en la pestaña Resultado de la fórmula determina cómo deben denominarse los elementos de esta lista. Los nombres de los elementos de la lista de los datos fuente calculados se incorporan a menudo a los nombres de los elementos de la lista del resultado y por lo tanto deben ser conocidos por FlexPro. Puede conseguirlo asignando los datos de origen a la variable local SourceData. FlexPro tiene esto en cuenta cuando asigna los nombres de los elementos después de calcular la fórmula.

Dim SourceData = [Señal1, Señal2]
Integral(SourceData)

x.[0].Name devuelve "Señal1Integral" si la opción Automático está activada en la pestaña Resultado de la fórmula y la propia fórmula se llama "Integral".

x.[0].CommentsX Si la opción Asignar siempre está activada en la pestaña Resultado de la fórmula, la expresión devuelve el comentario X de la fórmula en la que se encuentra el código FPScript. De lo contrario, devuelve el comentario X del conjunto de datos Señal1 porque la función Integral lo pasa a su resultado.

Si devuelve una lista como resultado de una fórmula, puede asignar la información de cabecera para cada elemento de la lista individualmente, por ejemplo, porque los elementos individuales deben formatearse de manera diferente:

Dim List = [<Date> '1.3.2024', <'Value'> 1.23 ]
List.Date.FormatY = "%(%d.%m.%Y)"
List.'Value'.FormatY = "%.3f"
return List

Componentes

Si una variable FPScript contiene un componente de un conjunto de datos compuesto, el componente correspondiente se utiliza por defecto para las propiedades para las que se puede especificar opcionalmente un componente como argumento si se omite el argumento:

Dim x = DataSet.X

x.Quantity corresponde a DataSet.Quantity(fpDataComponentX)

Así, es fácil acceder a los atributos del componente en cuestión.