Accueil Blog Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Samvel Petrosov | 4 février 2021

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Aujourd'hui, j'aimerais partager avec vous une petite astuce pour utiliser les styles de ligne avec des valeurs agrégées dans les demandes de renseignements génériques. La façon de procéder n'est pas vraiment évidente ou intuitive. Après un examen rapide, il semble que le système ne fournisse pas du tout cette fonctionnalité.

Prenons un scénario pour l'illustrer clairement. Supposons que nous ayons besoin de créer une IG qui fournira le temps facturable et non facturable passé sur un projet spécifique par jour et qui, en fonction de la productivité (100*[temps facturable]/8, en supposant que nous travaillons 8 heures par jour), mettra en évidence les lignes de différentes couleurs (vert - productivité>=70, orange - productivité>=40 ou rouge).

Commençons par construire l'IG en ajoutant simplement une table PMTimeActivity et PMProject.

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Fournissons maintenant les relations nécessaires. Nous allons le faire avec une jointure interne sur l'ID du projet comme suit :

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Nous devons ensuite ajouter un paramètre pour le projet CD afin de réduire l'ensemble des résultats pour les rendre plus lisibles.

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Ensuite, nous ajoutons un regroupement par ID de projet pour l'instant. Acumatica nous permet d'obtenir le résultat directement à partir de la page Generic Inquiry en cliquant sur le bouton Preview (en utilisant l'icône "œil" sur le panneau de droite). Nous pouvons maintenant voir le résultat sans quitter la page.

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

L'étape suivante consiste à modifier le regroupement pour qu'il se fasse également par date.

Personnellement, je n'aime pas la façon dont le regroupement fonctionne avec les dates, c'est pourquoi j'utilise la formule suivante pour le regroupement par Jour=Année([PMTimeActivity.Date])*10000 +[PMTimeActivity.Date_Month]*100+[PMTimeActivity.Date_Day], que vous pouvez voir en rouge ci-dessous.

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

ATTENTION: Cette formule peut ne pas fonctionner correctement en raison du décalage horaire. Acumatica conserve les dates en UTC.

Nous allons maintenant ajouter des styles de ligne. La formule que nous allons utiliser est la suivante :

=IIF(100 * CDec([PMTimeActivity.TimeBillable]/60) / 8>=70, 'bon', IIF(100 * CDec([PMTimeActivity.TimeBillable]/60) / 8>=40, 'orange40', 'mauvais'))

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Comme vous pouvez le voir dans la capture d'écran ci-dessus, la mise en évidence n'a pas très bien fonctionné. La première ligne est surlignée en rouge, mais la productivité est >=40, ce qui signifie qu'elle devrait être orange.

Le problème ici est dû au fait que la formule que nous avons fournie fonctionne sans regroupement et que le calcul prend la première activité de temps pour ce groupe, ce qui, dans ce cas, se traduit par 0 (zéro) temps facturable dans la deuxième ligne de la liste des activités de temps des employés.

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Pour résoudre ce problème, nous devons avoir un moyen d'indiquer au style de ligne que nous voulons que la valeur soit prise après le regroupement lui-même, bien qu'il n'y ait pas de moyen documenté pour le faire à l'heure actuelle. Ce n'est cependant pas une façon intentionnellement cachée de le faire.

Il suffit d'utiliser la formule suivante :

=IIF(PMTimeActivity_FormulaA4A7ACEFFCC1444DA018CE78DD1BFCA3>=70, 'bon', IIF(PMTimeActivity_FormulaA4A7ACEFFCC1444DA018CE78DD1BFCA3>=40, 'orange40', 'mauvais'))

Comme vous l'avez peut-être remarqué ci-dessous, la ligne est maintenant correctement mise en évidence.

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Passons maintenant à l'analyse des scripts SQL qui travaillent derrière l'IG pour comprendre pourquoi cette formule a fonctionné et comment. Si nous vérifions le journal des requêtes SQL, nous verrons le script ci-dessous. Comme vous pouvez le voir sur la capture d'écran, notre formule pour la colonne Productivité est sélectionnée avec un alias et correspond à la valeur que nous avons utilisée dans la formule pour le style de ligne.

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Il est généré par le code ci-dessous du graphique PXGenericInqGrph:

GIST : https://tinyurl.com/msu6dx4b

La méthode GetExtFieldId renvoie simplement la valeur RowID.

GIST : https://tinyurl.com/msu6dx4b

Par conséquent, le code ci-dessus ajoute la formule et l'ID de ligne. Examinons maintenant l'ID de ligne du résultat GIR pour cette ligne particulière :

Comment utiliser les styles de lignes de l'enquête générique Acumatica avec des valeurs agrégées ?

Comme vous pouvez le voir, le code ajoute_FormulaA4A7ACEF-FCC-1444D-A018-CE78DD1BFCA3à l'alias de la table qui est PMTimeActivity dans ce cas et c'est ainsi que le "PMTimeActivity_FormulaA4A7ACEF-FCC-1444D-A018-CE78DD1BFCA3" est généré.

Voici le lien vers la GIST : https://tinyurl.com/yck94f5y

Nous espérons que ces informations vous seront utiles dans votre propre travail de développement.

Bon codage !

 

Auteur du blog

Samvel est architecte logiciel chez Information Integration Group Inc. (IIG). Sa carrière a débuté en tant que développeur C# et s'est rapidement transformée en un rôle d'analyste en développement pour résoudre les limitations standard de l'ERP. Il a plus de 5 ans d'expérience dans le développement de logiciels dans le domaine de l'ERP et a géré tous les aspects du cycle de développement. Pendant son temps libre, il aime jouer aux échecs et lire des livres.

Recevez les mises à jour du blog dans votre boîte de réception.