IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lotus Notes Discussion :

Suppression des vues privées par programmation


Sujet :

Lotus Notes

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Suppression des vues privées par programmation
    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.

  2. #2
    Membre habitué
    Homme Profil pro
    Geek
    Inscrit en
    Avril 2007
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Geek

    Informations forums :
    Inscription : Avril 2007
    Messages : 452
    Points : 175
    Points
    175
    Par défaut
    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

  3. #3
    Membre averti
    Homme Profil pro
    Consultant Lotus Notes/Domino
    Inscrit en
    Juin 2015
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant Lotus Notes/Domino
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 312
    Points : 397
    Points
    397
    Par défaut
    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.

  4. #4
    Membre habitué
    Homme Profil pro
    Geek
    Inscrit en
    Avril 2007
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Geek

    Informations forums :
    Inscription : Avril 2007
    Messages : 452
    Points : 175
    Points
    175
    Par défaut
    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

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    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?

  6. #6
    Membre habitué
    Homme Profil pro
    Geek
    Inscrit en
    Avril 2007
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Geek

    Informations forums :
    Inscription : Avril 2007
    Messages : 452
    Points : 175
    Points
    175
    Par défaut
    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)

Discussions similaires

  1. [SP-2013] [URGENT] Suppression des Site Mon site programmé dans 3jours - HELP
    Par Do0dX dans le forum SharePoint
    Réponses: 4
    Dernier message: 19/04/2016, 10h49
  2. [WD17] Gestion des erreurs windev par programmation
    Par julromeo dans le forum WinDev
    Réponses: 2
    Dernier message: 23/01/2016, 10h15
  3. Réponses: 3
    Dernier message: 05/03/2010, 12h54
  4. Réponses: 3
    Dernier message: 26/07/2009, 10h06
  5. Créer des sources odbc par programme
    Par Highlands dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/06/2009, 20h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo