[Résolu][Base] Structurer une gestion de stock matériel

Discussions sur les projets et applications développés en liaison avec une suite bureautique libre.

Modérateur : Vilains modOOs

El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Bonjour Piaf,

Je m'adresse à toi directement car c'est toi qui m'a dépatouillé sur cette affaire.
J'avais besoin de calculer un StockActuel à l'aide d'une requête et tu m'as donné le code suivant qui m'a permis d'effectuer ce calcul en incluant "Tous" les articles.
C'est parfait.

Total Sorties

Code : Tout sélectionner

COALESCE ( "Sorties", 0 )
Total Entrées

Code : Tout sélectionner

COALESCE ( "Entrees", 0 )
Stock Actuel

Code : Tout sélectionner

"StockInitial" + COALESCE ( "Entrees", 0 ) - COALESCE ( "Sorties", 0 )
et une Alerte

Code : Tout sélectionner

CASEWHEN( [StockInitial] + COALESCE ( [Entrees]; 0 ) - COALESCE ( [Sorties]; 0 ) > [StockInitial], 'Alerte', '' )
Je t'avoue ne pas avoir trop chercher à comprendre ce bout de code.

A ce stade de développement ( encore loin de nos besoins :) ) j'aimerais pouvoir trier cette requête en fonction des " Familles" de produits. j'ai donc copier ta requête et je l'ai renommé "RCalculConsoStockactuel" Mais lorsque j'essaie de modifier la dite requête, Base me dit " Erreur de syntaxe dans l'expression SQL".
D'ailleurs, même lorsque je ne modifie rien et que j'essaie d'enregistrer j'ai la même réponse de Base

J'aimerais par exemple pouvoir ajouter le champ "RefFamille" dans cette requête "RCalculConsoStockactuel".
Peux tu m'aiguiller stp ?

Ma base en pièce jointe.

Merci
Bruno
Dernière modification par El_Brouno le 27 nov. 2018 07:52, modifié 1 fois.
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Structurer une gestion de stock matériel ?

Message par jeanmimi »

El_Brouno a écrit :"RCalculConsoStockactuel" Mais lorsque j'essaie de modifier la dite requête, Base me dit " Erreur de syntaxe dans l'expression SQL".
Dans la Requête, en remplaçant les ; par des , la fonction COALESCE ne met plus en erreur le code SQL :

Code : Tout sélectionner

SELECT "TMaterielFiches"."ID_Materiel", "TMaterielFiches"."Marque", "TMaterielFiches"."Modele", "TMaterielFiches"."StockInitial", COALESCE ( "Sorties", 0 ) AS "qteSorties", COALESCE ( "Entrees", 0 ) AS "qteEntrees", "StockInitial" + COALESCE ( "Entrees", 0 ) - COALESCE ( "Sorties", 0 ) AS "Stock actuel", CASEWHEN( "StockInitial" + COALESCE ( "Entrees", 0 ) - COALESCE ( "Sorties", 0 ) > "StockInitial", 'Alerte', '' ) AS "Alerte", "TMaterielFiches"."RefFamille" FROM { oj "TMaterielFiches" LEFT OUTER JOIN "RTotalEntrees" ON "TMaterielFiches"."ID_Materiel" = "RTotalEntrees"."RefMateriel" LEFT OUTER JOIN "RTotalSorties" ON "TMaterielFiches"."ID_Materiel" = "RTotalSorties"."RefMateriel" } ORDER BY "TMaterielFiches"."RefFamille" ASC
Cette requête fonctionne en l'éditant en SQL pour la lancer, ou en double-cliquant dessus.
Pièces jointes
RENTX 07-11-2018 v2.odb
(392.39 Kio) Téléchargé 291 fois
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Merci Jeanmimi,
Grace à ta solution j'ai pu trier la requête comme je voulais. Et en cherchant un peu plus, j'ai même trouvé comment trier "Exactement" comme je voulais le faire.
:D

Code : Tout sélectionner

