1. Акция на весь декабрь! Получай оплату х2 за уникальные статьи, объемом от 200 слов, если в заголовке темы и теле статьи присутствует слово Python
    Скрыть объявление

Как узнать в какой папке лежит письмо?

Тема в разделе "Lotus - Программирование", создана пользователем SkinGreek, 2 июл 2008.

Статус темы:
Закрыта.
  1. SkinGreek

    SkinGreek Гость

    Всем привет.
    Речь идет о mail8.ntf
    встала задача выводить в таблице писем еще и папку в которой находится данное письмо.
    Я все никак не могу найти где взять информацию о том к какой папке прикреплено письмо.Да и если можно примерно накидать как вытягивать эту информацию в колонку предстваления.
    Посоветуйте плз как вытащить эту инфу.
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    SkinGreek
    Читайте хэлп по поводу

    Class notesDocument => property FolderReferences
     
  3. SkinGreek

    SkinGreek Гость

    ага, видел, ток не могу понять как это использовать в колонке представления, ведь в колонке LS использовать нельзя:)
    Был удивлен что в $FolderRefInfo не нашел необходимой инфы.а именно информация что док принадлежит фолдеру.Где эта инфа хранится да еще чтоб была доступна для формул не ясно:(
    В объектной модели еще как то можно разобраться, она привычна глазу,а вот работа с формулами мне еще не привычна да и с методом хранения и обработки данных моск еще не смирился и не осознал.
    Тыкните носом плз в алгоритм решения задачи, уж дальнейшее буду раскапывать
     
  4. SkinGreek

    SkinGreek Гость

    Мнда чем дальше тем веселее...
    Попробовал несколько вариантов, но не один не подошел...
    Вариант 1
    в определение колонки в представлении поставил
    Код (Text):
    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 связанных с перемещением дока в фолдер вызывая агента через
    Код (Text):
    @Command([ToolsRunMacro];"(wFolderMoveDoc)")
    Код агента
    Код (Text):
    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, и его отсутствие мне не понятно.
     
  5. SkinGreek

    SkinGreek Гость

    Намекните хоть, как можно перехватить это событие,или не в этой версии нотеса?)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей