Aller au contenu

Champs personnalisés calculés

Les formules de calcul sont applicables à différents types de champs utilisateurs. Le type de champ doit correspondre au type d’information du résultat du calcul.

Exemple : concaténation de 2 champs textes, le résultat étant un texte, le type à choisir pour le champ ayant la formule est texte.

Pour définir une formule, il faut sélectionner "Formule" dans la colonne "Calcul" du champ utilisateur puis saisir la formule dans la colonne "Valeurs possibles ou formule ou prochain compteur".

La syntaxe des formules est la même que pour les frais d’approches :

  • + Nom d'un champ

  • $ + Nom d'une constante numérique
  • Opérateurs : +, -, /, *
  • Parenthèses.

Seuls sont utilisables dans une formule les champs de la table dans laquelle est ajouté le champ utilisateur. Les autres champs utilisateurs de la table (non calculés) sont utilisables.

L’opération est effectuée lors de l’enregistrement de la fiche, ou le passage à une autre ligne (pour les champs calculés présent dans des grilles de saisie (lignes de document, Écriture, etc.).

Le résultat n’est pas modifiable.

Lors de l’insertion de champs calculés dans une table, les calculs ne se feront pas de manière rétroactive.

Les fonctions suivantes sont utilisables :

Fonctions logiques

| Nom | Description | | Case(Index, Result1, Result2, ... ) |   | | If(Value, If_True_Result, If_False_Result) |   |

Fonctions mathématiques

Nom Description
Abs(Value) Retourne la valeur absolue du nombre
Distance(X1, Y1, X2, Y2) Retourne la distance en pixels entre 2 points, par la formule
de Taylor
Factorial(Value) Retourne la factorielle du nombre
Frac(Value) Retourne la partie décimale du nombre
Par exemple : Frac(10.5) retourne 0.5
Interpolate(Position, Value1, Distance1, Value2, Distance2)  
IntPower(Base, Exponent) Retourne la multiplication du nombre par lui même répétée N
fois
ln(Value) Retourne le logarithme népérien du nombre
log10(Value) Retourne le logarithme en base 10 du nombre
logN(Base, Value) Retourne le logarithme en base N du nombre
Max(Value1, Value2, ...) Retourne le plus grand des nombres
Min(Value1, Value2, ...) Retourne le plus petit des nombres
Odd(Value) Retourne vrai si le nombre est impair
Pi Retourne la valeur du nom Pi
Power(Value, N) Retourne la multiplication du nombre par lui même répétée N
fois
Round(Value) Retourne l'arrondi du nombre à l'entier le plus proche.
Si le nombre se trouve à mi chemin entre les deux nombres entiers les plus proches, alors le résultat sera le nombre entier pair le plus proche.
Sqr(Value) Retourne le carré du nombre
Sqrt(Value) Retourne la racine carré du nombre
Trunc(Value) Retourne la partie entière du nombre

Fonctions textes

Nom Description
Copy(Text_Value, StartIndex, Count) Retourne une partie de la chaîne de caractères
FloatToText(Value) Transforme le nombre à virgule en chaîne de caractères
IntToText(Value) Transforme le nombre entier en chaîne de caractères
Length(Text_Value) Retourne la taille de la chaîne de caractères
LowerCase(Text_Value) Retourne la chaîne de caractères en minuscules
Pos(SubText, Text_Value) Retourne l'index de la première occurrence de la sous-chaîne dans la chaîne de caractères
PosEx(SubText, Text_Value, Offset) Retourne l'index de la première occurrence d'une sous-chaîne dans la chaîne de caractères
TextToFloat(Text_Value) Transforme la chaîne de caractères en nombre à virgule
TextToFloatDef(Text_Value, DefaultResult) Transforme la chaîne de caractères en nombre à virgule avec la possibilité de passer une valeur par défaut en cas d'erreur
TextToInt(Value) Transforme la chaîne de caractères en nombre entier
TextToIntDef(Value, DefaultResult) Transforme un chaîne de caractères en nombre entier  avec la possibilité de passer une valeur par défaut en cas d'erreur
Trim(Text_Value) Supprime les espaces de début et de fin de la chaîne de caractère
UpperCase(Text_Value) Retourne la chaîne de caractères en majuscules

Fonctions trigonométriques

Nom Description
ArcCos(Value) Retourne le cosinus inverse de la valeur
ArcCosh(Value) Retourne le cosinus hyperbolique inverse de la valeur
ArcSin(Value) Retourne le sinus inverse de la valeur
ArcSinh(Value) Retourne le sinus hyperbolique de la valeur
ArcTan2(Y, X) Retourne l'angle et le quadrant d'arc-tangente de la valeur
ArcTanh(Value) Retourne la tangente hyperbolique inverse de la valeur
Cos(Value) Retourne le cosinus en radians de la valeur
Cosh(Value) Retourne le cosinus hyperbolique de l'angle
DegToRad(Value) Convertit des degrés en radians
RadToDeg(Value) Convertit des radians en degrés
Sin(Value) Retourne le sinus en radians d'une valeur
Sinh(Value) Retourne le sinus hyperbolique d'un angle
Tan(Value) Retourne la tangente de la valeur
Tanh(Value) Retourne la tangente hyperbolique de la valeur

Exemples

Copy(#PCF_CP, 1, 2)

Renvoie les 2 premiers caractères du code postal.

If((#PAY\_CODE = "FR") and (#FAT\_CODE = "FA3"), 
 "A traiter", "")

Condition qui vérifie le code et le code famille du tiers et qui renseigne un texte quand ces 2 codes ont la valeur "FR" et "FA3".