- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-23-2018 05:31 AM
Bonjour,
Est-ce que certains d'entre vous utilisent le module Agile ?
Avez-vous rencontré le problème qui existe sur le task planning board ?
Le champ "Test Result" des Scrum Tasks affiche 3 fois la même valeur (Réussite, Réussite, Réussite) quand on l'utilise depuis le task planning board...
Par contre ça marche bien en anglais...
Toute idée de contournement est la bienvenue.
(évidemment, j'ai vérifié dnas le dictionnaire, c'est ok, et depuis le form, ça marche bien aussi)
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-03-2018 06:14 AM
Bonjour à tous,
Après moultes recherches et débogages (merci hichem pour avoir fait le début du debug!), il y a bien un script include qui génère ces choix et que nous pouvons modifier pour corriger cette anomalie.
Le script include en question est ScrumAjaxChoiceDetailsProvider. La fonction getChoiceData va récupérer les choix en anglais et si la langue est différente de l'anglais, alors il va récupérer le libellé dans l'autre langue.
L'anomalie vient du fait qu'il ne récupère pas le libellé en fonction de la valeur déjà trouvée, ce qui fait qu'il va toujours récupérer le premier libellé trouvé.
Pour corriger cette anomalie, il suffit de rajouter cette ligne avant le lancement de la query en ligne 24 :
gr3.addQuery("value", value);
Lien : https://{votre_instance}.service-now.com/nav_to.do?uri=sys_script_include.do?sys_id=f9d5f70eff311000dadaefff0efe1e3b
En Kingston, le script a été remanié et utilise l'objet "GlideSysChoice".
var ScrumAjaxChoiceDetailsProvider = Class.create();
ScrumAjaxChoiceDetailsProvider.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getChoiceData: function() {
var userLanguage = this.getParameter('sysparm_user_language');
var name = this.getParameter('sysparm_table');
var element = this.getParameter('sysparm_column');
var result = "";
//Get the sys_choice entries
var choices = new GlideSysChoice(name, element);
var gr = choices.getChoices();
while (gr.next()){
var label = gr["label"];
var value = gr["value"];
var item = this.newItem("choice");
item.setAttribute('label', label);
item.setAttribute('value', value);
}
},
/**
* Prevent public access to this processor
*/
isPublic: function() {
return false;
}
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-29-2018 02:12 PM
Tout à fait pbo, les libellés en français sont bien corrects.
Le problème ne vient pas des libellés à proprement parler, mais du script qui doit chargé les valeurs dans la liste de la popup.
Pourquoi ça fonctionne en EN et pas en FR ?
En fait le script gère la récupération des libellés et valeurs de l'anglais, indépendamment des autres langues et c'est dans la boucle qui récupère les libellés des autres langues qu'il doit y'avoir une ligne de code erronée..
J'ai activé une autre langue (espagnol) et même résultat qu'en FR, ce qui appuie cette théorie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-03-2018 06:14 AM
Bonjour à tous,
Après moultes recherches et débogages (merci hichem pour avoir fait le début du debug!), il y a bien un script include qui génère ces choix et que nous pouvons modifier pour corriger cette anomalie.
Le script include en question est ScrumAjaxChoiceDetailsProvider. La fonction getChoiceData va récupérer les choix en anglais et si la langue est différente de l'anglais, alors il va récupérer le libellé dans l'autre langue.
L'anomalie vient du fait qu'il ne récupère pas le libellé en fonction de la valeur déjà trouvée, ce qui fait qu'il va toujours récupérer le premier libellé trouvé.
Pour corriger cette anomalie, il suffit de rajouter cette ligne avant le lancement de la query en ligne 24 :
gr3.addQuery("value", value);
Lien : https://{votre_instance}.service-now.com/nav_to.do?uri=sys_script_include.do?sys_id=f9d5f70eff311000dadaefff0efe1e3b
En Kingston, le script a été remanié et utilise l'objet "GlideSysChoice".
var ScrumAjaxChoiceDetailsProvider = Class.create();
ScrumAjaxChoiceDetailsProvider.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getChoiceData: function() {
var userLanguage = this.getParameter('sysparm_user_language');
var name = this.getParameter('sysparm_table');
var element = this.getParameter('sysparm_column');
var result = "";
//Get the sys_choice entries
var choices = new GlideSysChoice(name, element);
var gr = choices.getChoices();
while (gr.next()){
var label = gr["label"];
var value = gr["value"];
var item = this.newItem("choice");
item.setAttribute('label', label);
item.setAttribute('value', value);
}
},
/**
* Prevent public access to this processor
*/
isPublic: function() {
return false;
}
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-03-2018 09:04 AM
Le correctif fonctionne parfaitement sur nos instances (Jakarta)
Merci pour le travail
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-03-2018 08:02 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-05-2018 05:24 AM
Bravo ça marche nickel ! Grand merci à tous les deux !