Scripts VBS‎ > ‎

Création d'une agence dans un fichier de configuration NetOP

     La syntaxe du fichier source (fichier de configuration NetOP) doit être respectée à la lettre

 
 Ci-dessous, le vbscript
 
 

 '===============================================
' Guillaume PRIOU
' 30/03/2012
' Version 1
' Créer le fichier de configuration de NetOP pour une nouvelle agence
' HORS CIBLE
' Paramètres obligatoires :
'  - Répertoire de destination
'  - Nom de la caisse
'  - Nom de l'agence
'  - EDS de l'agence
'  - Nombre de poste dans l'agence
'===============================================

Wscript.echo "        MANUEL DU SCRIPT DE GENERATION DE CONFIGURATION DE NETOP" & VBCRLF & VBCRLF _
 & "--------------------------------------------------------------------------------------------------" & VBCRLF & VBCRLF _
 & "Le but de ce script est de créer une nouvelle agence dans un fichier de configuration." & VBCRLF _
 & "Le fichier pourra être importé directement depuis NetOP." & VBCRLF & VBCRLF _
 & "Le fichier de configuration sera généré en fonction :" & VBCRLF _
 & "    - de la caisse de rattachement"  & VBCRLF _
 & "    - du nom de la nouvelle agence"  & VBCRLF _
 & "    - de l'EDS de la nouvelle agence"  & VBCRLF _
 & "    - du nombre de postes dans la nouvelle agence"  & VBCRLF & VBCRLF _
 & "--------------------------------------------------------------------------------------------------" & VBCRLF & VBCRLF & VBCRLF _
 & "                                              Guillaume PRIOU © 2012"
 
Const Lecture = 1
Const Ecriture = 2

Dim PathFichierDest, NomCaisse, NomAgence, EdsAgence, nb_postes, NomCaisseLong
Dim strFlag

'-------------------------------------------
'Répertorie de destination
'--------------------------------------------

Function BrowseFolder( myStartLocation, blnSimpleDialog )
    Const MY_COMPUTER   = &H11&
    Const WINDOW_HANDLE = 0 ' Must ALWAYS be 0

    Dim numOptions, objFolder, objFolderItem
    Dim objPath, objShell, strPath, strPrompt

    ' On déclare les options pour la boite de dialogue

    strPrompt = "Sélectionner le répertoire de destination :"
    If blnSimpleDialog = True Then
        numOptions = 0      ' Simple dialog
    Else
        numOptions = &H10&  ' Additional text field to type folder path
    End If
    
      Set objShell = CreateObject( "Shell.Application" )

    If UCase( myStartLocation ) = "MY COMPUTER" Then
        Set objFolder = objShell.Namespace( MY_COMPUTER )
        Set objFolderItem = objFolder.Self
        strPath = objFolderItem.Path
    Else
        strPath = myStartLocation
    End If

    Set objFolder = objShell.BrowseForFolder( WINDOW_HANDLE, strPrompt, _
                                              numOptions, strPath )

    ' On quitte si aucun répertoire n'a été sélectionné

    If objFolder Is Nothing Then
        BrowseFolder = ""
        Exit Function
    End If

    ' On récupère le chemin du répertoire spécifié

    Set objFolderItem = objFolder.Self
    objPath = objFolderItem.Path

    ' On retourne le chemin du répertoire spécifié

    BrowseFolder = objPath
End Function


'Appel de la fonction
PathFichierDest = BrowseFolder( myStartLocation, blnSimpleDialog )


'---------------------------
'Choix de la Caisse
'---------------------------


strTitle = "Choix de la Caisse"
strFlag = False
Do While strFlag = False
   NomCaisse = InputBox ("Caisses existantes :"  & vbCR  & " - CACB"  & vbCR  & " - CACE"  & vbCR  & " - CACF"  & vbCR  & " - CADS" & vbCR  & " - LHL"  & vbCR  & " - SRA"  & vbCR  & " - PCA", "Nom de la caisse de rattachement de l'agence")
   NomCaisse = UCase (NomCaisse)
   Select Case NomCaisse
       Case "CACB"
         NomCaisseLong = "Champagne-Bourgogne (CACB)"
         CodeEntreprise = "7"
         domaine = ".cacb-prd.cam"
         strFlag = True
      Case "CACE" 
         NomCaisseLong = "Centre Est (CACE)"
         CodeEntreprise = "2"
         domaine = ".cace-prd.cam"
         strFlag = True
      Case "CACF" NomCaisseLong = "Centre France (CACF)"
         CodeEntreprise = "8"
         domaine = ".cacf-prd.cam"
         strFlag = True
      Case "CADS" NomCaisseLong = "Des Savoie (CADS)"
         CodeEntreprise = "5"
         domaine = ".cads-prd.cam"
         strFlag = True
      Case "LHL"  NomCaisseLong = "Loire Haute Loire (LHL)"
         CodeEntreprise = "6"
         domaine = ".lhl-prd.cam"
         strFlag = True
      Case "SRA"  NomCaisseLong = "Sud Rhone Alpe (SRA)"
         CodeEntreprise = "9"
         domaine = ".sra-prd.cam"
         strFlag = True
      Case "PCA"  NomCaisseLong = "Provence Côte d'Azur (PCA)"
         CodeEntreprise = "4"
         domaine = ".pca-prd.cam"
         strFlag = True
      Case "CHALUS"  NomCaisseLong = "Chalus"
         CodeEntreprise = "D"
         domaine = ".chalus-prd.cam"
         strFlag = True
      Case Else
   'Si le nom de caisse renseigné n'existe pas, on affiche un essage d'erreur et redemande le nom de caisse abrégé
         MsgBox "Nom de caisse non valide",64,strTitle
   End Select
