Lorsque je suis en vue liste et que j’essaie d’exporter les données de ma liste à partir du bouton exporter je me rends compte que la première fois ça marche cependant quand je refais la même chose une deuxième fois ça ne fonctionne plus(rien ne se passe au click ) . Pour pouvoir exporter à nouveau je dois rafraichir la page et refaire l’action qui va marcher seulement la première fois et ainsi de suite.
---paste the content of the **relevant** server-side logs---
Browser logs
ui-bundle.js?_=6.2.21:2123 Uncaught TypeError: Cannot set properties of undefined (setting 'enabled')
at Object.exp (ui-bundle.js?_=6.2.21:2123:15)
at done (ui-bundle.js?_=6.2.21:1544:57)
at set (ui-bundle.js?_=6.2.21:1524:1)
at Object.getNavObject (ui-bundle.js?_=6.2.21:1547:168)
at Object.displayExport (ui-bundle.js?_=6.2.21:2128:4)
at Object.<anonymous> (ui-bundle.js?_=6.2.21:1736:604)
at Object.doActionGeneric (ui-bundle.js?_=6.2.21:1728:6)
at ui-bundle.js?_=6.2.21:1690:330
at disp (ui-bundle.js?_=6.2.21:1697:29)
at Object.initConfirmAction (ui-bundle.js?_=6.2.21:1703:113)
Other relevant information
----E.g. type of deployment, browser vendor and version, etc.----
Je me suis mis en v6.2.21 et je n’ai pas réussi à reproduire votre problème en prenant un objet classique (sans code ajouté).
Est-ce qu’il serait possible d’avoir plus de détails concernant les étapes nécéssaires pour reproduire ? Par exemple quel format est choisit pour l’export, et qu’entendez vous par “Annuler l’action d’export”, car dans un cas d’usage normal l’export est censé se faire directement après avoir cliqué sur le bouton “Export” au moment du choix du format:
Alors je n’ai pas réussi à reproduire non plus en interrompant l’action puis en la relançant. Car même en arrêtant l’action et la répétant plusieurs fois, j’ai toujours obtenu un export valide…
Si vous avez du code spécifique sur votre objet, ou des règles de gestion particulières intervenant sur l’export de votre objet, cela pourrait être une cause possible de ce problème…
Je vous remercie pour ces informations complémentaires, cela me donne un déroulé plus précis de la séquence à appliquer.
Néanmoins le menu des Demandes que vous mentionnez est je pense spécifique à votre application, or je n’y ai pas accès…
En effet avec les modules et objets à ma disposition (notre application de demo notamment) je ne reproduis pas le problème
Je vais essayer d’investiguer à partir du message d’erreur, mais si vous pouviez me fournir des informations concernant le potentiel code java, la configuration, ou encore des contraintes appliquées à l’objet “Demande” cela m’aiderai grandement !
Je comprends tout à fait, l’objet “Demande” est effectivement spécifique à notre métier.
Concernant la fonctionnalité d’Export en tant que telle, nous utilisons le comportement natif de Simplicité (bouton standard, aucun code spécifique surchargé pour l’action d’export elle-même). C’est pourquoi je suis surpris que cela génère une erreur JavaScript côté client (Uncaught TypeError...).
Cependant, je me doute que le moteur Simplicité rappelle certains Hooks serveurs pour rafraîchir l’interface (notamment l’état des boutons) après l’action d’export ou lors du rechargement de la liste.
Pour m’aider à analyser l’erreur, pourriez-vous me préciser :
Le cycle de vie exact lors d’un export : Quels hooks serveur sont rappelés par le moteur pour rafraîchir l’interface juste après l’action ?
L’état de l’objet : Lors de ce rafraîchissement post-export en vue liste, l’instance de l’objet est-elle instanciée sur une ligne (row) ou est-elle vide ?
Cela me permettrait de vérifier si mes règles de gestion (notamment sur la visibilité des actions personnalisées) ne provoquent pas une exception silencieuse à cause d’un contexte d’objet inattendu à ce moment précis.
Je pense que dans les différents hooks front que vous avez surcharger, il y a un moment où vous modifiez le paramètre d’export de votre objet.
Une hypothèse serait que l’un des modes (CSV, XLS, PDF, ARC, XML, JSON, YAML, ZIP) est supprimé lors du second clic, et donc entraîne une erreur lors de la vérification de son *.enabled, la solution se trouve sûrement dans le code front de votre objet Demande (ou tout autre code qui viendrait potentiellement modifier cet objet), dans lequel vous devez d’une manière ou d’une autre modifier les valeurs, si vous avez des doutes et qu’il vous est possible de m’envoyer ce code je vous aiderai à debugger cela.
De quelle manière avez vous configurez l’export sur votre objet ? Quelle est la valeur du champ Data export (obo_export), et faites-vous des modifications sur sa valeur ?
Après plusieurs tests, nous avons pu identifier la cause de cette erreur. À priori, ce n’est pas lié au code ajouté, mais plutôt à la manière dont Simplicité gère le paramétrage des exports.
En effet, au niveau de l’objet métier, quand on paramètre le format du fichier exporté et que l’on choisit uniquement les formats souhaités (par exemple uniquement CSV et XLS), le bug se produit. Pour que cela fonctionne, il faut que la valeur “Tous” figure parmi les valeurs sélectionnées, sinon l’erreur survient.
Cependant, cela nous oblige à proposer l’ensemble des formats alors que nous souhaitions les restreindre. S’agit-il d’un comportement attendu ou d’une anomalie ?
En effet avec ce paramétrage je reproduis bien le problème en 6.2.21, c’est une anomalie.
Nous l’avons corrigée en 6.3 et en 6.2, la correction sera disponible rapidement sur vos instances.
Je vous invite au passage à vous mettre à jour dés que possible afin de profiter des nouvelles fonctionnalités et des corrections listées dans notre [Release Note]( ✅ v6.3 | Simplicité Documentation )
Note: la version 6.2 étant entrée en maintenance courte, il est donc important que vous passiez sur la version 6.3 dés que possible (cf cette annonce).