Saltar al contenido principal
Versión: 20 R6 BETA

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. Supported types:
  • Is Boolean
  • Is collection
  • Is date
  • Is Integer
  • Is object
  • Is real
  • Is text
  • Is time
  • type can be omitted or the default value (-1) can be passed (except when at least one parameter is of collection type, in which case parameter's type declaration is mandatory).
    If type is omitted or -1, the value is automatically sent with its type, except date or time values which are sent as an object. 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

    • As soon as VP SET CUSTOM FUNCTIONS is called, the methods allowed by the VP SET ALLOWED METHODS command (if any) are ignored in the 4D View Pro area.
    • 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 "addnum" function from a method named "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))

    // Define "ClientLastName" function from a database field
    $o.ClientLastName:=New object
    $o.ClientLastName.formula:=Formula([Customers]lastname)
    $o.ClientLastName.summary:="Lastname of the current client"

    // Define "label" function from a 4D expression with one parameter
    $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 "AverageValues" function from a method named "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 "Title" function from a variable named "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)