Topic: Discussion sur l'export CSV

Au vue des dernières implémentations concernant l'export CSV, je pensais qu'il serait aussi bénéfique d'ouvrir un topic spécialisé. Donc voilà, c'est fait.

Tout d'abord, bravo pour le travail effectué !
C'est bien fait et pratique.

Pour éventuellement faire gagner du temps à Joshua par la suite, j'aurais quelques remarques et quelques réflexions sur la forme future des implémentations actuelles et à venir.

Par exemple, je commence à voir des incohérences dans l'organisation du menu "Projet".
Actuellement il existe l'entrée "Exporter une nomenclature". Jusqu'à maintenant, le libellé de cette entrée menu était parfaitement justifié. Mais...
...Maintenant, on a également la possibilité d'exporter les données sous forme CSV exploitées et ordonnées comme un bon de commande. Ce qui fait que cette nouvelle fonctionalité n'est pas visible au premier coup d'oeil depuis le menu "Projet". Dommage car c'est quand même une grosse nouveauté pour QET.

Perso, je pense que c'est plus simple et plus logique de dissocier l'export nomenclature de l'export bon de commande.
(d'ailleurs la terminologie "liste de matériel" utilisée dans le nouveau widget me semble moins appropriée que "bon de commande").
Pourquoi ?
Car le traitement et la finalité sont tout à fait différents. Même si sous le capot on utilise en partie les mêmes morceaux de code, c'est mieux d'un point de vue utilisateur de séparer les 2 actions dans le menu "Projet".

Grosso modo, à l'aboutissement de la v0.8, voire de la v0.9 (...voire encore plus tard) ce serait bien d'avoir un menu "Projet" organisé de cette facon :

- Propriétés du projet
- Ajouter un folio
- Supprimer le folio
- Nettoyer le projet
-------------------------------- (ligne séparatrice)
- Ajouter un sommaire
- Ajouter des plans de borniers
- Ajouter une liste de câbles
- Ajouter une nomenclature
- Ajouter un bon de commande
-------------------------------- (ligne séparatrice)
- Exporter en csv : nomenclature
- Exporter en csv : bon de commande
- Exporter en csv : liste de filerie

De cette facon, l'utilisateur devrait pouvoir faire directement la différence entre les informations
- qu'il AJOUTE DANS LE PROJET *.qet
et celles
- qu'il EXPORTE DEPUIS LE PROJET

Bon, j'arrête là pour pas encore faire un pavé indigeste et attends vos commentaires pour de plus amples développements...

2 (edited by Joshua 2019-11-05 21:21:04)

Re: Discussion sur l'export CSV

Merci Nuri nomicons/smile

Il y a des choses sur lesquelle je suis d'accord, et d'autre moins.
Sur le fait de mieux séparer le menu "projet" par la suite, c'est sur que ce serais mieux surtout par rapport à ce qui AJOUTE DANS LE PROJET et ce qui EXPORTE DEPUIS LE PROJET, en revanche créer une entrée "nomenclature" et une "seconde bon de commande" je suis pas vraiment pour.

Dans le principe je comprend, mais en pratique on passera par le même dialogue avec 2 configurations différente, donc pourquoi faire deux entrées dans le menu, d'ailleurs c'est dans ce but que j'ai crée la sauvegarde/rapelle de configuration, afin que chacun puisse créer l'export qu'il souhaite.

Toujours dans l'idée d'être souple et paramétrable, j'ai mis une option pour filtrer les éléments par bornier afin d'exporter un csv des labels de bornier pour impression, et par bouton/commutateur pour exporter en csv les commentaires pour impression des portes étiquettes.
Si on suit ton idée, il faudrait créer 4 entrées juste pour ce qui est faisable par défaut dans qet.
Peut être faut-il nommer le menu différemment ?

Pour finir je dirais :
Bon, j'arrête là pour pas encore faire un pavé indigeste et attends vos commentaires pour de plus amples développements...

Développeur QElectroTech

Re: Discussion sur l'export CSV

Joshua wrote:

Toujours dans l'idée d'être souple et paramétrable, j'ai mis une option pour filtrer les éléments par bornier afin d'exporter un csv des labels de bornier pour impression, et par bouton/commutateur pour exporter en csv les commentaires pour impression des portes étiquettes.

Il n'y a pas que les "bouton/commutateur" qui ont besoin d’êtres imprimés, on impriment aussi les étiquettes des disjoncteurs, contacteurs, relais, etc.
Il faudrait rajouter aussi un choix pour les éléments de type "maîtres", disjoncteurs, sectionneurs, contacteurs, relais, relais thermiques, etc.
Il n’y a  plus qu'a coller les étiquettes fraîchement imprimées directement sur l'appareillage dans les armoires.

https://www.phoenixcontact.com/assets/images_ed/global/web_gallery/pic_gall_a_0071739_int.jpg
https://bmp71.fr/reperes-appareillage-e … avees.html
https://www.phoenixcontact.com/assets/images_ed/global/web_content/pic_con_a_0042596_int.jpg
https://www.eurocablage.be/files/s/569/image/fotox.jpeg

Bon ! Vous l’aurez compris... , on peut faire beaucoup de repérage facilement avec ces différents types d'imprimantes et ce dans des temps très courts, suffit que de notre coté on rajoute plusieurs choix d'exports CSV différents suivant le type d’étiquettes insérer par l’utilisateur dans les imprimantes:  boutons, label appareillages, filerie, câbles, etc.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Discussion sur l'export CSV

https://download.qelectrotech.org/qet/forum_img/new_export_list2.png
https://git.tuxfamily.org/qet/qet.git/c … b469080f26

Post's attachments

Attachment icon nomenclature_Pilote d'essais UF RO_protections.csv 101 b, 399 downloads since 2019-11-06 

Attachment icon nomenclature_Pilote d'essais UF RO_relais.csv 102 b, 403 downloads since 2019-11-06 

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Discussion sur l'export CSV

Joshua wrote:

Si on suit ton idée, il faudrait créer 4 entrées juste pour ce qui est faisable par défaut dans qet.

Et alors ? C'est quoi le problème avec 4 entrées ?
Au pire, quand le nombre de fonctionalités d'exportation auront suffisamment augmenté, on crée un nouveau menu "Export" dans la barre de menu principale pour soulager le menu "Projet".

Joshua wrote:

Dans le principe je comprend, mais en pratique on passera par le même dialogue avec 2 configurations différente, donc pourquoi faire deux entrées dans le menu,...

Justement, d'un point de vue utilisateur, la nomenclature et le bon de commande, c'est 2 choses bien différentes car le traitement (la "mise en page") est différent.

Par exemple, quand j'exporte un bon de commande, je ne devrais même pas pouvoir sélectionner le champ "label" car celui-ci n'a aucun sens dans le cadre du bon de commande.
Pareil pour "numéro de folio", "position du folio", "titre de folio"... Bref, tout un tas de variables qui ne devraient même pas apparaître dans le widget d'export du bon de commande.

Disons que tu peux utiliser le même widget (dans le code), mais ce serait plus clair s'il était un peu moins générique.
Si je choisie l'action "Exporter une nomenclature", alors le widget apparaît d'une telle facon.
Si je choisie l'action "Exporter un bon de commande", alors le widget apparaît d'une autre facon.

Joshua wrote:

...d'ailleurs c'est dans ce but que j'ai crée la sauvegarde/rapelle de configuration, afin que chacun puisse créer l'export qu'il souhaite.

Ca n'empêche pas de séparer la nomenclature du bon de commande et que chaque dialogue ait sa petite fonctionalité de sauvegarde/rapelle de configuration.

Re: Discussion sur l'export CSV

Ce qui faudrait modifier à mon sens, serait de conserver le widget ouvert lorsqu'on click sur OK pour valider la requête et créer l'export, c'est pénible de ré ouvrir à chaque fois le popup pour créer une nouvelle liste à exporter, votre avis?

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Discussion sur l'export CSV

scorpio810 wrote:

Ce qui faudrait modifier à mon sens, serait de conserver le widget ouvert lorsqu'on click sur OK pour valider la requête et créer l'export, c'est pénible de ré ouvrir à chaque fois le popup pour créer une nouvelle liste à exporter, votre avis?

Mon avis, c'est qu'il faut transformer les "radio buttons" des types d'éléments par des "check boxes" et laisser une ligne vide dans le fichier csv quand on change de type d'éléments.
Ou alors garder les "radio buttons" et ajouter un bouton "Exporter" tout en gardant le widget ouvert.

Cliquer sur OK et garder le widget ouvert est un comportement tellement inhabituel que beaucoup penseront que la fonction est boguée.

Re: Discussion sur l'export CSV

Ok, donc voilà comment pourrait être le dialogue pour la nomenclature, en respectant les variables qui ont du sens pour cet export.
(J'ai fait exprès d'étirer la liste des variables pour qu'on puisse toutes les voir).

Post's attachments

dialogue_nomenclature.png, 149.58 kb, 1386 x 1616
dialogue_nomenclature.png 149.58 kb, 377 downloads since 2019-11-06 

Re: Discussion sur l'export CSV

Et le dialogue du bon de commande, ne gardant que les variables qui ont du sens pour cet export.
J'imagine que filtrer par type d'élément n'a absolument aucun sens pour exporter un bon de commande donc on peut cacher cette partie du widget.

Post's attachments

dialogue_bon_de_commande.png, 83.39 kb, 1386 x 913
dialogue_bon_de_commande.png 83.39 kb, 341 downloads since 2019-11-06 

Re: Discussion sur l'export CSV

Pour ma part je pense que Joshua pourrait juste renommer le nom pour lancer l'utilitaire, comme cela, ça ne me choque pas ....ce qui me dérange plus c'est les labels basés sur formule manquant dans l'export qui me gène ...  ;-)

J'ai une question: A priori c'est une base SQLITE. Où est-elle stockée ? Dans le projet ou dans QET ? Momentanée ou permanente ?
Je me disais qu'on pourrait peut-être cs servir de cette base de donnée pour faciliter le remplissage des références/constructeurs/description textuelle ? Lors de la saisie dans un de ces 3 champs, on va taper dans la base de donnée et on propose des saisie précédentes ....

Re: Discussion sur l'export CSV

@Nuri,
je trouve ça un peu contre productif de créer des entrées 'nomenclature' et 'liste de matériel', si par la suite on affiche un dialogue avec uniquement les information utile qu'il faudra choisir, ou rappeler une configuration, à ce compte la autant rester comme c'est actuellement car on perd la rapidité visé initialement.
En revanche si on fait les entrées 'nomenclature' et 'liste de matériel', qui exporte directement en csv les informations concerné (mais non configurable par l'utilisateur) alors la oui, ça à du sens et c'est rapide.
On peut garder une troisième entrée "export csv personnalisé" où la on utilisera le dialogue.

Je me rend compte que les radio buttons, tous | borne | bouton/commutateur est trop restrictif.
Toi et Laurent avez raison il vaut mieux avoir des check box pour chaque type | sous type afin d'avoir un choix inclusif et non pas exclusif.

Après réflexion c'est vrai qu'une grande partie du temps, l'utilisation de l'export sera pour la nomenclature (quoique minime une fois integré dans le projet), liste de matériel, impression (label de bornier, label d'élément simple + maître 'tous type', commentaire de bouton), donc un sous menu export dans le menu projet serait légitime.

galexis wrote:

ce qui me dérange plus c'est les labels basés sur formule manquant dans l'export qui me gène ...  ;-)

T'inquiète pas, ce sera fait nomicons/wink

galexis wrote:

J'ai une question: A priori c'est une base SQLITE. Où est-elle stockée ? Dans le projet ou dans QET ? Momentanée ou permanente ?
Je me disais qu'on pourrait peut-être cs servir de cette base de donnée pour faciliter le remplissage des références/constructeurs/description textuelle ? Lors de la saisie dans un de ces 3 champs, on va taper dans la base de donnée et on propose des saisie précédentes ....

Elle est momentanée dans le code, en revanche il est possible de la sauvegarder.
Oui et non, la bdd est crée à la volé lors de l'export donc pas utilisable en l'état pour saisir les informations d'élément.
La vraie solution (et j'ai déjà cogiter sur le truc par le passé) c'est une bdd article constructeur avec les 3 infos que tu cite (avec description textuelle traduis) et un dialogue permettant d'ajouter, modifier cette bdd, puis lors de la saisi des infos d'élément puiser dans cette bdd.
Et le must si tu connais la ref, tu rentre uniquement la ref et tout le reste se remplira tout seul.
Mais bon la on s'écarte du sujet....

Développeur QElectroTech

Re: Discussion sur l'export CSV

Ok....l'espace d'un instant je me suis mis à rêver.

Re: Discussion sur l'export CSV

Joshua wrote:

je trouve ça un peu contre productif de créer des entrées 'nomenclature' et 'liste de matériel', si par la suite on affiche un dialogue avec uniquement les information utile qu'il faudra choisir, ou rappeler une configuration, à ce compte la autant rester comme c'est actuellement car on perd la rapidité visé initialement.

Quelle que soit la réalisation du dialogue et comment on sépare ou non les fonctionalités, il faut toujours avoir la possibilité d'enregistrer/de rappeler une configuration pré-établie. C'est la base du travail rapide.
Donc on ne perd rien du tout en rapidité.

Joshua wrote:

En revanche si on fait les entrées 'nomenclature' et 'liste de matériel', qui exporte directement en csv les informations concerné (mais non configurable par l'utilisateur) alors la oui, ça à du sens et c'est rapide.
On peut garder une troisième entrée "export csv personnalisé" où la on utilisera le dialogue.

Non, non... Je ne voulais pas remettre les choses en question à ce point là.
Comme je disais, le dialogue est bien construit et très pratique, car on peut configurer à peu près ce que l'on veut.
Donc... Super ! Pas la peine de jeter le bébé avec l'eau du bain !

Le truc qui me chiffonne le plus c'est la présence de variables inappropriées pour les différents traitements, soit nomenclature, soit bon de commande. Cela va vraiment à l'encontre de ce qu'on peut imaginer intuitivement. Suis-je vraiment le seul que cela "choque" (le mot est un peu fort...) ???
Personne n'envoie un bon de commande chez ses fournisseurs avec des numéros de folio ou des labels (c'est d'ailleurs impossible au niveau traitement de faire apparaître ces infos dans le csv puisqu'on va additionner tous les articles identiques d'un même fabricant/fournisseur, sans tenir compte de leurs labels ou de leurs numéros de folio, par exemple).

Bref...
Par la suite, ce serait bien d'avoir 2 petits boutons d'aide pour éclaircir 2 choses qui ne sont intuitivement pas accessibles :
1.
Un bouton d'aide pour faire apparaître une fenêtre qui explique la différence entre une nomenclature et un bon de commande, et comment le traitement des données diffère.
La fenêtre ne comporte que du texte et un bouton [OK] pour la fermer (semblable à la fenêtre qui explique comment créer des règles de numérotation).
2.
Un bouton d'aide dans la ligne de la requête SQL pour expliquer rapidement comment créer ses propres requêtes. Par exemple si je veux faire un bon de commande ne contenant que les composants de l'armoire 1 (alors que mon projet contient 3 armoires électriques, par exemple).
Pareil : la fenêtre ne comporte que du texte et un bouton [OK] pour la fermer (semblable à la fenêtre qui explique comment créer des règles de numérotation).

Si ca vous bassine d'écrire ces textes explicatifs, je pourrais essayer de m'y coller.
Mais pour l'instant, j'ai pas encore assez essayé l'export du bon de commande pour comprendre toutes les subtilités du traitement sous-jacent.

Re: Discussion sur l'export CSV

J'ai  peut être survolé le côté bon de commande, mais j'ai vite compris de quoi il retournait.... ppar contre entre parenthèse j'aurais  plutôt  indiqué que cela comptabilise les quantités de référence identique. (Total par référence ).
Par contre pour rebondir sur ce que tu dit pour l'aide  sqlite, il pourrait y avoir quelques boutons en plus pour sélectionner des GROUP BY: installation, localisation, type,  fournisseur.

Re: Discussion sur l'export CSV

Joshua wrote:
galexis wrote:

ce qui me dérange plus c'est les labels basés sur formule manquant dans l'export qui me gène ...  ;-)

T'inquiète pas, ce sera fait nomicons/wink

Merci ça marche nickel ! :-)

Re: Discussion sur l'export CSV

Il semble qu'en mode bon de commande les champs "numéro de commande" et "numéro interne" ne soit pas lu par la requête :
https://download.qelectrotech.org/qet/forum_img/bon_de_commande_bug1.png

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Discussion sur l'export CSV

Bizarre, je m'en suis servit ces jours et cela fonctionnait....

Re: Discussion sur l'export CSV

Cela dit je me sers d'une règle enregistrée donc la requête contenue doit fonctionner... C'est peut être juste l'interface graphique qui pré-remplie pas correctement....

Re: Discussion sur l'export CSV

C'est un problème lié au nom du champ avec les   "-" ,  //We must to replace "-" by "_" because "-" is a sql keyword.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Discussion sur l'export CSV

C'est bizarre, car si tu exporte "label" et "numéro d'article" : cela fonctionne normalement. Si tu exportes que le "numéro d'article" : le fichier est vide.
Il serait où ce tiret ? Les champs de la base de données n'ont pas de tiret visiblement ... "designation" pour le "numéro d'article" par exemple ...

Re: Discussion sur l'export CSV

Les champs sont :

  • "manufacturer-reference" -> ("Numéro de commande")

  • "machine-manufacturer-reference" -> ("Numéro interne")

  • "tension-protocol" -> ("Fonction").

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Discussion sur l'export CSV

J'utilise "numéro d'article" .... Je l'ai déjà dit, mais le nom des champs "numéro d'article" et "numéro de commande" n'ont jamais été clairs pour moi, et cela était confirmé par le fait qu'à l'export "numéro d'article" apparaissait comme "désignation" ....
Donc effectivement, je n'ai pas vu ce problème.

23 (edited by Joshua 2019-11-08 20:25:04)

Re: Discussion sur l'export CSV

galexis wrote:

e nom des champs "numéro d'article" et "numéro de commande" n'ont jamais été clairs pour moi, et cela était confirmé par le fait qu'à l'export "numéro d'article" apparaissait comme "désignation" ....


Ça a été un gros fouilli ce truc quand ça a été mis en place, et ça se ressent dans la code : numéro d'article -> désignation.
Quand j'ai codé la bdd pour l'export, j'ai cru à un bug au début car je ne me rappelais plus de tout ça.
Après numéro d'article et numéro de commande il y festo qui fonctionne comme ça, exemple avec un vérin depuis leur site web :
vérin compact
ADN-12-10-A-P-A                ->doit être la designation
N° de pièce: 536205           ->doit être le numéro de commande (ou l'inverse nomicons/tongue)

Développeur QElectroTech

Re: Discussion sur l'export CSV

Nuri wrote:

Non, non... Je ne voulais pas remettre les choses en question à ce point là.
Comme je disais, le dialogue est bien construit et très pratique, car on peut configurer à peu près ce que l'on veut.
Donc... Super ! Pas la peine de jeter le bébé avec l'eau du bain !

Ok je n'avais pas bien compris, donc tu verrais deux entrées "nomenclature" et "bon de commande" qui ouvre le dialogue, mais le dialogue ne proposera que les informations utile (nomenclature ou bon de commande).
A voir ce qu'en pense les autres (à coder c'est vraiment rien) personnellement je vote pour un seul dialogue, il suffit juste de créer ta requete la sauvegarder puis rappeler en fonction de ce que tu veut faire ensuite.
Par contre comme disais galexis, on peut renommer l'ensemble en "export csv" ce qui effectivement correspond plus à ce que fait le dialogue.

Nuri wrote:

1.
Un bouton d'aide pour faire apparaître une fenêtre qui explique la différence entre une nomenclature et un bon de commande, et comment le traitement des données diffère.

Il suffit de laisser la souris sur les lignes "Formater en..." pour faire apparaitre le tooltip. Bon j'avoue que ce n'est pas génial.

Nuri wrote:

2.
Un bouton d'aide dans la ligne de la requête SQL pour expliquer rapidement comment créer ses propres requêtes. Par exemple si je veux faire un bon de commande ne contenant que les composants de l'armoire 1 (alors que mon projet contient 3 armoires électriques, par exemple).

Expliquer comment est composé la bdd oui, après expliqué comment composer une requête c'est plus difficile, SQL est un langage. Après on peut mettre 4/5 exemples qui peuvent être utile dans notre cas.

Développeur QElectroTech

Re: Discussion sur l'export CSV

Joshua wrote:

Expliquer comment est composé la bdd oui, après expliqué comment composer une requête c'est plus difficile, SQL est un langage. Après on peut mettre 4/5 exemples qui peuvent être utile dans notre cas.

Ou un lien HTML vers la doc ...

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."