Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20
Gérer des formules

Gérer des formules  


 

Les documents 4D Write Pro peuvent contenir des références à des formules 4D telles que des variables, des champs, des expressions, des méthodes projet ou des commandes du langage. Des informations spécifiques telles que le numéro de page peuvent également être référencées à l'aide de formules (voir Insérer des expressions de page et de document ci-dessous).

L'insertion de formules dans 4D Write Pro se fait à l'aide de la commande WP INSERER FORMULE. Les formules peuvent être lues à l'aide de la commande WP Lire formules. Elles peuvent aussi être retournées via la commande WP Lire texte

Les formules sont évaluées :

  • lorsqu'elles sont insérées dans un objet formulaire qui affiche des valeurs calculées
  • lorsque l'objet 4D Write Pro est chargé dans un objet formulaire qui affiche des valeurs calculées
  • lorsque la commande WP CALCULER FORMULES est appelée
  • lorsqu'elles sont "gelées" à l'aide de la commande WP FIGER FORMULES (si elles ne sont pas encore calculées)
  • avant impression (si elles ne sont pas encore calculées)
  • avant d'être exportées au format .docx (si la formule ne peut pas être avec mappée avec les formules MS Word)
  • lorsque les actions standard permettant de figer, imprimer, exporter ou calculer des formules sont appelées. Voir Actions standard

Les formules ne sont pas évaluées lorsqu'un document est chargé (à l'aide de WP Nouveau, WP INSERER DOCUMENT ou wpArea:=[table]field) :

  • si le document est uniquement hors écran
  • si le document s'affiche à l'écran mais l'objet formulaire ne montre que les références.

