Discussion: projet Multi dossiers

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2017
    Messages : 56
    Points : 0
    Points
    0

    Par défaut projet Multi dossiers

    bonjour forum

    j'ai réaliser un projet grâce au forum ( merci pour tout les repense) il matche très bien

    fin de projet j'ai constater qu'il manque une chose je veux ronde mon projet Multi dossiers

    pour se la j'ai ajouter une rubrique nommé société que j'ai relier avec tout les autre rubrique
    Nom : analise.png
Affichages : 139
Taille : 97,8 Ko

    et dans le code du projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    CONSTANT
    	INI_DATESYS = "Date système"
    FIN
     
     
    GLOBAL
    	gsFichierIni	est une chaîne = ComplèteRep(fRepExe()) + "New of.Ini"		// Fichier .ini du projet
    	gsNomSociété 	est une chaîne = ""					                                       // Nom de la société en cours
    	gsDate 			est une chaîne = ""			    	                                      // INI_DATESYS ou date sauvegardée dans le .ini
    	gbMotPasse 		est un booléen = Faux			                                	// Booléen permettant de savoir si le MDP a été saisi
    	gnSOCLEUNIK 	est un entier						                                   // ID société en cours
     
     
    // Créer les fichiers s'ils n'existent pas
    HCréationSiInexistant("*")

    et j'ai crée une fenêtre FEN_GestionSociété
    Nom : societer.png
