Решено Получение currentdocument.document из другого фрейма

Тема в разделе "Lotus - Программирование", создана пользователем Eugen, 18 сен 2015.

  1. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    День добрый. Подскажите пожалуйста, ситуация такая...
    Есть фреймсет. Основной фрейм - Content, второстепенный - DeviceList.

    Пользователь создает новый документ в БД №1, который отображается в основном фрейме и который еще не сохранен(создается скриптом). Во фрейме DeviceList в разных ситуациях могут отображаться документы, а могут и не отображаться(доки находятся в другой БД, пусть будет №2). Также во второстепенном фрейме есть кнопка, которая должна брать данные из основного документа. В коде этой кнопки у меня есть UNID это созданного документа(долго расписывать откуда, но он есть).
    Как, зная UNID созданного, но несохраненного документа, получить через воркспейс основной документ(БД1, фрейм Content) из второстепенного фрейма(БД2, фрейм DeviceList)?

    Пробовал так:
    Код (LotusScript):
    Dim ws as new NotesUIWorkSpace
    Dim s as new Notessession
    Dim mainDoc as NotesDocument
     
    Call ws.SetTargetFrame("Content")
    Set mainDoc = s.DocumentContext
    Иногда срабатывает, иногда нет, видимо какая-то байда с фокусом...

    Кто-нибудь решал подобное? Заранее спасибо.
     
    #1 Eugen, 18 сен 2015
    Последнее редактирование модератором: 18 сен 2015
  2. ToxaRat

    ToxaRat Чёрный маг
    Команда форума Lotus team

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.170
    Симпатии:
    21
    проще внести унид в профайл - при этом профайл НЕ сохранять, пока открыта база есть профайл
     
  3. alexas1

    alexas1 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    10 апр 2014
    Сообщения:
    638
    Симпатии:
    224
    Если просто нужна инфа из соседнего фрейма и профайл не нужен - всегда есть доступ к полям соседнего фрейма с помощью JS
     
  4. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    можно с этого места поподробнее?
     
  5. alexas1

    alexas1 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    10 апр 2014
    Сообщения:
    638
    Симпатии:
    224
     

    Вложения:

    • FrameJs.zip
      Размер файла:
      24,3 КБ
      Просмотров:
      11
    3 пользователям это понравилось.
  6. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    @alexas1, огромное спасибо за подсказку. Последний вопрос - это нормально, что такой код у меня работает из экшена в форме(отображаемой во фрейме), но не работает из вьюшки? У меня просто нижний фрейм(DeviceList который) - в нем отображается форма, в которую в зависимости от значения определенного поля вставляется сабформа с эмбеднутой вьюшкой. Так вот если сделать кнопку в этой эмбеднутой вьюшке, то ничего не происходит, т.е. даже пустой msgbox не выдает.
     
  7. alexas1

    alexas1 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    10 апр 2014
    Сообщения:
    638
    Симпатии:
    224
    К сожалению это нормальная реакция. Но всегда можно сдизайнить кнопу так, что бы она лежала на основной форме и было похоже, что она принадлежит эмбедднутой вьюхе.
     
  8. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.335
    Симпатии:
    331
    у меня смутное ощущение - разработчики упорно игнорируют xPages ;)
    я понимаю - легаси код и т.п. , но никто не мешает пилить интерфейсную БД на хэПагах
     
  9. alexas1

    alexas1 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    10 апр 2014
    Сообщения:
    638
    Симпатии:
    224
    Новые аппликухи именно так и надо делать. Безальтернативно.
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.335
    Симпатии:
    331
    фокус в том что можно "фанеру" (всплыл в памяти термин из времен общения с https://en.wikipedia.org/wiki/CICS) над старыми лепить
     
    #10 lmike, 24 сен 2015
    Последнее редактирование модератором: 24 сен 2015
    3 пользователям это понравилось.
  11. savl

    savl Well-Known Member
    Команда форума Lotus team

    Репутация:
    0
    Регистрация:
    28 окт 2011
    Сообщения:
    2.104
    Симпатии:
    155
    Да, одно из самых оптимальных решений.
     
Загрузка...

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