Lire la FAQ
NOUVEAU
Assistance de Bitrix24
Inscription et autorisation
Démarrer sur Bitrix24
Abonnement
Actualités
Tâches et projets
Chats et Appels
Groupes de travail
Calendriers
Bitrix24.Drive
Base de connaissances (bêta)
Sites
Boutique en ligne (bêta)
Gestion des stocks
Messagerie web
CRM
CoPilot - IA dans Bitrix24
Analytique CRM (bêta)
Constructeur BI
Automatisation
Sales intelligence (bêta)
Espace des ventes (bêta)
CRM + Boutique en ligne
Marketing
Entreprise
Processus d’entreprise
Market (Applications)
Centre de contact
Mon Profil
Téléphonie
Paramètres
Plan « Enterprise »
Application mobile
Application de bureau
Questions générales
On-Premise de Bitrix24
Connexion

Bitrix24Help

Calcul des valeurs d'expression dans les paramètres d'action

Dans le système, vous pouvez calculer les valeurs d'expression dans les paramètres d'action. Par exemple, additionner, multiplier, calculer les pourcentages et plus encore.

Pour effectuer les calculs, vous devez mettre le signe = dans le champ avant les opérations.

Exemple : =6^2 + {=Document:PROPERTY_NUM}/2 ou =if({Document:ID}=5, "texte1", "texte2")

Vous pouvez utiliser plusieurs calculs différents dans chaque champ. Si vous voulez non seulement effectuer un calcul, mais aussi afficher des données supplémentaires (valeur des variables, texte), il existe deux options d'écriture :

  • Les valeurs calculées peuvent être simplement placées dans le texte en plaçant le calcul dans la construction {{=...}}.
    Exemple : Vous devez compléter les documents avant le {{=DateAdd({=Document:CREATED}, '5d')}}.
  • Vous pouvez également utiliser l'opérateur de concaténation (&) et mettre le texte entre guillemets (").
    Exemple : ="Réponse :" & (1+3) ou ="Auteur : " & {=Document:CREATED_BY} & ", " & "Date limite : " & Dateadd({=Document:DATE_CREATE}, "1d")
La syntaxe des opérateurs symboliques est similaire à la syntaxe des fonctions php correspondantes.

Opérateurs

Lors du calcul des valeurs d'expression dans les paramètres d'action, vous pouvez utiliser différents opérateurs et fonctions.

Liste des opérateurs disponibles

Opérateur Description
+ Addition.
- Soustraction.
* Multiplication.
/ Division.
= Égal.
<> N'est pas égal.
< Inférieur à.
> Supérieur à.
<= Inférieur ou égal à.
>= Supérieur ou égal à.
() Procédures opérationnelles.
& Opérateur de concaténation qui renvoie une chaîne représentant la concaténation des arguments gauche et droit.
^ Élévation à une puissance.
% Calcul des pourcentages.
true Vrai.
false Faux.
and Opérateur logique Et.
or Opérateur logique Ou.
Exemple : =if(or({=Variable:aaa}>2, {=Variable:bbb}<10), "yes", "no")
not Négation.

Fonctions de calcul

Vous pouvez utiliser des fonctions dans les actions lors de la conception d'un processus d’entreprise. Ils peuvent être sélectionnés dans la liste. Pour cela faire, écrivez le signe = dans le champ et une liste s'ouvrira.

Liste des fonctions avec des exemples

Fonction Description
abs Calcul du module de nombre.
dateadd

Ajoute le nombre spécifié de jours, mois, années, heures, minutes et secondes à la date spécifiée.

Syntaxe : =dateadd([date_de_début], [quoi_ajouter])

Options d'écriture et exemples

y, year, years, m, month, months, d, day, days, h, hour, hours, min, minute, minutes, s, second, seconds.

Lors de l'écriture, vous pouvez utiliser des majuscules ou des minuscules.

Exemples : =Dateadd({=Document:DATE_CREATE}, "-2d"), =Dateadd({=Document:DATE_CREATE}, "2 days 3 minutes").

Si le nombre d'unités de temps requis pour l'ajout est contenu dans un champ, une variable, etc., alors vous devez utiliser l'opérateur de concaténation &.

Par exemple : =DateAdd({=Document:DATE_CREATE}, {=Variable:WHAT2ADD} & "y 10h")

datediff

Permet de calculer la différence entre deux dates.

Syntaxe : =datediff([première date], [deuxième date], [comment afficher la différence])

La différence peut être affichée dans différentes unités, selon les tâches que vous résolvez.

Exemples : =datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days')
date

La fonction affiche la date dans le format spécifié et fonctionne de manière similaire à la fonction Date en PHP.

Syntaxe - date ('format de sortie', {date souhaitée})

WorkDateAdd

Ajoute le nombre spécifié de jours de travail, d'heures et de minutes à la date spécifiée.

Syntaxe : =WorkDateAdd([date_de_début], [quoi_ajouter]).

Options d'écriture et exemples

d, day, days, h, hour, hours, i, min, minute, minutes. Lors de l'écriture, vous pouvez utiliser des majuscules ou des minuscules.

Exemple : =WorkDateAdd({=Template:Parameter1}, "2d") - le paramètre contient la date 28.04.2016.

Le résultat est - 02.05.2016 09:00:00, car les 30.04 et 1.05 sont des jours fériés, ils seront ignorés. 09:00:00 - le début de la journée de travail.

Vous pouvez configurer la liste des jours de congé et le début de la journée de travail dans Paramètres du compte.

AddWorkDays La fonction ajoute N jours de travail à la date spécifiée.

Syntaxe : =addworkdays([date à laquelle les jours seront ajoutés], [nombre de jours de travail à ajouter]).

Exemples : {{=addworkdays('07.03.2016', 1)}} - résultat : 09.03.2016 00:00:00, car dans les paramètres du site, le 8 mars est un jour de congé.

{{=addworkdays('05.02.2016 16:14:00', 1)}} - résultat : depuis 05.02.2016 - Vendredi, puis le résultat : 08.02.2016 16:14:00 - Lundi.

isWorkDay Vérifie si la date est un jour ouvrable (par Calendrier).

Syntaxe : =if(isWorkDay([date vérifiée]), [message si la date est un jour ouvrable], [message si non]).

Exemple : {{=if(isWorkDay({=Template:Parameter1}), 'Oui', 'Non')}} - le paramètre contient la date 28.04.2016. Résultat - Oui, car c'est un jour ouvrable.
isWorkTime Similaire à isWorkDay, mais pour les types de données Date/Heure.

