Dans le contexte de notre projet, nous sommes confrontés à la tâche d’exporter un Business Object sous la forme d’un fichier CSV. Cependant, avant de procéder à cette exportation, nous devons apporter quelques ajustements spécifiques.
Premièrement, il est nécessaire que nous supprimions certaines colonnes du fichier CSV. Pour accomplir cela, nous avons exploré l’utilisation de la fonction “PreExport”, mais nous n’avons pas pu accéder à une documentation détaillée sur son fonctionnement.
Deuxièmement, notre besoin implique de mettre à jour exclusivement le libellé de la colonne dans le contexte de nos lignes de données. Nous avons tenté d’utiliser la fonction “postExport(List<String> rows)”, cependant, nous avons constaté qu’elle nous fournit uniquement les lignes de données sans inclure l’en-tête.
Voici un exemple de ce que nous envisageons :
Avant ajustements :
Colonne A
Colonne B
Colonne C
Donnée A
Donnée B
Donnée C
Donnée X
Donnée Y
Donnée Z
Après ajustements :
Colonne AA
Colonne C
Donnée A
Donnée C
Donnée X
Donnée Z
Nous serions reconnaissants si vous pouviez nous guider sur la façon de gérer ces ajustements de manière efficace, notamment en ce qui concerne l’utilisation des fonctions “PreExport” et “postExport”.
Sur les hooks pre/postExport, ils permettent de modifier le contenu :
preExport : permet généralement de modifier les filtres avant recherche
postExport : permet de rajouter/retirer des lignes ou de valoriser des champs calculés (sans colonne physique) après le select en base (qui passera dans le preSearch/search/postSearch de l’objet)
Ce n’est donc pas adapté à modifier la définition de l’objet, on le fait en général une fois dans le postLoad :
if (isExportInstance()) {
getField("x").setLabel("Colonne AA");
getField("y").setVisibility(ObjectField.VIS_HIDDEN);
}
Sinon il y a d’autres approches :
Il existe aussi une propriété “exportable” sur le champ en plus de la visibilité (de mémoire pour excel/pdf, à voir si elle est prise en compte dans un export CSV sinon on l’ajoutera)
il est aussi possible de définir des recherches prédéfinies avec des préférences de colonnes visibles, et l’appliquer sur la liste et dans l’export (un bug vient d’être corrigé et sera livré prochainement), ça permet d’avoir N templates d’export et c’est l’utilisateur qui applique celui qu’il souhaite
ou de créer une publication sur mesure si la structure change complètement
PS : la propriété “exportable” d’un attribut sera prise en compte dans l’export CSV dans la prochaine révision, à date elle n’est utilisée que dans Json, XML, Excel et PDF.
Re Bonjour,
Je vous remercie pour les détails et les informations que vous avez partagés. J’aurais une question à ce sujet : il semblerait que la méthode isExportObject() ne soit pas répertoriée dans la documentation. Est-ce qu’elle fait partie des fonctionnalités prises en charge par Simplicité ?