SELECT "TMaterielFiches"."ID_Materiel", "TMaterielFiches"."Marque", "TMaterielFiches"."Modele", "TMaterielFiches"."StockInitial", COALESCE ( "Sorties", 0 ) AS "qteSorties", COALESCE ( "Entrees", 0 ) AS "qteEntrees", "StockInitial" + COALESCE ( "Entrees", 0 ) - COALESCE ( "Sorties", 0 ) AS "Stock actuel", CASEWHEN( "StockInitial" + COALESCE ( "Entrees", 0 ) - COALESCE ( "Sorties", 0 ) > "StockInitial", 'Alerte', '' ) AS "Alerte", "TMaterielFiches"."RefFamille" FROM { oj "TMaterielFiches" LEFT OUTER JOIN "RTotalEntrees" ON "TMaterielFiches"."ID_Materiel" = "RTotalEntrees"."RefMateriel" LEFT OUTER JOIN "RTotalSorties" ON "TMaterielFiches"."ID_Materiel" = "RTotalSorties"."RefMateriel" } WHERE "TMaterielFiches"."RefFamille" LIKE '4'
Bonne journée
Bruno
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

 Ajout : 19/11/18 Pas de réponse à cette question depuis maintenant 15 jours, je présume que personne ne doit voir l’intérêt d'une telle option et avec du recul, moi non plus :), je passe donc à ma question suivante 
Bonjour,

Je suis bien content de l'outil que j'ai réussi à réaliser grâce à vos bons conseils et à ma persévérance.
Encore deux ou trois trucs à régler et je vais pouvoir me lancer dans le test sur terrain. :)

J'ai lu ici https://forum.openoffice.org/fr/forum/v ... =9&t=16663 qu'il était peut être possible de réaliser une macro qui indiquerait aux utilisateurs via une MessageBox que la base est déjà ouverte quelque part.

Sachant que ma base est pour l'instant en HSQL, donc en mono utilisateur. Et que je ne prévois pas de me jeter dans MySQL ou MariaDB tout de suite :D ( un mois d'apprentissage sur LibO Base m'a suffisamment fait chauffer la cervelle pour l'instant ! )

Connaîtriez vous une solution ?

D'avance Merci
Bruno
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Bonjour à tous !

Cela fait environ un mois que j'arpente le logiciel "Base" et ce forum. j'ai appris beaucoup de choses et j'ai bien avancé dans la construction de ce projet.
Je m'attaque aujourd’hui à un des éléments qui deviendra le cœur de notre application : le suivi des entrées/sorties matériels.

J'ai donc, concernant ce module, et sur l'ensemble des conseils que j'ai pu recevoir des abonnés à ce forum, construit :

- 1 Table "TMaterielFiche" qui centralise les données de nos produits
- 1 Table "TMaterielMouvementsSorties" qui centralise les données des sorties.

Nous avons plusieurs lieux d"exploitations et un seul lieu de stockage, il faut donc que je puisse à tout moment éditer, compléter et suivre les déplacements et/ou l'état des stocks de notre matériel sur tous les lieux.
Pour simplifier la chose, j'ai décider pour l'instant de ne pas créer de tables des entrées, je pars du principe si aucune sortie n'est renseigné sur un article, le matériel est au lieu de stockage et non sur un lieu d'exploitation ( la table "TMaterielMouvementsRetourVEN" que vous verrez à une autre utilité, elle me sert pour les calculs du module "Consommable".)

Revenons au module "Mouvements de Matériels",
J'ai donc créer un formulaire "FormMvtGTP" où nous pourrons entrer les déplacements vers ce lieu. L'expression de ces données me plait sous forme de "Contrôle de table", j'ai donc créer un contrôle de table attaché à la table "TMaterielMouvementsSorties" et créer des colonnes en fonction.
Pour faciliter le choix et la lecture, j'ai décider d'utiliser la fonction CONCATENER pour grouper la "Marque" et le "Modele" dans une seule et même colonne "Désignation".
L'outil m'a l'air pratique mais il me manque un peu d'aide pour améliorer ce formulaire.

J'aimerais bien pouvoir filtrer la liste "Désignation" en fonction de la liste "Catégorie". je trouvé pleins de choses sur le forum mais à chaque fois, il s'agit de formulaires qui ne sont pas présenter en contrôle de table mais plutôt en champs de textes indépendants.
Est il possible d'adapter les codes suivants pour faire modifier une zone de liste dans un contrôle table en fonction du choix apporté dans une autre zone de liste ?

https://forum.openoffice.org/fr/forum/v ... 29&t=14662
https://forum.openoffice.org/fr/forum/v ... =9&t=29168

D'avance merci
Bruno