Les formules deviennent des valeurs statiques si vous appelez la commande WP FIGER FORMULES (à l'exception du nombre et du numéro de pages, voir ci-dessous).

Note de compatibilité : La gestion des expressions à l'aide des commandes ST INSERER EXPRESSIONST Lire expression, ST CALCULER EXPRESSIONS et ST FIGER EXPRESSIONS est obsolète, mais toujours prise en charge par 4D Write Pro à des fins de compatibilité.

Exemple  

Vous voulez remplacer la sélection dans une zone 4D Write Pro par le contenu d'une variable :

 C_TEXTE(nomComplet)
 C_OBJET($sel)
 nomComplet:="John Smith"
 $sel:=WP Plage selection(4DWPArea)
 Au cas ou
    :(Evenement formulaire code=Sur clic)
       ST INSERER EXPRESSION($sel;Formule(nomComplet);wk replace)
 Fin de cas

Vous pouvez insérer des expressions spéciales relatives aux attributs de document ou aux attributs de page en utilisant la commande WP INSERER FORMULE.

 

Formule Type Description
This.title Texte Titre défini dans l'attribut wk title 
This.author  Texte Auteur défini dans l'attribut wk author 
This.subject  Texte Sujet défini dans l'attribut wk subject 
This.company Texte  Société définie dans l'attribut wk company 
This.notes Texte  Notes définies dans l'attribut wk notes 
This.dateCreation Date  Date de création définie dans l'attribut wk date creation 
This.dateModified Date  Date de modification définie dans l'attribut wk date modified 
This.pageNumber (*) Entier long Numéro de page tel que défini 
  • à partir du début du document (par défaut) ou
  • à partir du début de la section s'il est défini par le début de la section

Cette formule est toujours dynamique, elle n'est pas affectée par la commande WP FIGER FORMULES.  

This.pageCount (*) Entier long Nombre de pages : Nombre total de pages. 

Cette formule est toujours dynamique, elle n'est pas affectée par la commande WP FIGER FORMULES.
This.document Objet Document 4D Write Pro

 

(*) Important : This.pageNumber et This.pageCount doivent être utilisées uniquement et directement dans une formule 4D Write Pro (elles doivent figurer dans la chaîne formula.source). Elles retourneront des valeurs incorrectes si elles sont utilisées par le langage 4D dans une méthode appelée par la formule. Toutefois, elles peuvent être passées comme paramètres à une méthode appelée directement par la formule :

  • Ceci fonctionnera : « formatNumber(This.pageNumber) »
  • Ceci ne fonctionnera PAS : « formatNumber » avec la méthode formatNumber traitant This.pageNumber.

Par exemple, pour insérer le numéro de page dans la zone de pied sélectionnée :

 $footer:=WP Lire pied(4DWP;1)
 WP INSERER FORMULE($footer;Formule(This.pageNumber);wk append)
  //L'utilisation de Formula(myMethod) avec myMethod traitant This.pageNumber
  //ne fonctionnera pas correctement

Note de compatibilité : Les variables Existing $wp_ contenues dans les documents des versions antérieures à 4D v18 R2 sont toujours prises en charge et évaluées.

 

Date

Lorsque la commande Date du jour, une variable de type date ou une méthode retournant une date est insérée dans une formule, elle sera automatiquement transformée en texte à l'aide du format  system date short

Heure

Lorsque la commande Heure courante, une variable de type heure ou une méthode retournant une heure est insérée dans une formule, elle doit être spécifiée dans une formule Chaine car le type heure n'est pas pris en charge en JSON. Prenons les exemples de formule suivants :

  // Ce code est la meilleure pratique
 $formula1:=Formule(Chaine(Heure courante)) //OK 
 
  // Ce code fonctionnera mais il n'est généralement pas recommandé, excepté après l'exécution de la commande "Edit formula"
 $formula2:=Formule sur chaine("Chaine(Heure courante)") //OK
 
  // Code erroné car les valeurs d'heure s'afficheront sous forme d'entiers longs pour les secondes (ou milisecondes), et non pas sous forme d'heure
 $formula3:=Formule sur chaine("Heure courante") //NON valide
 $formula4:=Formule(Heure courante//NON valide

Les expressions de table et de champ insérées dans les documents 4D Write Pro prennent en charge la définition de structure virtuelle de la base. La structure virtuelle exposée dans les formules est définie à l'aide des commandes FIXER TITRES CHAMPS(...;*) et FIXER TITRES TABLES (...;*). 

Lorsqu'une structure virtuelle est définie :

  • les références à des expressions contenant des champs affichent des noms virtuels lorsque le document 4D Write Pro montre les références et non les valeurs.
  • la commande WP Lire texte retourne les noms de structure virtuelle si l'option wk expressions as source est définie dans expressions
  • la commande WP INSERER FORMULE ignore les noms de structure virtuelle et attend toujours des noms réels de tables/champs

Note : Lorsqu'un document est affiché dans le mode "afficher expressions", les références à des tables ou à des champs qui n'appartiennent pas à la structure virtuelle s'affichent avec le caractère "?", par exemple [VirtualTableName]? lorsque le champ n'est pas défini dans la structure virtuelle.

You can control how formulas are displayed in your documents:

  • as values or as references
  • when shown as references, display source text or symbol.

Par défaut, les formules 4D sont affichées sous forme de valeurs. Lorsque vous insérez une formule 4D, 4D Write Pro calcule et affiche sa valeur courante. Si vous souhaitez savoir quelle formule est affichée, vous devez l'afficher en tant que référence.

Pour afficher les formules en tant que références, vous pouvez :

Lorsque les formules sont affichées en tant que références, le texte source de la formule apparaît dans votre document, avec un fond gris par défaut (peut être personnalisé à l'aide du sélecteur wk formula highlight).

Par exemple, vous avez inséré la date du jour accompagnée d'un format, la date s'affiche comme suit :
 

 
Si vous affichez des formules en tant que références, la référence est affichée :
 



 

Par défaut, lorsque les références de formules sont affichées, le texte source de la formule est écrit dans le document. Lorsque vous travaillez sur des modèles sophistiqués utilisant des tableaux par exemple, et lorsque les formules sources sont complexes, le design peut porter à confusion:




Dans ce cas, vous pouvez afficher les références des formules sous forme de symboles afin de faciliter la lecture du document :



Pour afficher les références de formule sous forme de symboles, vous pouvez :

Vous pouvez toujours obtenir le texte source d'une formule qui s'affiche dans une bulle d'aide lorsque vous survolez le symbole :



Note : La bulle d'aide est disponible quel que soit le mode d'affichage de la formule.



Voir aussi  

Download HDI database
Utiliser les commandes du thème Texte multistyle

 
PROPRIÉTÉS 

Produit : 4D
Thème : Gérer des formules
Nom intl. : Managing formulas

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v16
Modifié : 4D v17 R4
Modifié : 4D v18 R2
Renommé : 4D v18 R2

 
UTILISATION DE L'ARTICLE

4D Write Pro ( 4D v20)