Export CSV de l'ensemble des lignes ne fonctionne pas

Bonjour,

Sur un affichage en liste, sans rien cocher, je fais un export CSV. Le bouton d’export indique bien 357 éléments mais dans mon fichier CSV je n’ai que la première ligne.


image

Je recommence l’opération en choisissant Select all, mais j’obtiens le même résultat, seulement la première ligne.

Comment procéder pour exporter toutes les lignes ?

Merci d’avance
Emmanuelle

Version=4.0.P25
BuiltOn=2021-08-31 22:38 (revision 97272cb9362c8966378105679b80fa488568a5e1)

Bonjour,

Je ne reproduis pas le problème sur une instance V4 à jour.

Si le symptôme ne se produit que sur cet objet, c’est qu’il doit y avoir un plantage quelque part dès la 2eme ligne, comme un format de champ qui ne s’exporte pas bien en CSV.

Est ce pareil en Excel via POI ?

Que disent les logs ?

J’ai l’impression que le problème se pose pour les objets sur lesquels j’ai une présentation en pillbox d’une relation N,N qui apparaît en liste.
Mais je n’ai rien dans les logs.

J’ai le même problème en export Excel.

[EDIT] Je confirme que quand je supprime les colonnes présentées en pillbox, je n’ai plus le problème

Bizarre, de mémoire les pillbox ne s’exportent pas, c’est purement UI car ce ne sont pas des champs de l’objet. On va refaire des tests.

En ajoutant une pillbox sur la démo (liste des pays sur un fournisseur), il n’y a pas de problème d’export :

Les N,N ne sont pas exportées.

Essayez de mettre en commentaire tout le code de votre objet.
Les pillbox ne sont pas des colonnes de l’objet, qu’entendez vous par “quand je supprime les colonnes”, en retirant le rendering en pillbox du Link ? ou on parle d’une autre colonne spécifique ?

Par “supprimer” je veux dire que je passe le link en rendering child list.

Un export fait un simple “searchExport” sur l’objet puis boucle sur les lignes pour générer le CSV, aucune requête sur les Links N,N.

Mettez votre code en commentaire ou debugger les hooks pre/postSearch et pre/postExport pour voir combien il y a de lignes ramenées.

Je n’ai plus le problème quand j’ai une seule colonne en pillbox. Dès que j’en ai deux ça se reproduit.

Effectivement avec 2 links N,N en pillbox, un filtre reste positionné sur le row_id de l’objet une fois la UI affichée. Il y a un surement un problème de contexte persistant suite aux recherches des listes sur la UI.

Mettez un getRowIdField().resetFilter() dans le hook preExport pour le retirer applicativement.

On va voir comment le retirer en cas de “multi-pillbox” dans un prochain patch.

2 Likes

Merci, avec ce contournement mes lignes s’exportent toutes.

Les appels asynchrones pour charger les listes liées (en pillbox) forcent un filtre sur une ligne à la fois (par appliquer d’éventuelles règles sur les search-specs du link pour remplacer des champs en fonction du parent). Et il n’y a pas de méthode finale à tous ces appels asynchrones (genre promise) pour retirer le filtre sur le row_id de l’instance.

Un getRowIdField().resetFilter() sera ajouté dans les exports de liste pour gérer ce cas particulier, en attendant, il faut le faire dans le hook preExport.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.