Loop

'-----------------------------
'Définition du nom de l'agence
'-----------------------------
nb_char = 0
Do While nb_char < 1
   NomAgence = InputBox ("Indiquer le nom de l'agence à créer" & vbCR  & "Exemple : TOULOUSE LAUTREC", "Nom de l'agence")
   nb_char = Len(NomAgence)
   If nb_char < 1 Then
      wscript.echo "Merci de définir le nombre de postes dans l'agence"
   End If
Loop

' Réécriture en majuscules si ce n'est pas le cas
NomAgence = UCase (NomAgence)

'Définition du nom de fichier de destination (le résultat)
'-----------------------------------------------------------------------------


NomFichierDest = "Configuration NetOP - " & NomCaisse & " - " & NomAgence & ".txt"
'On concatène le chemin et le fichier
FichierComplet =  PathFichierDest & "\" & NomFichierDest

'Définition de l'EDS de l'agence
'--------------------------------------------

strFlag = False
Do While strFlag = False
   EdsAgence = InputBox ("Indiquer l'EDS de l'agence à créer (Code Agence)" & vbCR  & "Exemple : 00123", "EDS de l'agence ")
   nb_char = Len(EdsAgence)
   'Si l'EDS définit de fait pas 5 caractères
   If nb_char = 5 Then
      strFlag = True
   Else
      MsgBox "L' EDS spécifié n'est pas codé sur 5 caractères",64,BoxTitle
   End If
Loop

EdsCourt = Right(EdsAgence, 3)
Msgbox "Paramètres de création d'une Agence : OK"

'Définition du nombre de postes à créer pour l'agence
'---------------------------------------------------------------------------

nb_char = 0
Do While nb_char < 1
   nb_postes = InputBox ("Indiquer le nombre de postes pour cette agence" & vbCR  & "Exemple : 25", "Nombre de postes de l'agence ")
   nb_char = Len(nb_postes)
   If nb_char < 1 Then
      wscript.echo "Merci de définir le nombre de postes dans l'agence"
   End If
Loop


'On evoie la sauce et on crée les lignes dans le fichier de destination
'--------------------------------------------------------------------------------------------------


Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFichierDest = objFSO.CreateTextFile(FichierComplet, Ecriture)
'SYNTAXE DU POSTE
'On génère la syntaxe du poste en fonction des informations demandées précédemment
  poste = "P" & CodeEntreprise & "NIA" & EdsCourt
'SYNTAXE DU SERVEUR 
  serveur = "S" & CodeEntreprise & "NIA" & EdsCourt
'SYNTAXE DU SCANNER
  cheque = "C" & CodeEntreprise & "NIA" & EdsCourt
'ECRITURE DANS LE FICHIER RESULTAT
 'On enregistre le serveur de l'agence
  serv = "Agences\" & NomCaisseLong & "\"  & NomAgence & " - EDS " & EdsCourt & ",Serveur Agence," & serveur & "," & serveur & "," & serveur & domaine & "," & serveur
  objFichierDest.WriteLine serv
 'On enregistre le scanner de chèque
  cheque = "Agences\" & NomCaisseLong & "\"  & NomAgence & " - EDS " & EdsCourt & ",Pilotage Scanner Cheque,"  & cheque & "01," & cheque & "01," & cheque & "01" & domaine & "," & cheque & "01"
  objFichierDest.WriteLine cheque
 'On enregistre tous les postes un par un
    
 'Pour les postes 1 à 9, on rajoute un 0 devant pour codifier correctement
  For i = 1 To 9
     chaine = "Agences\" & NomCaisseLong & "\"  & NomAgence & " - EDS " & EdsCourt & ",Poste 0" & i & "," & poste & "0" &i & "," & poste & "0" & i & domaine & "," & poste & "0" & i
     objFichierDest.WriteLine chaine
  Next
 'Pour les autres on incrémente normalement
  For i = 10 To nb_postes
     chaine = "Agences\" & NomCaisseLong & "\"  & NomAgence & " - EDS " & EdsCourt & ",Poste " & i & "," & poste & i & "," & poste & i & domaine & "," & poste & i
     objFichierDest.WriteLine chaine
  Next

Msgbox "Traitement terminé !!" & vbcrlf & "Le fichier de configuration de NetOP a été généré dans" & vbcrlf & FichierComplet
WScript.Quit(0)

 
 
 
 
 
 
 
 
Comments