Problème Export Vue Liste

Request description

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.

Steps to reproduce

This request concerns an up-to-date Simplicité instance
and these are the steps to reproduce it:

  1. Afficher la vue liste des demandes et cliquer sur le bouton exporter pour l’export

  2. Annuler l’action d’export

  3. Recliquer sur le bouton exporter pour l’export → Et là ça ne marche plus

Technical information

Instance /health
[Platform]
Status=OK
Version=6.2.21
BuiltOn=2026-01-15 22:16
Git=6.2/227fc1ba643f20ca373ae69754177caab4fd214b
Encoding=UTF-8
EndpointIP=127.0.0.1
EndpointURL=https://dev-sim:10808/rhsocial
TimeZone=Europe/Paris
SystemDate=2026-01-26 11:36:12

[Application]
ApplicationVersion=6.2.SP_Simplicitev6
ContextPath=/rhsocial
ContextURL=https://dev.bretagne.bzh/rhsocial
ActiveSessions=2
TotalUsers=24
EnabledUsers=22
LastLoginDate=2026-01-26 09:12:08

[Server]
ServerInfo=Apache Tomcat/9.0.113
ServerType=WEB
ServerDevMode=true
ServerCompiler=true
ServerActiveSessions=0
ServerSessionTimeout=60
CronStarted=true

[OS]
Name=Linux
Architecture=amd64
Version=3.10.0-1062.9.1.el7.x86_64
SystemEncoding=UTF-8

[Disk]
DiskFree=53249
DiskUsable=48781
DiskTotal=107696

[JavaVM]
Version=21.0.7
Vendor=BellSoft
VMName=OpenJDK 64-Bit Server VM
VMVersion=21.0.7+9-LTS
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.13 2020 09 02
HeapFree=1613963
HeapSize=2097152
HeapMaxSize=8388608
TotalFreeSize=7905419

[Cache]
ObjectCache=898
ObjectCacheMax=10000
ObjectCacheRatio=8
ProcessCache=0
ProcessCacheMax=10000
ProcessCacheRatio=0
APIGrantCache=0
APIGrantCacheMax=1000
APIGrantRatio=0

[Database]
Vendor=2
VendorName=mysql
ProductName=MySQL
ProductVersion=5.5.5-10.2.9-MariaDB-10.2.9+maria~stretch
DriverName=MySQL Connector/J
DriverVersion=mysql-connector-j-9.5.0 (Revision: a7b3c94f50efbddb9f0dd69b3e0d1aaa25305cd6)
DBDate=2026-01-26 11:36:12
DBDateOffset=0
DBPatchLevel=6;P02;4909be4d8f695f967e7e5e0836c2d858;21
UsingBLOBs=true

[Healthcheck]
Date=2026-01-26 11:36:13
ElapsedTime=308

Simplicité logs
---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.----

Bonjour et bienvenu sur notre forum !

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:

Si par “Annuler l’action d’export” vous désigner l’action de cliquer sur “Arrêter” dans la modale suivante :

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…

Est-ce le cas ?

Merci pour votre retour.
Pour reproduire l’erreur vous devez :

  • vous rendre au niveau des demandes dans le menu

-Vous verrez la liste des demandes et ensuite vous faites exporter

-Ensuite vous annulez l’action

  • Retentez de faire un export en cliquant à nouveau sur le bouton exporter et vous là plus rien ne se passe.

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 :sweat_smile:

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 :

  1. 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 ?

  2. 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.

Merci de votre aide.

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 ?

Bonjour,

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 ?

Cordialement.

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 ) :grin:

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).

Cordialement