J'aimerais savoir comment supprimer les vues privées des utilisateurs afin que ce soit pris en compte les modification apportées aux vues qui sont partagées puis privées à la premiere utilisation.
J'aimerais savoir comment supprimer les vues privées des utilisateurs afin que ce soit pris en compte les modification apportées aux vues qui sont partagées puis privées à la premiere utilisation.
salut
j'ai ça en stock
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172 Public Sub ViewPrivateDelete(wNameView As String, wDB As NotesDatabase,wType As String,nbDeleteAll As Boolean) Dim DBDesktop As NotesDatabase Dim DBServer As NotesDatabase Dim vwDelete As NotesView Dim vwBase As NotesView Dim nbCacheServer As Boolean Dim nbCacheDesktop As Boolean Dim vrValue As Variant On Error Goto CatchError If Trim(wNameView)="" Then If nbDeleteAll = False Then Exit Sub End If End If %REM View : $FLAG Shared : PY Shared Server Private : pPY (pPYV pour la copie privé) Shared Desktop Private : poPY Private : PYV Folder : $FLAG Shared : 3PFY Shared Server Private : 3pPFY (3pPFYV pour la copie privé) Shared Desktop Private : 3poPFY Private : 3PFYV %END REM Select Case Ucase(Trim(wType)) Case "S","SERVER","SERVEUR" rem Efface les vues privées sur le serveur nbCacheServer = True nbCacheDesktop = False Case "B","BOTH","2","SD","DS" nbCacheServer = True rem efface les vues privées sur le server et le desktop nbCacheDesktop = True Case "D","DESKTOP" rem efface les vues privées sur le desktop nbCacheServer = False nbCacheDesktop = True End Select If Session Is Nothing Then Set Session = New NotesSession End If If wDB Is Nothing Then Set DBServer = Session.CurrentDatabase Else Set DBServer = wDB End If rem traitement pour les vues stocker sur le server If nbCacheServer = True Then rem efface toutes les vues privées If nbDeleteAll = True Then vrValue = DBServer.Views If TestVariant(vrValue) = True Then Forall ValueS In vrValue Set vwDelete = ValueS If Not vwDelete Is Nothing Then If ViewIsPrivate(vwDelete) = True Then Call vwDelete.Remove End If Set vwDelete = Nothing End If End Forall End If vrValue = Null Else rem efface la vue privée passé en parametre Set vwDelete = ViewInit(DBServer, wNameView,Nothing) If Not vwDelete Is Nothing Then If ViewIsPrivate(vwDelete) = True Then Call vwDelete.Remove If nbCacheDesktop = False Then Set vwDelete = Nothing Set DBServer = Nothing Exit Sub End If End If Set vwDelete = Nothing End If End If End If rem traitement pour les vues privées stocké sur le desktop If nbCacheDesktop = True Then Set DBDesktop = DBOpenDesktop() If Not DBDesktop Is Nothing Then rem traite toutes les vues privées If nbDeleteAll = True Then vrValue = DBServer.Views If TestVariant(vrValue) = True Then Forall ValueD In vrValue Set vwBase = ValueD If Not vwBase Is Nothing Then rem passe en revue toutes les vue de la base pour trouver les privés rem puis va dans le desktop les supprimer Set vwDelete = ViewInit(DBDesktop,vwBase.Name, vwBase.Aliases) Set vwBase = Nothing If Not vwDelete Is Nothing Then If ViewIsPrivate(vwDelete) = True Then Call vwDelete.Remove End If Set vwDelete = Nothing End If End If End Forall End If vrValue = Null Else rem traite la vue privé passé en paramettre Set vwDelete = ViewInit(DBDesktop, wNameView, Null) If Not vwDelete Is Nothing Then If ViewIsPrivate(vwDelete) = True Then Call vwDelete.Remove End If Set vwDelete = Nothing End If End If End If Set DBDesktop = Nothing End If Set DBServer = Nothing Exit Sub CatchError: MsgBox "("+Structure_Log+" : "+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Error " + CStr(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Line # "+Cstr(Erl),16," ERROR !" Exit Sub End Sub Public Function DBOpenDesktop() As NotesDatabase REM connection au Deskyop du poste client On Error Goto CatchError If Session Is Nothing Then Set Session = New NotesSession End If Set DBOpenDesktop = Nothing If Session.IsOnServer = True Then Exit Function End If Select Case Session.NotesBuildVersion Case 0 To 166 REM version 5 et inférieyur Set DBOpenDesktop = DBOpen("","desktop.dsk","") Case 167 To 306 REM Version 6 & 7 Set DBOpenDesktop = DBOpen("","desktop6.ndk","") Case Else REM Verson 8 Set DBOpenDesktop = DBOpen("","desktop8.ndk","") End Select Exit Function CatchError: MsgBox "("+Structure_Log+" : "+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Error " + CStr(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Line # "+Cstr(Erl),16," ERROR !" Set DBOpenDesktop = Nothing Exit Function End Function
Oui, ça dépend si c'est une vue privée stockée dans la base serveur ou dans le bureau local.
http://www-01.ibm.com/support/docvie...id=swg21086960
Pour les vues serveur, j'ai aperçu une commande non documentée, je sais pas si elle marche : updall -g
Une solution basique sinon est de demander à l'utilisateur de supprimer lui-même sa vue en allant dessus et en faisant Actions/Dossier/Supprimer.
connaissant les utlisateurs... mieux vaux éviter lol
la suppression des vues privés est une bonne alternative, car elle permet d'avoir des vues dont le design est toujours a jours (suppression a la fermeture ou ouverture de la base) et regle certain probleme de refresh des vues.
par contre si la vue est énorme, là ça vau pas le coup du tout
merci de vos info. Je voudrais savoir dans quels cas les vues privées vont dans le desktop et dans quels cas dans la base sur le serveur?
Ca dépend de toi.
- les vues privées serveurs, vont pourrir le serveur mais ça sera plus simple d'y accéder pour les supprimer
- les vues privées desktop, vont pourrir le desktop de l'utilisateur mais ton serveur est clean. par contre si l'utilisateur change de pc faudra que ça se recalcul (bon si tu les supprimer a l'ouverture ou la fermeture de la base ça fera pas de différence)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager