Мнда чем дальше тем веселее...
Попробовал несколько вариантов, но не один не подошел...
Вариант 1
в определение колонки в представлении поставил
Код:
folder_names_list:=@DbColumn("";"";"($FolderInfo)";1);
folder_unids_list:=@DbColumn("";"";"($FolderInfo)";2);
@Replace( @Text($FolderRef); folder_unids_list; folder_names_list)
Но в документации написано что в view column нельзя юзать @DbColumn...Это меня удивило почему я не могу собирать доп инфу из других представлений.
Вариант 2
Сделал computed field для последующего вывода ее в представлении. В нем записал эту формулу.
Обновить ее возможно только в Edit Mode,а перемещение происходит, само собой, без открытия дока на редактирование.
Вариант 3
Сделал обычное текстовое поле для последующего вывода ее в представлении.
Обновление этого поля делаю в Shared Actions связанных с перемещением дока в фолдер вызывая агента через
Код:
@Command([ToolsRunMacro];"(wFolderMoveDoc)")
Код агента
Код:
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Set col = db.UnprocessedDocuments
Set doc = col.GetFirstDocument
While Not(doc Is Nothing)
Call doc.ReplaceItemValue("InFolder", doc.FolderReferences)
Call doc.Save(False, False)
Set doc = col.GetNextDocument(doc)
Wend
End Sub
При Add срабатывает норм, при Move ожидаемые проблемы так как выделенных доков уже нет в текущем фолдере предполагаю запоминать список фолдеров в обработчике событий QueryAddToFolder, и в последующем в агенте обновляющего текстовое поле пробегать по сохраненной коллекции документов.
Но проблема встала вновь...Как я перехвачу перенос документов методом DragAndDrop? Я попытался обработать событие PostDragDrop. Оно не обработалось и в доке написано что это ивент срабатывает только в calendar view.
Это все специально сделано для того чтоб разработчикам не скушно было? Или я что-то не знаю что облегчило бы мне жизнь?
Подскажите плз.Я уже в ступор в какой-то впал
Я уверен что в лотусе такую задачу возможно решить, единственное, сколько изврата надо будет сделать для этого. Мне кажеться я и так уже наизвращался как только мог
Задача резко облегчилась бы если бы было событие PostAddToFolder, и его отсутствие мне не понятно.