Clone
1
nomenclature_query FR
ispyisail edited this page 2026-09-12 07:29:35 +12:00

Construire une nomenclature ou un tableau récapitulatif personnalisé

Les tableaux de nomenclature (BOM) et de récapitulatif de folio placés sur un folio ne sont pas des mises en page figées — chacun s'appuie sur une requête construite de façon interactive, sur les mêmes vues que documente La base de données du projet.

Source : sources/dataBase/ui/elementquerywidget.{cpp,h} (nomenclature), sources/dataBase/ui/summaryquerywidget.{cpp,h} (récapitulatif de folio), reliés aux propriétés d'un tableau via projectdbmodelpropertieswidget.cpp.


1. Deux constructeurs, deux vues

Composant Interroge Tableau qu'il configure
ElementQueryWidget element_nomenclature_view nomenclature / BOM
SummaryQueryWidget project_summary_view récapitulatif de folio

Les deux fonctionnent de la même façon : choisir des colonnes, les ordonner, filtrer et grouper éventuellement, et le composant assemble le SELECT pour vous.


2. Choisir et ordonner les colonnes

Une disposition à deux listes : les colonnes disponibles d'un côté, les colonnes choisies de l'autre. Un double-clic (ou le bouton Ajouter) fait passer une colonne d'un côté à l'autre ; les boutons Haut/Bas réordonnent la liste choisie, qui est aussi l'ordre des colonnes du tableau final.


3. Filtrer

Sélectionnez une colonne choisie et posez-lui un filtre. Sept modes :

Filtre SQL produit
Aucun filtre (colonne ignorée pour le filtrage)
Non vide colonne != ''
Vide colonne IS NULL OR colonne = ''
Contient colonne LIKE '%valeur%'
Ne contient pas colonne NOT LIKE '%valeur%'
Est égal à colonne = 'valeur'
N'est pas égal à colonne != 'valeur'

Les deux premiers ne nécessitent aucune valeur et désactivent la zone de texte ; les autres en prennent une.


4. Groupement, comptage, et passage au SQL brut

  • Grouper par une colonne, pour agréger des lignes — par exemple une ligne par référence fabricant plutôt qu'une par élément.
  • Compter — un total courant à côté du groupement.
  • Éditer la requête SQL — une case à cocher qui vous donne le SELECT généré directement, à modifier à la main. C'est l'échappatoire pour tout ce que le constructeur de colonnes/filtres ne peut exprimer ; une fois édité à la main, le composant se contente d'afficher du SQL brut, sans chercher à garder les deux synchronisés.

5. Enregistrer une configuration pour réutilisation

Donnez un nom à la configuration actuelle de colonnes/filtres/groupement et enregistrez-la ; rechargez-la plus tard plutôt que de reconstruire un rapport à chaque fois. Pratique pour une mise en page de BOM utilisée sur plusieurs projets.


6. Ce que ce n'est pas

  • Pas un client SQL général. Il n'interroge jamais que la seule vue à laquelle il est lié (element_nomenclature_view ou project_summary_view) — impossible de joindre des tables arbitraires, même avec « Éditer la requête SQL » activé : vous modifiez la forme du SELECT/WHERE, pas le FROM.
  • Pas actif en dehors de l'application. Comme le reste de la base de données du projet, cela interroge le cache en mémoire — voir La base de données du projet pour ce que cela implique et n'implique pas.
  • Pas la même chose que --export-bom. L'export en ligne de commande lit la même vue mais avec son propre jeu de colonnes fixe — voir Automatiser QElectroTech. Ce composant sert à un tableau rendu sur un folio, et ses choix de colonnes n'affectent ni l'export en ligne de commande, ni l'inverse.

Voir aussi : La base de données du projet · Automatiser QElectroTech