J'ai fini par trouver une solution non trivial
le but étant de reporter une modification faite dans l'inbox (ajout d'une colonne avec une image sur condition)
je fait donc une copie de l'inbox
que je renome puis je deplace les documents dans le folder
- Code : Tout sélectionner
Dim s As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim inbox As NotesView
Dim col As NotesViewColumn
Dim found As Boolean
Dim inboxForder As NotesDocument
Dim userForder As NotesDocument
Dim newFolder As NotesView
Dim item As NotesItem
Set db = s.CurrentDatabase
Set inbox = db.GetView ("($inbox)")
Set inboxForder = db.GetDocumentByUNID(inbox.UniversalID)
Forall elem In db.Views
Set view = elem
' verifier si elle est dans le scop
If view.ViewInheritedName = "($Inbox)" And view.IsFolder = True Then
' s'il y a une colonne iC pas la peine
found = False
Forall elemC In view.Columns
Set col = elemC
If col.Formula = {@If(IENDescription="";0;"smalle_IC.jpg")} Then
found = True
Exit Forall
End If
End Forall
If found = False Then
Set userForder = inboxForder.CopyToDatabase (db)
Call userForder.ReplaceItemValue ("$Comment", "")
Set item = userForder.GetFirstItem ("$title")
item.Values = view.Name
Call userForder.Save (True, False)
view.Name = view.Name & "_old"
Set newFolder = db.GetView (item.Values(0))
newFolder.IsProhibitDesignRefresh = True
' deplacer le contenu des folder
Call newFolder.AllEntries.RemoveAllFromFolder(newFolder.Name)
Call view.AllEntries.PutAllInFolder (newFolder.Name)
' effacer l'ancien folder
Call view.Remove ()
End If
End If
End Forall
inbox.IsDefaultView = True