Syntaxe : =if(isWorkDay([date vérifiée avec l'heure]), [message si la date avec le temps est le temps de travail], [message si non]).

Exemple :{{=if(isWorkTime({=Template:Parameter1}), 'Oui', 'Non')}} - le paramètre contient la date avec l'heure 27.04.2016 15:00:00.

Résultat - Oui, car c'est le temps de travail.

toUserDate La fonction convertit n'importe quelle heure en heure de l'employé (en tenant compte de son fuseau horaire).

toUserDate(user,date=now)

Paramètres :
  • user - l'utilisateur à l'heure duquel l'heure du processus d’entreprise doit être convertie.
  • date - date de début, par défaut - heure actuelle.

GetUserDateOffset La fonction renvoie la valeur du décalage du fuseau horaire de l'utilisateur en secondes (par rapport à l'heure du serveur).

GetUserDateOffset(user)

Paramètre :
  • user - l'utilisateur par rapport à l'heure dont vous avez besoin d'une valeur.
if Opérateur conditionnel.

Syntaxe : =if([condition],[ résultat_si_la_condition_est_remplie],[résultat-en-cas-de-non-respect-de-la condition])

Exemple : =if ({=Variable:Variable1_printable}>0, "oui", "non")

Lors de la comparaison des valeurs de variables, il est également possible de comparer des variables avec différents types de données. Cependant, les variables comparées doivent correspondre à la table de conversion (qui se trouve dans cet article).

intval Renvoie la valeur entière d'une variable.
Exemple :=intval("234j4hv5jhv43v53jk4vt5hj4") renverra 234
floatval Renvoie un nombre (virgule flottante).
numberformat Formate un nombre avec séparation de groupe.
min Renvoie la plus petite valeur.
max Renvoie le plus grand nombre.
rand Renvoie un nombre aléatoire.

Syntaxe : =rand([valeur minimale],[valeur maximale]).

Seule la valeur minimale est obligatoire. Si vous ne voulez pas limiter la limite supérieure, vous pouvez ne pas spécifier le deuxième paramètre, par exemple =rand(17).

Exemple : =rand(0,10) - sélection d'un nombre compris entre 0 et 10.

round Arrondit un nombre.

Syntaxe : =round([ce que nous arrondissons],[nombre de décimales])

Exemples :

  • =round(10/3,2) - on obtient 3.33.
  • =round(5/2) - on obtient 3.

ceil Arrondit la fraction dans la plus grande direction.
Exemple : =ceil(5.5) on obtient 6.
floor Arrondit la fraction dans un côté plus petit.
Exemple : =floor(5.5) on obtient 5.
substr Renvoie une sous-chaîne d'une longueur spécifiée commençant au caractère spécifié. Cette fonction est similaire à celle existant dans php, vous pouvez en savoir plus sur ses capacités ici.

Syntaxe : substr([chaîne d'entrée], [à partir de quel caractère de la chaîne d'origine commence l'article retourné], [la longueur de la chaîne])

Gardez à l'esprit que la chaîne commence au caractère numéro 0. Par exemple, dans la chaîne 'abcdef', à la position 0 se trouve le caractère 'a', à la position 2 se trouve le caractère 'c', et ainsi de suite.

Exemple : {{=substr("0123456789", 3, 4)}} renverra 3456.

Attention ! Si la syntaxe de l'expression est incorrecte, elle sera affichée sous forme de texte.

strpos Renvoie la position de la première occurrence d'une sous-chaîne.
strlen Renvoie la longueur de la chaîne .
implode Combine plusieurs valeurs dans une chaîne. Utile lorsque vous devez afficher les valeurs de plusieurs variables dans le texte avec un séparateur non standard (standard - juste une virgule). Analogue d'implode en PHP. Retourne une chaîne qui contient la représentation sous forme de chaîne de tous les éléments du tableau dans l'ordre spécifié, avec une valeur glue entre chaque élément.
implode(glue,pieces) 

Paramètres :

  • glue - par défaut une chaîne vide
  • pieces - un tableau de chaînes concaténées.
explode La fonction divise la chaîne à l'aide d'un délimiteur. Utile lorsque vous devez diviser une chaîne et affecter des parties en tant que valeur à une variable multiple. Analogue d'explode en PHP. Renvoie un tableau de chaînes obtenu en divisant str en utilisant delimiter comme délimiteur.
explode( delimiter, str)

Paramètres :

  • delimiter - délimiteur
  • str - chaîne à diviser.
randstring Renvoie une chaîne aléatoire.
merge Permet de fusionner des tableaux.

Syntaxe : = merge({=tableau_1}, {=tableau_2});

Exemple : = merge({=Document:FILES}, {=Variable:file}).
urlencode Codage URL de la chaîne.
strtolower Convertit une chaîne en minuscule.
strtoupper Convertit une chaîne en majuscule.
ucwords Convertit le premier caractère de chaque nouveau mot de la chaîne en majuscule.
firstvalue Renvoie la première valeur d'un champ multiple.
swirl Déplace la première valeur d'un champ multiple à la fin. Un champ multiple est fourni à l'entrée, à la sortie nous obtenons les valeurs décalées d'un pas vers la gauche, c'est-à-dire la première valeur est arrivée à la fin. Le changement est toujours une étape.
shuffle Mélange la valeur d'un champ multiple. Similaire à shuffle en PHP. L'entrée est un champ multiple, la sortie est les valeurs mixtes de ce champ multiple.
Exemple

Considérons le travail des fonctions : shuffle, firstvalue et swirl en utilisant un processus d’entreprise comme exemple. À l'aide de ce processus, vous pouvez définir une tâche pour un employé arbitraire de la liste et ajouter un autre utilisateur aux participants.

Le processus d’entreprise utilise la variable multiple Utilisateurs, qui stocke la liste des employés.

Tout d'abord, mélangeons la liste des utilisateurs en utilisant shuffle et récupérons le premier en utilisant firstvalue, ce sera notre personne responsable.

Ensuite, déplacez cette liste avec swirl et prenez le premier avec firstvalue, ce sera notre participant.

Ensuite, remplissez les paramètres de la tâche.

Après le démarrage du processus d’entreprise, des employés arbitraires seront ajoutés à la tâche en tant que responsable et participant.


Articles recommandés :

Ces informations ont-elles été utiles ?
Assistance d'un spécialiste
Ce n'est pas ce que je recherche
Texte compliqué et incompréhensible
Les informations sont obsolètes
Trop court, j'ai besoin de plus d'informations
Je n'aime pas comment cet outil fonctionne
Aller sur Bitrix24
Vous n'avez pas de compte ? Créez-en un gratuitement