Problème Tableau de bord - Erreur Gadget
Problème Tableau de bord - Erreur Gadget

Suite à une mise à jour du logiciel Sage CRM  il peut arriver que certains Tableaux de bord CRM renvoient l'erreur suivante pour chaque gadget : 

Erreur lors du traitement du gadget. Veuillez contacter votre administrateur système. 

les origines peuvent être multiples. L'une d'entre elle est la suppression des gadgets rattachés au Tableau de bord : 

Dans le cas ou vous rencontrez les messages d'erreur suivant dans les logs Tomcat : 

ERROR [http-apr-10009-exec-8]: 06-Mai-2019 8:47:43.342 com.sage.scrm.model.layout.error.SageInvalidGadgetDataSourceException: java.lang.NullPointerException
com.sage.scrm.model.layout.error.SageInvalidGadgetDataSourceException: java.lang.NullPointerException
at com.sage.scrm.model.layout.GadgetDataSource.initialize(GadgetDataSource.java:341)
at com.sage.scrm.model.layout.GadgetDataSourceFactory.updateDataSource(GadgetDataSourceFactory.java:121)
at com.sage.scrm.model.layout.GadgetDataSourceFactory.createDataSource(GadgetDataSourceFactory.java:421)
at com.sage.scrm.model.layout.GadgetDataSourceFactory.createDataSourcesForNotifications(GadgetDataSourceFactory.java:371)
at com.sage.scrm.model.layout.GadgetDataSourceFactory.createDataSources(GadgetDataSourceFactory.java:494)
at com.sage.scrm.model.layout.GadgetDataSourceFactory$$FastClassBySpringCGLIB$$e9537248.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)

Caused by: java.lang.NullPointerException
at com.sage.scrm.model.layout.GadgetDataSource.getNotificationColumn(GadgetDataSource.java:958)
at com.sage.scrm.model.layout.GadgetDataSource.addNotificationColumns(GadgetDataSource.java:939)
at com.sage.scrm.model.layout.GadgetDataSource.initializeNotification(GadgetDataSource.java:919)
at com.sage.scrm.model.layout.GadgetDataSource.initialize(GadgetDataSource.java:323)

 

Pour vérifier si l'erreur vient de la suppression des gadgets, il faut lancer quelques requêtes sur la base CRM :

Depuis Studio Management : 

select * from  where LPGad_Deleted =1

Permet de retrouver la liste des Gadgets supprimés

 

Vérifier si pour votre tableau de bord, certains gadgets sont supprimés : 

Liste des tableaux de bord dans la table [LPLayout] : Par exemple Tableau de bord LPLayout_LayoutId = 6001 // Sales Dashboard_3                                           

Vérifier dans la table LPGadget, pour le LPGad_LayoutId = 6001 si des lignes sont à DELETED = 1

Si c'est le cas, remettre les lignes concernées à Deleted = NULL.

Tester à nouveau d'afficher le tableau de bord.

SageCRM