Ci dessous quelques fonctions usuelles de Gestan “Core”, que vous pouvez copier-coller dans les extensions.
// Résumé : Assigne les fichiers aliasés (FACTURE, MACHINE)
// Syntaxe :
//[ <Résultat> = ] gf_Assigner_Fichier (<KOUA>)
//
// Paramètres :
// KOUA : DV, CC, FC (ou C), AV (ou A), BL | DP, CF, FF (ou F), BR pour les pièces (ou le nom du fichier) / "RESS","LOC","MNT" pour les machines / ECRITURE_BB
// Valeur de retour :
// booléen : Vrai ou Faux selon le résultat de l'assignation
//
PROCÉDURE gf_Assigner_Fichier(KOUA)
// ATTENTION, UTILISE DANS GESTAN MOBILE
KOUA=Majuscule(KOUA) // car en mode CS, le NomPhysique d'un fichier peut être en minuscules !
NomCible est une chaîne
SELON KOUA
CAS "R","L","M","MACHINE","MACHINE_LOC","MACHINE_MNT","RESS","LOC","MNT","MCR","MCM","MCL"
SI PAS HFerme(MACHINE) ALORS Erreur(HErreur);RENVOYER Faux
SELON KOUA
CAS "R","RESS","MACHINE","MCR"
NomCible="MACHINE"
CAS "L","LOC","MACHINE_LOC","MCL" // Machines en location
NomCible="MACHINE_LOC"
CAS "M","MNT","MACHINE_MNT","MCM" // Machine en maintenance
NomCible="MACHINE_MNT"
CAS "MCS" : NomCible="MACHINE_CS_TMP"
FIN
SI PAS HChangeNom(MACHINE,NomCible) ALORS Erreur(HErreur);RENVOYER Faux
//SI PAS HCréationSiInexistant(MACHINE,GPSSWD,hOuvertureDifférée) ALORS Erreur(ChaîneConstruit("Impossible d'assigner le fichier %1.", NomCible));renvoyer faux
SI PAS HCréationSiInexistant(MACHINE,GPSSWD) ALORS Erreur(ChaîneConstruit("Impossible d'assigner le fichier %1.", NomCible));RENVOYER Faux
CAS "NDF"
// Pour le module note de frais
SI PAS HFerme(NDFRAIS) ALORS Erreur(HErreur);RENVOYER Faux
SI PAS HCréationSiInexistant(NDFRAIS,GPSSWD,hOuvertureDifférée) ALORS Erreur("Impossible d'assigner le fichier note de frais");RENVOYER Faux
// Assignation des lignes de fichier
SI PAS HFerme(NDFRAISLIGNE) ALORS Erreur(HErreur);RENVOYER Faux
SI PAS HCréationSiInexistant(NDFRAISLIGNE,GPSSWD,hOuvertureDifférée) ALORS Erreur("Impossible d'assigner le fichier ligne de note de frais");RENVOYER Faux
CAS "FBR"
SI PAS HFerme(FICHIERBRUT) ALORS Erreur(HErreur);RENVOYER Faux
NomCible=DOCLIE.DHCRE[[À 6]]="000000" ? "FICHIERBRUT_"+DateSys[[À 6]] SINON "FICHIERBRUT_"+DOCLIE.DHCRE[[À 6]]
SI PAS HCréationSiInexistant(FICHIERBRUT,GPSSWD,hOuvertureDifférée) ALORS Erreur(ChaîneConstruit("Impossible d'assigner le fichier %1.", KOUA));RENVOYER Faux
AUTRE CAS
SI PAS HFerme(FACTURE) ALORS Erreur(HErreur);RENVOYER Faux
SELON KOUA
CAS "DEVIS","DVS","DV", "D", "1"
NomCible="DEVIS"
CAS "COMMANDE","CCT","CC", "K", "2"
NomCible="COMMANDE"
CAS "FACTURE","FCT","FC", "C", "3"
NomCible="FACTURE"
CAS "AVOIR","AVR","AV", "A", "4"
NomCible="AVOIR"
CAS "BLIVR","BLV","BL","L", "5"
NomCible="BLIVR"
CAS "DEMPRIXFOU","DPX","DP", "P", "6"
NomCible="DEMPRIXFOU"
CAS "COMMANDEFOU","CFR","CF", "O", "7"
NomCible="COMMANDEFOU"
CAS "FACTUREFOU","FFR","FF", "F", "8"
NomCible="FACTUREFOU"
CAS "AVOIRFOU","AVF","AF","W","9"
NomCible="AVOIRFOU"
CAS "BRECEPT","BRC","BR", "R", "10"
NomCible="BRECEPT"
AUTRE CAS
Erreur(ChaîneConstruit("Impossible d'assigner le fichier %1.", KOUA)); RENVOYER Faux
FIN
SI PAS HChangeNom(FACTURE,NomCible) ALORS Erreur(HErreur);RENVOYER Faux
//SI PAS HCréationSiInexistant(FACTURE,GPSSWD,hOuvertureDifférée) ALORS Erreur(ChaîneConstruit("Impossible d'assigner le fichier FACTURE pour %1.", KOUA));RENVOYER Faux
SI PAS HCréationSiInexistant(FACTURE,GPSSWD) ALORS Erreur(ChaîneConstruit("Impossible d'assigner le fichier FACTURE pour %1.", KOUA));RENVOYER Faux
// On assigne toujours les lignes avec, pour des questions de sécurité
SI PAS HFerme(FACTURELIGNE) ALORS Erreur(HErreur);RENVOYER Faux
NomCible+="LIGNE"
SI PAS HChangeNom(FACTURELIGNE,NomCible) ALORS Erreur(HErreur);RENVOYER Faux
//SI PAS HCréationSiInexistant(FACTURELIGNE,GPSSWD,hOuvertureDifférée) ALORS Erreur(ChaîneConstruit("Impossible d'assigner le fichier FACTURELIGNE pour %1.", KOUA));RENVOYER Faux
SI PAS HCréationSiInexistant(FACTURELIGNE,GPSSWD) ALORS Erreur(ChaîneConstruit("Impossible d'assigner le fichier FACTURELIGNE pour %1.", KOUA));RENVOYER Faux
FIN
RENVOYER Vrai
ℹ️ Autres articles “Développement Windev pour Gestan”