%@ LANGUAGE=JavaScript %>
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 |