par oguruma » 29 Jan 2004 à 11:27
tiens voici un exemple de code :plus bas tu auras la fonction PossedRole si tu as besoin...ici dans cet exemple le refus est lieu au contexte selon un rôle particulier à toi de l'adapter sur la gestion du quotacomment faire :il faut faire un agent et le faire réagir sur l'action :"lorsque vous collez des documents"cet agent doit être partagéREM ***************************************************REM * - Cet agent interdit les actions de copier/coller dans la baseREM ***************************************************Sub Initialize Exit Sub Dim i As Integer Dim n As Integer Dim session As New NotesSession Dim Db As NotesDatabase Dim Collection As NotesDocumentCollection Dim Doc As NotesDocument If PossedeRole("[MiseEnProd]") Then Exit Sub '--- Le document est détruit collage ainsi on garde toujours un seul document n=0 Set Db = Session.CurrentDatabase Set Collection = Db.UnprocessedDocuments For i = 1 To Collection.Count Set Doc = collection.GetNthDocument( i ) If Doc.Form(0)="DT" Or Doc.Form(0)="AC" Or Doc.Form(0)="L0" Or Doc.Form(0)="ST" Or Doc.Form(0)="PJ" Then n=n+1 Doc.Remove(True) End If Next i If n>0 Then Messagebox "La duplication de documents par copier/coller est interdite",16,"Copier/Coller interdit - " & n & " document(s)" End IfEnd SubREM *****************************************************************REM * Vérifie le rôle d'un utilisateurREM *****************************************************************Function PossedeRole (Role As String) As Integer Const Cmd ="@UserRoles" Dim EstRole As Integer Dim ListeRoles As Variant EstRole=False ListeRoles=Evaluate(Cmd) Forall R In ListeRoles If Ucase$(R)=Ucase$(Role) Then EstRole=True Exit Forall End If End Forall PossedeRole=EstRoleEnd Functionet au passage puisque je suis dans le code de ma base voici comment bloquer la touche Suppr et obliger un utilisateur à utiliser le bouton que tu as programmé pour supprimer les docça se trouve dans le script de la base ici l'exemple est contextuelCeux qui possèdent le rôle Super sont autorisés à utiliser la touche SupprSub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant) Dim Collection As NotesDocumentCollection Dim LstForm As String Dim currentForm As String Dim DocSupp As NotesDocument LstForm="DT,AC,L0,SA,RU,RC,RD,ER,HH,ST" If PossedeRole("[Super]") Then Exit Sub Set Collection=Source.Documents Set DocSupp=Collection.GetFirstDocument While Not (DocSupp Is Nothing) CurrentForm=DocSupp.Form(0) If Instr(LstForm,CurrentForm) Then Messagebox "Action interdite, veuillez utiliser le bouton Supprimer",16,"Erreur suppression interdite" Continue=False End If Set DocSupp=Collection.GetNextDocument(DocSupp) WendEnd Sub
Bien à vous
http://www.dominoarea.org/oguruma/
Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci
Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)