4D v18 R5 introduce un nuevo comando que simplifica la escritura de su código: VP SET CUSTOM FUNCTIONS. Crea funciones personalizadas en 4D View Pro que ejecutan fórmulas 4D.
Gracias a este comando ahora puede permitir que comandos 4D, campos, variables, métodos o cualquier expresión arbitraria sea utilizada en sus fórmulas de celdas. Por ejemplo, no es necesario crear un método para utilizar una simple variable en 4D View Pro, simplemente pásela como parámetro a su Formula.
VP SET CUSTOM FUNCTIONS permite a 4D View Pro acceder a:
- variables de 4D
- campos
- métodos
- comandos 4D
Durante el evento de carga, necesitas declarar todas las expresiones 4D a las que quieras acceder en 4D View Pro.
Primero, crea un objeto y utiliza el atributo del objeto para definir el nombre de llamada de tu método:
$o:=New object
//Name of the function in 4D View Pro: "DRIVERS_LICENCE"
$o .DRIVERS_LICENCE:=New object
A continuación, añada un atributo formula que contenga la fórmula basada en su expresión. Esta expresión se calculará cuando se utilice en sus celdas.
Si su función DRIVERS_LICENCE se refiere a
- una variable global:
$o.DRIVERS_LICENCE.formula:=Formula(DriverLicence)
- una tabla de campo:
$o.DRIVERS_LICENCE.formula:=Formula([Users
]DriverLicence)
- un método:
$o.DRIVERS_LICENCE.formula:=Formula
(DriverLicenceState)
- un comando 4D:
$o.PERMISO_DE_CONDUCCIÓN:
=Formula(
Choose(DriverLicence; "Obtained"; "Failed"))
- una expresión 4D:
$o.DRIVERS_LICENCE.formula:=Formula(ds.Users.get($1).DriverLicence)
$o .DRIVERS_LICENCE.parameters:=New collection
$o .DRIVERS_LICENCE.parameters.push(New object("nombre"; "ID"; "tipo"; Is longint))
Puede añadir una descripción de lo que hace su función:
$o.DRIVERS_LICENCE.summary:="Devuelve el resultado de la licencia de conducir"
Y si haces referencia a un método, puedes añadir algunos parámetros como el nombre y el tipo de los parámetros esperados por tu función:
$oIs time
$oBIRTH_INFORMATIONsummary.BIRTH_INFORMATION:=New object
$o .BIRTH_INFORMATION.formula:=Formula(BirthInformation)
$o .BIRTH_INFORMATION.parameters:=New collection
$o .BIRTH_INFORMATION.parameters.push(New object("Nombre"; "Tipo";Is text))
$o .BIRTH_INFORMATION.parameters.push(New object("Nombre"; "Cumpleaños"; "Tipo";Is date))
$o .BIRTH_INFORMATION.parameters.push(New object("Nombre"; "Hora de nacimiento";
Cuando termines de llenar tu objeto con toda la información, necesitas que esté disponible en 4D View Pro. Simplemente pásalo al comando VP SET CUSTOM FUNCTIONS comando:
VP SET CUSTOM FUNCTIONS("VerProArea"; $o)
Y ¡voilà! La nueva función está disponible en 4D View Pro: