Problème avec une Vue privée

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Messagepar FANFAN » 20 Août 2010 à 05:18

Bonjour,
Il s'agit bien de vues stockées sur le serveur , "Partagé, devenant privé à la 1re ouverture".
FANFAN
Premier posts
Premier posts
 
Message(s) : 45
Inscrit(e) le : 14 Sep 2005 à 09:35

Messagepar Michael DELIQUE » 20 Août 2010 à 13:07

ok, mais tu a le choix entre devenant privé server ou desktop
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar FANFAN » 27 Oct 2010 à 14:24

Bonjour,
Mon code ne fonctionne toujours pas.
"Partagé, devenant privé à la 1ère ouverture" crée bien les vues sur le serveur, c'est" Partagé, bureau à la 1ère ouverture" qui crée les vues sur le bureau, donc mon code devrait marcher...
JCAT a écrit "Il s'agissait en fait d'un problème d'index de vue qui ne se reconstruisait pas (option de la vue) J'ai modifié ce paramétre et tout fonctionne correctement." de quel paramètre parle t'il?
Merci d'avance pour toute solution à mon pb.
FANFAN
Premier posts
Premier posts
 
Message(s) : 45
Inscrit(e) le : 14 Sep 2005 à 09:35

Messagepar Michael DELIQUE » 27 Oct 2010 à 14:30

re,

il davait parler de ça
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar FANFAN » 27 Oct 2010 à 14:41

Dans mes vues, ce sont ces paramètres par défaut que j'ai laissé.
FANFAN
Premier posts
Premier posts
 
Message(s) : 45
Inscrit(e) le : 14 Sep 2005 à 09:35

Messagepar Michael DELIQUE » 27 Oct 2010 à 14:48

re,

alors dans ce cas suppression des vues privées
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar FANFAN » 28 Oct 2010 à 04:57

Bonjour,
justement, je veux supprimer ces vues privées de manière automatique à chaque fermeture de la base. je ne veux pas que ce soit l'utilisateur qui le fasse, ce ne sont pas des utilisateurs avertis à qui on peut demander des manips spéciales; ce serait bien que leurs vues privées soient mises à jour automatiquement.
FANFAN
Premier posts
Premier posts
 
Message(s) : 45
Inscrit(e) le : 14 Sep 2005 à 09:35

Messagepar Michael DELIQUE » 28 Oct 2010 à 07:51

voila du code que j'utilise (pas depuis un moment) pour supprimer les vues privées (s'il manque des fonctions elles sont dans les tips)

Code : Tout sélectionner
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 ErreurHandle
   
   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" 'Efface les vues privées sur le serveur
      nbCacheServer = True
      nbCacheDesktop = False
   Case "B","BOTH","2","SD","DS"
      nbCacheServer = True ' efface les vues privées sur le server et le desktop
      nbCacheDesktop = True
   Case "D","DESKTOP" '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
   
   'traitement pour les vues stocker sur le server
   If nbCacheServer = True Then
      '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
         '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   
   
   'traitement pour les vues privées stocké sur le desktop
   If nbCacheDesktop = True Then
      
      Set DBDesktop =  DBOpenDesktop()
      
      If Not DBDesktop Is Nothing Then      
         '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
                     'passe en revue toutes les vue de la base pour trouver les privés
                     '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         
            '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
ErreurHandle:
   Msgbox "("+Structure_Log+" : "+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Exit Sub
End Sub


Code : Tout sélectionner
Public Function ViewIsPrivate(vwView As NotesView) As Boolean
   On Error Goto ErreurHandle
   
   ViewIsPrivate = False
   
   If vwView Is Nothing Then
      Exit Function
   End If
   
   ViewIsPrivate = vwView.IsPrivate
   
   Exit Function
ErreurHandle:
   ViewIsPrivate = False
   Resume Next
   Exit Function
End Function


Code : Tout sélectionner
Public Function ViewInit(wDB As NotesDatabase, wNameView As String, wvrAlias As Variant) As NotesView
   'permet d'nstancier une vue si elle est introuvable
   
   Dim DBCible As NotesDatabase
   Dim vrListViews As Variant
   Dim vrListAlias As Variant
   Dim vwSearch As NotesView
   Dim nbAlias As Boolean
   
   On Error Goto ErreurHandle
   
   Set ViewInit = Nothing
   
   If Trim(wNameView) = "" Then
      Error 9999,"wNameView is empty"
      Exit Function
   End If
   
   If Session Is Nothing Then
      Set Session = New NotesSession
   End If
   
   If wDB Is Nothing Then
      Set DBCible = Session.CurrentDatabase
   Else
      Set DBCible = wDB
   End If
   
   'tentative de connexion standard
   Set ViewInit = DBCible.GetView(Trim(wNameView))
   If Not ViewInit Is Nothing Then
      Set DBCible = Nothing
      Exit Function
   End If
   
   'sinon boucle sur l'ensemble des vues pour comparer les names et pseudos
   Set ViewInit = Nothing
   
   'recuepre la liste des vues
   vrListViews = DBCible.Views
   If TestVariant(vrListViews) = False Then
      Set DBCible = Nothing
      vrListViews = Null
      Exit Function
   End If
   
   nbAlias = False
   If TestVariant(wvrAlias) = True Then
      nbAlias = True
   End If
   
   'parcours les vues
   Forall ValueView In vrListViews
      Set vwSearch = ValueView
      If Not vwSearch Is Nothing Then
         'reagrde si le nom est identique
         If Trim(wNameView) = Trim(vwSearch.Name) Then
            Set ViewInit = vwSearch
            Exit Forall
         Else
            'sinon boucle sur chaque alias/pseudo
            vrListAlias = vwSearch.Aliases
            If TestVariant(vrListAlias) = True Then
               Forall ValueAlias In vrListAlias
                  If Trim(Cstr(ValueAlias)) <> "" Then
                     If Trim(Cstr(ValueAlias)) =  Trim(wNameView) Then
                        Set ViewInit = vwSearch
                        Exit Forall
                     End If
                     If nbAlias = True Then
                        Forall ValueAlias2 In wvrAlias
                           If Trim(Cstr(ValueAlias2)) <> "" Then
                              If Trim(Cstr(ValueAlias)) =  Trim(Cstr(ValueAlias2))  Then
                                 Set ViewInit = vwSearch
                                 Exit Forall
                              End If
                           End If
                        End Forall
                     End If
                  End If
               End Forall
            End If
            vrListAlias = Null
         End If
         Set vwSearch = Nothing
      End If
      If Not ViewInit Is Nothing Then
         Exit Forall
      End If
   End Forall
   
   vrListAlias = Null
   vrListViews = Null
   Set DBCible = Nothing
   
   Exit Function
ErreurHandle:
   Msgbox "("+Structure_Log+" : "+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Set ViewInit = Nothing
   Exit Function
End Function
[/code]
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar FANFAN » 28 Oct 2010 à 07:54

MERCI, je vais essayer de mettre ça en oeuvre et te tiendrais au courant.
FANFAN
Premier posts
Premier posts
 
Message(s) : 45
Inscrit(e) le : 14 Sep 2005 à 09:35

Messagepar edcj » 07 Jan 2011 à 14:24

Bonjour,
J'ai un souci de rafraichissement avec une vue privée, pour rafraichir, on peut faire Shift +f9, éventuellement refaire f9, c'est valable pour le rafraichissement d'une vue en général, c'est pas top, mais çà fonctionne
Salutations
edcj
Premier posts
Premier posts
 
Message(s) : 44
Inscrit(e) le : 26 Jan 2009 à 14:29

Messagepar Michael DELIQUE » 07 Jan 2011 à 14:56

salut

qu'elle et ton problème ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar edcj » 13 Jan 2011 à 22:03

Salut Michael,
Ayant un problème de rafraichissement sur des vues privées, au lieu de supprimer les vues à chaque fois pour rafraichir, on peut utiliser Shift+F9, c'était juste une information que j'ai voulu partagée, çà ne règle pas le problème de façon permanente.
Cordialement
edcj
Premier posts
Premier posts
 
Message(s) : 44
Inscrit(e) le : 26 Jan 2009 à 14:29

Messagepar Michael DELIQUE » 14 Jan 2011 à 08:32

oui, le shift-f9 est une solution, mais elle ne fonctionne pas à tout les coups.
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Précédent

Retour vers Développement