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

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

  1. Eugen

    Eugen Well-Known Member

    Регистрация:
    22 мар 2012
    Сообщения:
    172
    Симпатии:
    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

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

    alexas1 Lotus team
    Lotus team

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

    Eugen Well-Known Member

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

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
     

    Вложения:

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

    Eugen Well-Known Member

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

    alexas1 Lotus team
    Lotus team

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

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

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

    alexas1 Lotus team
    Lotus team

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

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

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

    savl Lotus team
    Lotus team

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

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