P.S. : Ma base sur ce lien cjoint car elle pèse 800 Ko et le site ne tolère que 500 Ko max par fichier
https://www.cjoint.com/c/HKtkwg2Qupg
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Structurer une gestion de stock matériel ?

Message par Piaf »

Bonjour
Tu peux tester

Code : Tout sélectionner

Sub Main(oEv as Object)
Dim oForm as Object, Grille as Object, lstRefMateriel as Object
Dim Cat as Integer, strSQL as String
	oForm = thisComponent.DrawPage.Forms.getByName("MainForm")
	Grille = oForm.getByName("MainForm_Grid")
	Cat = oEv.Source.Model.SelectedValue
	lstRefMateriel = Grille.getByName ("RefMateriel")
	strSQL = "SELECT CONCAT( CONCAT( ""Marque"", ' ' ), ""Modele"" ), ""ID_Materiel"" FROM ""TMaterielFiches"" WHERE ""RefCategorie"" = " & Cat & " ORDER BY ""RefCategorie"" ASC, CONCAT( CONCAT( ""Marque"", ' ' ), ""Modele"" ) ASC"
	lstRefMateriel.ListSource = Array(StrSQL)
	lstRefMateriel.refresh
End Sub
Sur l'évènement A la perte du focus de la colonne Catégorie.
Attention tu as plusieurs fois le même nom de marque avec un espace à la fin : SENNHEISER par exemple, ou TC ELECTRONIC une fois sans S et une fois avec.
Je présume que le même type d'erreur peut se retrouver dans les modèles, je n'ai pas vérifié, mais Adapt P17 16A M > Prise LEGRAND 16A F et Adapt Prise LEGRAND 16A M > P17 16A F sont-ils deux modèles différents ?
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Bonjour Piaf et merci pour ton aide précieuse.
Attention tu as plusieurs fois le même nom de marque avec un espace à la fin : SENNHEISER par exemple, ou TC ELECTRONIC une fois sans S et une fois avec
Merci pour ce retour, je peaufinerai les appellations lorsque le fond de mon application fonctionnera bien.
... je n'ai pas vérifié, mais Adapt P17 16A M > Prise LEGRAND 16A F et Adapt Prise LEGRAND 16A M > P17 16A F sont-ils deux modèles différents ?
Oui tout à fait

J'ai donc essayer de copier coller ta proposition de code dans mon module de Macro ( Au passage, mon "Module1" étant déjà bien rempli, j'ai créer un "Module 2" dans mon gestionnaire de macros, j'ai crée ce nouveau module à l’intérieur de la base et non dans mon libre office )

J'ai ensuite ouvert mon "FormMvtGTP", cliqué droit sur "Catégorie" j'a cliqué sur "Colonne" et dans l'onglet "Evenement" j'ai assigné cette nouvelle macro à l'option "A la perte du focus".
J'ai enregistré et redémarré ma base.

J'ai ouvert FormMvtGTP en mode utilisation et non ébauche de formulaire et essayé d'actionner la liste déroulante de "Catégorie".
Une fois ma sélection faite et lorsque je clique ou appui sur Tab pour passer à la colonne "Désignation" l'erreur suivante m’apparaît :
Erreur d'exécution BASIC.
Une exception s'est produite :
Type: com.sun.star.container.NoSuchElementException
Message: .
Y vois tu une solution ?
Amicalement
Bruno
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Structurer une gestion de stock matériel ?

Message par Piaf »

Bonjour
J'ai effectivement oublié de te dire de corriger la structure de ton formulaire, je présume que tu as fais un copier coller du bouton Fermer : résultat :
Nav1.png
Nav1.png (9.22 Kio) Consulté 9338 fois
Renomme le Bouton 1 (Fermer) et bascule le dans le premier MainForm puis supprime le MainForm vide.
Nav.png
Nav.png (8.27 Kio) Consulté 9338 fois
Liste.png
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Bravo et merci !
Tu égayes ma soirée !

Je me penche plus sérieusement dessus demain matin mais mon essai de ce soir fonctionne parfaitement

Amicalement
Bruno
 Ajout : Bon bah c'est déjà le matin ... Mais vraiment merci, cette nouvelle option me ravie. :) 
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

J'ai à nouveau besoin de conseils svp.
j'ai créer un rapport des mouvements de matériels dont la source de contenu est ma requête RSuiviMatos_GTP. j'y ai apporté la mise en page/forme qu je voulais, c'est royal.

