cancel
Showing results for 
Search instead for 
Did you mean: 

Script creation dossier et classement

calamarz
Champ in-the-making
Champ in-the-making
Bonjour à tous,

Il y a quelques années j'avais un Alfresco de Demo (usage limité), nous souhaitons maintenant au sein de mon entreprise remonter une plateforme pour des essais.

Mon objectif est le suivant un classement automatique dans une arborescence des documents PDF en fonction du nommage (01_001_nomaleatoire.pdf).

J'ai donc repris un script qui a l'epoque sous Alfresco Explorer était fonctionnel !

Voici le principe:

SCANNER -> Fichier PDF avec nommage exemple 01_001_251452415.pdf -> Ocrisation -> copie via FTP dans dossier "Imports" (ftp:\Alfresco\Imports) -> Règle avec déclenchement du script suivant :

try
{
   if(!document.isContainer){
      //Récupération du nom du document
      var nomDocument = document.properties.name;
     
      //Traitement du nom du document
      var tempcodesociete = nomDocument.substring(0,2);
      var temptypedocument = nomDocument.substring(3,6);
    
     switch(tempcodesociete)
     {
      case "01":
         var codesociete = "01 - Toto"
         break;
      case "02":
         var codesociete = "02 - Titi"
         break;
      case "04":
         var codesociete = "04 - Tutu"
         break;
    }
    switch(temptypedocument)
    {
      case "001":
         var typedocument = "FACTURES FOURNISSEURS"
         break;
      case "002":
         var typedocument = "FACTURES CLIENTS"
         break;
    }
      
     //Recuperation dossier racine
     var nodeDossierGED = companyhome.childByNamePath("Sites/ged/documentLibrary");
        
     if (nodeDossierGED != null){
    
     var nodetypedocument = nodeDossierGED.childByNamePath(typedocument);
         if(nodetypedocument == null){
           nodetypedocument = nodeDossierGED.createFolder(typedocument);        
         }   
             
     var nodeSociete = nodetypedocument.childByNamePath(codesociete); //Test si le space existe
         if(nodeSociete == null) {
            var nodeSociete = nodetypedocument.createFolder(codesociete);
         } 
         }
       //On déplace le fichier
         document.move(nodeSociete);
         }
      }
   }
catch(exception)
{
   throw exception;
}


Voyez-vous une eventuelle coquille ?

Merci à tous
2 REPLIES 2

calamarz
Champ in-the-making
Champ in-the-making
Bon je vais me repondre 😉 donc voici un scipt simple qui fonctionne et peut donc créer une arborescence a la volée en fonction du nom du fichier.


if(!document.isContainer){
      //Récupération du nom du document
      var nomDocument = document.properties.name;
     
      //Traitement du nom du document
      var tempcodesociete = nomDocument.substring(0,2);
      var temptypedocument = nomDocument.substring(3,6);
    
     //Recuperation date courante
     var now = new Date();
     var annee = now.getFullYear();
     var tempmois = now.getMonth() + 1;

     switch(tempcodesociete)
     {
      case "01":
         var codesociete = "01 - Toto"
         break;
      case "02":
         var codesociete = "02 - Titi"
         break;
      case "04":
         var codesociete = "04 - Tutu"
         break;
    }
    switch(temptypedocument)
    {
      case "001":
         var typedocument = "FOURNISSEURS"
         break;
      case "002":
         var typedocument = "CLIENTS"
         break;
    }
    switch(tempmois)
    {
      case 1:
         var mois = "01 - Janvier"
         break;
      case 2:
         var mois = "02 - Fevrier"
         break;
      case 3:
         var mois = "03 - Mars"
         break;
      case 4:
         var mois = "04 - Avril"
         break;
      case 5:
         var mois = "05 - Mai"
         break;
      case 6:
         var mois = "06 - Juin"
         break;
      case 7:
         var mois = "07 - Juillet"
         break;
      case 8:
         var mois = "08 - Aout"
         break;
      case 9:
         var mois = "09 - Septembre"
         break;
      case 10:
         var mois = "10 - Octobre"
         break;
      case 11:
         var mois = "01 - Novembre"
         break;
      case 12:
         var mois = "12 - Decembre"
         break;
    }
      
     //Recuperation dossier racine
     var nodeDossierGED = companyhome.childByNamePath("Sites/ged/documentLibrary");
        
     if (nodeDossierGED != null){
    
     var nodetypedocument = nodeDossierGED.childByNamePath(typedocument);
         if(nodetypedocument == null){
           nodetypedocument = nodeDossierGED.createFolder(typedocument);        
         }   
             
     var nodeSociete = nodetypedocument.childByNamePath(codesociete);
         if(nodeSociete == null) {
           nodeSociete = nodetypedocument.createFolder(codesociete);
         }
     var nodeAnnee = nodeSociete.childByNamePath(annee);
         if(nodeAnnee == null) {
           nodeAnnee = nodeSociete.createFolder(annee);
         }   
     var nodeMois = nodeAnnee.childByNamePath(mois);
         if(nodeMois == null) {
           nodeMois = nodeAnnee.createFolder(mois);
         }      
         }
       //On déplace le fichier
         document.move(nodeMois);
}



bouramdane
Champ in-the-making
Champ in-the-making