Définition des attributs de calcul

Les attributs de calcul permettent d'ajouter des fonctions logiques et mathématiques pour obtenir des valeurs dérivées des attributs. Ils peuvent être incorporés à d'autres attributs calculés pour produire des fonctions complexes. Les attributs calculés sont en lecture seule. Ils peuvent uniquement être évalués par rapport à des échéanciers.

Echéanciers : vous pouvez ajouter un calcul pour l'évaluer, qu'il ait été explicitement affecté à la tâche ou non.

Modèles : vous ne pouvez pas ajouter un attribut personnalisé pour lequel l'option Calcul est sélectionnée en tant que colonne ou qu'attribut filtrable.

Lorsque les administrateurs ajoutent des attributs aux sections Attributs dans les boîtes de dialogue Actions, les utilisateurs de workflow peuvent voir ces attributs. Les administrateurs peuvent restreindre l'accès à certains rôles en définissant l'accès sur Ne pas afficher. Par exemple, un administrateur peut définir l'accès sur Visualiseur : ne pas afficher pour l'attribut calculé XYZ afin que ce dernier n'apparaisse pas aux utilisateurs ne disposant que du rôle de visualiseur.

Tout rôle d'utilisateur peut ajouter des attributs calculés en tant que colonnes dans les vues et les portlets. Ces derniers peuvent également être ajoutés en tant qu'attributs filtrables dans le panneau des filtres.

Pour définir un attribut de calcul, procédez comme suit :

  1. Sur la page d'accueil, cliquez sur Application, puis sur Task Manager.
  2. Cliquez sur l'onglet Attributs à gauche.
  3. Cliquez sur Nouveau, et dans l'onglet Propriétés, entrez le nom de l'attribut, puis sélectionnez le type d'attribut.
  4. Sélectionnez l'option de calcul.
  5. Dans l'onglet Calcul, sélectionnez un type de calcul.

Vous pouvez choisir l'un des types de calcul suivants. Les types disponibles sont déterminés par le type d'attribut (Texte, Entier, etc.).

  • Affecter une valeur à la liste : affectez des valeurs personnalisées à un attribut de type Liste.

  • Affecter une liste à la valeur : affectez des valeurs de liste personnalisées aux valeurs d'un autre attribut. Uniquement disponible pour les attributs de type Liste.

  • Conditionnel : calcul conditionnel (If - Then - Else).

  • A partir de scripts : calcul à partir de scripts de format libre. Uniquement disponible pour les attributs de type Entier, Texte multi-ligne, Nombre ou texte.

Le tableau suivant répertorie les types de calcul disponibles pour chaque type d'attribut.

Type d'attribut Affecter une valeur à la liste Conditionnel A partir de scripts Affecter une liste à la valeur
Date        
Date/heure        
Entier X X X  
Liste   X   X
Texte multi-ligne X X X  
Nombre X X X  
Texte X X X  
True/False   X    
Utilisateur        
Oui/Non   X    

Définition de calcul

Le type de calcul A partir de scripts permet de saisir une équation de calcul de format libre. Vous pouvez utiliser les options Ajouter un attribut et Ajouter une fonction :

  • Ajouter un attribut : sélectionnez un attribut et insérez-le dans la zone Définition de calcul à l'emplacement du curseur. Si le curseur se trouve au milieu d'un mot ou d'un attribut, le mot/l'attribut sera remplacé dans la définition. Le format Script ajoute des accolades {} autour du nom du nouvel attribut.

    Les seuls attributs disponibles sont les attributs Echéancier.

  • Ajouter une fonction : sélectionnez une fonction et ajoutez-la à la définition de calcul. La fonction est ajoutée avec des espaces réservés pour chaque paramètre.

Par exemple, insérez la fonction DATE_DIFF dans la définition de calcul :

DATE_DIFF(<Date1>, <Date2>, <Type>)

Remplacez ensuite les espaces réservés par des attributs :

DATE_DIFF( {Start Date}, {End Date}, 'DAYS')

