Re: Discussion sur l'export CSV

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

Si tu veux faire des tests de requêtes SQL, tu as ce petit patch, il passe la bdd SQLITE sur ton disque et l'enregistre dans le répertoire home de QET, la bdd sera supprimée chaque fois que tu lanceras une nouvelle requête dans le widget.
Comme c'est moins rapide sur de gros projet qu'en RAM, je n'enverrai surement pas ce patch.

--- sources/ui/bomexportdialog.cpp
+++ sources/ui/bomexportdialog.cpp
@@ -320,8 +320,11 @@ QString BOMExportDialog::headers() const
  */
bool BOMExportDialog::createDataBase()
{
-        //Create a sqlite data base to sort the bom
+        //Delete previous sqlite database
+    QFile::remove(QETApp::configDir() + "/bill_of_material.sqlite");
+        //Create a sqlite database to sort the bom
     m_data_base = QSqlDatabase::addDatabase("QSQLITE", "bill_of_material");
+    m_data_base.setDatabaseName(QETApp::configDir() + "/bill_of_material.sqlite");
     if (!m_data_base.open())
     {
         m_data_base.close();

"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

Une question aussi liée à la nomenclature: il y aurait-il un moyen pour définir une liste de matériel dans le projet, qui se soit pas un élément ? Je pense au coffret par exemple... aujourd'hui j'ai un élément coffret/armoire qui ressemble à un joli carré blanc dans lequel je mets la référence, etc..., mais peut-être que pendant que vous grattez dans cette partie, il y a quelques chose à faire ....

Re: Discussion sur l'export CSV

Niet nomicons/tongue, on ne vas pas lister les basic shapes dans l'export, mais tu peux faire comme Nuri et ses éléments fantômes (symboles blanc sur fond blanc).

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

tu peux faire comme Nuri et ses éléments fantômes (symboles blanc sur fond blanc).

C'est bien ça que j'utilise ...

Re: Discussion sur l'export CSV

Nouvelle interface :
https://git.tuxfamily.org/qet/qet.git/c … 17c6014dd9
On peut maintenant choisir plusieurs listes à exporter, mais il manque encore l'export en lot des fichiers "nomenclature_%(project(title))_%(type)*.csv.
Çà me parait utile, exporter en une seule opération les différents fichiers CSV pour les imprimantes :la liste des étiquettes spéciales pour les boutons/commutateurs, la liste pour les contacteurs avec étiquettes blanches, les disjoncteurs avec étiquettes jaunes par exemple, etc. Vous en pensez quoi?
https://download.qelectrotech.org/qet/forum_img/export_csv2.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

Pourquoi ne pas mettre la liste déroulante de choix de config tout en haut vu que c'est la première information qui intéresse l'utilisateur une fois qu'il a établi ses configs habituelles ?!?
Pis tant qu'à faire, pourquoi ne pas mettre le choix de config dans un encadré intitulé "Configuration" ?

Pourquoi parler de "liste de matériel" alors qu'il s'agit d'un "bon de commande" ?

Pourquoi ne pas mettre la check box "inclure les en-têtes" dans la zône "Mise en page" ?

Ne devrait-on pas mettre tous les types d'éléments au pluriel ? (BornierS, SimpleS, ContacteurS et Relais, etc.)

32 (edited by Joshua 2019-11-11 12:08:12)

Re: Discussion sur l'export CSV

Car j'ai crée le dialogue ainsi sans trop y réfléchir :p
Mais pourquoi pas.
Par contre pour les listes déroulante, les laisser en bas proche du bouton OK n'est il pas mieux, d'un point vue mouvement de souris ?

Pour l'histoire de liste de matériel vs bon de commande, je vais peut être dire une bêtise mais pour moi il est bien question d'une liste de matériel.
Un bon de commande s'adresse à un fournisseur (Il y a de forte chance qu'avec la liste/bon crée depuis QET tout ne soit pas commandé au même endroit ) de plus sur un bon de commande il n'y a pas qu'une liste, il y a le nom de ton entreprise avec des info comme adresse, fax, tel..... un numéro de commande et sûrement beaucoup d'autres choses.

Développeur QElectroTech

Re: Discussion sur l'export CSV

J'ai un soucis avec l'export csv en mode liste de matériel : il ne comptabilise pas le nombre d'élément de référence identique.
J'ai 4 relais de référence identique, dans la liste la référence apparaît sur une seule ligne et indique une quantité de 4.
La requête sqlite me parait pourtant pas mal....

SELECT description, designation, manufacturer, quantity, COUNT(*) AS designation_qty  FROM bom WHERE designation IS NOT NULL GROUP BY designation ORDER BY description, designation, manufacturer, quantity

Re: Discussion sur l'export CSV

Galexis wrote:

J'ai un soucis avec l'export csv en mode liste de matériel : il ne comptabilise pas le nombre d'élément de référence identique.
J'ai 4 relais de référence identique, dans la liste la référence apparaît sur une seule ligne et indique une quantité de 4.
La requête sqlite me parait pourtant pas mal....

Je ne vois pas ce qui cloche ..la référence apparaît sur une seule ligne et indique bien une quantité de 4..

"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

Je me sers du champs "numéro d'article" pour la référence, est-ce que ce serait ça le soucis ?

Re: Discussion sur l'export CSV

C'est une liste de matériel, c'est donc normal s'il trouve 4 références identiques qu'il ne crée qu'une ligne avec ta référence et comptabilise le nombre total dans le champ "quantity".

m_format_as_bom_rb = liste de materiel

Maintenant examine la requête SQl, en dur dans le code, ça devrait être plus clair pour toi, ou pas. nomicons/smiley-green


QString where_bom;
    if(ui->m_format_as_bom_rb->isChecked())
    {
        if (where.isEmpty()) {
            where = " WHERE designation IS NOT NULL";
        } else {
            where.append(" AND designation IS NOT NULL");
        }
 
    }
 
    QString group_by = ui->m_format_as_bom_rb->isChecked() ? " GROUP BY designation" : "";
    QString q(select + column + count + from + where + where_bom + group_by + order_by);
    return q;

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

37 (edited by galexis 2019-11-19 15:30:29)

Re: Discussion sur l'export CSV

scorpio810 wrote:

C'est une liste de matériel, c'est donc normal s'il trouve 4 références identiques qu'il ne crée qu'une ligne avec ta référence et comptabilise le nombre total dans le champ "quantity".

Mon problème est que la quantité n'est pas comptabilisée : il m'affiche 1 seul relais en quantité.

Re: Discussion sur l'export CSV

quantity =1
designation_qty =4

Post's attachments

Attachment icon nomenclature_.csv 175 b, 335 downloads since 2019-11-19 

Attachment icon nomenclature_by_gui_.csv 141 b, 331 downloads since 2019-11-19 

"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

Ha ok pigé, j'avais pas vu qu'il fallait ajouter la donnée "quantité (numéro d'article)" .... je m'attendais à ce que la requête le fasse tout seul comme j'avais coché "liste de matériel".
Merci.

Re: Discussion sur l'export CSV

galexis wrote:

Ha ok pigé, j'avais pas vu qu'il fallait ajouter la donnée "quantité (numéro d'article)" .... je m'attendais à ce que la requête le fasse tout seul comme j'avais coché "liste de matériel".

D'où l'intérêt de séparer le traitement nomenclature du traitement bon de commande et de cacher les variables qui ne servent à rien dans un cas ou dans l'autre.
Juste pour que ce soit plus facile à comprendre dès le premier coup d'oeil...

Re: Discussion sur l'export CSV

Oui il faut bien rajouter "quantité (numéro d'article)", car c'est une colonne comme une autre dans le fichier csv.
Alors il est vrai que dans 99% des cas, la quantité d'article sera la dernière colonne MAIS je préfère prendre les devants et laisser à l'utilisateur le choix de la position.

Le morceau de requête sql suivant définie l'export en tant que bon de commande.

GROUP BY designation

signifie que toutes les sélections portant la même désignation seront groupés en une seul sélection.
Ensuite

COUNT(*) AS designation_qty

Retourne dans la sélection courante, le nombre de sélection qui on été regroupé.

Nuri wrote:

D'où l'intérêt de séparer le traitement nomenclature du traitement bon de commande

Comme je disais j'en voit pas l’intérêt, mais si la majorité décide que si, je m'y colle.

Développeur QElectroTech

Re: Discussion sur l'export CSV

J'ai eu un soucis ce soir : la requête enregistrée lors de l'apparition du système ne fonctionnait plus : elle était comme vide. Est-ce que l'application des mise à jour efface le contenu des règles ?

Re: Discussion sur l'export CSV

Tu peut préciser quand tu dit "comme vide".
Autrement non lors d'une mise à jours les requêtes que tu as enregistré sont conservé.

Développeur QElectroTech

Re: Discussion sur l'export CSV

Joshua wrote:

Tu peut préciser quand tu dit "comme vide".
Autrement non lors d'une mise à jours les requêtes que tu as enregistré sont conservé.

J'avais la requête dans le menu deroulant, mais une fois sélectionné et "activée " avec le bouton: la luste de variable sélectionnées  était  vide et la requête  en bas, très  court. Genre "select from bom".

Re: Discussion sur l'export CSV

Le format d'enregistrement des requêtes SQL dans le json a changé, te faudra recréer tes requêtes :
https://download.qelectrotech.org/qet/forum_img/bug_sql_query.png
https://download.qelectrotech.org/qet/forum_img/bug_sql_query2.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

OK, il y a donc une explication. Merci.

Re: Discussion sur l'export CSV

Pourquoi lors de l'utilisation de requête enregistrée:
- pour la liste de matériel: l'interface graphique reprend le contenue de la requête
- pour la nomenclature: l'interface reste grise.
Pourquoi ?
Merci.
Cordialement.

Re: Discussion sur l'export CSV

J'ai rencontré un soucis avec la quantité donnée par la liste de matériel:
- la requête compte le nombre d'élément avec la même référence
- si on a un seul élément avec une quantité de 25 par exemple, la quantité totale sera de 1 et non de 25.
Merci.
Cordialement.

Re: Discussion sur l'export CSV

Bah si ton élément n'apparaît pas 25 fois dans ton projet, il ne te le comptabilisera qu'une fois..

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

50 (edited by galexis 2019-11-30 18:54:30)

Re: Discussion sur l'export CSV

Pour regrouper les désignation et sommer les quantité, il faut faire:

SELECT description, designation, manufacturer, SUM(quantity)  FROM bom WHERE designation IS NOT NULL GROUP BY designation ORDER BY description, designation, manufacturer, quantity

Si 2 éléments identiques :
- le 1er à quantité 5
- le 2ème à quantité 1
le résultat sera 6 avec cette requête.
En revanche je n'arrive pas enregistrer cette requête :

 COUNT(*) AS designation_qty 

est systématiquement ajouté.
Cela me parait beaucoup plus cohérent de procéder comme cela, sinon quel est l'utilité du champs quantité ???