Affichages : 140
Taille : 20,6 Ko


    le code du fenêtre est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    // Vérifier si le fichier contient un enregistrement
    SI HNbEnr(Société) = 0 ALORS
    	// Le fichier est vide : Passer en mode "Création"
    	ExécuteTraitement(Ajouter, trtClic)	
    	RETOUR
    FIN
     
    // Rechercher la société en cours
    HLitRecherchePremier(Société, NomSociété, gsNomSociété)
     
    SI PAS HTrouve() ALORS   
    	// Mode "Visualisation" : Se positionner sur le premier enregistrement
    	HLitPremier(Société, NomSociété)
     
    	// Réinitialiser les variables globales
    	gbMotPasse = Faux	
    	gsNomSociété = ""	
    FIN
     
    // Initialiser les champs avec les valeurs des rubriques
    FichierVersEcran()
     
    // Donner le focus au champ caché pour éviter la modification sans saisie du mot de passe
    EcranPremier(ChampCaché)
    le code du bouton nouveau est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    SI Gr_CoordSociété..Modifié ALORS
    	// Une des coordonnées de la société a été modifiée
    	SI OuiNon("Les coordonnées de la société ont été modifiées.","Voulez-vous sauvegarder ces changements ?") ALORS
    		// Initialiser les rubriques des fichiers avec les valeurs des champs
    		EcranVersFichier()
     
    		// Modifier l'enregistrement
    		HModifie(Société)
    	FIN
     
    	// Remettre la propriété à faux
    	Gr_CoordSociété..Modifié = Faux
    FIN
     
     
    gbMotPasse = Faux
     
    // Cacher les boutons de parcours et de modification
    Gr_Visualisation..Visible = Faux       
     
    // Remettre les champs à vide
    RAZ()              
    Message("Saisissez les valeurs des champs de la nouvelle société.")
     
    // Donner le focus au champ SocieteNom
    RepriseSaisie(SociétéNom)


    je crée normale une autre Société avec mot de passe et une période

    le problème que j'ai jeu veux chaque société a sa base de donne séparer
    le problème quant je crée un client dans une société je le trouve dans laure société
    mémé les numéro des facture chaque société a sa numérotation

  2. #2
    Membre éprouvé
    Femme Profil pro
    Consultant fonctionnel
    Inscrit en
    janvier 2012
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : janvier 2012
    Messages : 562
    Points : 1 299
    Points
    1 299

    Par défaut

    Il y a plusieurs écoles et tu auras donc plusieurs suggestions.
    Pour ma part, un répertoire par Société.
    Il y a un avantage pour moi primordial :
    Sauvegarde/Restauration d'une sté !

    PS : et une clef en moins dans tous les fichiers.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2017
    Messages : 56
    Points : 0
    Points
    0

    Par défaut

    Se que j'ai fais j'ai crée une société et j'ai introduit la clé dans tous les fichier

  4. #4
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    mutlitâche-multifonction
    Inscrit en
    juin 2003
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : mutlitâche-multifonction
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 2 848
    Points : 4 793
    Points
    4 793

    Par défaut

    Si tu crées un dossier par société, tu vas devoir utiliser Hchangerep().
    Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
    Pas de question par MP s'il vous plait. Le forum est fait pour cela...

    Make it real not fantasy

  5. #5
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    1 510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : décembre 2013
    Messages : 1 510
    Points : 3 152
    Points
    3 152

    Par défaut

    Il y a essentiellement 2 options comme déjà dit :

    1. Tu as un fichier unique pour chaque fichier de l'analyse, et tu ajoutes un code société dans chaque fichier. Si tu étais un expert, tu pourrais choisir cette solution. Ajouter une rubrique "société" sur un projet déjà bien avancé, ce n'est pas simple. Il faut tout revoir de A à Z.

    2. Ne pas modifier la structure du fichier, mais en tout début de projet, ajouter juste une étape avec hChangeRep(). C'est beaucoup plus raisonnable.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2017
    Messages : 56
    Points : 0
    Points
    0

    Par défaut

    pour un expert je ne le suis pas je suis un débutant

    je modifier pas mon projet dans le code du projet j’utilise hChangeRep() pour basculer d'un dossier ver un autre

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2017
    Messages : 56
    Points : 0
    Points
    0

    Par défaut

    s que c possible de vous partager mon projet

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2017
    Messages : 56
    Points : 0
    Points
    0

    Par défaut

    Je bloque sur se point

  9. #9
    Membre éprouvé
    Femme Profil pro
    Consultant fonctionnel
    Inscrit en
    janvier 2012
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : janvier 2012
    Messages : 562
    Points : 1 299
    Points
    1 299

    Par défaut

    Quel point ?

  10. #10
    Membre actif
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    juin 2017
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : juin 2017
    Messages : 130
    Points : 211
    Points
    211

    Par défaut

    Eventuellement, tu peux
    -ajouter une rubrique RepertoireDeTravail dans ta table SOCIETE.
    -créer une fenêtre de sélection d'une société (ce sera la première fenêtre de ton projet)
    -avec le répertoire ainsi trouvé, tu fais ton hChangeRep et tu appelles ta prmière fenêtre actuelle.Dans cette fenêtre, tu créeras une option qui te permet de changer de société sans avoir à relancer.
    Il y a peut être plus simple, mais ça tourne

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2017
    Messages : 56
    Points : 0
    Points
    0

    Par défaut

    bonjour forum

    quand je crée une societer et je valide il crée le dossier avec le nom de la sociter et il bascule

    j'ai crée une rebique societer

    Nom : ordre facturation.png
