4D View Pro vous permet d'appeler des méthodes projet 4D depuis vos formules. L'utilisation de méthodes projet 4D élargit considérablement les possibilités de vos documents 4D View Pro. Les méthodes 4D peuvent recevoir des paramètres de la zone 4D View Pro et retourner des valeurs. Pour des raisons de sécurité, seules les méthodes qui ont été explicitement autorisées pourront être appelées par les utilisateurs.
Pour pouvoir être appelée dans une formule 4D View Pro, une méthode projet doit être :
- référencée : elle doit être explicitement déclarée à l'aide de la commande VP SET CUSTOM FUNCTIONS (recommandé) ou la commande VP SET ALLOWED METHODS.
- exécutable : elle appartient à la base ou à un composant chargé avec l'option "Partagée entre le composant et la base hôte" (voir Partage des méthodes projet).
- non conflictuelle avec une fonction 4D View Pro existante : si vous appelez une méthode projet avec le même nom qu'une fonction native de 4D View Pro, la fonction est appelée.
Note : Si ni la commande VP SET CUSTOM FUNCTIONS ni la commande VP SET ALLOWED METHODS n'ont été exécutées durant la session, les fonctions personnalisées de 4D View Pro s'appuient sur des méthodes autorisées définies par la commande générique de 4D FIXER METHODES AUTORISEES. Dans ce cas, les noms des méthodes projet doivent être conformes à JavaScript Identifier Grammar (voir Normes ECMAScript ). L'option de filtrage, présente dans la boite de dialogue des Paramètres (voir Gestion des accès), est ignorée dans tous les cas.
Nous souhaitons afficher "Hello World" dans une cellule de zone 4D View Pro à l'aide d'une méthode projet 4D :
- Créez une méthode projet "myMethod" contenant le code suivant :
#DECLARE->$hw Text
$hw:="Hello World"
- Dans la méthode formulaire du formulaire contenant la zone 4D View Pro, vous pouvez écrire :
- Passez en édition dans une cellule d'une zone 4D View Pro et saisissez :

"myMethod" est alors appelée par 4D et la cellule affiche :

Il est possible de passer des paramètres aux méthodes projet 4D à l'aide de la syntaxe suivante :
=NOMMETHODE(param1,param2,...,paramN)
Ces paramètres sont reçus dans nomMéthode dans $1, $2...$N.
Notez que les ( ) sont obligatoires, même s'il n'y a pas de paramètre passé :
=NOMMETHODESANSPARAM()
Vous pouvez déclarer le nom, le type et le nombre de paramètres via la collection de paramètres de la fonction que vous avez déclarée à l'aide de la commande VP SET CUSTOM FUNCTIONS (ou la commande VP SET ALLOWED METHODS). Vous pouvez également, si vous le souhaitez, gérer le nombre de paramètres passés par l'utilisateur via les propriétés minParams et maxParams.
Si vous ne déclarez pas les paramètres, les valeurs peuvent être passées séquentiellement en méthodes (elles seront reçues au format $1, $2...) et leur type sera converti automatiquement. Les dates en jstype seront passées en C_OBJET dans des méthodes 4D avec deux propriétés :
Propriété | Type | Description |
value | Date | Valeur date |
time | Réel | Heure en secondes |
Les méthodes projet 4D peuvent également retourner des valeurs dans les formules des cellules 4D View Pro via $0. Les types de données suivants sont pris en charge pour les paramètres retournés :
- C_TEXTE (conversion en chaîne dans 4D View Pro)
- C_REEL/C_ENTIER LONG (conversion en numérique dans 4D View Pro)
- C_DATE (conversion en JS Date type dans 4D View Pro - heure, minute, sec = 0)
- C_HEURE (conversion en JS Date type dans 4D View Pro - date en date base, i.e. 12/30/1899)
- C_BOOLEEN (conversion en booléen dans 4D View Pro)
- C_IMAGE (jpg,png,gif,bmp,svg, autres types convertis en png) crée un URI (data:image/png;base64,xxxx) puis utilisé en image de fond dans la cellule de 4D View Pro où la formule est exécutée.
- C_OBJET avec les deux propriétés suivantes (permettant de passer une date et une heure) :
Proprité | Type | Description |
value | Date | Valeur date |
time | Réel | Heure en secondes |
Si la méthode 4D ne renvoie rien, une chaîne vide est automatiquement retournée.
Une erreur est retournée dans la cellule 4D View Pro si :
- la méthode 4D retourne une valeur d'un type autre que les types qui sont listés ci-dessus,
- une erreur s'est produite durant l'exécution de la méthode 4D (lorsque l'utilisateur clique sur le bouton "abort").