Saltar al contenido principal
Versión: 20 R6

VP SET CUSTOM FUNCTIONS

VP SET CUSTOM FUNCTIONS ( vpAreaName : Text ; formulaObj : Object )

ParámetrosTipoDescripción
vpAreaNameText->Nombre de objeto formulario área 4D View Pro
formulaObjObject->Objeto fórmula

Descripción

El comando VP SET CUSTOM FUNCTIONS designa las fórmulas 4D que pueden ser llamadas directamente desde las fórmulas de 4D View Pro. Dado que las funciones personalizadas no se almacenan en el documento, VP SET CUSTOM FUNCTIONS debe ejecutarse en el evento de formulario On Load.

Las fórmulas especificadas por VP SET CUSTOM FUNCTIONS aparecen en un menú emergente cuando se introduce la primera letra de su nombre. Ver la página Fórmulas y funciones.

Si se llama varias veces a VP SET CUSTOM FUNCTIONS para la misma área, en la misma sesión, sólo se tiene en cuenta la última llamada.

Pase el nombre del área de 4D View Pro en vpAreaName. Si pasa un nombre que no existe, se devuelve un error.

En el parámetro formulaObj, pase un objeto que contenga las fórmulas 4D que pueden ser llamadas desde las fórmulas 4D View Pro así como las propiedades adicionales. Cada propiedad customFunction pasada en formulaObj se convierte en el nombre de una función en el área 4D View Pro.

PropiedadTipoDescripción
<customFunction>ObjectDefinición de la función personalizada. <customFunction> define el nombre de la función personalizada que se mostrará en las fórmulas 4D View Pro (no se permiten espacios)
formulaObjectObjeto fórmula 4D (obligatorio). Ver el comando Formula.
parametersColección de objetosColección de parámetros (en el orden en que están definidos en la fórmula). Para más información, consulte la sección Parámetros.
[ ].nameTextNombre del parámetro a mostrar en 4D View Pro
[ ].typeNumberTipo de parámetro. Tipos soportados:
  • Is Boolean
  • Is collection
  • Is date
  • Is Integer
  • Is object
  • Is real
  • Is text
  • Is time
  • *type* puede omitirse o puede pasarse el valor por defecto (-1) (excepto cuando al menos un parámetro es de tipo collection, en cuyo caso la declaración del tipo del parámetro es obligatoria). <br/>Si se omite *type* o -1, el valor se envía automáticamente con su tipo, excepto los valores de fecha u hora que se envían como un objeto. Si *type* es Is object, el objeto es enviado en una propiedad .value`. Ver la sección Parámetros.
    summaryTextDescripción de la Fórmula a mostrar en 4D View Pro
    minParamsNumberNúmero mínimo de parámetros
    maxParamsNumberNúmero máximo de parámetros. Pasar un número superior a la longitud de los parámetros permite declarar parámetros "opcionales" con tipo por defecto

    ATENCIÓN

    • En cuanto se llama a VP SET CUSTOM FUNCTIONS, los métodos permitidos por el comando VP SET ALLOWED METHODS (si los hay) son ignorados en el área 4D View Pro.
    • En cuanto se llama a VP SET CUSTOM FUNCTIONS, las funciones basadas en los comandos SET TABLE TITLES y SET FIELD TITLES son ignoradas en el área 4D View Pro.

    Ejemplo

    Desea utilizar objetos fórmula en un área 4D View Pro para añadir números, recuperar el apellido y el sexo de un cliente y el mes pico de la empresa:

    Case of
    :(FORM Event.code=On Load)

    var $o : Object
    $o:=New object

    // Define la función "addnum" de un método llamado "addnum"
    $o.addnum:=New object
    $o.addnum.formula:=Formula(addnum)
    $o.addnum.parameters:=New collection
    $o.addnum.parameters.push(New object("name";"num1";"type";Is Integer))
    $o.addnum.parameters.push(New object("name";"num2";"type";Is Integer))

    // Definir la función "ClientLastName" desde un campo base de datos
    $o.ClientLastName:=New object
    $o.ClientLastName.formula:=Formula([Customers]lastname)
    $o.ClientLastName.summary:="Lastname of the current client"

    // Define la función "label" de una expresión 4D con un parámetro
    $o.label:=New object
    $o.label.formula:=Formula(ds.Customers.get($1).label)
    $o.label.parameters:=New collection
    $o.label.parameters.push(New object("name";"ID";"type";Is Integer))

    // Define la función "AverageValues" de un método llamado "AverageValues"
    $o.AverageValues:=New object
    $o.AverageValues.formula:=Formula(AverageValues)
    $o.AverageValues.parameters:=New collection
    $o.AverageValues.parameters.push(New object("name";"Mycollection";"type";Is collection))

    // Define la función "Title" de una variable llamada "Title"
    $o.Title:=New object
    $o.Title.formula:=Formula(Title)

    VP SET CUSTOM FUNCTIONS("ViewProArea";$o)

    End case

    Ver también

    4D functions
    VP SET ALLOWED METHODS
    4D View Pro: enhancement of custom functions (blog post)