Закрытие группы документов

Тема в разделе "Lotus - Программирование", создана пользователем Glorfin, 17 ноя 2009.

  1. Glorfin

    Glorfin Гость

    Необходимо закрыть открытый документ, если в данный момент ui фокус не на нем, т.е. есть несколько открытых документов, необходимо из текущего документа закрыть другой, открытый в данный момент документ. ссылка на него имеется (он - ответный на первый).

    ... - отправка главного документа. Если есть открытые ответные документы, их необходимо закрыть
    ' находим все документы, в которых есть unid данного документа (ответы)
    Set dc = db.FTSearch( curdoc.id(0), 0)
    Set ftdoc = dc.GetFirstDocument
    While Not ftdoc Is Nothing
    по нотес документу получаем нотесUIдокумент
    Set ftuidoc = ws.EditDocument(False, ftdoc, False,,False)

    Call ftuidoc.Close(True)

    Set nextftdoc = dc.GetNextDocument (ftdoc )
    Set ftdoc=nextftdoc
    Set nextftdoc=Nothing
    Wend
    При этом каждый ответный документ повторно открывается и закрывается, первая же его инстанция остается открытой (если она была открыта в начале действия)
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Set ftuidoc = ws.EditDocument(False, ftdoc, False,,False)
    Явно запятой не хватает.
     
  3. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    я так понимаю, вы хотите закрыть не активную в данный момент закладку-окно? :D
     
  4. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Глюкаво, но может работать:
    переключиться на неактивное окно с помощью ws.EditDocument с параметром NewInstance = False
    Получить после переключения uidoc и попытатся закрыть.

    Но я бы на такую хрень не стал бы полагаться.
    Не надо было столько открывать :D
     
  5. Glorfin

    Glorfin Гость

    дык юзверь наоткрывает ответов, главный док отправит, а на панельке ответики остаются висеть.. минусы - при отправке главного дока, в ответах меняется поле "кто рассматривает в данный момент" и если тот же юзверь их просто прикроет потом - все ок. а если подправит - быть непонятке или конфликту..
    переключиться на неактивное окно с помощью ws.EditDocument с параметром NewInstance = False - дык так ведь и делаю.. не работаит.

    хде ?? (работаит ведь..)

    абсолютно в тютечьку!
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Как, уже заработало? :D
    Ты устанавливаешь параметр returnNotesUIDocument в False. Не понятно зачем. Мне кажется, тебе нужен параметр newInstance.
     
  7. Glorfin

    Glorfin Гость

    блииииииннннн реально в запятых запуталси....... сори и спасибоо!!!!!
     
  8. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Glorfin
    Чтоб не дёргать все доки подряд стоит добавить проверку, открыт ли док в ui
    Код (Text):
    if ftdoc.IsUIDocOpen then
    Set ftuidoc = ws.EditDocument(False, ftdoc, False,,,False)
    ftuidoc.Close
    end if
    ...
     
  9. Glorfin

    Glorfin Гость

    Это да. красоту я уже навел. просто когда столкнулся с тем что ws.EditDocument возвращает мне тот документ что надо (в дебагере смотрю), в свойствах того же ws.EditDocument стоит newInstance=false, и тем не менее открывается еще одна инстанция, и она же закрывается.. было немного странно.. За вчера проверил варианты комбинаций параметров [returnNotesUIDocument] и [newInstance] - результат был не то чтобы предсказуем и однозначен.. ну да ладно. (Может все дело в том как написано в хелпе - attempts to return the NotesUIDocument... пытается :lol: )
     
  10. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Возможно проблема в том, что док открыт на редактирование, а его пытаются повторно открыть на чтение (это гипотеза, сам не проверял).
     
  11. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    если через РТ поле в котором линки, то док открываться будет всегда на новой закладке и это не побороть, если только свои функции повер гиперлинка не писать
     
Загрузка...

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