<%@ LANGUAGE=JavaScript %> Publication d'un fichier de SOP : version <% WriteHeader() %>

publication d'une version de procédure
versions_write + versions_recup_pages.asp

Même système que celui décrit dans versions_uploadExt_dll.asp
mais en ajoutant les champs propres à une version :
versions_write.asp : dans le cas où on travaille sur une version de procédure
act="crea" : mode création Récupération des données du formulaire puis cursor.addnew() puis cursor.update (); (calcul préalable de "date_peremption" = date d'application + durée de peremption)
OBJECT1.cursor.SetValue("ver_peremption_date", format_time(date_peremption))
OBJECT1.cursor.SetValue("ver_version_date", Request.Form("ver_version_date"))
OBJECT1.cursor.SetValue("ver_application_date", Request.Form("ver_application_date"))
OBJECT1.cursor.SetValue("ver_peremption_duree", Request.Form("ver_peremption_duree"))
OBJECT1.cursor.SetValue("ver_valid_print", Request.Form("ver_valid_print"))
OBJECT1.cursor.SetValue("ver_nouveaute_duree", formatage (Request.Form("ver_nouveaute_duree"), 2))
act="modif" : mode modification idem puis
puis cursor.update ()
//Si on travaille sur une VERSION, on récupère les pages du projet antérieur :

if (Request.QueryString("ver_no_projet") == 0) {
        //Si on est en modification : pas de changement dans les fichiers-liens 
        
        if ("" + Request.QueryString('ver_id') != "" + Request.QueryString ('prec_ver_id')) {
            
            li_ver_no_valide = parseInt ("" + Request.QueryString ('ver_no_valide'));
          
            OBJECT1 = new DWGenerator ("OBJECT1", "SuneTeam");
            sqlquery = "select * from documents_pages where doc_id = " + Request.QueryString('doc_id') 
                                                  + " and ver_id = " + Request.QueryString ('prec_ver_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 file_out = "";
            var app_file_in = "";
            var app_file_out = "";
             
            for (var i=0; !OBJECT1.cursor.EOF(); i++) {
        
         //Génération des noms des fichiers d'entrée et de sortie
            app_file_in = "" + OBJECT1.cursor.GetValue("pag_ref_info_file");
                
                //Création du nouveau nom de fichier file_out
        
                //
                  var index_nom = app_file_in.lastIndexOf("%5C") + 3;        
                  var index_ext = app_file_in.indexOf (".", 1);
                  var index_fin = app_file_in.length;
                  
            file_out = "" + Session ('type_doc') + 
              "_" + formatage(Request.QueryString('doc_id'),4) 
              + "_" + formatage(parseInt(li_ver_no_valide),3) 
              + "_" + "000_" + formatage(i,3) 
              + app_file_in.substring (index_ext, index_fin);
            app_file_out = Application('dir_out') 
                            + Session ("dept_code") 
                            + "\\" + Session ("type_doc")  
                            + "\\" + file_out;
            
            //Response.Write ("

in = " + app_file_in + "

");
            //Response.Write ("out = " + app_file_out + "

");
            
            //Copie du fichier
            fso.CopyFile (app_file_in, app_file_out);
        
            //Ecriture du lien dans la base (documents_pages)
            OBJECT2 = new DWGenerator ("OBJECT2", "SuneTeam");
            sqlquery = "documents_pages";
            OBJECT2.cursor = OBJECT2.conn.CreateCursor(sqlquery);
            if (null == OBJECT2.cursor)  {OBJECT2.WriteError();}
            OBJECT2.cursor.addNew();
            OBJECT2.cursor.SetValue("doc_id", Request.QueryString('doc_id'))
            OBJECT2.cursor.SetValue("ver_id", Request.QueryString('ver_id'))
            OBJECT2.cursor.SetValue("pag_id", i)
            OBJECT2.cursor.SetValue("pag_type", OBJECT1.cursor.GetValue(3))
            OBJECT2.cursor.SetValue("pag_titre", replace(OBJECT1.cursor.GetValue(4),'\'','\'\''))
            OBJECT2.cursor.SetValue("pag_ref_info", 
              "http://" + psDocument.Site() + "/SuneTeam/Documents/" + Session ("dept_code") 
              + "/" + Session ("type_doc") + "/" + file_out + "")
            OBJECT2.cursor.SetValue("pag_ref_info_file", app_file_out)    
            OBJECT2.cursor.update();
        
            OBJECT1.cursor.MoveNext()    
          }//fin du for
          
        }//fin du if
        
        ECRITURE D'UN SCRIPT COTE CLIENT
        psDocument.Write("location.replace(\"");
        psDocument.Write ("versions_liste.asp?doc_id=" + Request.QueryString ("doc_id") 
                                  + "&ref_doc=" + Request.QueryString ('ref_doc') + "");
        psDocument.Write ("\")") ;
        

=============================>

Redirection sur versions_liste.asp ?doc_id=" + Request.QueryString ("doc_id") + "&ref_doc=" + Request.QueryString ('ref_doc')