Nouveau module d'export avec filtres mémorisables

Je suis en train de préparer la version 3.3 de ce module
au programme les listes d’exports au format datatables

J’ai réalisé une chtit démo sur mon site perso, vous pouvez y accéder directement par là : dlbdemo.benke.fr/htdocs/exports/liste.ph...tatoexport=facture_1
login : admindemo / admindemo

cela fonctionne pour le moment en 3.2 et en 3.3, je vais faire 2 version, la version 3.2 sera disponible sur demande

Sinon, il y a un autre bug dans le module d’export 3.3, la valeur des champs filtrés n’est pas enregistré, je ferai le correctif dans la soirée.

oui la valeur >200 ne change pas :wink:

Le tri des listes a l’air OK, faut juste capter que ce sont les flèches à droite du nom de colonne qui trient (un peu cosmétique cette remarque…)

Sinon, on pourra choisir les « tables » à afficher et/ou des champs supplémentaires, etc… ?
ou alors ce sera codé en dur comme dans liste.txt (sur l’autre sujet ?)

Merci et bon café !

Effectivement, tout ne peu pas marcher du premier coup, après une soirée de code…

En fait tu crées un export comme tu le souhaites avec les champs que tu souhaites (en terme d’affichage et de filtrage), puis tu l’enregistres et ensuite tu peux accéder à la liste soit par l’écran d’export (en cliquant sur l’icone devant le nom de l’export), soir en créant un marque-page…

Bon j’ai mes petits à poser à leur centre aéré et pas mal de taff aujourd’hui, on terminera cela ce soir
Je pense que je vais packager un module datatables qui remplacera les listes natives de dolbarr, je le mettrais au même prix de mon ancien module d’export V2 (15€) qui n’a plus d’utilité avec la 3.3

1 « J'aime »

si tu veux voir du datatables en action :wink:

http://demo.speedealing.com
login: demo
pwd: demo

Un petit UP pour annoncer que je prépare la version 3.3 de ce module.

La Principale nouveauté sera l’utilisation de datatable non seulement sur l’écran d’export mais aussi sur toute les listes de dolibarr (pour info, j’en ai référencé 31).
Là où je coince pour le moment c’est pour définir la liste des colonnes disponoble pour chaque liste et comment mémoriser le choix des colonnes, leur ordre et surtout si elle sont filtrable ou pas.
Idéalement il faudrait que je me base sur les tables (dans le sens base de données) pour lister les champs disponibles
La deuxième nouveauté sera un nouveau format d’export pris en charge : le XML
Enfin il sera possible d’accéder aux exports enregistrées par une requete xml-rpc

Oui, se baser sur les tables de la BDD pour afficher en liste les champs dispos « affichables » serait très pratique et permettrait d’afficher des champs/colonnes non disponibles sur un écran précis sur une même table et aussi, de supprimer des champs/colonnes inutiles sur certains écrans.
Il faudrait récupérer les noms des colonnes comme affichés sur l’onglet « structure » dans phpmyadmin, mais je ne m’y connais pas assez pour savoir où sont stockés les noms des colonnes…
Sur dolibarr le souci, c’est que ces requêtes pour l’affichange sont faites en « dur » pour chaque écran et pas dynamiquement… ça chamboule tout le process ! quel chantier !

A mon avis, il faudrait pour cela créer une sorte de module, permettant d’afficher des tableaux « sur-mesure » comme avec votre extension ;), plutôt que d’aller changer le code d’affichage et le rendre dynamique sur les 31 tableaux que vous avez référencés, non ?
à moins que ce soit très simple…

Et aussi, est-ce qu’il serait possible sur certains écrans, de faire apparaître des champs d’autres tables, comme c’est déjà le cas actuellement grâce au foreign key etc… question bête peut-être ?

Bon courage,

C’est un peu plus simple que cela, enfin simple ne veux pas dire facile :whistle:
Les fonctions de création de la requête SQL à partir de tableaux de champs et de filtres sont existantes dans le nouveau module d’export de dolibarr 3.3.
Il faut donc juste les utiliser dans les listes en conservant les spécificités de celle-ci et la possibilité de rendre paramétrable l’affichage par défaut…
Idéalement, il faudrait aussi pouvoir faire fonctionner ces listes dynamiques sans activer datatables, on garderait une compatibilité avec de vieux navigateurs…
Au final, je vais m’orienter vers une table proche du format utilisée pour mémoriser les exports, il suffira de faire un appel pour récupérer les infos et ‹ construire › le tableau. Dans le cas d’un nouveau module avec une liste, celle-ci pourra être ajouté dans la table ou les tableaux codé en dure dans la page…
Du peu que j’ai déjà analysé, chaque liste sera nécessairement différente, ne serait-ce que par la présence ou non des états différents, ou d’actions en bout de ligne…

Pour ce qui est des liens par les clés vers d’autres tables, c’est déjà possible dans la liste que je construit dynamiquement avec les requetes d’export

Je vais finalement créer un nouveau module qui s’appellera « listtables », le module d’export n’ayant plus raison d’être avec la 3.3

Ce nouveau module permettra d’accéder comme avec l’ancien au liste d’export pré-enregistrés sous la forme d’un tableau mais donnera accès au fonctionnalité datatables sur la majorité des listes de dolibarr
Un écran d’administration permettra d’accéder aux définition des listes et de sélectionner les colonnes que l’on souhaite afficher par défaut, ainsi que celle qui seront filtrable.
Il sera possible d’accéder aux champs supplémentaires directement sur les listes si on en a l’habilitation.

