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

publication d'un projet de version de procédure :
versions_write.asp + versions_sop_doc_upl.asp + versions_macro.asp

versions_write.asp : dans le cas où on travaille sur un projet de version de procédure
Ecriture du fichier de paramètres Adresse du fichier de paramètres : "c:\\temp\\param.txt", qui contient :
Une ligne blanche : ""
Identifiant de document : "doc_id=" + Request.Form ('doc_id')
Identifiant de version : "ver_id=" + Request.Form ('ver_id')
Numéro de version : "ver_no_valide=" + Request.Form ('ver_no_valide')
Numéro de projet : "ver_no_projet=" + Request.Form ('ver_no_projet')
Titre de version/projet : "ver_titre=" + Request.Form ('ver_titre')
Destination du fichier aspiré : "doc_path=c:\\temp\\sop.docx"
Nom de la connexion base de données : "conn_name=SuneTeam"
Destination des fichiers SOP en HTML : "dir_out=" + Application('dir_out')
Adresse web des fichiers SOP : "web_path=http://" + psDocument.Site() + psDocument.Path() + "/SOPS/"
La date de péremption est calculée à partir des données du formulaire : date d'application + durée de péremption
act="crea" : mode création Récupération des données du formulaire puis "insert ... into documents_versions ..."
act="modif" : mode modification Récupération des données du formulaire puis "update documents_versions set ... "

Redirection sur versions_sop_doc_upl.asp?doc_id=" + Request.Form ("doc_id") + "&ref_doc=" + R.QueryString ('ref_doc') + ver_id, ver_no_valide, ver_no_projet, ver_titre, récupérés par Request.Form ('xxx') à destination éventuelle de versions_write_page.asp (aspiration de fichiers non ".docx")

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

versions_sop_doc_upl.asp
Formulaire : ACTION="/scripts/UploadExt.dll" ENCTYPE="multipart/form-data" METHOD=POST :
Ce formulaire a pour but de fournir à une dll les paramètres nécessaires à l'aspiration du fichier par le site, à commencer bien sûr par le chemin complet originel du fichier à traiter.
"Filename", INPUT-HIDDEN, "c:\temp\sop.docx" --> Nom du fichier après upload
extension du fichier : --> Page de redirection après aspiration.
cas ".docx" : "RedirectURL", INPUT-HIDDEN, "http://" + psDocument.Site() + psDocument.Path() + "/versions_macro.asp?doc_id= + Request.QueryString('doc_id')"
cas autres : "RedirectURL", INPUT-HIDDEN, "http://" + psDocument.Site() + psDocument.Path() + "versions_write_page.asp?doc_id= + R.Q ('doc_id') + "&ver_id" + R.Q ('ver_id')  + "&titre=" + R.Q ('titre')  + "&ref_info_file" + R.Q ('ref_info_file')
"Filedata", INPUT-FILE, entrée de l'utilisateur --> Fichier à traiter par la dll UploadExt.dll
La référence du document (pour les titres de l'interface) est stockée en variable de session car elle ne passe pas la macro en QueryString

=========== passage par UploadExt.dll =================>

Cas des fichiers Word à l'aspiration :

versions_macro.asp
//ouverture d'un Word (avec interface utilisateur), affichage de la version
var wdApp = Server.CreateObject("Word.Application") ;
wdApp.Visible = true ;
//Démarrage de la macro
wdApp.Application.Run(Session("nom_macro")) ;
wdApp.Application.Quit() ;
Redirection sur versions_liste.asp ?doc_id = Request.QueryString ('doc_id')

Cas des autres fichiers :

versions_write_page.asp
Récupération et mise à vide de la variable de Session ("ref_doc"). Sa valeur est récupérée dans et exploitée depuis ls_ref_doc.
var li_doc_id = Request.QueryString('doc_id');
var li_ver_id = Request.QueryString('ver_id');
var li_pag_id = max(pag_id) +1 (sorti de la base par la datawindow "OBJECT_id");
var lc_pag_type = "G"
var ls_pag_titre = "" + Request.QueryString('titre');
var ls_pag_ref_info = "" + Request.QueryString('ref_info');
var ls_pag_ref_info_file = "" + Request.QueryString('ref_info_file');
OBJECT1 = new DWGenerator ("OBJECT1", "SuneTeam");
sqlquery = "insert into documents_pages (doc_id, ver_id, pag_id, pag_type, pag_titre, pag_ref_info, pag_ref_info_file) ";
sqlquery += "values ('" + li_doc_id + "','" + li_ver_id + "','" + li_pag_id + "','" + lc_pag_type + "','" + ls_pag_titre + "','" + ls_pag_ref_info + "','" + ls_pag_ref_info_file + "') ";
Redirection sur versions_liste.asp ?doc_id = Request.QueryString ('doc_id') + "&ref_doc=" + ls_ref_doc