Affichages : 77
Taille : 64,4 Ko

    dans le code projet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CONSTANT
    	INI_DATESYS = "Date système"
    FIN
     
     
    GLOBAL
    	gsFichierIni	est une chaîne = ComplèteRep(fRepExe()) + "Ordre de facturation.INI"		// Fichier .ini du projet
    	gsNomSociété 	est une chaîne = ""					// Nom de la société en cours
    	gsDate 			est une chaîne = ""			    	// INI_DATESYS ou date sauvegardée dans le .ini
    	gbMotPasse 		est un booléen = Faux				// Booléen permettant de savoir si le MDP a été saisi
    dans le code menue fenêtre principale
    j'ai mis un codez pour qui trouve si une associer existe oui ou non dans fichier .ini


    fin d'initialisation fen_menue*

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // Rechercher la dernière société dans le fichier .ini si elle existe sinon la créer
    SélectionnerSociété(gsFichierIni)
     
    // Initialiser les champs
    FichierVersEcran()
     
    // Initialiser les champs date
    InitialiserDate()
    fermeture fen_menue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    // Traitement automatique des erreurs :   afficher l'erreur puis reprendre la saisie
    SI gsNomSociété = "" ALORS RETOUR
    // Sauvegarder la société dans le fichier .Ini
    INIEcrit("Ordre de facturation", "SOCIETE", gsNomSociété, gsFichierIni)
     
    // Sauvegarder la date dans le fichier .ini
    SI gsDate = DateDuJour() ALORS
    	// Mémoriser l'utilisation de la date système à la prochaine ouverture
    	INIEcrit(gsNomSociété, "gsDate", INI_DATESYS, gsFichierIni)
    SINON
    	SI gsDate <> INILit(gsNomSociété, "gsDate", "", gsFichierIni)
    		SI OuiNon("La date a été modifiée, voulez-vous la sauvegarder ?") ALORS
    			INIEcrit(gsNomSociété, "gsDate", gsDate, gsFichierIni)
    		FIN
    	FIN
    FIN
    et deux procédure locale

    InitialiserDate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    PROCEDURE InitialiserDate()
    // Procédure qui permet d'initialiser les champs date à partir du fichier .ini
    // ENTREE : sFichierIni : Nom du fichier .ini
     
    // Lire la date dans le .INI
    SI INILit(gsNomSociété, "gsDate ", INI_DATESYS, gsNomSociété) = INI_DATESYS ALORS
    	// Par défaut : initialiser à la date système
    	gsDate = DateDuJour()
    SINON
    	// Prendre la date du .INI
        gsDate = INILit(gsNomSociété, "gsDate", DateDuJour(), gsFichierIni)
    FIN
     
    // Vérifier que la date est bien dans la période
    SI DateVersEntier(gsDate) < DateVersEntier(DateDébut) OU DateVersEntier(gsDate) > DateVersEntier(DateFin) ALORS
    	// La date n'est pas dans la période : Changer la date
    	Erreur("La date est hors période,","Elle sera mise à jour à la borne la plus proche.")
     
    	SI gsDate < DateDébut ALORS 
    		gsDate = DateDébut
    	SINON 
    		gsDate = DateFin
    	FIN
    FIN
    SélectionnerSociété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    PROCEDURE SélectionnerSociété(sFichierIni)
    // Procédure qui permet de sélectionner une société s'il en existe ou d'en créer une dans le cas contraire
    // On ne peut pas continuer dans l'application sans société
    // ENTREE : sFichierIni : Fichier .ini contenant le nom de la dernière société appelée
     
    // Rechercher la dernière société dans le .ini
    gsNomSociété = INILit("Ordre de facturation", "SOCIETE", "", sFichierIni)
     
    // Recherche la société dans le fichier
    HLitRecherchePremier(Société, NomSociété, gsNomSociété)
     
    SI PAS HTrouve() ALORS
    	Info("Vous devez créer une première société pour utiliser l'application .")
     
    	// La société n'existe pas : ouvrir la fenêtre de sélection
    	Ouvre(FEN_GestionSociété)
     
    	// Si aucune société n'à été choisie,
    	SI gsNomSociété = "" ALORS 
    		// Fermer : on ne peut pas travailler sans société
    		Ferme()
    	FIN
    SINON
    	// La société existe : l'ouvrir
    	SI Société.MotPasse <> "" ALORS
    		// Saisir le mot de passe de la société
    		SI PAS Ouvre(FEN_MotDePasse, "Ouverture") ALORS
    			// Le mot de passe est incorrect : ouvrir la fenêtre de sélection d'une société 
    			Ouvre(FEN_GestionSociété)
     
    			// Fermer l'application si aucune société n'a été sélectionnée
    			SI gsNomSociété = "<aucune>" ALORS Ferme()
    		FIN  
    	FIN
    FIN      
     
    // Indiquer que le mot de passe est correct
    gbMotPasse = Vrai

    et une FEN_GestionSociété
    Nom : societer.png
