Comment utiliser efficacement les fonctions Date/Heure | Mendix

Passer au contenu principal

Comment utiliser efficacement les fonctions Date/Heure

Dans cet article de blog, je vais aborder une approche que vous pouvez utiliser lors de l'utilisation de fonctions de date/heure. Lorsque vous utilisez des microflux pour calculer les différences de temps, il peut rapidement devenir difficile de savoir si les fonctions que vous utilisez produiront la sortie de temps correcte.

Un autre problème courant observé, surtout si vous calculez une différence de temps en minutes, est que vous devez effectuer des calculs supplémentaires pour afficher correctement les secondes avec les minutes.

Exemple

Dans cet exemple, je vais créer un microflux qui calcule le temps moyen nécessaire à un utilisateur pour effectuer une tâche (en supposant que l'utilisateur utilise une application de gestion des tâches). Ce temps doit être affiché au format Xmin Ysec, où X est une variable qui affiche le temps moyen en minutes et Y le temps moyen en secondes, comme indiqué ci-dessous :
blog2pic2

Configuration

À première vue, cela peut être une tâche ardue, car vous devez séparer le temps moyen en deux variables tout en vous assurant que l'heure affiche correctement l'heure en minutes et en secondes. L'image ci-dessous montre le microflux qui gérera cela :
blog2pic1

 

Bien que cela ne ressemble pas à un microflow très compliqué, le dernier bouton d'action nécessite un peu de complexité et peut également être la cause d'un casse-tête majeur pour le développeur s'il n'est pas configuré correctement. Afin de calculer les deux variables de temps mentionnées ci-dessus, vous devrez créer deux fonctions qui calculent les éléments suivants :

  1. Calculez le temps moyen nécessaire pour accomplir une tâche, puis arrondissez ce nombre à l'inférieur afin que le résultat final soit la valeur moyenne en minutes du temps.
  2. Calculez le temps moyen nécessaire pour terminer une tâche, puis soustrayez la valeur moyenne en minutes calculée ci-dessus, de sorte que le résultat final soit la valeur moyenne en secondes du temps.

Pour ce faire, nous utiliserons les deux fonctions de microflux ci-dessous :

  1. Arrondir – Arrondir un nombre à virgule flottante, éventuellement à une précision spécifiée
  2. Plancher – Arrondir un nombre à virgule flottante vers le bas

Vous trouverez ci-dessous une capture d'écran des calculs d'attributs corrects pour l'action de microflux à utiliser comme référence :
blog2pic3

Conseils de débogage

Lors du débogage des calculs d'attributs ci-dessus, il est préférable de décomposer chaque section de chaque instruction IF en créant une variable dans le microflow qui ne contient que cette section spécifique du calcul. Cette méthode vous permet de définir des points d'arrêt de débogage précis dans le modeleur où vous pouvez facilement découvrir quelle section de vos équations est incorrecte. Vous trouverez ci-dessous un exemple de débogage des attributs ci-dessus :
blog2pic4
Chaque sélection en surbrillance doit être répliquée dans sa propre variable afin que l'utilisateur puisse voir, via le débogueur, si l'une de ces fonctions calcule une valeur incorrecte.
blog2pic5
Comme vous pouvez le voir ci-dessus, cinq variables spécifiques ont été créées afin de capturer chaque fonction des attributs calculés. Ce que vous feriez ensuite serait d'ajouter un point d'arrêt de débogage à la première section et de voir quelle est la valeur calculée. Si c'est une valeur acceptable, vous pouvez passer à la deuxième variable. Si la variable n'est pas une valeur acceptée, vous pouvez travailler sur cette section du code. Ce processus vous permettra de découvrir exactement où se trouve votre erreur et de réduire la frustration lorsque vous calculeriez normalement les attributs compliqués et que vous ne sauriez pas par où commencer si leur valeur était incorrecte.

En conclusion

En utilisant les fonctions date/heure fournies dans le Mendix Le modélisateur peut être un moyen puissant d'afficher visuellement les mesures utilisateur sur l'achèvement des tâches, à condition que vous suiviez une méthode méthodique de débogage de votre code.

Choisissez votre langue