Fonctions de date et fonctions numériques

  • Valeur absolue : renvoie la valeur absolue d'un nombre spécifié. Si un nombre est inférieur à zéro, la valeur positive du nombre est renvoyée. Si le nombre indiqué est supérieur ou égal à zéro, ce nombre est renvoyé.

    ABS(<Nombre>)

  • Ajouter un mois : renvoie une date décalée d'un nombre de mois indiqué à partir de la date de début. La date sera toujours conforme au décalage de mois indiqué. Si la date de début présente une valeur qui va au-delà du mois de décalage, le dernier jour du mois sera utilisé. Par exemple, EDate (31-Jan-2017, 1) renvoie (28-Feb-2017). Pour les mois, saisissez le nombre de mois précédant ou suivant la date de début. Une valeur positive pour les mois génère une date future. Une valeur négative génère une date passée.

    ADD_MONTH(<Date de début>, <Mois>, <Longueur>)

    Exemple : ADD_MONTH(DATE(2017, 2, 15) 3)

  • Date : renvoie une valeur de date qui dépend des valeurs d'entier spécifiées pour l'année, le mois et le jour.

    DATE(<Année>, <Mois>, <Jour>)

  • Différence de date : renvoie la différence entre deux dates en années, mois, jours, heures, minutes ou secondes. Pour DATE 1 et DATE 2, les valeurs TODAY et NOW peuvent être utilisées pour indiquer la date en cours (sans composant d'heure), et la date et l'heure, respectivement.

    DATE_DIFF(<Date1>, <Date2>, <Type>)

    Exemple : DATE_DIFF( {Start Date}, 'TODAY', 'DAYS')

  • Jour : renvoie la valeur de jour d'une date en tant que nombre entier

    DAY(<DATE>)

  • Extraire le texte : renvoie la sous-chaîne figurant dans la valeur, à partir des positions spécifiées.

    SUBSTRING(<Valeur>, <Emplacement>, <Longueur>)

    Exemple : SUBSTRING( {Name}, 4, 10)

  • If Then Else : permet d'insérer un calcul conditionnel dans le calcul scripté. Les calculs IF_THEN_ELSE peuvent également être imbriqués pour prendre en charge les calculs de type ELSE IF.

    IF_THEN_ELSE(<Condition>, <Valeur1>, <Valeur2>)

    Exemple : IF_THEN_ELSE( ( {Priority} = 'Low'), 1,IF_THEN_ELSE( ( {Priority} = 'Medium'), 2, IF_THEN_ELSE( ( {Priority} = 'High'), 3, 0)))

    Exemple : IF_THEN_ELSE( ( {Priority} = 'Low'), 'Good' IF_THEN_ELSE( ( {Priority} = 'Medium'), 'Better'. 'Best') )

  • Instring : renvoie l'index de la sous-chaîne dans la valeur.

    INSTRING(<Valeur1>, <Valeur à rechercher>)

    Exemple : INSTRING({Name}, 'a')

  • Longueur : prend une valeur de texte comme paramètre et renvoie un entier représentant le nombre de caractères dans le texte. Si la valeur est vide/NULL, le calcul renvoie 0.

    Length ({<attribute>})

    Exemple : LENGTH("Value") renvoie 5 et LENGTH({Name}) renvoie le nombre de caractères dans le nom de l'objet.

    Utilisez le calcul avec SUBSTRING pour extraire les quatre derniers caractères d'une valeur de texte.

    SUBSTRING( {MyString}, LENGTH ({MyString}) - 4

  • Minuscules : renvoie la valeur en minuscules.

    LOWERCASE(<Valeur>)

    Exemple : LOWERCASE ({Task Code})

  • Maximum : renvoie la valeur maximale d'une liste d'attributs. Le nombre de paramètres n'est pas défini.

    MAX (<Valeur1>, <Valeur2>, <ValeurN>)

    Exemple : MAX( {Scripted Substring Loc a}, {Scripted Substring Loc s}, {Scripted Substring Loc t} )

  • Minimum : renvoie la valeur minimale d'une liste d'attributs. Le nombre de paramètres n'est pas défini.

    MIN (<Valeur1>, <Valeur2>, <ValeurN>)

    Exemple : MIN( {Scripted Substring Loc a}, {Scripted Substring Loc s}, {Scripted Substring Loc t} )

  • Mois : renvoie la valeur de mois d'une date en tant que nombre entier (1-12)

    MONTH (<DATE>)

  • Puissance : élève un nombre à la puissance exponentielle d'un autre.

    POWER(x,y) où x=BASE NUMBER et y=EXPONENT ; x et y peuvent être des attributs ou des calculs, tant qu'ils sont des valeurs numériques.

    Exemple : POWER(3,4)=81

    Remarque :

    Les valeurs fractionnaires réduiront le nombre de ses racines. Par exemple, POWER(27, 1/3) = 3 est la racine cubique.

    Les valeurs négatives réaliseront un inverse du calcul exponentiel. Par exemple, POWER(2, -2) = 1 / (2^2) = 1 / 4 = .25.

  • Arrondi : renvoie la valeur arrondie au nombre de décimales spécifié.

    ROUND (<Attribut>, <Décimales>)

    Exemple : ROUND( ({Scripted Substring Loc t} / 7), '4')

  • Emplacement du texte : renvoie l'index de la sous-chaîne se trouvant dans la valeur, la première position étant 1.

    INSTRING(<Valeur>, <Valeur à rechercher>)

    Exemple : INSTRING( UPPERCASE( {Name} ), 'TAX' )

  • Majuscules : renvoie la valeur en majuscules.

    UPPERCASE(<Valeur>)

    Exemple : UPPERCASE( {Name} )

  • Année : renvoie la valeur d'année d'une date en tant que nombre entier.

    YEAR (<DATE>)

Validation de calcul

Les vérifications de validation suivantes sont exécutées lorsque vous enregistrez le calcul :

  • La syntaxe du calcul est correcte.

  • Les attributs et les fonctions spécifiés dans le calcul existent.

  • Les paramètres pour les fonctions sont corrects.

  • Aucune boucle circulaire n'existe.