Affichages : 77
Taille : 20,6 Ko

    declaration globale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    // Vérifier si le fichier contient un enregistrement
    SI HNbEnr(Société) = 0 ALORS
    	// Le fichier est vide : Passer en mode "Création"
    	ExécuteTraitement(Ajouter, trtClic)	
    	RETOUR
    FIN
     
    // Rechercher la société en cours
    HLitRecherchePremier(Société, NomSociété, gsNomSociété)
     
    SI PAS HTrouve() ALORS   
    	// Mode "Visualisation" : Se positionner sur le premier enregistrement
    	HLitPremier(Société, NomSociété)
     
    	// Réinitialiser les variables globales
    	gbMotPasse = Faux	
    	gsNomSociété = ""	
    FIN
     
    // Initialiser les champs avec les valeurs des rubriques
    FichierVersEcran()
     
    // Donner le focus au champ caché pour éviter la modification sans saisie du mot de passe
    EcranPremier(ChampCaché)
    bouton valider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    SI SociétéNom = "" ALORS
    	Info("Vous devez saisir le nom de la société")
    	RepriseSaisie(SociétéNom)
    FIN
     
    // Initialiser les rubriques avec les valeurs des champs
    EcranVersFichier()
     
    SI Gr_Visualisation..Visible = Faux ALORS               
    	// Ajouter la nouvelle société dans le fichier
    	AjouterSociété()
     
    	// Réinitialiser le variable
    	gbMotPasse = Vrai
     
    	// Initialiser la variable globale avec le nom de la société
    	gsNomSociété = SociétéNom 
    SINON    
    	// Mode "Modification"                            
    	// Tester la présence d'un mot de passe si c'est nécessaire
    	SI gsNomSociété <> SociétéNom ALORS
    		SI PAS TesterMotPasse() ALORS RETOUR
     
    		// Initialiser la variable globale avec le nom de la société
    		gsNomSociété = SociétéNom 
    	FIN
     
    	SI Gr_CoordSociété..Modifié ALORS
    		// Une des coordonnées de la société a été modifiée
    		SI OuiNon("Les coordonnées de la société ont été modifiées.","Voulez-vous sauvegarder ces changements ?") ALORS
    			// Modifier l'enregistrement
    			HModifie(Société)
     
    		FIN
    	FIN
    FIN
     
    Ferme()
    et une procédure ajout société
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    // Traitement automatique des erreurs : afficher l'erreur, RENVOYER 
    //
    PROCEDURE AjouterSociété()
    // Procédure qui permet d'ajouter la nouvelle société et de créer les différents comptes et journaux associés
     
    // Saisir le nouveau mot de passe
    Société.MotPasse = Ouvre(FEN_MotDePasse)
     
    // Repeindre la fenêtre
    FenRepeint()
     
    // Initialiser la période en fonction de la date courante
    Société.DateDébut = Gauche(DateDuJour(),4)+"0101"
    Société.DateFin = Gauche(DateDuJour(),4)+"1231"
     
    // Initialiser le numéro de période pour la sauvegarde
    Société.Sauvegarde = 1
     
    // Ajouter la société
    HAjoute(Société)
     
     
    // Se positionner sur l'enregistrement
    HLit(Société, hNumEnrEnCours)
     
    Sablier(Vrai)
     
     
    Sablier(Faux)

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur informatique autodidacte
    Inscrit en
    septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique autodidacte

    Informations forums :
    Inscription : septembre 2017
    Messages : 45
    Points : 57
    Points
    57

    Par défaut projet Multi dossiers

    Bonjour tout le monde

    La solution réside dans l'utilisation des fonctions HChangeRep() et HChangeNom() comme l'ont bien précisé les experts

    Pour vous familiariser avec les fonctions ci-dessus, je vous propose ce petit exercice soit en partant de vos fichiers logiques :
    CLIENT et ORDREDEFACTURATION , vous créez les fichiers physiques ci-dessous

    Créez une fenêtre dans votre projet avec les champs suivant :

    champ SAI_Code avec libellé Code dossier : ....... à saisir U01 soit code de l'entreprise créé dans le fichier Société
    champ SAI_Année avec libellé Année : .... à saisir 2017 soit l'année de l'exercice courant
    Bouton Exécuter

    Code du bouton Exécuter :
    dans la formulation de ce code, ne pas utilisez les valeurs "U01" et "2017", mais plutôt le nom des champs SAI_Code et SAI_Année

    1/ testez l'existence du répertoire et du sous-répertoire, s'ils n'existent pas alors il faut les créer
    2/ pour chacun des 2 fichiers logiques , utilisez dans l'ordre les fonctions HChangeRep(), HChangeNom() et HCréationSiInexistant()

    Résultat : arborescence des fichiers physiques créés

    U01\U01Clients.Fic
    U01\2017\U01Ordres_Facturation2017.Fic

  13. #13
    Membre du Club
    Homme Profil pro
    Développeur informatique autodidacte
    Inscrit en
    septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique autodidacte

    Informations forums :
    Inscription : septembre 2017
    Messages : 45
    Points : 57
    Points
    57

    Par défaut

    Bonjour,

    Remarques :

    la première fenêtre de votre projet : menu principal soit FEN_Menu ???
    au lancement de l'application :

    - cette fenêtre s'ouvre et c'est normal
    - lancement de la procédure SélectionnerSociété(sFichierini), voir contenu dans messages précédents avec

    a- ouverture automatique éventuelle du dernier dossier ouvert (séance précédente)
    b- sinon ouverture fenêtre FEN_GestionSociété et clic bouton OK, après contrôle initialisation variable gsNomSociété

    et retour au menu principal, c'est à ce niveau qu'il faut ouvrir la base de données du dossier, chose qui ne se fait pas pour l'instant !!


    Dans code : PROCEDURE SélectionnerSociété(sFichierIni)
    voir le contenu dans messages précédents

    à la fin, écrire :

    pOuvrir_BDD() // procédure globale à créer


    code : clic bouton (loupe) sélection société (fenêtre FEN_Menu)

    //-------- Début du code ------------------------
    // Ouvrir la fenêtre de sélection d'une société
    Ouvre(FEN_GestionSociété)

    SI gsNomSociété = "<aucune>" ALORS
    // Aucune société n'a été sélectionnée
    // Initialiser la variable globale avec la dernière société
    gsNomSociété = NomSoc
    FIN

    SI gsNomSociété = "" ALORS Ferme()

    // Afficher la société et ses périodes
    FichierVersEcran()

    //-------- fin du code ------------------------

    Il est à noter, on sélectionne une autre société et on n'ouvre pas sa base de données !


    La fenêtre FEN_GestionSociété :
    // voir fenêtre dans messages précédents

    Le clic sur le bouton OK sert à :

    - confirmer la création éventuelle d'une société (dossier) et à l'ouvrir
    - modifier les cellules y compris le nom de la société et confirmer la modification
    - sélectionner éventuellement un autre dossier et l'ouvrir (en remplacement de celui en cours d'utilisation)

    Dans le cas de modification du nom de la société du dossier en cours d'utilisation :
    - dans le fichier Société la modification va s'enregistrer
    - reste la modification du nom du répertoire dossier courant à faire une fois le dossier fermé
    ou avec un peu de réflexion trouver une solution soit fermer la base BDD et la ré-ouvrir


    En résumé :

    1/ dans le code du projet :

    laissez uniquement la déclaration des variables et supprimez ce qui concerne analyse (fichiers et répertoire)
    supprimez, je veux dire désactivez c'est-à-dire mettre devant chaque ligne les caractères //

    rajouter ceci :
    // ouvrir uniquement les fichiers qui concernent tous les dossiers exemple : Société
    // éventuellement INSPECTEUR, TVA, TYPE_FACTURE c'est à vous de voir
    // pour chacun des fichiers retenus écrire :

    // fichier Société
    HChangeRep(Société,FRepExe())
    HCréationSiInexistant(Société)

    // fichier TYPE_FACTURE
    HChangeRep(TYPE_FACTURE,FRepExe())
    HCréationSiInexistant(TYPE_FACTURE)

    etc...
    //-------- fin du code ------------------------


    2/ dans le code du bouton Ok FEN_GestionSociété : ne pas ouvrir de fichiers

    3/ Dans code : PROCEDURE SélectionnerSociété(sFichierIni)
    voir le contenu dans messages précédents
    // à la fin du code, écrire :

    pOuvrir_BDD() // procédure globale à créer

    4/ Dans code : clic bouton (loupe) sélection société (fenêtre FEN_Menu)

    // Après la ligne :
    SI gsNomSociété = "" ALORS Ferme()

    // écrire ceci :

    SI NomSoc <> gsNomSociété Alors // remarque NomSoc c'est le nom du champ société situé au niveau de la fenêtre FEN_Menu
    pFermer_BDD() // procédure globale à créer
    pOuvrir_BDD() // procédure globale à créer
    FIN

    FichierVersEcran()
    //-------- fin du code ------------------------


    5/ pour le fichier .INI, un seul fichier (nom) suffit pour le projet c'est-à-dire celui qui est attribué à la variable gsFichierIni

    6/ la clé IDSociété est nécessaire uniquement dans le fichier Société. Dans les autres fichiers, je pense qu'elle n'est pas utile.
    A laisser pour l'instant avant de la supprimer éventuellement par la suite.

    7/ pour la fenêtre sélection d'un dossier soit Lister les fichiers d'archives, je ne vois pas son utilité.


    8/ PROCEDURE pFermer_BDD() // procédure globale

    // fermer uniquement les fichiers uniques par dossier
    // c'est-à-dire ne pas fermer les fichiers qui ont été ouvert dans le code du projet

    HFerme(CLIENT)
    HFerme(ORDREDEFACTURATION)
    HFerme(ligneCde)
    HFerme(LigneCde1)
    ---
    ---
    //-------- fin du code ------------------------


    9/ PROCEDURE pOuvrir_BDD() // procédure globale

    // Ouvrir les fichiers uniques par dossier c'est-à-dire ceux qui ont été fermé dans la procédure pFermer_BDD

    sRepDossier est une chaine=FRepExe()+"\"+gsNomSociété
    Si fRépertoireExiste(sRepDossier)=Faux Alors
    fRepCrée(sRepDossier)
    Fin

    HChangeRep(CLIENT,sRepDossier)
    HChangeRep(ORDREDEFACTURATION,sRepDossier)
    HChangeRep(ligneCde,sRepDossier)
    HChangeRep(LigneCde1,sRepDossier)

    ...
    ....
    HCréationSiInexistant(CLIENT)
    HCréationSiInexistant(ORDREDEFACTURATION)
    HCréationSiInexistant(ligneCde)
    HCréationSiInexistant(LigneCde1)
    ---
    ---
    //-------- fin du code ------------------------

    Ces problèmes arrivent souvent lorsqu'on n'a pas suffisamment d'expérience et on essaie de personnaliser un modèle de projet.

Discussions similaires

  1. Réponses: 11
    Dernier message: 01/04/2008, 15h42
  2. Réponses: 7
    Dernier message: 03/04/2007, 02h10
  3. [Continuum] projet multi-modules +authentification serveur
    Par rseM2 dans le forum Intégration Continue
    Réponses: 13
    Dernier message: 15/02/2007, 18h28
  4. BUILD ERROR sur création d'un projet multi-modules
    Par elitost dans le forum Maven
    Réponses: 1
    Dernier message: 28/08/2006, 16h23
  5. Projet Multi Langue
    Par MAGNUM_HEAD dans le forum VC++ .NET
    Réponses: 4
    Dernier message: 19/07/2006, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo