Gestion des Heures de vacation du personnel

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

Modérateur : Vilains modOOs

Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Gestion des Heures de vacation du personnel

Message par Sanseau »

Bonsoir,

Je sais pas trop par où commencer

J'ai récupéré un fichier qui sert à rentrer les heures de vacation de personne travaillant à temps partiel ou autre

Ce fichier contient différents onglets permettant d'établir pour chacun leur feuille d'heure (pour établir leur paye), mais aussi des états de synthèse regroupant ces heures par nom du personnel, par activité, par mois, pour l'année (soit 7 onglets où l'on doit rentrer pratiquement les même informations)
J'aimerai simplifié la tache de la personne chargé de gérer ces vacations en automatisant la saisie (elle rentre 1 fois les renseignement et cela remplit automatiquement les champs devant reprendre les même informations dans les autres onglets)

Je sais pas si je dois continuer à chercher une solution avec calc ou si je dois passer par une Base
Quelle solution serait la plus simple?
La difficulté étant que les tableaux n'ont pas tous les mois la même taille (pas le même nombre de personne)
Que les dates ou période de travail varie de mois en mois
Mais pour plus de compréhension je vous joint le fichier (j'ai bien sur remplacé les noms des employé par Nom prenom)

Je vous remercie par avance de toute aide que vous pourrez m'apporter sous quelque forme que se soit (commentaire, fichier )
à bientot
Bye
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Gestion des Heures de vacation du personnel

Message par jeanmimi »

Bonsoir,
Une gestion d'activités est possible dans OOo Base et il y a eu des exemples mis en ligne sur ce forum.
Les pages "Vacxxx" elles, correspondent à ce qu'on peut faire dans les rapports.
Un tutoriel de Denis ROMAND sur cette page peut te donner une idée des structures :
http://fr.openoffice.org/servlets/Proje ... lderID=260
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
Domm
Membre lOOyal
Membre lOOyal
Messages : 44
Inscription : 22 sept. 2006 17:52
Localisation : Lille (59)

Re: Gestion des Heures de vacation du personnel

Message par Domm »

Bonjour,

Je n'ai pas encore compris comment fonctionne mon cerveau, mais ... je n'arrive pas à trouver l'exemple dont tu parles.
Pourtant j'ai tout fouillé en suivant le lien.
D'ailleurs je n'ai pas réussi à trouver les exemples sur le forum, non plus.
J'ai un bog.
Merci de m'y emmener. Je chercherai à comprendre le bog ensuite.
Domm
Oo 3.0
Win xp Pro sp2
Access 2000

Projet de gestionnaire de Contacts d'après le carnet d'adresses : http://user.services.openoffice.org/fr/ ... 058#p60058
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Gestion des Heures de vacation du personnel

Message par jeanmimi »

LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Bonjour jeanmimi et Domm

Est ce que ces post s'adresse à moi ou entre vous car j'ai du mal à saisir

Pour jeanmimi j'ai progressé un peu dans l'utilisation de SRB mais j'ai du mal avec la mise en forme du résultat final pour que l'édition du rapport soit présentable
Je ne trouve pas comment faire une sorte de quadrillage autour des champs pour avoir une présentation sous forme de tableau
l'insertion des traits verticaux et horizontaux ne sont pas super(petit espace entre une ligne horizontale et le trait vertical)
c'est dommage que le ne trouve pas d'option de contour des champs

Petite question est ce que l'on peut mettre dans un champ une formule de calcul du genre "Somme "Champs heures" +40"???

Je joint à toute fin utile le fichier pour ce que ça intéresse
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:22, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Gestion des Heures de vacation du personnel

Message par jeanmimi »

Bonsoir,
Dans son tutoriel, Denis écrit des équations de ce type :
If(([Heure]="0 h");" ";[Heure])
Les [] délimitent les champs à prendre en compte.
Il faudrait que ta formule s'en inspire.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Bonsoir jeanmimi

Je regarderai ça demain car pour ce soir j'en ai assez

Il faut que je trouve aussi une autre formule car je dois mettre dans une table je suppose un total d'heure pour l'année (avec 5900) au départ et faire diminuer ce compteur en fonction des heures effectué par mois ( ex 5900 - 241 = 4659) mais surtout et c'est là ou je pense souffrir il faut que je greffe ça sur le rapport (ex valeur de départ rapport janvier 5900, calcul de la nouvelle valeur en fonction du total heures rapport (5900-241) ; valeur de départ rapport février 4659 (5900-241), calcul nouvelle valeur etc...)

J'aimerai aussi mais ça c'est plus futil pouvoir mettre des couleur de fond en fonction de l'activité (je suppose par macro???)

Bonne nuit
@bientot
Fichier supprimer voir en fin de post la nouvelle version[
Dernière modification par Sanseau le 28 nov. 2008 16:24, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Gestion des Heures de vacation du personnel

Message par jeanmimi »

Bonjour,
Il faut que je trouve aussi une autre formule car je dois mettre dans une table je suppose un total d'heure pour l'année (avec 5900) au départ et faire diminuer ce compteur en fonction des heures effectué par mois
C'est assez facile de faire ce calcul dans une requête (voir Requête TOTAL_HEURES), mais dans le rapport, je n'ai pas trouvé comment.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Bonjour,

Désolé de te décevoir jeanmimi mais ta requête n'est pas au point
Car pour chaque ligne tu calcul avec la valeur 5900 - la somme(Heures) donc ok pour la 1 er ligne mais la deuxième devrait reprendre le résultat du 1 er calcul puis retranché la somme(heures) de la 2 eme ligne etc

Quelque constatation avec le SRB
J'ai l'impression que l'on ne peut pas faire de regroupement si l'on se sert d'une requête comme source de donnée pour les champs
L'ordre de tri n'as pas l'air d'être le même que celui de la table source de donnée

C'est une galère pour essayer de faire une présentation potable j'ai passé mon aprés-midi à faire des petits carrés, les dimensionnés, les posés par dessus les champs pour donner une impression de tableau ( sur un seul rapport)

Pour le reste j'ai pas trop progressé

Je rencontre un problème pour ne faire ressortir que les données sur un Mois précis (pour tester j'ai rentré une donnée avec comme référence du Mois février mais elle s'affiche avec celle du Mois de janvier. Donc je dois trouvé une solution pour n'afficher que le Mois désiré ( c'est pour ça que j'ai testé avec des requêtes en mettant un Like dans le champ Mois pour pouvoir choisir le Mois mais ça marche pas)

ci joint la petite avancée de la base
Fichier supprimer voir en fin de post la nouvelle version[
Dernière modification par Sanseau le 28 nov. 2008 16:24, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Gestion des Heures de vacation du personnel

Message par jeanmimi »

SI tu crées un Rapport à partir de la Requête_TableVacataire en y insérant le champ Mois, au lancement du rapport, il te sera demandé de saisir le mois pour générer le rapport de ce mois.
La requête Total_Heures, comme tu l'as remarqué, fait le total du reliquat des heures et s'actualise après chaque vacation. Ce qui est sommes toutes mieux que rien ! Et si ce résultat pouvait s'afficher dans ton très beau rapport "DÉCLARATION DES HEURES EFFECTUÉES PAR LE PERSONNEL VACATAIRE", au même niveau que TOTAL, en bas de la colonne RELIQUAT HEURES ce serait pas mal.
Pour mettre tous les contrôles à la même hauteur, j'ai remarqué qu'il pouvait être plus pratique, par copier/coller, mettre manuellement la valeur de la position Y dans chaque "Zone de texte" mais tu as dû t'en apercevoir aussi..
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Je vous jure c'est à devenir fou

Cet après midi je bossais dessus sur un autre pc (au boulot avec win xp et open2.4.1 ) et impossible d'obtenir quelque chose en basant le rapport sur une requete et en mettant un regroupement ( j'obtenais une page blanche) et là j'essaye à la maison et ça marche :fou: :fou: :fou:

Donc effectivement en basant le rapport DECLARATIONHEURE sur La requete TableVacataire je peux choisir le Mois que je veux traiter (pourvu que ça dur)

Par contre pour ta requete TOTAL_HEURES si tu regardes bien le résultat sur la 2 ème ligne n'est pas logique
ex: 1 er ligne IdRefvacataire "0", Total_Heures "92,5", Reliquat "5807,5" ok pour celle la
2 ème ligne IdRefVacataire "1", Total_Heures "17", Reliquat "5883" La c'est pas bon normalement je devrais trouver 5807,5-17
Car la valeur 5900 est une valeur global du nombre d' heure pour l'année à répartir entre tous et pas pour chacun

Pause manger à toute
Bye
La nouvelle mouture avec le rapport baser sur la requete
Fichier supprimer voir en fin de post la nouvelle version[
Dernière modification par Sanseau le 28 nov. 2008 16:26, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Gestion des Heures de vacation du personnel

Message par jeanmimi »

Car la valeur 5900 est une valeur global du nombre d' heure pour l'année à répartir entre tous et pas pour chacun
Je me disais aussi que tu les faisais travailler beaucoup !
Mais ça ne va pas être facile de calculer dans OOo Base le reliquat des heures au fur et à mesure que les vacations sont faites.

Juste pour savoir, quelle version du SRB utilises tu ?
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Sur mon PC at home 1.0.2 et sur le PC au boulot la 1.0.4
Tu crois que cela pourrais venir de la
Normalement la dernière version devrait être plus au point non ???

Dis moi en aparté j'ai un post dans macro et api pour trouver une macro qui puisse lancer l'impression d'un rapport à partir d'un formulaire mais je butte dessus
J'ai essayé plein de truc en m'inspirant de code vu de ci delà mais rien ne va
j'ai essayé en m'inspirant de la fonction openForm mais planté, avec des loadComponentFromURL, avec des parent.source.model.reportDocuments mais rien ne marche
même si ça sort du contexte et que je me fasse engueulé par les modo tu n'as pas une idée
Voici le fil
http://user.services.openoffice.org/fr/ ... =8&t=11073
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Gestion des Heures de vacation du personnel

Message par jeanmimi »

Sur mon PC at home 1.0.2 et sur le PC au boulot la 1.0.4
Tu crois que cela pourrais venir de là ? Normalement la dernière version devrait être plus au point non ???
Oui, et nous avons été plusieurs à le constater.
Le SRB 1.0.3 nous lançait des pages blanches, sympa non ?
Quant au SRB 1.0.4, il fait des calculs bizarres, du genre à tout mettre en négatif.
Pour la localisation française, le plus stable est le SRB 1.0.2

Quant à la macro, j'avais tenté de la produire par l'enregistreur de macro, mais çà n'avait rien donné. Ce que tu peux faire, plutôt que poster dans ce fil, c'est relancer ta première demande : c'est dans les règles de ce forum à condition de laisser un délai.
Par contre, je ne sais si tu le sais, mais il existe une extension (avec une icône) qui gère et lance les rapports :
http://extensions.services.openoffice.o ... portrunner
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

ok je retelecharge la SRB 1.0.2 pour la mettre au boulot

Mais je constate quand même des bizarreries dans l'affichage avec openOffice
Déjà j'ai du résoudre un problème d'affichage dans base concernant tout les formulaire et les rapports.
Après avoir ouvert un formulaire en mode plein écran tout les formulaires de toutes les bases que j'ai testé on eu un affichage modifié (le fond du formulaire agrandi et une réduction uniquement pour l'affichage des polices champs et bouton devenant carrément illisible
Aujourd'hui après avoir fait un zoom sur un rapport (200%) pour voir si défaut dans les traits, j'ai des formulaires qui s'ouvre comme si j'étais toujours avec l'effet zoom (des gros boutons, des grosses lettres )
Très surprenant et je sais pas à quoi c'est du
un petit aperçu
Bizarre.JPG
Quand je regarde les posts j'ai l'impression qu'il n'y a que chez moi que ça fait ces trucs je devrais peut être le signaler mais à qui???
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Gestion des Heures de vacation du personnel

Message par jeanmimi »

Est-ce qu'un rapport qui ressemblerait à l'exemple te permettrait de mieux suivre les reliquat des heures ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Tout d'abord Merci jeanmimi de t'intéresser de prés à ce projet

Dans la pratique ce rapport ne me sera pas utile dans cette forme ( trop de répétition des noms et des activités) il faudrait pouvoir faire des regroupements ( par activités) mais il m'intéresse dans la mesure ou le calcul à l'air de se faire correctement et dans la forme (car je peux faire des bordures plus facilement)

Questions:
Comment as tu fait ce rapport: SRB ou publipostage dans un page writer
Peut on selon le principe utilisé faire les rapports que j'ai fabriqué avec SRB (DeclarationHeure, SuiviMensuel, etc) car j'y gagnerai peut être en amélioration visuelle (bordure, différence dans les traits, que sais- je encore

Cet après midi j'ai essayé au boulot de faire un rapport de synthèse pour l'année selon ce modele
Synthese.JPG
Mais impossible
Je n'arrive pas à filtrer les noms des activités pour éviter qu'elles se répètent ni à faire une somme par activité et par mois
(j'ai essayé plusieurs requêtes en filtrant le mois, en groupant les activités et en faisant la somme des heures mais message d'erreur)
Je me demande si je dois pas éclaté mes tables (TableAnnee, TableMois, TableActivité, TableVacataire, TablePeriode) et lié tout ça

@+

La dernier mouture
Fichier supprimer voir en fin de post la nouvelle version
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Sanseau le 28 nov. 2008 16:28, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Gestion des Heures de vacation du personnel

Message par jeanmimi »

Comment as tu fait ce rapport: SRB ou publipostage dans un page writer
Tout d'abord, j'ai utilisé une fonctionnalité de OOo. Cela consiste à ouvrir un fichier OOo Calc, puis faire F4 et connecter la Base de données.
Toutes les tables et requêtes s'affichent. En sélectionnant les enregistrements, puis en cliquant sur l'icône Données dans le texte, les enregistrements sont transférés dans OOo Calc, où ils peuvent être traités (ex calculs). C'est ce que j'ai fait pour calculer 5900-heures. Ensuite il faut tout copier dans la Base de données en créant une nouvelle Table. (comme la Base dépasse le poids autorisé sur ce forum, je n'ai pas pu la mettre en ligne).

Ensuite, pour travailler un rapport créé par le SRB, il suffit de le sauvegarder en dehors de la Base par Enregistrer sous ... (c'est ce document que je t'ai joints). Après, tu peux modifier la mise en forme selon tes gouts (et ta patience).

Je ne pense pas qu'il faut multiplier les tables. Par contre, tu peux créer des requêtes selon tes besoins : année, mois, etc ... ou par vacataire, ou par LIKE: sur le nom d'un vacataire, etc ...
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

J' essayé les requetes

J'en ai fait une basée sur la "VueTotal" avec "Mois" Like, "Activite" groupe, "Heures" Somme

J'obtiens ce message d'erreur

Code : Tout sélectionner

Statut SQL: 37000
Code d'erreur: -67

Not in aggregate function or group by clause: org.hsqldb.Expression@c5e9c in statement [SELECT "Activite", SUM( "Heures" ), "Mois" FROM "VueTotal" WHERE "Mois" LIKE :Recherche GROUP BY "Activite"]
et une page blanche
????
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Gestion des Heures de vacation du personnel

Message par jeanmimi »

Oui, apparemment ce n'est pas possible (à moins que ça se fasse en mode SQL : il faudrait faire une recherche sur la commande SORT ou GROUP ).
Maintenant, si c'est juste pour avoir la liste par activité, il est possible de lancer le filtre sur cette colonne.
Par contre, si tu fais un Rapport à partir de cette requête, tu pourras faire un groupement.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Helas non

il me faut le total d'heure pour chaque activité et par Mois
Ex Janvier GEA 6 heures etc
En plus faut que j'arrive à les positionner comme sur la Photo exemple style tableur

Plus dur
@+

Pour les possibilité sql ben je vais chercher
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Eureka

J'ai trouvé une astuce grâce à un post sur Calc
http://user.services.openoffice.org/fr/ ... 17&t=11129

Les pilotes de données mais bien sur une fois ma base renseignée je peux faire le tableau de synthèse sous calc en utilisant les pilotes de donnée après je soigne un peu la présentation et ça roule

Merci Pierre-Yves Samyn
pour le coup de main a son insu

sur ce bonne nuit
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:29, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Bonjour à tous

Le problème du jour

Pour pouvoir extraire correctement des données de base vers calc pour une utilisation en pilotes de données j'ai crée une vue qui me permet de traiter les données par Année et par Mois pris dans le champ "DateDebut" ça fonctionne bien mais je n'arrive pas à francisé le nom des Mois

Code : Tout sélectionner

SELECT "IdPeriode", "DateDebut", "DateFin", "Heures", "Activite", YEAR( "DateDebut" ) AS "Annee", MONTHNAME( "DateDebut" ) FROM "TablePeriode"
Le code Sql "MONTHNAME" récupère bien le nom du Mois par rapport au numéro du Mois dans le champ "DateDebut" mais il me le sort en anglais (january, etc..)

Comment arrivé au même résultat mais en français ?????????

(Je précise que mes paramètres linguistique sont en français bien sur)

Merci pour le coup de pouce
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:30, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Bonjour,

En utilisant ma base je me suis aperçu d'un manque d'ergonomie dans l'utilisation

Explication : pour créer un enregistrement dans mon formulaire je dois
1 rentrer l'année
2 rentrer le mois
3 rentrer les renseignement sur le vacataire
4 rentrer l'activité
5 rentrer les périodes concernées

Cela est un répétitif car
l'année ne change que tous les ans , le mois que tous les mois, les vacataires sont bien souvent les mêmes de mois en mois, l'activité est répétitive par rapport au vacataire
En fait seul les périodes varient

Donc j'aimerai que dans mon formulaire je puisse sélectionner l'année pour tous les enregistrement, même chose pour le mois, choisir le vacataire concerné ainsi que l'activité et enfin ne remplir que les périodes

J'ai regardé du coté des tutos concernant Merise mais j'ai rien compris

Une image du résultat que je voudrais faire
ResultatAObtenir.JPG
Le fichier joint

Merci pour votre aide
Fichier supprimer voir en fin de post la nouvelle version
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Sanseau le 28 nov. 2008 16:30, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Bonsoir

Je viens préciser ma démarche et vous tenir au courant de mes maigres progrès

La démarche que je voudrais faire c'est :

Créer des fiches Vacations reprenant les renseignements suivi

La date de paiement (Anne Mois NumMois)
La personne concernée (Nom, Prenom, Fonction)
Les périodes de travail (Activite, dateDebut, DateFin, Heures)

Pour cela j'ai crée 3 tables

TableVacations (reprenant Annee, Mois, numMois idVacataire, IdPeriode) de manière à lier les données entre elles
TableVacataire pour gérer les personnes (souvent les même)
TablePeriode pour mettre les périodes à payer

Un formulaire faisant apparaitre tous les champs à renseigner

Mais j'aimerai faciliter la saisie en permettant de renseigner la date de paiement pour le traitement en cour
en mettant des champs textfield afin de n'avoir pas à ressaisir pour chaque personne cette date (elle reste fixe pour le mois de traitement)
et aussi en remplissant par le biais de la concaténation dans une listbox les champs nom prenom fonction automatiquement
de manière à sélectionner la personne en un seul clique
puis pour terminer saisir les périodes de travail
et que toutes ces données soient récupérée pour créer la fiche de vacation

En fait lorsque la personne va traiter les vacations elle aura une dizaine de personne à traiter pour le même mois, donc j'aimerai qu'après avoir choisi l'année et le mois pour la première personne en faisant un nouvel enregistrement pour passer au traitement de la deuxième personne l'année et le mois ne change pas (pour éviter d'avoir à les resélectionner) mais qu'a la fin du traitement de la fiche ces données soit enregistrées avec le reste (IdVacataire et IdPeriode) de manière à lier tout ça dans une fiche vacation
Exemple:
Vacation 1
2008 Janvier 1 ====> Mois de traitement (idVacation table Vacation)
Panel jean docteur ===> Données du vacataire (idVacataire table vacataire)
01/01/08 30/01/08 contrat 82h =====> Donnée de la période de travail(idPeriode table periode)

Vacation 2
2008 Janvier 1 ====> Mois de traitement que j'aimerais éviter d'avoir à sélectionner à chaque fois mais qui doit genérer un nouvel Id pour ne pas mélanger les données avec celle de la 1er fiche
Vinel suzanne Prof de gym ====> Donnée vacataire
01/01/08 30/01/08 contrat 41h ====> Donnée période travail
10/12/07 30/12/07 entrainement 12h ====> Donnée période travail
ETC....

C'est pour ça que j'ai fait 3 tables 1 pour les vacataires 1 pour les périodes 1 pour les vacations liant le vacataire à sa période
et pouvant être traiter dans des états mois par mois

J'espère avoir été plus clair sur mes intentions et le résultat que j'essaye d'obtenir


Mes base d'essais

Merci à ceux qui s'intéresseront à ce post
@+
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:32, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Bonsoir

Ma base a bien avancé

J'ai réussi après divers essaies à obtenir ce que je voulais à quelque détails près

Je bute encore sur certains trucs dans le FormulaireEnregistrementVacation

1er Focus automatique sur la ListBox Annee que ce soit à l'ouverture du FormulaireEnregistrementVacation ou après avoir déclenché le bouton Nouvel Enregistrement

2ème Le passage du champ NumMois dans le formulaire MainForm de ce formulaire au champ NomPrenom du formulaire Vacation (voir le fléchage)
il s'agit d'automatiser le passage d'un formulaire (MainForm) à un formulaire (Vacation) situé dans le même formulaire (FormulaireEnregistrementVacation)
J'aimerai en me servant de la tabulation pouvoir passer d'un champ situé dans MainForm à un champ situé dans Vacation
j'ai essayé la macro de PYS (PysAller)

Code : Tout sélectionner

'Passage du formulaire au sous formulaire
option explicit
    global PysTrouve as boolean, PysCtrlTrouve as object         'Utilisées pour la recherche du contrôle "destination"

    '---------------------------------------------------------------------------------
    sub PysChercherCtrl(PysCherche as string, PysObj as object)     
    '---------------------------------------------------------------------------------
    ' Recherche d'après son nom un contrôle dans l'objet passé en paramètre
    ' Procédure récursive
    ' PysCherche : nom du contrôle recherché
    ' PysObj : Objet dans lequel chercher (1ère fois : thiscomponent.drawPage.forms)
    '---------------------------------------------------------------------------------

    dim PysEnCours as object, PysTrav, i as integer

    i = 0
    while i <= PysObj.count -1 and PysTrouve <> true         'boucle sur tous les contrôles, arrêt si on a trouvé
       PysEnCours = PysObj.getByIndex(i)
       if PysEnCours.name = PysCherche  then               'on a trouvé => mise à jour des variables globales
          PysCtrlTrouve = PysEnCours
          PysTrouve = true
          exit sub
       else                                       'Appel récursif si le contrôle en cours est un formulaire ou un contrôle Table
                                                 'Utilise Instr et non supportService car bug sur datagrid
          if InStr(1, PysEnCours.DBG_SupportedInterfaces, "com.sun.star.comp.forms.ODatabaseForm") > 0 or _
             InStr(1, PysEnCours.DBG_SupportedInterfaces, "com.sun.star.comp.forms.OGridControlModel") > 0 then
             PysTrav=PysChercherCtrl(PysCherche, PysEnCours)
          end if
       end if
       i = i +1
    wend

    end sub


    '------------------------------------------------------------------------------------
    Sub PysAllerA(PysEvt)
    '------------------------------------------------------------------------------------
    ' Positionne le curseur dans le champ indiqué en propriété "Complément d'information"
    ' Appelée "sur perte de focus" d'un contrôle de formulaire
    ' PysEvt : transmis automatiquement par OOo
    '------------------------------------------------------------------------------------
    dim PysParent as object, PysVue as object, PysEnum as object, PysUneCol as object
    dim PysCol(0) as string, PysNomCtrl as string, i as integer

    PysNomCtrl=PysEvt.source.Model.Tag            'Accès à la propriété "Complément d'information"

    PysTrouve =false                        'Initialisation de variables pour la recherche du contrôle
    PysCtrlTrouve=nothing

                                        'Vérifie que le nom indiqué en "Complément d'information" est celui d'un contrôle
    PysChercherCtrl(PysNomCtrl, thiscomponent.drawPage.forms)

    if  isnull(PysCtrlTrouve) then               
       msgbox "Contrôle " & PysNomCtrl & " non trouvé", 32
    else
       PysParent = PysCtrlTrouve.parent         'Représente le parent du contrôle trouvé
                                        'Si le contrôle est dans un "contrôle table" le focus est différent
       if InStr(1, PysParent.DBG_SupportedInterfaces, "com.sun.star.comp.forms.OGridControlModel") > 0 then
          PysVue=thiscomponent.currentcontroller.getcontrol(PysParent)      'Accès au contrôle table "parent"
          PysVue.setfocus                                       'Focus sur ce contrôle table
          PysEnum = PysVue.model.createEnumeration                  'Récupère la liste des colonnes
          i = -1
          do while PysEnum.hasMoreElements                         'Met cette liste dans un tableau
             i=i+1
             redim preserve PysCol(i)
             PysUneCol = PysEnum.nextElement
             PysCol(i) = PysUneCol.name
          loop
          for i = 0 to ubound(PysCol)                              'Boucle sur cette liste pour positionner le focus dans la bonne colonne
             if PysCol(i)= PysNomCtrl then
                PysVue.CurrentColumnPosition = i
                exit for
             end if
          next i   
       else                              'Le contrôle cherché n'est pas dans un contrôle de table, focus direct dessus
          on error goto PysAllerA_Erreur
          thisComponent.CurrentController.getControl(PysCtrlTrouve).setFocus      'Focus sur ce contrôle
       end if
    end if

    PysAllerA_Exit:
    exit sub
    PysAllerA_Erreur:
    msgbox "Ne peut atteindre le contrôle " & PysNomCtrl
    resume PysAllerA_Exit
    end sub
Mais cela ne fonctionne pas
La macro donne de bon résultat pour passer d'un formulaire classique à un sous formulaire datagrid (passage champ NomPrenom vers sous formulaire colonne Activite
mais pas dans le cas d'un formulaire à un autre formulaire

si je dois changé quelque chose je ne vois pas quoi

Pouvez vous m'aider

D'avance Merci

Ci joint le fichier Base à tester ( Pouvez vous tester et me donner votre avis sur l'ergonomie, d'éventuel défaut ou erreur)
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:32, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Bonsoir

J 'ai trouvé la macro n'était pas en cause
l'erreur (du moins je suppose ) c'est d'avoir créer ces champs sans étiquette
Donc j'ai mis des étiquettes je les ai rattaché avec ces champs et tout fonctionne impeccablement

Maintenant il me reste un dernier soucis concernant les rapports avec srb 1.02
Dans le rapport DeclarationHeurePersonnelVacataire j'ai voulu intégrer le Mois et l'Année en bas dans le pied de page dans un cadre comme je l'avais déjà fait en haut (c'est répétitif mais tant pis)
Donc j'ai fait un copier coller mais qu'en j'exécute le rapport en haut ça va (le mois et l'année sont bien affiché) alors que dans le pied de page j'ai des 0

un autre soucis plus mineur ce rapport étant basé sur une requête à son lancement au doit renseigner l' année et le mois voulu pour filtrer les données Hors malgré un paramétrage pour le mois en Varchar ignorecase dans la table lorsque le rapport s'affiche je m'aperçois que le nom du mois qui s'affiche est celui qui a été rentré dans la boite de dialogue ( si on écrit mars on obtiens mars dans le rapport alors que les données inscrites dans la table ont une majuscule en 1er lettre Mars)
De même si dans la boite de dialogue je rentre fevrier le rapport est vide si je rentre février les données du mois février apparaisse dans le rapport

Quelqu'un a une idée à me soumettre

d'avance merci
@+

Edit
Apres avoir testé

Sous windows avec OpenOffice 2.4.1 et SRB 1.02 Probleme de zéro dans le pied de page à la place du mois et de l'année et le nom du mois en haut 1er lettre en miniscule si taper en minuscule dans la boite de dialogue précédent l'affichage du rapport

Sous mandriva avec OpenOffice 2.4.1 et SRB 1.02 Meme probleme

Par contre Sous windows avec OpenOffice 3.0. et SRB 1.05 Pas de probleme de zéro dans le pied de page j'ai bien le nom du mois et l'année qui s'affiche par contre j'ai toujours le probleme du texte taper dans la boite de dialogue de la requete repris dans le champ du rapport
Probleme constaté par d'autre
de jeanmimi le 17 Oct 2008 13:44
Mon expérience rejoint en partie ce que tu décris.
Lorsque je crée un rapport basé sur une requête où je dois renseigner, par exemple une ville, le rapport reprend intégralement la façon dont j'ai tapé le nom de la ville. Et si j'encadre quelques lettres par les %, dans les tests que j'ai pu faire avec SRB 1.0.2, c'est ce que j'aurai tapé qui sera repris dans le rapport.
Le champ IGNORECASE permet d'entrer les noms en minuscules ou majuscules et comme tu le notes, les caractères accentuées ne sont pas gérés
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:33, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Bonsoir

Je reviens à la charge dans ce projet car :

1er) Je n'ai toujours pas trouver de solution pour la problématique des Années et Mois dans les pieds de pages

2ème) Je cherche toujours une solution pour arriver à produire un pilote de données (ou équivalent) à l'intérieur de base soit sous forme de rapport soit sous forme de formulaire (avec ou sans macro) car la solution d'un fichier calc bien que satisfaisante n'est pas parfaite, il faut actualiser à chaque fois que l'on change des données ou recréer les liens si le fichier a été déplacé

Donc si il existe une solution interne à Base je suis preneur
Ou
Si cette possibilité vous semble intéressante peut on demander son implémentation dans une future version
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Avatar de l’utilisateur
DLE
SuppOOrter
SuppOOrter
Messages : 1477
Inscription : 30 déc. 2007 18:56
Localisation : Lille

Re: Gestion des Heures de vacation du personnel

Message par DLE »

Bonjour Sanseau,

J'ai peut-être une solution pour le point N°1 :
1er) Je n'ai toujours pas trouver de solution pour la problématique des Années et Mois dans les pieds de pages
Au lieu de demander le mois en lettre, pourquoi ne pas demander le N° du mois, ce dernier faisant partie de la table, de sorte qu'il n' a plus de problème de lettre accentuée ni de majuscule, on prend le nom tel qu'il se trouve dans la base.
Pour ce faire il faut :
Dans la requête "requête_TableVacataire" supprimer le critère (:Mois) du champ "Mois" de la table "TableVacation"
puis affecter au champ "NumMois" de la table "TableVacation", le critère " :NuméroMois".

Concernant le dataPilot sous Base, pourrais-tu préciser ce que tu veux faire.

A+ :wink:
MacOS Sonoma 14.4.1 (iMac-Intel) : AOO 4.1.15 , LibreOffice 7.6.5.2, Adoptium-temurinJDK_1.8.0_402 -
Windows 10 64 bits :
AOO 4.1.15, Libreoffice 7.1.8.1 - FireFox, Thunderbird, ORB 1.2.1
Sanseau
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 280
Inscription : 13 juin 2008 10:14

Re: Gestion des Heures de vacation du personnel

Message par Sanseau »

Hello DLE

Toujours sur la brèche
J'ai mis un post sur la gestion congé (un petit soucis de présentation)

Pour la question de la date je vais tester si en appelant le numéro le mois s'affiche en toute lettre (je n'avais pas pensé à cette solution
Après test cette solution est viable mais reste que ce n'est pas normal que OOo reprenne le nom rentré dans la requête plutôt que le nom enregistré dans le champ
En ce qui concerne le datapilot j'ai besoin d'extraire les données pour faire un tableau croisée (pilote de donnée pour calc) donc j'en ai fait un "TableauSynthesevacation" mais pour pouvoir l'exploiter correctement il faut procéder en plusieurs étape
1) Actualiser si des données ont été enregistrées dans la base (ce qui peux poser problème si la base a été déplacée)
2)Ensuite la présentation n'étant pas parfaite dans le pilote de données (les nom de mois était en anglais et classer par un ordre alphabétique j'ai du prendre les numéro mais dans la présentation c'est moyen) Donc j'ai fait un onglet ou je dois copier les lignes du pilote mois par mois pour avoir une présentation correct

Donc si je pouvais par le biais d'un rapport ou d'un formulaire reproduire le processus d'un pilote de donnée je pourrais résoudre c'est 2 problemes

Fichiers joints
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10