J'aimerais copier coller ce rapport et sa mise à forme et lui indiquer que la source de contenu à prendre en compte n'est plus RSuiviMatos_GTP mais RSuiviMatos_ARC.

J'ai copier coller le rapport et dans les propriétés du formulaire, dans données j'ai sélectionné "Réquête" dans la case "Type de contenu" et indiqué "RsuiviMatos_ARC" dans la case "Contenu". j'ai laissé "oui" à l'option " Analyser l'instruction SQL". ( j'ai essayé "Non" aussi mais rien de mieux )
J'enregistre et ferme mais quand j'ouvre mon rapport, ce dernier continu de m'afficher les données de "RsuiviMatos_GTP".

Pour info les 2 requêtes contiennent les mêmes champs et colonne, j'applique juste un filtre sur les lieux de destinations.
J'ai aussi essayer de fermer et réouvrir libre office base, pas mieux

Qu'est ce que je fais mal ?

Merci
Bruno

Ma base jointe sur ce lien https://www.cjoint.com/c/HKwiBvvThHg
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Structurer une gestion de stock matériel ?

Message par jeanmimi »

El_Brouno a écrit :Qu'est ce que je fais mal ?
Sans doute rien, mais comme tu utilise la version des dépôts, et non pas la version officielle, tu as peut-être des informations de liens vers la requête qui ne sont pas modifiées, même si tu spécifies une autre requête que celle utilisée à l'origine.
Je te conseille aussi de télécharger et installer l'extension OB (ou SRB) pour créer tes Rapports.
Pièces jointes
Rapport sur requête.odt
(11.56 Kio) Téléchargé 264 fois
Dernière modification par jeanmimi le 22 nov. 2018 13:44, modifié 1 fois.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Bonjour !

Ah ...

Pourtant j'ai ajouter le dépôt officiel à mon synaptic. mais aucune MàJ ne m'est proposé.
Dois je tenter d'installer la 6.1.3.2 ?

Qu'entends tu par extension SRB ou OB ?

J'ai déjà dans mon Libre office base un onglet qui me permet d'éditer les rapports. Existe t il autre chose ? plus complet ?

Merci
Bruno
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Structurer une gestion de stock matériel ?

Message par jeanmimi »

El_Brouno a écrit :Qu'entends tu par extension SRB ou OB ?
Le Guide du rapport est en ligne ici :
https://wiki.openoffice.org/wiki/FR/FAQ/Base/118

Tu as aussi pas mal d'exemples dans le Forum.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Structurer une gestion de stock matériel ?

Message par jeanmimi »

El_Brouno a écrit :Qu'entends tu par extension SRB ou OB ?
Le Guide du rapport est en ligne ici :
https://wiki.openoffice.org/wiki/FR/FAQ/Base/118

Tu as aussi pas mal d'exemples dans le Forum.
Quant à l'extension, elle est dans la section Extensions du forum :
https://forum.openoffice.org/fr/forum/v ... =18&t=7576
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Salut et merci pour les tuyaux.
Dans le doute j'ai supprimé Libre Office via Synaptic et je l'ai ré installé en utilisant l'installation trouvé sur le site officiel. ( téléchargement du .DEB )
Je suis maintenant en 6.0.7.3.

J'ai installé ORB version 1.2.1 trouvé aussi sur le site officiel.

Rien n'a changé vis à vis de mon problème.

Et je ne vois pas bien ce qui a non plus changé depuis l'installation d'ORB dans ma page d'édition des rapports.

... Que faire ?

D'avance Merci !
Bruno
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Structurer une gestion de stock matériel ?

Message par Piaf »

Bonsoir
Pas forcement tout compris :lol:
Si tu as installé la version officielle de LibO, l'extension ORB est incluse.
Après la plupart des problèmes avec Base sont dus à la taille de la base, tu devrais essayer de réduire cette taille.
Un petit exemple à tester en pièce jointe, au moins sur quelques points, il y en a certainement d'autres mais vu le volume de données, je n'ai pas le courage de m'y mettre :)
A+
Pièces jointes
El_Brouno.zip
(232.68 Kio) Téléchargé 287 fois
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Bonjour Piaf,

S'il faut que je réduise ma. Base, cela va drôlement me compliquer les choses. Pour l'instant, malgré qu'elle fasse déjà presque 800ko. Je n'ai pas encore entré la totalité des données dont je vais avoir besoin pour pouvoir l'utiliser. En plus chaque jour d'utilisation, je continuerai à y ajouter de nouvelles données

Je n'ai pas mon ordi aujourd'hui, je jetterai un œil à ton fichier joint ce soir.

Quels autres logiciels me permettraient de concevoir une base qui pourrait être extensible à volonté sans risquer d'en endommager la stabilité ? J'ai entendu parler de mysql ou Mariadb. Je ne me suis pas encore trop pencher sur la question. Serais ce à votre avis plus intéressant pour moi ?

As tu la possibilité d'ouvrir ma base et de tenter de modifier la source du rapport RSUIVIMATOS_ARC ?
Peut être que ma version libo déconne

J'essaierai aussi sous Mac ce soir.

Merci
Bruno
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9340
Inscription : 18 juil. 2008 17:29
Localisation : F-Oise + F-Savoie

Re: Structurer une gestion de stock matériel ?

Message par tintin »

Bonjour,

Juste en passant
El_Brouno a écrit :J'essaierai aussi sous Mac
Sous MacOs 10.13.x et AOO 4.1.5 et 6 elle plante.
Probablement parce que Crash AOO 4.1.5 avec macro de Base autoexec

Un membre du forum utilise encore AOO 4.1.3 en attendant mieux : https://forum.openoffice.org/fr/forum/v ... 20#p320220
AOO 4.1.15 et LibO stable 7.6.5 / macOS Intel 13.6.5 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Bonjour tintin,

Quand tu dis qu'elle plante sous Mac, peux tu me donner plus de détails. Tu veux dire que la macro "démarrage" insérer dans "personnaliser" > "ouvrir le document" fige libre office ?

Je vérifie ce soir.

Merci
Bruno
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Structurer une gestion de stock matériel ?

Message par Piaf »

Bonjour
Dans mon exemple, la base fait 230 ko et je n'ai supprimé aucune donnée.
J'ai juste supprimé les images en dure dans la base (elles s'affichent mais ne sont pas stockées, je n'ai pas traité tous les formulaires).
J'ai également supprimé les formulaires ou requêtes redondants.
Ta signature indique ubuntu 16.04 LTS
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9340
Inscription : 18 juil. 2008 17:29
Localisation : F-Oise + F-Savoie

Re: Structurer une gestion de stock matériel ?

Message par tintin »

Bonjour,
Je ne voudrais pas polluer le fil.
[b][color=#404080]El_Brouno[/color][/b] a écrit :peux tu me donner plus de détails
Sur AOO 4.1.5 et 6, en activant les macros, la base plante OpenOffice à la demande d'ouverture. Le fichier .~lock reste ouvert.
En désactivant les macros elle s'ouvre.

Comme dit plus haut un membre n'observe pas ce comportement avec 4.1.3.
 Ajout : Lu la réponse du 23 Nov 2018 17:14.
J'aurais dû m'abstenir, n'ayant pas percuté sur le fait que vous utilisiez LibO. Désolé. 
AOO 4.1.15 et LibO stable 7.6.5 / macOS Intel 13.6.5 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Structurer une gestion de stock matériel ?

Message par jeanmimi »

Piaf a écrit :J'ai juste supprimé les images en dure dans la base (elles s'affichent mais ne sont pas stockées, je n'ai pas traité tous les formulaires).
Chacun des formulaire affiche la même image (le logo du Festival) dont le poids s'accumule pour arriver aux 800 ko, sans données. Comme le montre Piaf, en supprimant cette image dans tous les formulaires, voire d'autres fioritures ajoutées, la base base va gagner en légèreté.
Dernière modification par jeanmimi le 23 nov. 2018 19:25, modifié 1 fois.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Bonjour à tous,

J'ai l'impression d'avoir mal formulé ma problématique dans le post du 22 Nov 2018 ) 09:39. Je dis ça car les 3 personnes qui ont essayés de m’éclairer m'ont toutes les trois donnés des réponses qui me semble loin de celles que j'attendais. Je vais tenter de la reformuler.

En revanche, je remercie Piaf pour ses propositions pour alléger ma base, en effet je vais déjà commencer par ne pas y stocker le logo directement.
J'y reviendrai plus tard.

Tintin, j'ai chargé la macro "démarrage" depuis mon libre office 6.1.2.1 installé sur mon Macbookpro qui tourne sous OSX 10.13.6 et je n'ai aucun soucis au lancement. ma base s'ouvre sur le menu général comme le demande la macro. Le problème ne concerne peut être que OOo. Merci en tout cas !

Jeanmimi, j'ai écouté ta proposition de passer par la version de Libre Office la plus récente trouvé sur le site officiel 6.0.7.3. J'ai donc supprimer via mon gestionnaire de paquet la version que Ubuntu 16.04 me fournissait et installé la dernière version. je n'ai vu aucune différence concernant la problématique pour laquelle j'avais sollicité le forum.

Concernant Oracle Report Builder, j'ai tenté de comprendre comment fonctionnait cette extension mais sans vraiment y comprendre quoi que ce soit.
Après l'installation de l'extension via un fichier otx trouvé dans la banque d'extensions officielles, libre office ne me propose rien de plus que ce que je trouvais déjà avant l'installation dans la rubrique "rapports". Peut être aurais je loupé quelque chose. Mon doute se conforte quand Piaf nous dit
Si tu as installé la version officielle de LibO, l'extension ORB est incluse.
?

Actuellement, ma base fonctionne bien, j'ai en effet quelques images qui peuvent injustement l'alourdir, ou des espaces ici et là qui pourrait générer des problèmes d'indexation. Je m'occuperai de nettoyer tout ça quand j'aurai réussi à faire fonctionner tous les modules de l'application que je m'acharne à réaliser. Par Module, j'entends outils. ( Annuaires de contacts, suivi de bons, gestions des consommables, etc ... )

En ce moment, je me penche sur le suivi des déplacements de matériels entre nos différents lieux.
J'ai donc réaliser un formulaire par lieu qui remplissent une table regroupant l'ensemble des mouvements.
De là, j'ai créer une requête par lieu qui tri cette " grande " table.

J'ai ensuite conçu un premier rapport que j'ai mis en forme et dont j'aimerais pouvoir utiliser comme base pour les autres.
j'aimerais pouvoir copier ce rapport ( le dupliquer ) et ne changer que la source du contenu.
Mon rapport actuel se réfère à la requête du lieu GTP , j'aimerais que sa copie se réfère à la requête du lieu ARC.

En pièce jointe, une capture de ma fenêtre "Propriétés du formulaire".
Avec cette sélection, j'ai l'impression de demander au rapport de faire appel à la requête du lieu ARC pour remplir les champs mais pourtant les données qui apparaissent dans ce rapport continu à faire appel à la requête GTP.

Que peut il bien se passer ?
J'espère que mon explication vous sera plus claire cette fois ci.

Pour résumer, j'emprunterais une phrase de jeanmimi :)
, tu as peut-être des informations de liens vers la requête qui ne sont pas modifiées, même si tu spécifies une autre requête que celle utilisée à l'origine.


Merci de m'avoir lu jusqu'ici.
:)

Bruno
Pièces jointes
Capture du 2018-11-23 16-59-42.png
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Structurer une gestion de stock matériel ?

Message par Piaf »

Re
El_Brouno a écrit :En pièce jointe, une capture de ma fenêtre "Propriétés du formulaire".
Ça ne suffit pas, tu dois aussi modifier
queryName.png
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Merci Piaf, c'est exactement ce que je cherchais.
:)
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Piaf, j'utilise dans mes formulaires de mouvements matériels la macro que tu m'as donné il y a quelques jours.

Code : Tout sélectionner

REM  *****  BASIC  *****

Sub Main(oEv as Object)
Dim oForm as Object, Grille as Object, lstRefMateriel as Object
Dim Cat as Integer, strSQL as String
   oForm = thisComponent.DrawPage.Forms.getByName("MainForm")
   Grille = oForm.getByName("MainForm_Grid")
   Cat = oEv.Source.Model.SelectedValue
   lstRefMateriel = Grille.getByName ("RefMateriel")
   strSQL = "SELECT CONCAT( CONCAT( ""Marque"", ' ' ), ""Modele"" ), ""ID_Materiel"" FROM ""TMaterielFiches"" WHERE ""RefCategorie"" = " & Cat & " ORDER BY ""RefCategorie"" ASC, CONCAT( CONCAT( ""Marque"", ' ' ), ""Modele"" ) ASC"
   lstRefMateriel.ListSource = Array(StrSQL)
   lstRefMateriel.refresh
End Sub
Pour certains produits, la sélection de la colonne "Désignation" n'est pas conservé ... je détaille :

J'ouvre le formulaire FormMvtARC, je choisis une date, je clique sur la liste déroulante de la colonne "Catégorie", je sélectionne une catégorie, je clique sur la liste déroulante de la colonne "Désignation", la liste est bien triée en fonction de mon choix dans la colonne "Catégorie" :bravo: , je choisis une quantité, j'ajoute des détails et je clique sur entrer pour valider mon enregistrement.

Je ferme le formulaire et je le ré-ouvre. pour certain articles il manque les données de la cellules "Désignation".

Par exemple, si je choisis "Enceintes Actives" dans "Catégories" puis "YAMAHA DXR10" dans "Désignation" si je sors et reviens, j'ai toutes les infos qui me sont affichées. Si je sélectionne la catégorie "Lecteur MD" et l'article "SONY MDS E12" quand je quitte et reviens, la colonne "Désignation" ne m'affiche pas "SONY MDS E12". Ce qui est étrange c'est que dans la table d'enregistrements des mouvements "TMaterielMouvementsSorties" , les infos y sont. la requête et le rapport m'affichent d'ailleurs tout juste.

As tu une idée ?
Ma base ici https://www.cjoint.com/c/HKxwNdFZiKW

Je te remercie
Bruno
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Structurer une gestion de stock matériel ?

Message par Piaf »

Bonjour
El_Brouno a écrit :As tu une idée ?
A priori, tu as du enregistrer le filtre dans la source de la liste déroulante.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

 Ajout : J'ai compris. Il m'a fallu ouvrir le formulaire en mode ébauche, afficher les propriétés de ma colonne "Désignation" et supprimer le numéro de catégorie dans le critère de la requête. Une fois enregistrer. je ferme et réouvre le formulaire, j'ai bien l'ensemble des données pour chaque enregistrement dans la colonne "Désignation". Merci pour tes lumières. Bruno 
