Attributs calculés sur les Pièces et les Gabarits
Using the Calculated Attributes feature, you can build formulas dynamically using available dRofus fields to create additional fields. Calculated Attributes are available for Rooms, Items, Occurrences, and Products and allow you to build simple to very complex results. We explain how to do this for Room and Room Template Calculated Attributes, Items Calculated Attributes, and Occurrence Calculated Attributes. The Calculated Attribute Formats are the same across dRofus. A good baseline understanding of how Item Composite Text Attributes work is a great place to start since the rules can be combined with these attributes.
Vous devez disposer d'un accès administrateur à la base de données pour créer des attributs de texte composite, car la configuration s'effectue dans les paramètres d'administration. Veuillez vous référer à Project and Database Administration.
Exemple de soustraction dans une pièce
En soustrayant la surface programmée du champ existant de la surface modélisée, nous pouvons comprendre si une pièce est sous ou surdimensionnée.
Nous pouvons exploiter les propriétés actuelles en regroupant les noms afin que l'équipe comprenne qu'ils sont liés.

Delta is our Calculated Attribute
Nous avons défini notre nouveau champ Delta et l'avons placé dans le groupe Surfaces et mesures.
Si la surface programmée est plus petite que la surface modélisée, nous nous attendons à ce que le delta soit négatif.

Delta as a negative value
La plupart des attributs calculés sont conçus autour des nombres, et nos formules par défaut créent une parenthèse autour du champ {0} lors de l'élaboration d'une formule. Mais parfois, nous aimons utiliser du texte, des valeurs oui/non ou des listes. Par exemple, pour vérifier si deux champs de texte correspondent ou si les deux valeurs sont vraies. Pour que ces formules fonctionnent, vous devez ajouter un guillemet simple autour du crochet "{0}" afin que nous sachions qu'il s'agit d'une chaîne de caractères et non d'un nombre.
Plusieurs formats sont disponibles, et il n'y a pas de limite à la complexité des combinaisons possibles.
Format | Summary | Example |
---|---|---|
+ | Renvoie la somme de deux opérandes numériques. (Addition) | {0} + {1} ~ 0:1, 1:4 = 5 |
- | Renvoie la différence de deux opérandes numériques. (Soustraction) | {0} - 4 ~ 0:10 = 6 |
* | Renvoie le produit de deux opérandes numériques. (Multiplication) | {0} * {1} ~ 0:2, 1:3 = 6 |
/ | Renvoie le quotient de deux opérandes numériques. (Division) | {0} / {1} ~ 0:9, 1:3 = 3 |
and | Indique si les deux opérandes sont vrais. | {0} < 10 and {0} > 0 ~ 0:5 = True |
or | Indique si l'un ou l'autre ou les deux opérandes sont vrais. | {0} < 2 or {0} >5 ~ 0:8 = True |
not | Retourne vrai si l'opérande logique est faux. | not ({0} < 0) ~ 0:-5 = False |
= | Indique si l'opérande gauche est égal à l'opérande droit. | {0} = 4 ~ 0:4 = True |
!= | Indique si l'opérande gauche n'est pas égal à l'opérande droit. | {0} != {1} ~ 0:2, 1:4 = True |
< | Indique si l'opérande de gauche est inférieur à l'opérande de droite. | {0} < 0 ~ 0:2 = False |
<= | Indique si l'opérande de gauche est inférieur ou égal à l'opérande de droite. | {0} <=2 ~ 0:2 = True |
> | Indique si l'opérande de gauche est plus grand que l'opérande de droite. | {0} > 0 ~ 0:8 = True |
>= | Indique si l'opérande de gauche est supérieur ou égal à l'opérande de droite. | {0} >= 5 ~ 0:10 = True |
if | Renvoie une valeur basée sur une condition | if ( {0} % {1} = 0, ‘Yes’, ‘No’ ) ~ 0:4, 1:2 = Yes |
in | Indique si un élément fait partie d'une liste de valeurs. | in ( {0}, {1}, {2}, {3} ) ~ 0:7, 1:4, 2:7, 3:9 = True Dans l'exemple ci-dessus, le premier argument déclaré "{0}" est la valeur que vous souhaitez évaluer, dans cet exemple, le nombre "7" tel que défini par le "0:7" après le (~).Les autres arguments "{1},{2},{3}" définissent la liste par rapport à laquelle {0} sera évalué.Dans ce cas, les valeurs sont 4, 7, 9, puisque notre valeur initiale est "7", la fonction renverra "True" puisque 7 est inclus dans la liste par rapport à laquelle nous l'évaluons. |
Round | Arrondit une valeur à l'entier le plus proche ou au nombre de décimales spécifié. | Round( {0}, 2) ~ 0:3.1415 = 3.14 |
Floor | Renvoie le plus grand nombre entier inférieur ou égal au nombre spécifié. | Floor( {0} ) ~ 0:1.5 = 1 |
Ceiling | Renvoie le plus petit entier supérieur ou égal au nombre spécifié. | Ceiling( {0} ) ~ 0:1.5 = 2 |
Truncate | Calcule la partie intégrale d'un nombre. | Truncate( {0} ) ~ 0:3.14 = 3 |
Abs | Renvoie la valeur absolue d'un nombre spécifié. | Abs( {0} ) ~ 0:-1 = 1 |
Min | Renvoie le plus petit de deux nombres. | Min( {0}, {1} ) ~ 0:-4, 1:23 = -4 |
Max | Renvoie le plus grand de deux nombres. | Max( {0}, {1} ) ~ 0:5, 1:8 = 8 |
Sqrt | Renvoie la racine carrée d'un nombre spécifié. | Sqrt( {0} ) ~ 0:4 = 2 |
Pow | Renvoie un nombre spécifié élevé à la puissance spécifiée. | Pow( {0}, 2) ~ 0:3 = 9 |
Exp | Renvoie e élevé à la puissance spécifiée | Exp( {0} ) ~ 0:0 = 1 |
Log | Renvoie le logarithme d'un nombre spécifié. | Log( {0}, 10) ~ 0:1 = 0 |
Log10 | Renvoie le logarithme en base 10 d'un nombre spécifié. | Log10( {0} ) ~ 0:1 = 0 |
Sign | Renvoie une valeur indiquant le signe d'un nombre. | Sign( {0} ) ~ 0:-10 = -1 |
Sin | Renvoie le sinus de l'angle spécifié. | Sin( {0} ) ~ 0:0 = 0 |
Cos | Renvoie le cosinus de l'angle spécifié. | Cos( {0} ) ~ 0:0 = 1 |
Tan | Renvoie la tangente à l'angle spécifié. | Tan( {0} ) ~ 0:0 = 0 |
Asin | Renvoie l'angle dont le sinus est le nombre spécifié. | Asin( {0} ) ~ 0:0 = 0 |
Acos | Renvoie l'angle dont le cosinus est le nombre spécifié. | Acos( {0} ) ~ 0:1 = 0 |
Atan | Renvoie l'angle dont la tangente est le nombre spécifié. | Atan( {0} ) ~ 0:0 = 0 |
Explorez -Items Calculated Attributes pour voir comment cela peut être fait avec Items.