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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| PROCÉDURE MaFenêtre()
nAteSelect est un entier
nFicheSelect est un entier
bAjoutEffectue est un booléen = Faux
SELON Dialogue("Etes vous sûr de vouloir ajouter ces fiches à l'atelier sélectionné?")
CAS 1 :
//Le choix de parcourir une table graphique est à utiliser avec précaution.
//Quand le code métier se trouve dans l'IHM cela complique l'évolution future de l'application et la factorisation des codes
POUR nFicheSelect =1 À TableOccurrence(TABLE_Fiches)
TableSelectPlus(TABLE_Fiches,nFicheSelect)
SI ListeSelect(COMBO_Atelier_2)>0 ALORS
nAteSelect = COMBO_Atelier_2[ListeSelect(COMBO_Atelier_2)]..ValeurMémorisée
SI nAteSelect > 0 ALORS
HLitRecherchePremier(Fichesécurité,IDAtelierFichesécurité,[nAteSelect,nFicheSelect])
SI _ficheExistante(cheminFichier) ALORS
ToastAffiche("Cette fiche sécurité existe déjà pour cet atelier",toastLong,cvMilieu,chCentre)
//RETOUR
//Pas de RETOUR dans le code, ça casse le flow du code. Une fonctione a un point d'entrée et un point de sortie
//Avec des RETOUR et/ou des GOTO dans le code, le debug et la factorisation des fonctions deviendront très difficiles à faire à l'avenir
//La maintenabilité du code en prend un sacré coup
SINON
//SI PAS HTrouve(Fichesécurité) ALORS
//Inutile de repréciser le SI PAS car tu étais dans la condition SINON du "SI HTrouve(Fichesécurité)"
//SI Htrouve renvoie Vrai tu afficheras un toast, sinon, tu passeras dans ce code d'ajout
HRAZ(Fichesécurité)
Fichesécurité.Fichesécurité = TABLE_Fiches.COL_Nom_fiche
Fichesécurité.IDAtelier = nAteSelect
Fichesécurité.Fichechemin = TABLE_Fiches.COL_Chemin_fiche
Fichesécurité.Date_de_création = DateHeureSys()
HAttacheMémo(Fichesécurité,FichesécuritéIMG,TABLE_Fiches.COL_Chemin_fiche,hMémoImg)
SI HAjoute(Fichesécurité) ALORS
bAjoutEffectue=Vrai
//Mais c'est imparfait, ça te dira si au moins une fiche a été ajoutée mais ne dira rien si ça n'a pas été le cas pour certaines
//Il faut catcher les erreurs de HAjoute et HModifie
FIN
//FIN
FIN
FIN
FIN
FIN
CAS 2 : //RETOUR
FIN
SI bAjoutEffectue ALORS
ToastAffiche(" Les fiches ont bien été ajoutées à "+ COMBO_Atelier_2[ListeSelect(COMBO_Atelier_2)]..ValeurAffichée,toastCourt,cvMilieu,chCentre)
FIN |
Partager