A vue de nez j’en ai pour une bonne semaine de codage. Le module sera mis en vente au même prix que l’ancien module d’export soit 15€

voici à quoi cela va ressembler

Listcommande.png

magnifique ! Rien d’autre à dire que bravo :happy:

Je viens de terminer la première liste paramétrable fonctionnelle pour les commandes.
Quelques remarques sur les grandes lignes d’orientation de mon développement.
Une table en base de données contiendra la définition des listes en terme de présentation, mise en forme et filtrage
le paramétrage sera stocké en base en json dont voici le modèle pour un champ:

"s.ville": { //-\> nom de la colonne dans la base de données "name": "Town", //-\> traduction de l'entête de colonne "align": "left", //-\> alignement du champs dans le tableau "type": "Text", //-\> format du champs (utilisé pour le filtrage et la mise en forme) "enabled" : "true", //-\> autorise ou non l'accès au champs (dans la liste) "visible" : "false", //-\> affichage ou non du champs par défaut "filter" : "false"}, //-\> possibilité de filtrer ou non le champs par défaut

Ce paramétrage sera accessible à partir d’un écran d’administration accessible à l’administrateur, chaque champs correspondra à une lignes avec les données paramétrables.

Comme je suis un inquiet de nature, je pense conserver dans un champ la définition par défaut, pour permettre de revenir en arrière si on le souhaite…

Je vais finaliser les écrans d’administrations et puis je m’attaquerais à chacune des 31 listes, a vu de nez et de part mes developpements en cours, rien ne sera prêts avant fin avril…

Je n’ai pas encore regardé l’aspect des extrafields, ce sera pour plus tard…

Je viens de réaliser ma seconde liste, il m’a fallut une heure environ pour la convertir
je vais voir maintenant ce qui est refactorable pour optimiser la conversion

J’ai profité de ce long week-end pour basculer mon site de démonstration en 3.3.1 et pour avancer sur la mise en forme des listes en datatables.
Les premières listes mises à jour sont en ligne(proposition commerciales, commande, facturation et liste d’export enregistré).
je vais attaquer l’écran d’administration la semaine prochaine, j’espère avoir quelquechose de stable pour la fin de la semaine prochaine.

Les fonction avancé de mise en page du forum étant HS, voici un lien qui présente l’avancement et les fonctionnalités du prochain module.
et en particulier l’écran d’administration qui permettra d’organiser les tableaux comme on le souhaite :
définir le nom des champs, ordre des champs, ajoutable ou non dans la liste de choix, filtrable ou pas…
cerise sur le gateau la possibilité de rajouter des nouveaux champs sur le tableaux (soit existant dans la table, soit calculé…)
http://www.benke.fr/index.php?option=com_content&view=article&id=46:gestion-des-lignes-dynamiques&catid=18:dolibarr&Itemid=25

Je ferai en sorte que le module soit terminé pour le devcamp de fin avril, j’expliquerai aux développeurs comment utiliser cette fonctionnalité dans leur code.

Un petit UP pour annoncer que le module d’administration des listes est terminé.
Il me reste à finaliser les dix listes que j’ai prévue de rendre dynamique pour la première version et dont voici la liste :
Liste des clients
Liste des prospects
Liste des fournisseurs
Liste des contacts
Liste des propositions commerciales
Liste des commandes clients
Liste des commandes fournisseurs
Liste des factures clients
Liste des produits
Liste des contrats

Ainsi que la liste des exports préenregistrées

Si tous se passe normalement, ce nouveau module sera disponible ce vendredi (pour fêter dignement le devcamp)

Bonjour,
Est-ce que le module est déjà en vente ? Je ne le trouve pas sur le store ?
Merci d’avance

Bonjour la réponse est non, je ne touche plus terre depuis quelques mois
C’est dans ma liste de chose à terminer durant les vacances.
J’ai un peu changé mon fusil d’épaule au sujet de ce développement; le module permettra de créer ses propres listes sans écraser celle natives de dolibarr

Bonjour,

Je relance le sujet afin de savoir si ce module va de nouveau etre dispo (je ne l’ai pas toruvé sur Dolistore)
Ma problématique :
Je voudrais pouvoir paramétrer un export tous les midis de mes commandes à expédier (en cvs ou excel)
Et ceci selon les champs que me demande mon transporteur…
La cerise sur le gateau (désolée pour l’expression) serait d’avoir tous les champs (ci dessous) exportables (mais apparemment toujours pas de différentiation entre l’adresse de livraison et facturation sur dolibarr…)
Champs :
Nb de pièce / Référence / Société Client / Adresse(livraison) / Code postal(livaison) / ville (livraison) / Téléphone / Contact / Email / Reference commande

Si quelqu’un a une idée…

Merci d’avance

J’ai ce besoin également et de le paramétrer par type de transport (express/messagerie/enlevement client/livré par nos soins)

Une requete sql longue règlerait cela mais ce n’est pas très joli…

Bonjour,
En effet ce module est dispo et il s’appelle myList
Il y a une file dédié sur le forum

A ma connaissance, Il n’y a pas d’automate de génération d’export à heure fixe, dans dolibarr, dans votre cas, il faudra venir sur la liste personnalisé et faire vous-même l’export.
L’idée est cependant intéressante et mériterait d’être creusée. l’année 2015 sera productive aussi en terme de module (bon sur 2014 je n’ai pas chômé en terme de création de module non plus)

Bonjour à tous,

je sais que je déterre un peu ce sujet, cependant j’aurai besoin de vos lumières: je souhaite ajouter à l’outil export les données se trouvant ici: llx_paiement -> fk_paiement (indiquant le type de règlement)

Merci d’avance à la communauté.