Ah ... je vois pas bien ce que ça veut dire mais j'ai pu isoler une chose dans cette problématique.

Chaque fois que je change la valeur de la colonne "Catégorie", le filtre de la colonne "Désignation" s'adapte. ( C'est ce qu'on le demande avec la macro que tu avais écrit )

Mais du coup, la colonne "Désignation" conserve et applique le filtre même si je sélectionne une autre valeur dans la colonne "Catégorie".

Je te joins la base, restons si tu veux bien sur le formulaire FormMvtARC.
https://www.cjoint.com/c/HKymnf2lgbR

Si je choisis "MICROS DYNAMIQUES" puis "SHURE SM58", que j'enregistre et que je crée un nouvel enregistrement où je sélectionne à présent "LECTEUR MD" puis " "SONY MDS E12" que j'enregistre et ferme le formulaire. quand je réouvrele formulaire la colonne "Désignation" de la première ligne d'enregistrement est vide puisque le filtre appliqué pour cette colonne est bloquée sur la catégorie "LECTEUR MD" plus connu sous l'id "14".
:)

Tu vois ce que je veux dire ?

Après c'est vrai que j'avais mis en place sur cette liste déroulante une fonction CONCAT () qui me permet dans une seule colonne de choisir un produit par sa marque et son nom. Est ce que ça pourrait venir de là ?

Sinon il est peut être possible de rajouter à la macro qui ouvre ce formulaire depuis mon "##MENU GÉNÉRAL##", une info qui lui indique de vider la case filtre de la colonne "Désignation". Sachant que la macro que tu m'as écrite pour le filtrage en cascade de liste déroulante entre "Catégorie" et "Désignation" refera le tri nécessaire permettant son utilisation pour les prochaines nouvelles entrées.

Je m'emporte peut être :)

Merci
Bruno
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Bonjour,

J'aimerais de l'aide pour filtrer en cascade 2 champs dans mon formulaire FormAjouterDuMatos.
Genre quand je sélectionne "SON" dans "FAMILLE", il faudrait que dans "CATEGORIE" je ne puisse séléctionner que les catégories appertenant au genre "SON".

Piaf, m'a fait une macro qui marche super bien pour un contrôle de table d'un autre formulaire. elle trie une colonne selon le choix d'une autre colonne. j'aimerais me lancer dans une adaptation de ce code pour me familiariser avec la construction des macros.

Le code de Piaf

Code : Tout sélectionner

Sub Main(oEv as Object)
Dim oForm as Object, Grille as Object, lstRefMateriel as Object
Dim Cat as Integer, strSQL as String
   oForm = thisComponent.DrawPage.Forms.getByName("MainForm")
   Grille = oForm.getByName("MainForm_Grid")
   Cat = oEv.Source.Model.SelectedValue
   lstRefMateriel = Grille.getByName ("RefMateriel")
   strSQL = "SELECT CONCAT( CONCAT( ""Marque"", ' ' ), ""Modele"" ), ""ID_Materiel"" FROM ""TMaterielFiches"" WHERE ""RefCategorie"" = " & Cat & " ORDER BY ""RefCategorie"" ASC, CONCAT( CONCAT( ""Marque"", ' ' ), ""Modele"" ) ASC"
   lstRefMateriel.ListSource = Array(StrSQL)
   lstRefMateriel.refresh
End Sub
Mon essai d'adaptation

Code : Tout sélectionner

Sub MainAjouterDuMatos(oEv as Object)
Dim oForm as Object, Grille as Object, lstRefFamille as Object
Dim Cat as Integer, strSQL as String
   oForm = thisComponent.DrawPage.Forms.getByName("MainForm")
   Grille = oForm.getByName("MainForm_Grid")
   Cat = oEv.Source.Model.SelectedValue
   lstRefFamille = Grille.getByName ("RefFamille")
   strSQL = "SELECT Famille, idFamille FROM TMaterielFamilles"
   lstRefFamille.ListSource = Array(StrSQL)
   lstRefFamille.refresh
End Sub
Cette ligne doit parler du contrôle de table, il devait être pratique pour la macro réalisé par Piaf. je voudrais maintenant agir sur une liste déroulante d'une zone de liste isolée.
Comment se décrit cette " drôle de cellule " dans un code macro ?

Code : Tout sélectionner

Grille = oForm.getByName("MainForm_Grid")
J'ai chargé cette macro dans mon champs "CATEGORIE" sur "A la perte du focus" comme me l'avais indiqué Piaf pour l'autre macro. Quand j'active le formulaire et que je sélectionne "VIDEO", aucun tri ne fait dans le champs "CATEGORIE".

Auriez vous encore un peu de temps à m'accorder pour m'assister dans cette nouvelle aventure ? :roll: :D

J'ai aussi cette erreur qui s'affiche après mes sélections.

Code : Tout sélectionner

Erreur d'exécution BASIC.
Une exception s'est produite : 
Type: com.sun.star.container.NoSuchElementException
Message: .
Je vous joins une base ici https://www.cjoint.com/c/HKyq64NPQiR

Merci
Bruno
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
El_Brouno
Membre hOOnoraire
Membre hOOnoraire
Messages : 175
Inscription : 28 sept. 2018 09:14

Re: Structurer une gestion de stock matériel ?

Message par El_Brouno »

Bonjour,

N'ayant reçu aucune réponse depuis plusieurs jours à ma question précédente, je passe à une autre.

J'ai plusieurs formulaires qui me permettent d'intervenir sur la table TMaterielFiches. Chacun est trié en affichage par Famille de matériel.

Ma question concerne simplement une histoire de tri sur l'affichage de la colonne catégorie du formulaire
La colonne Catégorie m'affiche bien les bonnes catégories mais le tri croissant qui est effectué respecte l'idCatégorie, du coup, le terme croissant ne répond pas à un tri alphabétique.

Auriez vous une solution à me proposer ?
Je tourne, je vire mais la seule que je vois c'est de renommer les idCatégorie pour chacune des catégories dans TMaterielCategorie. Mais cette solution est dangereuse dans le sens où mes liens et enregistrements entre TMaterielFiches et TMaterielCatégories risque d'être perdus. De plus à chaque nouvelle ajout de catégories, je devrais recommencer mon tri.

Aie Aie Aie !
:fou:
Pièces jointes
Tri FormConsulter le matos.odb
(267.45 Kio) Téléchargé 278 fois
Dernière modification par El_Brouno le 30 nov. 2018 13:15, modifié 1 fois.
Libre Office 7.1.7.2 sous Windows 10
Java JDK 15
Verrouillé