<%@ LANGUAGE=JavaScript %> <% WriteHeader() %>

annx_vers_write.asp

Ecriture des données : Récupération des données de la table annexes_versions passées en QueryString, avec ou sans les champs propres aux versions (test sur ver_no_projet = 0). Dans ce cas, de la date d'application et de la durée de peremption, on déduit la date de peremption.
Si on est en effacement : if (Request.QueryString ('act') == "del") del_annx_vers (Request.QueryString ('doc_id'), Request.QueryString ('ann_id'), Request.QueryString ('van_id'));
//RECUPERATION DU FICHIER DE LA LIGNE PRECEDENTE
SI (
CREA OU MODIF : ("" + Request.QueryString ('act') != "del") 
VERSION : && (Request.QueryString("van_no_projet") == 0)
CREA : && ("" + Request.QueryString('van_id') != "" + Request.QueryString ('prec_van_id'))
) { 
                      
        OBJECT1 = new DWGenerator ("OBJECT1", "SuneTeam"); 
        sqlquery = "select van_ref_info, van_ref_info_file from annexes_versions "; 
        sqlquery += "where doc_id = " + Request.QueryString('doc_id') + " and ann_id = " + Request.QueryString('ann_id'); 
        sqlquery += " and van_id = " + Request.QueryString('prec_van_id'); 
        OBJECT1.cursor = OBJECT1.conn.CreateCursor (sqlquery); 
        if (null == OBJECT1.cursor) {OBJECT1.WriteError();} 
        if (!OBJECT1.cursor.EOF()) OBJECT1.cursor.MoveFirst(); 
                          
        var fso = Server.CreateObject ("Scripting.FileSystemObject"); 
        var ls_van_ref_info = ""; 
        var index_slash = 0; 
        var long = 0; 
        var file_in = ""; 
        var file_out = ""; 
        var app_file_in = ""; 
        var app_file_out = ""; 
        var num_valide = 0; 
        
        for (var i=0; !OBJECT1.cursor.EOF(); i++) { 
        //Récupération du nom du fichier sans chemin 
        ls_van_ref_info = "" + OBJECT1.cursor.GetValue(0);
        index_slash = ls_van_ref_info.indexOf("ANN_",1); 
        long = ls_van_ref_info.length; 
        file_in = ls_van_ref_info.substring (index_slash, long); 
        
        //Création du nouveau nom de fichier file_out 
        file_out = "ANN_" + formatage (Request.QueryString('doc_id'),4) + "_"; 
        file_out += formatage (Request.QueryString('ann_id'), 4) + "_"; 
        num_valide = formatage((parseInt(file_in.substring (14,17))+1),3); 
        file_out = file_out + num_valide + "_" + "000" + file_in.substring (21,long); 
        
        //Copie du fichier 
        app_file_in = "" + OBJECT1.cursor.GetValue(1); 
        app_file_out = Application('dir_out') + Session ('dept_code') + '\\' + Session ("type_doc") + '\\' + file_out; 
        fso.CopyFile (app_file_in, app_file_out); 
        
        //Ecriture du lien dans la base (annexes_versions) 
        OBJECT2 = new DWGenerator ("OBJECT2", "SuneTeam"); 
        sqlquery = "update annexes_versions set "; 
        sqlquery += "van_ref_info = '" + ls_van_ref_info.substring(0,index_slash) + file_out + "' "; 
        sqlquery += " ,van_ref_info_file = '" + app_file_out + "' "; 
        sqlquery += " where doc_id=" + Request.QueryString('doc_id');
        sqlquery += " and ann_id=" + Request.QueryString('ann_id');
        sqlquery += " and van_id =" + Request.QueryString('van_id');
        OBJECT2.cursor = OBJECT2.conn.CreateCursor (sqlquery); 
        if (null == OBJECT2.cursor) {OBJECT2.WriteError ();} 
        OBJECT1.cursor.MoveNext() 

        }//fin du for 
} // fin du triple if        
            

Redirection :  SCRIPT COTE CLIENT ECRIT A LA VOLEE :
psDocument.Write("location.replace(\"annx_vers_liste.asp?doc_id=" + R.Q ('doc_id'));
psDocument.Write ("&ann_id=" + R.Q('ann_id') + "&ref_doc=" + R.Q('ref_doc'));
psDocument.Write ("&ref_ann=" + R.Q('ref_ann') + "\")");