Séparateur de numéros
Le composant séparateur le plus important est probablement le séparateur de nombre. Son objectif est de fractionner une valeur numérique en deux parties à un seuil donné.
Prenons un exemple :
Supposons que votre client ait utilisé votre service pour un certain nombre d'unités. L'abonné au service a reçu un certain nombre d'unités d'utilisation de service gratuites que vous devez imputer par rapport à l'utilisation déclarée par le système de mesure avant de pouvoir déterminer le montant à facturer.
SERVICE_USAGE: X Units
FREE_USAGE: Y units
Comme votre logique de calcul du prix ne peut pas indiquer si l'utilisation du service client est inférieure ou supérieure au montant de l'utilisation gratuite encore disponible pour le client, elle doit d'abord effectuer une comparaison. En fonction du résultat, le calcul arithmétique correct doit être effectué pour que le résultat puisse être traité correctement. Ce calcul peut être :
- SERVICE_USAGE – FREE_USAGE si le volume d'utilisation de services gratuits encore disponible est inférieur à la quantité de services consommée. Le résultat peut être facturé et le solde d'utilisation du service gratuit sera défini sur 0.
- FREE_USAGE – SERVICE_USAGE si le volume de services disponibles est supérieur à la quantité de services consommée. Le résultat sera déduit du solde d'utilisation libre et rien ne sera facturé.
C'est assez compliqué, et le séparateur peut aider à simplifier ce calcul. Dans la configuration, vous sélectionnerez un "Nom de propriété" numérique contenant le nombre à fractionner en deux parties. Comme la "Valeur de fractionnement" doit être sélectionnée, une autre propriété numérique contenant le seuil à partir duquel fractionner la première propriété doit être sélectionnée. Notez que vous pouvez également saisir un numéro statique ici, mais comme il est plutôt statique, cela n'est généralement pas fait.
Le composant s'attend à ce que vous indiquiez les noms des propriétés numériques dans lesquelles il écrira le résultat de l'opération de fractionnement. La première propriété recevra la valeur de "Nom de propriété" jusqu'à la "Valeur de fractionnement", tandis que toute valeur de "Nom de propriété" sera affectée à la seconde au-delà de la "Valeur de fractionnement".
Voyons comment le composant serait configuré pour l'exemple donné ci-dessus.
La propriété à fractionner ici est "SERVICE_USAGE". Comme valeur de fractionnement, le compteur "FREE_USAGE" a été fourni. Le résultat du fractionnement est écrit respectivement dans les propriétés "USAGE_FREE_OF_CHARGE" et "USAGE_TO_CHARGE".
Soyons spécifiques et supposons que le client ait consommé 7 unités, alors que le solde de FREE_USAGE est de 5 unités. A partir des 7 unités utilisées 5 unités sont inférieures au seuil de 5 unités encore libres. Par conséquent, la propriété USAGE_FREE_OF_CHARGE reçoit la valeur "5".
À partir des 7 unités utilisées, 2 unités sont supérieures à 5 unités encore libres. Par conséquent, la propriété USAGE_TO_CHARGE reçoit la valeur "2".
Le composant crée deux branches de sortie qui sont toutes les deux exécutées :
Notez que la propriété "USAGE_FREE_OF_CHARGE" est disponible uniquement dans la branche sortante intitulée "SERVICE_USAGE: Jusqu'à FREE_USAGE" alors que la propriété USAGE_TO_CHARGE est disponible uniquement dans la branche intitulée "SERVICE_USAGE: Beyond FREE_USAGE". Comme vous pouvez le voir, la logique restante que vous devez implémenter est beaucoup plus simple de cette manière, car certains calculs arithmétiques ont été effectués par la composante de séparateur pour vous.
Remarque
Selon les données fournies comme entrées pour le composant, les propriétés de sortie USAGE_FREE_OF_CHARGE et USAGE_TO_CHARGE peuvent être nulles.