4D View Pro le permite llamar métodos proyecto 4D desde sus fórmulas. El uso de los métodos proyecto 4D amplía las posibilidades de sus documentos 4D View Pro. Los métodos 4D pueden recibir parámetros del área 4D View y devolver valores. Por razones de seguridad, solo los métodos que han sido explícitamente permitidos pueden ser llamados por el usuario.
Para ser llamado en una fórmula 4D View Pro, un método proyecto debe ser:
- Referenciado: declarado explícitamente utilizando el comando VP SET CUSTOM FUNCTIONS) (recomendado) o el comando VP SET ALLOWED METHODS.
- Ejecutable: pertenece a la base local o a un componente cargado con la opción activada "Compartido por componentes y base de datos local" (ver Compartir métodos proyecto).
- No estar en conflicto con una función 4D View Pro existente: si llama a un método proyecto con el mismo nombre que una función integrada 4D View Pro, se llama a la función.
Nota: si ni el comando VP SET CUSTOM FUNCTIONS ni el comando VP SET ALLOWED METHODS no se han ejecutado durante la sesión, las funciones personalizadas de 4D View Pro se basan en los métodos permitidos definidos por el comando genérico de 4D SET ALLOWED METHODS. En este caso, los nombres de los métodos proyecto deben cumplir con JavaScript Identifier Grammar (ver Normas ECMA Script). La opción de filtrado en el cuadro de diálogo de Parámetros (ver Gestión de accesos) se ignora en todos los casos.
Queremos imprimir "Hello World" en un área de 4D View Pro utilizando un método proyecto 4D:
- Cree un método proyecto "myMethod" con el siguiente código:
#DECLARE->$hw Text
$hw:="Hello World"
- En el método formulario del formulario que contenga el área 4D View Pro, puede escribir:
- Edite el contenido de una celda en el área 4D View Pro y escriba:

"myMethod" es llamado por 4D y la celda muestra:

Los parámetros se pueden pasar a los métodos proyecto 4D utilizando la siguiente sintaxis:
=METHODNAME(param1,param2,...,paramN)
Estos parámetros se reciben en methodName en $1, $2...$N.
Tenga en cuenta que los () son obligatorios, incluso si no se pasan parámetros:
=METHODWITHOUTNAME()
Puede declarar el nombre, tipo y número de parámetros a través de la colección parámetros de la función que declaró utilizando el comando VP SET CUSTOM FUNCTIONS (o el comando VP SET ALLOWED METHODS). Opcionalmente, puede controlar el número de parámetros pasados por el usuario a través de las propiedades minParams y maxParams. Ejemplo:
C_OBJECT($allowed)
$allowed:=New object
$allowed.VPMethod:=New object
$allowed.VPMethod.method:="4DMethodWithParams"
$allowed.VPMethod.parameters:=New collection
$allowed.VPMethod.parameters.push(New object("name";"Param1";"type";Is longint))
$allowed.VPMethod.parameters.push(New object("name";"Param2";"type";Is date))
$allowed.VPMethod.parameters.push(New object("name";"Param3";"type";Is text))
$allowed.VPMethod.minParams:=3
$allowed.VPMethod.maxParams:=3
VP SET ALLOWED METHODS($allowed)
Para más información sobre los tipos de parámetros entrantes admitidos, consulte la descripción del comando VP SET ALLOWED METHODS.
Nota: si no declara los parámetros, los valores se pueden pasar secuencialmente a los métodos (se recibirán en $1, $2...) y su tipo se convertirá automáticamente. Las fechas en jstype se pasarán como C_OBJECT en métodos 4D con dos propiedades:
Propiedad | Tipo | Descripción |
valor | Fecha | Fecha valor |
tiempo | Real | Tiempo en segundos |
Los métodos proyecto 4D también pueden devolver valores en la fórmula celda 4D View Pro vía $0. Los siguientes tipos de datos son compatibles con los parámetros devueltos:
- C_TEXT (convertido en cadena en 4D View Pro)
- C_REAL/C_LONGINT (convertido en número en 4D View Pro)
- C_DATE (convertido en JS Date type en 4D View Pro - hora, minuto, seg = 0)
- C_TIME (convertido en JS Date type en 4D View Pro - fecha en base fecha, es decir 12/31/1899)
- C_BOOLEAN (convertido en booleano en 4D View Pro)
- C_PICTURE (jpg,png,gif,bmp,svg otros tipos convertidos en png) crea un uri (data:image/png;base64,xxxx) y luego se usa como fondo en 4D View Pro en la celda donde se ejecuta la fórmula
- C_OBJECT con las siguientes dos propiedades (permitiendo pasar una fecha y hora):
Propiedad | Tipo | Descripción |
value | Fecha | Valor de fecha |
time | Real | Tiempo en segundos |
Si el método 4D no devuelve nada, se devuelve automáticamente una cadena vacía.
Se devuelve un error en la celda 4D View Pro si:
- el método 4D devuelve otro tipo diferente a los de arriba.
- ocurre un error durante la ejecución del método 4D (cuando el usuario hace clic en el botón "abortar").